Návod pro obsluhu loot scriptu

Z Moriawiki

Přejít na: navigace, hledání

Toto je popis skriptu pro zvedání věcí ze země pomocí programu Yoko Injection.

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.

Vysvětlení jednotlivých příkazů

  1. 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> ').
  2. 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.
  3. 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.
  1. 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í.

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:

  1. 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.
  2. 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.
  3. 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) '
  4. v tuto chvíli už stačí script pouze spustit a bude hledat vámi nově zadaný typ předmětu na zemi.
POZOR: Pokud se některý předmět házením na zem otáčí a mění tak svou grafiku, pak každé toto otočení má svůj vlastní type! Pokud vám tedy zapadne nějaký podobný předmět a script vám jej nenašel, pak nezapomeňte vyzkoušet všechny jeho varianty!