Ide o celkom komplexnú úlohu. Dôležité je si uvedomiť, že sekundárny objekt nie je jeden. Môže byť zadaných viac predmetov. Napríklad môže byť zadané niečo ako „streľ lukom na veľký terč a malý terč“.
NewCommand predstavuje nasledujúcu postupnosť krokov:
1) skontroloval či bol zadaný primárny predmet
- $rom_exec_commandline_count_of_primary_objects musí byť rovné 1
- ak je väčšie ako 1 tak bol primárny predmet zadaný nejednoznačne (napr. kameň, ale existujú veľký aj malý)
2) odložiť si ID primárneho predmetu do premennej typu #var (aby ju poznali aj následné skripty spustené cez #run)
3) skontrolovať či je možné primárny predmet vôbec použiť (hodiť, streliť)
4) skontrolovať či bol zadaný aspoň jeden sekundárny predmet
- $rom_exec_commandline_count_of_secondary_objects obsahuje počet sekundárnych predmetov
- pole $rom_exec_commandline_count_of_secondary_objects[x] musí byť rovné 1, ak je viac tak bol konkrétny sekundárny predmet zadaný nejednoznačne (napr. streľ lukom na terč, ale existuje veľký aj malý terč)
- prípadnú nejednoznačnosť je možné ukončiť hneď, nie je nutné kontrolovať všetky sekundárne predmety
5) spustiť premennú konkrétneho primárneho objektu, v tejto premennej je definovaný skript samotnej akcie
6) ak bola návratová hodnota $rom_return_result==#true je možné o tom informovať sekundárne predmety, inak sa hod nepodaril
7) postupne volať premenné sekundárnych predmetov, ktoré obsahujú akciu zasiahnutie
Dalo by sa doplniť aby jeden zo zasiahnutých terčov prerušil triafanie ďalších terčov a aby bolo možné hodiť/streliť len predmetom, ktorý máš u seba.