Nie wiem o ile to naprawi błąd, ale po co dwa razy nasłuchujesz event on load, zamiast po prostu na koniec ustawiania zmiennych dać tworzenie tego craftingu. Bardzo możliwe, że zmienne nie są jeszcze ustawione, dlatego występuje problem
stop - zatrzymuje działanie skryptu, zatem wszystko w tej sekcji po wyrażeniu stop nie zostanie wykonane,
rozumiem również, że chcesz zabronić stawiania tego bloku - musisz anulować zdarzenie stawiania - cancel event
spróbuj tam podwoić słowo world,
all players in world world("...")
i w najnowszej wersji skript nie trzeba chyba już podwajać cudzysłowów, więc zaktualizuj
on chat:
set chat recipients to all players where [input's world is world of player]
#lub
#set chat recipients to all players in world (world of player)
Zapomniałeś o dwukropku na końcu warunku
Druga sprawa - w jakim celu tyle argumentów w komendzie skoro korzystasz z 2?
Trzecia sprawa - warunki się zaprzeczają: sprawdzasz, czy arg-2 nie jest ustawiony i jeśli tak to sprawdzasz czy równa się "16>"