ZVSE
ERMS_ScriptName=Edit_stacks
ERMS_ScriptAuthor=Sav
ERMS_ScriptVersion=1.0.0
ERMS_ScriptDate=30.10(October).2010
ERMS_ScriptERMVersion=3.00
ERMS_ScriptLanguage=Русский or русский (native)
ERMS_ScriptUsedVariables=v1-v2
ERMS_ScriptUsedFunctions=27999-28000
_WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes!
ERMS_PoweredBy=ERM Scripter v. 2004.10.5.945
!?BR&v997=-1;Триггер, скажем на начало боя. ;Стуктура массива: (v1 + 2*n) - номер v-переменной с количеством существ в стеке n, (v1 + 2*n + 1) - номер v-переменной с типом существ в стеке n. !!DO27999/0/41/1:Pv1;Запускаем цикл, проходящийся по всем стекам и считывающий информацию о них (в v1 - номер начальной v-переменной массива). !!SN:Ev2/0/v1;Вызываем функцию (в v2 - адрес), передаём ей номер начальной v-переменной массива. !!DO28000/0/41/1:Pv1;Запускаем цикл, проходящийся по всем стекам и записывающий новую информацию о них (в v1 - номер начальной v-переменной массива).
;Функции считывания и записи информации о стеках.
!?FU27999;Функция, считывающая информацию со стека. !!VRy1:Sx16*2+x1;Вычисляем номер v-переменной для хранения количества существ в стеке. !!VRy2:Sy1+1;Вычисляем номер v-переменной для хранения типа существ в стеке. !!BMx16:N?vy1;Считываем количество существ в стеке. !!VRvy2:S-1;Сбрасываем v-переменную для хранения типа существ в стеке !!BMx16&vy1>0:T?vy2;Если в стеке есть существа, считываем их тип.
!?FU28000;Функция, записывающая информацию о стеке. !!VRy1:Sx16*2+x1;Вычисляем номер v-переменной, хранящей количество существ в стеке. !!VRy2:Sy1+1;Вычисляем номер v-переменной, хранящей тип существ в стеке. !!BMx16:N?y3;Считываем количество существ в стеке. !!FU&y3<=0:E;Если в стеке нет существ, завершаем функцию. !!BMx16:Tvy2;Записываем новый тип существ в стеке. !!BMx16:Nvy1;Записываем новое количество существ в стеке.