Sav
Posts: 2180
|
Для переменных нужно выделять память.
|
|
11.09.2010 18:07 |
|
GhostManSD
Posts: 1054
|
Для функций её нашли, а переменные не менее важны. К тому же, вдруг это можно реализовать в отдельной DLL.
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
11.09.2010 19:13 |
|
Sav
Posts: 2180
|
Каждая переменная, даже неиспользуемая, - это область памяти, равная сколько-то (v по-моему 4) байтов. Номер функции же - это просто название и затраты памяти на увеличение их количества незначительны, если я правильно понимаю.
|
|
11.09.2010 19:39 |
|
Berserker
Posts: 16637
|
|
11.09.2010 20:20 |
|
ROSOMAHA
Posts: 67
|
какая версия героев WoG вышла уже последняя? Нигде не могу актуальной инфы на эту тему найти. Плиз напишите и дайте ссылку.
|
|
12.09.2010 11:50 |
|
Sav
Posts: 2180
|
3.58f + Era. В личку кинул (очень ) краткое описание и ссылки.
|
|
12.09.2010 11:53 |
|
etoprostoya
Posts: 1809
|
(11.09.2010 02:17)GrayFace Wrote: Большинство. Есть несколько несовместимостей, я их где-то здесь писал. 2 очень мелкие, а в одну могут попасться какие-то скрипты - в 3.58 локальные переменные инициализировались 0 при каждом вызове триггера, а в 3.59 - не инициализируются. Еще, вероятно, несовместимостей добавят баги
Разве большинство? Что-то мне подсказывает, что в большинство серьёзных модов и карт-модов уже не возможно будет поиграть, так как там часто используются переменные, которые изначально предполагаются равными нулю.
|
|
13.09.2010 01:22 |
|
GhostManSD
Posts: 1054
|
Можно с самого начала запустить цикл, устанавливающий все переменные на 0.
!?FU99999;
!!VRvx16:S0;
!!VRzx16&x16<1001:S^^;
!#DO99999/1/10000/1:P;
Как-то так. При условии, что количество v- и z- переменных не увеличат (а хотелось бы побольше).
В идеале, если такое не повредит работоспособности игры, такое можно вшить в игру. Я не знаю, как это выглядит на LUA, поэтому написал на ERM.
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
13.09.2010 01:32 |
|
etoprostoya
Posts: 1809
|
(13.09.2010 01:32)GhostManSD Wrote: Можно с самого начала запустить цикл, устанавливающий все переменные на 0.
Для этого нужно изменять скрипты мода или карты. Не каждый игрок это сможет. Да и захочет ли? Проще остаться на 3.58f, в которой нет никаких проблем с такими скриптами.
|
|
13.09.2010 01:50 |
|
GhostManSD
Posts: 1054
|
etoprostoya, ты просто не дочитал до конца. Я описал сам принцип, подразумевая, что этот принцип будет вшит намертво в загрузку игры. Или хотя бы в загрузку карты.
Сейчас, кстати, понял, что лопухнулся. Сергей писал не про стандартные переменные, а про переменные y-# и y#. А они, к сожалению или счастью, для каждого триггера свои, и изменение их по принципу, изложенному выше (т.е. в отдельной функции), не изменит их в другой функции (т.е. с отличным от нуля номером FU#).
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
13.09.2010 02:03 |
|
GhostManSD
Posts: 1054
|
Кстати, локальные переменные предназначены для длительного хранения? Например, я установил переменные y1 и y-1 для объекта x/y/l. Если я поброжу по карте месяцок-другой, активирую пару скриптов и вернусь к этому же объекту, я получу то самое значение?
Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
|
|
13.09.2010 02:09 |
|
Sav
Posts: 2180
|
А зачем вообще не обнулять их? В этом есть какой-то смысл?
|
|
13.09.2010 09:33 |
|
GrayFace
Posts: 1233
|
(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.
Вся правда обо мне
|
|
15.09.2010 06:29 |
|
etoprostoya
Posts: 1809
|
Quote:Именно локальные предполагаются равными нулю?
Да.
Quote:В общем, если есть карты и моды, для которых это важно, наверное, придется вернуть зануление. Мне все-равно уже мало нравится этот вариант GoTo.
Это хорошо.
|
|
15.09.2010 10:42 |
|