|
|
Jam Lasica | 2009, gru 23 15:44 | 2009, gru 23 16:23
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
zamiast event macro 17 0 - LastObject nalezy wpisac event macro 1 0 .lecz i wyeliminowac linijki, ktore oczekuja na pojawienie sie targetu oraz event macro 23 0 - TargetSelf.
=======
thorrief Warunki logiczne mozna laczyc ze soba przy pomocy operatorow logicznych: http://wiki.easyuo.com/index.php/Operators#Logical_Operators http://pl.wikipedia.org/wiki/Koniunkcja_(matematyka) http://pl.wikipedia.org/wiki/Alternatywa
W momencie gdy oczekujesz na jeden z komunikatow wystarczy napisac:
if pierwsze_zdanie in #journal || drugie_zdanie in #journal || trzecie_zdanie in #journal
/W praktyce skrypt zostanie nieznacznie przyspieszony - ale glownie chodzi o aspekt wizualny.
Ostrzegam tez, przed wielokrotnym nieskonczonym uzywaniem: setUOtitle. Mozliwe jest bardzo silne obciazenie procesora przez EasyUO.
Na samym koncu robisz dziwne rzeczy: set %p 0 Jezeli uzywasz zmiennej %p tylko do skanowania journala to nie jest potrzebne jej zerowanie, poniewaz po tej instrukcji przechodzisz do petli for: for %p 1 2 ktora ustawi zmienna %p na 1 - niezaleznie od poprzedniej wartosci.
Nastepnie sprawdzasz czy %leczenie = 1, a co sie stanie jezeli %leczenie = 0 ? W praktyce po ostatniej lini wykonywana jest pierwsza, dlatego naprawde dokonany bedzie skok bezwarunkowy do etykiety petla1.
Uzywasz rowniez konstrukcji set %czas1 %czas1 + 1, w polaczeniu z wait 2 - mozliwe, ze to dziala, jednak warto odwolywac sie do zmiennych systemowych zawierajacych czas np.: #scnt i #scnt2, wtedy gdy np chcemy wykonac cos po 10 sekundach robimy: set %czas #scnt + 10 ;w momencie, w ktorym rozpoczynamy odmierzanie czasu. a instrukcje warunkowa zapiszemy jako: if %czas [znak mniejszy badz rowny] #scnt ;nie dalo sie zapisac tego znaku, dlatego umiescilem go w nawiasie kwadratowym. {
}
Przejdzmy teraz do wykonania petli. Jezeli pojawil sie wyraz Wyleczyles_sie i sprawdzilismy to, nastepnie ustawiamy zmienna %leczenie na 0, to kolejne sprawdzania wyrazow: Przestales_sie, What_you_selected itd. sa zbyteczne, poniewaz juz mamy pewnosc przy pierwszym poprawnym sprawdzeniu, ze przestano sie leczyc. Dlatego mozna uzyc break, ktory zakonczy wykonywanie petli.
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2009, gru 23 16:37 | 2009, gru 23 16:38
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
Idea zamieniania event macro 17 0 na event macro 1 0 .lecz jest taka, zeby nie bylo potrzeby posiadania otwartego plecaka w celu leczenia sie. Wiec przerobienie tego macra powinno jeszcze w inny sposob sprawdzac, czy w ogole sa bandaze - nie przez finditem - poniewaz on wyszukuje tylko (nie tylko, ale tutaj chodzi o wyraz tylko) w otwartych pojemnikach.
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2009, gru 23 17:00
|
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
http://pastebin.com/f79e9bae3 To moj skrypt na leczenie sie z .lecz - jednak nie sprawdzam w ogole, czy bandaze sa. No i wedlug moich testerow, skrypt czasami przestaje dzialac - nie leczy. Sadze, ze to nie moj blad, a blad easyuo. Niestesty nie uzywam juz bandazy do leczenia i nie mam jak samodzielnie sprawdzic dzialania skryptu, ewentualnie poprawic bledy.
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2010, sty 2 01:07 | 2010, sty 2 01:12
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
deleteJournal jest przestarzala komenda i pozostawiona tylko dla wstecznej zgodnysci. Jezeli juz nauczyles sie uzywac #jindex, to nie powinies korzystac z deleteJournal. Przez uzycie deleteJournal mozesz przeoczyc informacje o jakims wpisie, przez #jindex - nie.
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2010, sty 2 02:29 | 2010, sty 2 02:43
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
http://pastebin.com/m2cf52a69 - gdy sie doda tabulatory i spacje, naprawde skrypt staje sie czytelniejszy.
Niestesty, ale z twojego rozwiazania nie da sie wiele 'wycisnac'. Co druga linijka staje w opozycji do rad, ktore udzielalismy wczesniej, aby pisac dobre skrypty.
Sposob sprawdzania czy jest sie juz wyleczonym dziala chyba wadliwie. Nalezy skanowac journal przy uzyciu #jindex, aby nie pominac zadnej lini.
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2010, sty 2 17:08 | 2010, sty 2 17:14
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
Nie ma takiej zmiennej systemowej, ale:
onhotkey F1 { set #targcurs 1 repeat until #targcurs = 0finditem #ltargetid event exmsg #findid 3 58 #findtype }
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2010, sty 4 15:06 | 2010, sty 4 15:07
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
Wyszukujac w lesie dowolnej rzeczy na ziemi w odleglosci 3 kratek mamy niemalze pewnosci, ze znajdziemy: 1) siebie, 2) krzaczek - ziola, 3) jakiegos NPC, na ktorym mozemy uzyc anatomii.
Z powyzszego wynika, ze latwiej jest zignorowac 2 powyzsze rzeczy i zaakceptowac cala reszte niz tworzyc liste wszystkich mozliwosci.
Ale skoro juz jest, to warto z tego skorzystac.
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci."
|
Jam Lasica | 2010, maj 8 02:37
|
|
|
|
|
| Athelas | | |
|
2007, sie 18
Wrocław | |
W zasadzie wszystkie te makra opieraja sie na klikaniu last object i last target, potem czekaniu paru sekund.
Wiec wystarczy cos takiego:
rzed wlaczeniem makra nalezy ustawic czas oczekiwania (linia z wait) i raz wykonac rzadana czynnosc. event macro 17 0 ;last object target 10s ;czekanie na celownik event macro 22 0 ;lat target wait 5s ;czekanie 5 sekund
|
| "Wielu spośród żyjących zasługuje na śmierć. A niejeden z tych, którzy umierają, zasługuje na życie. Czy możesz ich nim obdarzyć? Nie bądz tak pochopny w ferowaniu wyroków śmierci." | | | | | | | | | | | | | | | |
| | | |
|