Бляяять, спецы подкатили.
Можешь юзать глобальные переменные. SB всё равно их потом переименовывает в те, которые не находятся в CustomVariables.ini.
Ты декомпиль свой скрипт и посмотри, что происходит с твоими названными переменными: их имена превращаются в те, которых нет в CustomVariables.ini. При использовании большого кол-ва таких переменных значение одной из них может записаться в какую-нибудь ячейку памяти, которая хранит указатель на что-то очень важное.
Ладно, это первое. Второе - если юзать глобальные переменные, и как я говорил выше, они переименовываются, то они будут перезаписываться, т.к. хранение в памяти у них одно. Какой нибудь супер тру скриптер юзает глобалки и ты вместе с ним, при этом юзер поставил эти два скрипта вместе, то перезапись этих переменных неизбежна. Эти два скрипта могут работать некорректно.
В третьих - сам разраб говорит, что нежелательно их юзать, но нет - мы это называем "кудахтать".
Его код полностью рабочий(который с локальными переменными). Что у него там творится - это его отдельная проблема. ЕГО. КОД. ПОЛНОСТЬЮ. РАБОЧИЙ.