Návod pro obsluhu loot scriptu
Z Moriawiki
Toto je popis skriptu pro zvedání věcí ze země pomocí programu Yoko Injection.
[editovat]
Loot script ze země
sub zvedni() UO.FindType ("0x0EED", -1, 1) if UO.FindCount() > 0 then UO.Grab("500",'finditem') end if end sub
Spustíte jej příkazem ,exec zvedni.
[editovat]
Vysvětlení jednotlivých příkazů
- sub zvedni()
- příkaz sub označuje začátek těla funkce. Pojí se s řádkem end sub, který tělo funkce ukončuje. Za příkazem ' end sub ' pak může následovat funkce další.
- výraz zvedni() za klíčovým slovem ' sub ' udává jméno funkce, jejíž tělo následuje. Přes toto jméno se pak zapsaná funkce spouští - volá (ve hře příkaz ' ,exec <jméno funkce> ').
- UO.FindType( <Typ>, <Barva>, <Umístění>)
- Příkaz nalezne první vyhovující objekt v místě <Umístění>. Umístění mohou být:
- ' objekt containeru ' (jeho UID)
- ' backpack '
- ' ground ' (odpovídá číslu 1 - viz uvedený kód. Hodnotu je možné namísto '1' vypsat i slovně)
- Vyhovující objekt je takový objekt, který má shodný typ a barvu s hodnotami uvedenými ve scriptu.
- Záporným číslem '-1' na místě barvy je řečeno, že vyhovuje libovolná barva předmětu.
- Zjištění typu objektu a jeho barvy je uvedeno níže.
- Při běhu scriptu se po vyhodnocení tohoto příkazu uloží nalezený objekt do proměnné 'finditem' se kterou můžete dále pracovat.
- Příkaz nalezne první vyhovující objekt v místě <Umístění>. Umístění mohou být:
- if UO.FindCount() > 0 then
- Hlavním prvkem tohoto příkazu je nejzákladnější stavební kámen programování, kterým je tvoření podmínek příkazy if - then - else volně přeložitelný jako 'když - potom - jinak'. Syntaxe Příkazů je následující:
if <výraz> then
else <jiné příkazy> end if
- Význam podmínek je takový, že když (if) je splněná podmínka <výraz>, potom (then) se provedou příkazy <příkazy>, jinak (else) se provedou jiné příkazy <jiné příkazy> a podmínka se ukončí (end if). Část (else) se může vypustit, pokud není potřebná (náš případ). <end if> se vypustit nesmí - označuje konec těla podmínky.
- UO.FindCount() je příkaz, který vrátí počet nalezených předmětů nejposlednějším příkazem UO.FindType. V tomto případě se tedy testuje, zda je počet nalezených předmětů větší nule - tedy zda Injection vůbec nějaký předmět našel.
- UO.grab( <Počet>,<Objekt>)
- Vezme <Počet> <Objekt>ů a vloží je k sobě do batohu. V našem konkrétním případě vezme až 500 předmětů nalezených příkazem ' UO.FindType '. Hodnota <Počet> se vztahuje vždy jen k jednomu konkrétnímu nalezenému objektu, tedy vezme více věcí pouze v případě, že jde o tzv. stackovatelné předměty, kde leží více předmětů na jednom místě (regy, peníze).
- počet lze také udat jako číslo "-1". V takovém případě je sebráno maximální nalezené množství.
[editovat]
Jak změnit typ sbíraného předmětu
Jediným důležitým bodem scriptu je řádek 'UO.FindType ("0x0EED", -1, 1), kde číslo "0x0EED" označuje předmět, který chcete sbírat. Požadovaný typ získáte následujícím způsobem:
- Připravte si vzorek předmětu, jehož typ chcete získat a položte si ho na místo, kde se vám jej podaří v dalším kroku snadno zacílit targetem UO clienta.
- Ve hře napište příkaz ,info a poté zacilte zvolený předmět. Ukáže se vám nové Text okno, ve kterém budou vypsány informace o zacíleném objektu.
- Mezi vypsanými hodnotami je i položka Type ve tvaru "0x1234" (samozřejmě s jinými konkrétními hodnotami v rozmezí 0-F)-> toto je vámi hledaný vzorek, který vložte na stávající místo v příkazu - tedy ' UO.FindType ("0x0EED", -1, 1) '
- v tuto chvíli už stačí script pouze spustit a bude hledat vámi nově zadaný typ předmětu na zemi.