igrik, большое спасибо, буду пытаться разобраться с SN:G.
И вот что я еще нашел.
В скрипте вогификации 78 wog - wogify.erm почти в самом начале (сразу после таймера TM1) описывается функция для генерации случайного заклинания, удовлетворяющего заданным начальным условиям, и приводится пример использования этой функции.
Так вот, оказывается этот код, приведенный просто для примера, реально выполняется в теле таймера TM1.
!!FU$spell$:P3/3/2/5/1/1/52; (строка 227 скрипта)
То есть реально генерируется заклинание 3 уровня, боевое, принадлежащее к школе магии огня или воздуха, с проверкой на бан, кроме Неудачи (№52).
Это все бы ничего, ну подумаешь, сгенерировали одно ненужное заклинание. Так, чепуха.
Но как оно генерируется!
Я чуть со стула не упал. Короче, сначала генерируется абсолютно любое случайное заклинание, от №0 до №69, а потом проверяется на соответствие заданным условиям. Угадали - хорошо, а если не угадали - запускаем цикл сначала и генерируем новое, и так пока не угадаем или пока не закончатся циклы. Счетчик циклов выставлен на 500:
!!DO7778/1/500/1:Px1/x2/x3/x4/x5/x6/x7/x8/x9/x10/x11/x12/x13/x14/x15; (строка 265 скрипта)
То есть эта штука может вхолостую крутиться до 500 раз, и это в ежедневном таймере для всех игроков!
Я не посчитал, сколько раз у меня крутился этот цикл, но по erm tracking.erm началось это все в строке 11404 и закончилось в строке 12065.
600 строк ERM-кода на ровном месте! (ну или около того). Так я эту красоту и нашел.
А потом люди спрашивают, почему компьютер долго ходит
))
igrik, проверь пожалуйста, может я ошибаюсь, но если нет, это обязательно надо исправить тоже.