poniedziałek, 16 lutego 2009

Last action, last object

Dziś pomówimy już trochę na temat sterowania postacią, czyli wykonywania przez nią jakiś czynności. W końcu o to chodzi w całym easyUO.

Last object
czyli wykonanie użycie ostatnio używanego przedmiotu. W easyUO realizowane jest to przez komendę event macro 17. Co robi ona dokładnie? Dokładnie bierze wartość #lobjectid ze zmiennych systemowych a następnie symuluje podwójne kliknięcie (czyli użycie) na dany przedmiot.

Last target
czyli wskazanie ostatnio wskazywanego przedmiotu.
Komenda: event macro 22
Opis: Dokładnie pobierana jest wartość ze zmiennej #ltargetid a następnie jest wybierany przedmiot o takim ID. Jeżeli nie można wybrać przedmiotu o takim ID, dość często dochodzi do zawieszenia klienta.
Oczywiście, aby wszystko dobrze działało poprawnie, powinniśmy mieć w kliencie celownik.

Do czekania na celownik można wykorzystać 2 sposoby:
Komenda target czas
Opis: komenda ta czeka określoną ilość czasu. Jeżeli kursor jest celownikiem to przechodzi dalej, w przeciwnym wypadku, gdy po upłynięciu czasu celownik się nie pojawi również przechodzi dalej.
Ja osobiście stosuję tę komendę bardzo często, ale tylko wtedy gdy mam pewność, że celownik się pojawi i w czasie czekania na celownik nie potrzebuję sprawdzać innych warunków.

Sposób drugi to pętla z warunkiem sprawdzającym zmienną #TARGCURS. Jeżeli zmienna ta ustawiona jest na wartość 1, wtedy kursor jest celownikiem.
Przykład:
repeat
{
...
tutaj można sprawdzać jakieś warunki
}
until #TARGCURS = 1

Pragę oczywiście powiedzieć, że zmienne #LTARGETID oraz #LOBJECTID można ustawiać komenda set.

Brak komentarzy:

Prześlij komentarz