Wake of Gods Forum | Форум Во Имя Богов

Full Version: WoG 3.59: планы по реализации, идеи и пр. вопросы
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Для переменных нужно выделять память.
Для функций её нашли, а переменные не менее важны. К тому же, вдруг это можно реализовать в отдельной DLL.
Каждая переменная, даже неиспользуемая, - это область памяти, равная сколько-то (v по-моему 4) байтов. Номер функции же - это просто название и затраты памяти на увеличение их количества незначительны, если я правильно понимаю.
Номер - это номер. Все ЕРМ события, будь то OB или FU имеют номер. Он находится в рамках от 0 до 2^31. Соответственно сам номер нигде ничего не занимает, а просто указывается при генерировании события.
какая версия героев WoG вышла уже последняя? Нигде не могу актуальной инфы на эту тему найти. Плиз напишите и дайте ссылку.
3.58f + Era. В личку кинул (оченьSm) краткое описание и ссылки.
(11.09.2010 02:17)GrayFace Wrote: [ -> ]Большинство. Есть несколько несовместимостей, я их где-то здесь писал. 2 очень мелкие, а в одну могут попасться какие-то скрипты - в 3.58 локальные переменные инициализировались 0 при каждом вызове триггера, а в 3.59 - не инициализируются. Еще, вероятно, несовместимостей добавят баги Sm
Разве большинство? Что-то мне подсказывает, что в большинство серьёзных модов и карт-модов уже не возможно будет поиграть, так как там часто используются переменные, которые изначально предполагаются равными нулю.
Можно с самого начала запустить цикл, устанавливающий все переменные на 0.

!?FU99999;
!!VRvx16:S0;
!!VRzx16&x16<1001:S^^;
!#DO99999/1/10000/1:P;

Как-то так. При условии, что количество v- и z- переменных не увеличат (а хотелось бы побольше).
В идеале, если такое не повредит работоспособности игры, такое можно вшить в игру. Я не знаю, как это выглядит на LUA, поэтому написал на ERM.
(13.09.2010 01:32)GhostManSD Wrote: [ -> ]Можно с самого начала запустить цикл, устанавливающий все переменные на 0.
Для этого нужно изменять скрипты мода или карты. Не каждый игрок это сможет. Да и захочет ли? Проще остаться на 3.58f, в которой нет никаких проблем с такими скриптами.
etoprostoya, ты просто не дочитал до конца. Я описал сам принцип, подразумевая, что этот принцип будет вшит намертво в загрузку игры. Или хотя бы в загрузку карты.
Сейчас, кстати, понял, что лопухнулся. Сергей писал не про стандартные переменные, а про переменные y-# и y#. А они, к сожалению или счастью, для каждого триггера свои, и изменение их по принципу, изложенному выше (т.е. в отдельной функции), не изменит их в другой функции (т.е. с отличным от нуля номером FU#).
Кстати, локальные переменные предназначены для длительного хранения? Например, я установил переменные y1 и y-1 для объекта x/y/l. Если я поброжу по карте месяцок-другой, активирую пару скриптов и вернусь к этому же объекту, я получу то самое значение?
(11.09.2010 02:17)GrayFace Wrote: [ -> ]Большинство. Есть несколько несовместимостей, я их где-то здесь писал. 2 очень мелкие, а в одну могут попасться какие-то скрипты - в 3.58 локальные переменные инициализировались 0 при каждом вызове триггера, а в 3.59 - не инициализируются. Еще, вероятно, несовместимостей добавят баги Sm

If 3.59 + bonus not 100% compatible with 3.58 local variables scripts, very very very bad idea. Oh well...progress is not easy.Bad
А зачем вообще не обнулять их? В этом есть какой-то смысл?
(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]
В 3.58 после каждой !?FU255 локальные переменные занулялись.
Еще увеличивается быстродействие.

В общем, если есть карты и моды, для которых это важно, наверное, придется вернуть зануление. Мне все-равно уже мало нравится этот вариант GoTo.
Quote:Именно локальные предполагаются равными нулю?
Да.
Quote:В общем, если есть карты и моды, для которых это важно, наверное, придется вернуть зануление. Мне все-равно уже мало нравится этот вариант GoTo.
Это хорошо. Sm
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Reference URL's