11.09.2010, 18:07
11.09.2010, 19:13
Для функций её нашли, а переменные не менее важны. К тому же, вдруг это можно реализовать в отдельной DLL.
11.09.2010, 19:39
Каждая переменная, даже неиспользуемая, - это область памяти, равная сколько-то (v по-моему 4) байтов. Номер функции же - это просто название и затраты памяти на увеличение их количества незначительны, если я правильно понимаю.
11.09.2010, 20:20
Номер - это номер. Все ЕРМ события, будь то OB или FU имеют номер. Он находится в рамках от 0 до 2^31. Соответственно сам номер нигде ничего не занимает, а просто указывается при генерировании события.
12.09.2010, 11:50
какая версия героев WoG вышла уже последняя? Нигде не могу актуальной инфы на эту тему найти. Плиз напишите и дайте ссылку.
12.09.2010, 11:53
3.58f + Era. В личку кинул (очень
) краткое описание и ссылки.

13.09.2010, 01:22
(11.09.2010 02:17)GrayFace Wrote: [ -> ]Большинство. Есть несколько несовместимостей, я их где-то здесь писал. 2 очень мелкие, а в одну могут попасться какие-то скрипты - в 3.58 локальные переменные инициализировались 0 при каждом вызове триггера, а в 3.59 - не инициализируются. Еще, вероятно, несовместимостей добавят багиРазве большинство? Что-то мне подсказывает, что в большинство серьёзных модов и карт-модов уже не возможно будет поиграть, так как там часто используются переменные, которые изначально предполагаются равными нулю.
13.09.2010, 01:32
Можно с самого начала запустить цикл, устанавливающий все переменные на 0.
!?FU99999;
!!VRvx16:S0;
!!VRzx16&x16<1001:S^^;
!#DO99999/1/10000/1:P;
Как-то так. При условии, что количество v- и z- переменных не увеличат (а хотелось бы побольше).
В идеале, если такое не повредит работоспособности игры, такое можно вшить в игру. Я не знаю, как это выглядит на LUA, поэтому написал на ERM.
!?FU99999;
!!VRvx16:S0;
!!VRzx16&x16<1001:S^^;
!#DO99999/1/10000/1:P;
Как-то так. При условии, что количество v- и z- переменных не увеличат (а хотелось бы побольше).
В идеале, если такое не повредит работоспособности игры, такое можно вшить в игру. Я не знаю, как это выглядит на LUA, поэтому написал на ERM.
13.09.2010, 01:50
(13.09.2010 01:32)GhostManSD Wrote: [ -> ]Можно с самого начала запустить цикл, устанавливающий все переменные на 0.Для этого нужно изменять скрипты мода или карты. Не каждый игрок это сможет. Да и захочет ли? Проще остаться на 3.58f, в которой нет никаких проблем с такими скриптами.
13.09.2010, 02:03
etoprostoya, ты просто не дочитал до конца. Я описал сам принцип, подразумевая, что этот принцип будет вшит намертво в загрузку игры. Или хотя бы в загрузку карты.
Сейчас, кстати, понял, что лопухнулся. Сергей писал не про стандартные переменные, а про переменные y-# и y#. А они, к сожалению или счастью, для каждого триггера свои, и изменение их по принципу, изложенному выше (т.е. в отдельной функции), не изменит их в другой функции (т.е. с отличным от нуля номером FU#).
Сейчас, кстати, понял, что лопухнулся. Сергей писал не про стандартные переменные, а про переменные y-# и y#. А они, к сожалению или счастью, для каждого триггера свои, и изменение их по принципу, изложенному выше (т.е. в отдельной функции), не изменит их в другой функции (т.е. с отличным от нуля номером FU#).
13.09.2010, 02:09
Кстати, локальные переменные предназначены для длительного хранения? Например, я установил переменные y1 и y-1 для объекта x/y/l. Если я поброжу по карте месяцок-другой, активирую пару скриптов и вернусь к этому же объекту, я получу то самое значение?
13.09.2010, 02:29
(11.09.2010 02:17)GrayFace Wrote: [ -> ]Большинство. Есть несколько несовместимостей, я их где-то здесь писал. 2 очень мелкие, а в одну могут попасться какие-то скрипты - в 3.58 локальные переменные инициализировались 0 при каждом вызове триггера, а в 3.59 - не инициализируются. Еще, вероятно, несовместимостей добавят баги
If 3.59 + bonus not 100% compatible with 3.58 local variables scripts, very very very bad idea. Oh well...progress is not easy.

13.09.2010, 09:33
А зачем вообще не обнулять их? В этом есть какой-то смысл?
15.09.2010, 06:29
(13.09.2010 01:22)etoprostoya Wrote: [ -> ]Разве большинство? Что-то мне подсказывает, что в большинство серьёзных модов и карт-модов уже не возможно будет поиграть, так как там часто используются переменные, которые изначально предполагаются равными нулю.Именно локальные предполагаются равными нулю?
(13.09.2010 01:50)etoprostoya Wrote: [ -> ]На самом деле, можно будет даже для карт, которые не вогифицируются, выполнить код при загрузке.(13.09.2010 01:32)GhostManSD Wrote: [ -> ]Можно с самого начала запустить цикл, устанавливающий все переменные на 0.Для этого нужно изменять скрипты мода или карты. Не каждый игрок это сможет. Да и захочет ли? Проще остаться на 3.58f, в которой нет никаких проблем с такими скриптами.
(13.09.2010 02:09)GhostManSD Wrote: [ -> ]Кстати, локальные переменные предназначены для длительного хранения? Например, я установил переменные y1 и y-1 для объекта x/y/l. Если я поброжу по карте месяцок-другой, активирую пару скриптов и вернусь к этому же объекту, я получу то самое значение?У объектов нет локальных переменных. Для них есть переменные !!PO.
(13.09.2010 09:33)Sav Wrote: [ -> ]А зачем вообще не обнулять их? В этом есть какой-то смысл?Можно использовать их на протяжении нескольких триггеров. Особенно, с новой командой GoTo:
Code:
!?FU255;
!!VRy1:S100;
!?FU255&y1>0;
(...)
!!VRy1:-1;
!!FU:E-1; [goto]
Еще увеличивается быстродействие.
В общем, если есть карты и моды, для которых это важно, наверное, придется вернуть зануление. Мне все-равно уже мало нравится этот вариант GoTo.
15.09.2010, 10:42
Quote:Именно локальные предполагаются равными нулю?Да.
Quote:В общем, если есть карты и моды, для которых это важно, наверное, придется вернуть зануление. Мне все-равно уже мало нравится этот вариант GoTo.Это хорошо.
