Полная версия этой страницы: 
ERM: Вопросы и ответы 
  
  
 
 
  Очень зря... 
  
 
 
 
  А может расскажете про него поподробней немного? 
 Я им что и не пользуюсь, что не умею 
  
 
 
 
  Смотри !!DO;
Добавлено ([mergetime]1140078055[/mergetime]):
Ну или если не разберешься приведи пример на чем показать...
 
 
 
 
  !!DO#1/#2/#3/#4:XXXX; Calls a function trigger multiple times:
   #1 is number of function,
   #2 is start value
   #3 stop value
   #4 is increment #2, #3, #4 - не совсем понимаю их назначение 
 P$/$/$... 
up to 15#sЗачем здесь "up to 15#s", можно же одной обойтись?!  
  
 
 
 
  Цитата(SnoRT @ 16 Feb 2006, 13:13)
!!DO#1/#2/#3/#4:XXXX; Calls a function trigger multiple times:
   #1 is number of function,
   #2 is start value
   #3 stop value
   #4 is increment #2, #3, #4 - не совсем понимаю их назначение 
 P$/$/$... 
up to 15#sЗачем здесь "up to 15#s", можно же одной обойтись?!  

 Всмысле так допустим мы имеем цикл 
for x = 1 to 10 step 2
call FU15(1,2,3)
next x
function FU15(x1,x2,x3)
'body
end function
в ЕРМ это рпимерно будет выглядеть так:
!!DO15/1/10/2:P;
!?FU15;
/*body*/
а 15 это список передаваемых переменных в вызываемую функцию
P.S.Пример привел на VB, если наждо могу на другом 
  
 
 
 
  Код
!!DO#1/#2/#3/#4:XXXX; Вызывает триггер функции несколько раз:
   #1 номер функции,
   #2 начальное значение
   #3 конечное значение
   #4 шаг
Пример:
!!DO10/0/6/1:P;Функция с номером 10 будет вызвана 7 раз (0-6). Зачем нужно 

 ниже...
Код
P$/$/$... up to 15#s.Запускает функцию много раз: P
Чтобы получить доступ к параметрам используйте x# (#=1...15) синтаксис.
Они могут быть использованы где угодно (в пределах функции), используются стандартные переменные.
Когда вы вызываете другую функцию (смотрите пример), все невыставленные параметры будут унаследованы.
Заметка: P параметр должен быть помещён в !!DO вызов (даже если нет значений для помещения в петлю), чтобы петля работал корректно.
Пример:
!!DO1/1/15/1:P; верно
но !!DO1/1/15/1; неверно
Все ERM команды (приёмники, инструкции) должны использовать хотя бы один параметр для корректной работы.
То есть можно еще и задать некоторые параметры в функцию. До пятнацати (переменные x1 - x15)... В переменной x16 будет хранится значение какой раз прогоняется цикл...
Если вернутся к твоей задаче, то основа будет такой:
!!DO10/0/6/1:P;
!?FU10;
!!HE-1:C0/x16/?v10/?v11;
  
 
 
 
  Вот теперь точно всё понятно.
Спасибо большое! Всем 
  
 
 
  YURA-a-a
  16 Feb 2006, 17:38
  
 
  Как снять ограничение на Максимальное количество вторичных навыков, т.е. Дать Герою возможность, например в Хижинах ведьм изучать более чем 8-й навык?
Юрий
 
 
 
 
  Цитата
Как снять ограничение на Максимальное количество вторичных навыков, т.е. Дать Герою возможность, например в Хижинах ведьм изучать более чем 8-й навык?
!!HE:S#1/$2
Set/check/get secondary skill
  #1 - Skill number (see Format SS)
  $2 - Skill level (0=none, 1=basic, 2 =advanced, 3 =expert).Comments:
You can even set all(!) secondary skills (28 altogether) but only the first eight will show on the hero screen. Оно?
Ну и поковыряй тот срипт, где эти ограничения ставятся...
 
 
 
 
  YURA-a-a
  16 Feb 2006, 19:03
  
 
  Цитата(Druin @ 16 Feb 2006, 21:22)
Цитата
Как снять ограничение на Максимальное количество вторичных навыков, т.е. Дать Герою возможность, например в Хижинах ведьм изучать более чем 8-й навык?
!!HE:S#1/$2
Set/check/get secondary skill
  #1 - Skill number (see Format SS)
  $2 - Skill level (0=none, 1=basic, 2 =advanced, 3 =expert).Comments:
You can even set all(!) secondary skills (28 altogether) but only the first eight will show on the hero screen. Оно?
Ну и поковыряй тот срипт, где эти ограничения ставятся...
Это не то... Надо, Например так: Герой, уже имеющий 8 вторичных навыков заходит в Хижину ведьм и получает 9-й навык!
Юрий
 
 
 
 
 
  Есть стандартный скрипт, который позволяет изучить 2 дополнительных навыка. И есть скрипт позволяющий их видеть... Пару страниц назад что-то похожее обсуждалось уже...
Ну так найди их и посмотри как там реализовано... или пиши свой примерно по такому алгоритму:
1. при посещении ведьмы смотрим скока мы уже изучили.
2. если мало то как обычно.
3. если много, то реализуем добавление нового методом проб и ошибок, учитывая все возможные нюансы.
зы. Я там в предыдущем посте ошибся. Надо было так: "Ну и поковыряй тот срипт, где эти ограничения ставятся на 10..."
 
 
 
 
  Цитата
** function to handle giving a 9th-10th skill to a hero going up a level
!?FU710;
!!VRv549:S0; [count of skills for this hero]
!!DO707/0/27/1:P; [count the skills, return in v549]
** added by Thomas Franz (samot): check for Warfare
!!UN:P193/?y99; // check if Warfare-Script is on
!!HE-1&y99=1:S20/?y98; // check if Hero knows Artillery (and the other two skills too if warfare is on);
!!VRv549&y99=1/y98>0:-2; // decrease v549 (number of known skills) by two if warfare is on and hero knows artillery / fist aid / ballistics (only one skill is visible)
!!FU|v549<8/v549>15:E; // exit if hero has not enough or to much skills
!!VRy1:S0 R27; [pick a random skill to offer]
!!HE-1:Sy1/?y2; [check for presence of random skill]
!!HE-1:B0/?z352; [get hero name]
!!UN:N4/353/y1; [get skill name]
!!HE-1:R2/?y3; [get hero sex]
!!VRz354&y3=0:Sz101045;
!!VRz354&y3=1:Sz101046;
!!VRy4:Sy1 *3 +3; [get picture of skill]
!!IF:V2/0; [assume won't learn skill]
!!IF&1000/y2=0/v549>=8/v549<=15:Q2/20/y4/2/z101047;
!!IF&-1000/y2=0/v549>=8/v549<=15:V2/1; [AI always learns it]
!!HE-1&2:Sy1/1; [give skill]
** end of function
Открой script01.erm, сделай поиск на первую строчку вышеприведенного кода и замени всю стоящую там функцию на ту, что я собсна выложила. Будет 16 навыков - 8 обычных, 8 скрытых. Если хочешь, шоб было не 16, а скажем 14, то менять надо такие параметры:
Цитата
** added by Thomas Franz (samot): check for Warfare
!!UN:P193/?y99; // check if Warfare-Script is on
!!HE-1&y99=1:S20/?y98; // check if Hero knows Artillery (and the other two skills too if warfare is on);
!!VRv549&y99=1/y98>0:-2; // decrease v549 (number of known skills) by two if warfare is on and hero knows artillery / fist aid / ballistics (only one skill is visible)
!!FU|v549<8/v549>15:E; // exit if hero has not enough or to much skills
В последней строчке число 15. 
И еще
Цитата
!!IF:V2/0; [assume won't learn skill]
!!IF&1000/y2=0/v549>=8/v549<=15:Q2/20/y4/2/z101047;
!!IF&-1000/y2=0/v549>=8/v549<=15:V2/1; [AI always learns it]
!!HE-1&2:Sy1/1; [give skill]
** end of function
Во второй и третьей строчках число 15. Проверено, у меня работает.
 
 
 
 
  sergroj
  17 Feb 2006, 11:05
  
 
  Цитата(YURA-a-a @ 16 Feb 2006, 23:03)
Герой, уже имеющий 8 вторичных навыков заходит в Хижину ведьм и получает 9-й навык!
Юрий
Надо при входе в хижыну убирать восьмой навык из списка отображающихся и восстанавливать при выходе.
 
 
 
 
  YURA-a-a
  17 Feb 2006, 17:35
  
 
  Спасибо, Katya!!
Если я так сделаю, то эта возможность появится только на моем компьютере!  Но меня интересует другое... Каким должен быть скрипт, увеличивающий количество вторичных навыков (скрытых), чтобы эту карту могли играть и другие?
Юрий
 
 
 
  gamecreator
  17 Feb 2006, 17:39
  
 
  Во1 вырежь тот кусок и вставь в карту
Во2 не задавай дурацких вопросов
 
 
 
 
  Цитата
Спасибо, Katya!!
Если я так сделаю, то эта возможность появится только на моем компьютере! Но меня интересует другое... Каким должен быть скрипт, увеличивающий количество вторичных навыков (скрытых), чтобы эту карту могли играть и другие?
А ERM Scripter на что?! 
  
 
 
  W_r_a_i_t_h
  18 Feb 2006, 14:53
  
 
  Народ помогите проблема.
Почти во всех картах, которые я играл у меня не пашут Скрипты. Пишет ошибка.. ЧТо делать????? Просто непашут скрипты..
 
 
 
  gamecreator
  18 Feb 2006, 15:03
  
 
  какие скрипты?
 
 
 
 
  Значит, у тебя есть какой-то ошибочный скрипт, из-за которого полностью отключается поддержка ЕРМ. Наверное 
 Ты нигде не скачивал новых скриптов, или, может сам делал?
 
 
 
 
  W_r_a_i_t_h
  18 Feb 2006, 15:22
  
 
  пару скриптов кчал отсюда..
ккачал отсюда.
http://wakeofthegods.strategyplanet.gamespy.com/Я ради експеремента, поставил на SoD  Wog ну, что б без всяких лишних скриптов.. и всёравно тоже самое....
Добавлено ([mergetime]1140265331[/mergetime]):
Могу скинуть Лог ошибки.
 
 
 
 
  W_r_a_i_t_h
  18 Feb 2006, 15:52
  
 
  незнаю, что даже делать 

 а так хочится нормально поиграть
 
 
 
 
 
  Даже не знаю, что посоветовать. Скорее всего, это какой-то неправильный скрипт всё портит. Подожди кого-нибудь знающего, я тут не помощник 
 Но всё равно, попробуй поискать все лишние скриты. И удали 
  
 
 
  W_r_a_i_t_h
  18 Feb 2006, 16:03
  
 
  Что значит лишние? а кстати, вопрос.. ну я так понял, что скрипты делятся, на те, что в самом воге и на те, что в карте? или они все в карте???
Я вот скачал карту, что демонстрирует возможности ЕРМ скриптов, она тоже глючит
 
 
 
 
  Лишние, в смысле, которые ты где-либо скачивал и устанавливал.
Насчёт второго вопроса... Как бы объяснить... Те скрипты, которые являются файлами .ert (Все что устанавливаются с WOG и которые ты где-то скачиваешь) - они действуют везде: на случайных картах, на созданных картах и т.д. При загрузке карты происходит ВОГ'ификация этими скриптами.
Но если автор карты при её создании не поленился и написал в неё несколько скриптов, то тогда они находятся непосредственно в самой карте. В данном случае от WOG'ификации ЖЕЛАТЕЛЬНО отказываться.
Вроде, понятно объяснил 
  
 
 
  gamecreator
  18 Feb 2006, 16:20
  
 
  уточню: файлы скриптов - erm, a ert - вспомогательные
 
 
 
 
  Ну да, ну да, это и хотел сказать 
  
 
 
  W_r_a_i_t_h
  18 Feb 2006, 17:07
  
 
  Цитата(SnoRT @ 18 Feb 2006, 16:11)
Лишние, в смысле, которые ты где-либо скачивал и устанавливал.
Насчёт второго вопроса... Как бы объяснить... Те скрипты, которые являются файлами .ert (Все что устанавливаются с WOG и которые ты где-то скачиваешь) - они действуют везде: на случайных картах, на созданных картах и т.д. При загрузке карты происходит ВОГ'ификация этими скриптами.
Но если автор карты при её создании не поленился и написал в неё несколько скриптов, то тогда они находятся непосредственно в самой карте. В данном случае от WOG'ификации ЖЕЛАТЕЛЬНО отказываться.
Вроде, понятно объяснил 

Дя.. только тогда получается, что плохие скрипты в самой карте, потому, что  я же не вогифицировал....
 
 
 
 
  gamecreator
  18 Feb 2006, 17:20
  
 
  нет, у тебя вог глючный, качай заново
зы. а ты уверен, что ставишь на СоД?
 
 
 
  W_r_a_i_t_h
  18 Feb 2006, 17:39
  
 
  ну вроде да... Ну  запускаю, пишет Shadow of Death  ну всё как положенно
 
 
 
  YURA-a-a
  19 Feb 2006, 09:57
  
 
  Как скриптом запретить Герою сбегать из битвы (типа артефакта Оковы войны)?
Юрий
 
 
 
 
  AI игроку никак. Человеку - просто поменять свойства нажатия кнопок "Сбежать" и "Сдасться".
 
 
 
 
  Цитата(YURA-a-a @ 19 Feb 2006, 09:57)
Как скриптом запретить Герою сбегать из битвы (типа артефакта Оковы войны)?
Юрий
перед битвой в определенный слот дать артефакт оковы войны, а после битвы его удалить 

, или же при клике на кнопку сдаться нельзя нажать
 
 
 
 
  geglov2
  19 Feb 2006, 12:06
  
 
  Вопрос. Если у кого частичная или полная руссиф. Help.
 
 
 
 
  Цитата
перед битвой в определенный слот дать артефакт оковы войны, а после битвы его удалить , или же при клике на кнопку сдаться нельзя нажать
Точно также сделан мой скрипт "Бесстрашие" 
  
 
 
  sergroj
  19 Feb 2006, 13:20
  
 
  Цитата(W_r_a_i_t_h @ 18 Feb 2006, 18:53)
Народ помогите проблема.
Почти во всех картах, которые я играл у меня не пашут Скрипты. Пишет ошибка.. ЧТо делать????? Просто непашут скрипты..
Версия ВоГа последяя? Что конкретно говорится?
 
 
 
 
  YURA-a-a
  19 Feb 2006, 14:12
  
 
  Цитата(Bourn @ 19 Feb 2006, 14:20)
Цитата(YURA-a-a @ 19 Feb 2006, 09:57)
Как скриптом запретить Герою сбегать из битвы (типа артефакта Оковы войны)?
Юрий
перед битвой в определенный слот дать артефакт оковы войны, а после битвы его удалить 

, или же при клике на кнопку сдаться нельзя нажать
Давать Оковы войны не корректно, т.к. Игра будет говорить, что вы не можете покинуть поле боя из за наличия у Вас Оков войны.
А как запретить кликать на кнопку сдаться? Я не знаю...
А еще перед битвой Герой тоже норовит сбежать!
Типа сил мало...
Как же заставить Героя блогородно умереть?
Юрий
Добавлено ([mergetime]1140347576[/mergetime]):
Цитата(SnoRT @ 19 Feb 2006, 14:16)
AI игроку никак. Человеку - просто поменять свойства нажатия кнопок "Сбежать" и "Сдасться".
А типа как?
Юрий
 
 
 
 
 
  Цитата(YURA-a-a @ 19 Feb 2006, 14:12)
А как запретить кликать на кнопку сдаться? Я не знаю...
!?CM4;
!!CM:I?y1;
!!CM|y1=2001/y1=2002:R0;
 
 
 
 
 
  Могу рассусолить.
А оно надо? Ведь компьютер и так слабенький, а если не давать ему сваливать после неудачной битвы, то вообще будет просто мясо какое-то. Прям фарш. Поэтому никогда не использую оковы войны (запрет стоит) - и так спокойно убиваются после сбегания.
Вот Сфера запрещения - это да... Ее бы в каждую битву, а не оковы.
 
 
 
  sergroj
  20 Feb 2006, 09:40
  
 
  А против компа можно оковы. Проблема только в том, что пустые слоты не всегда есть. Но если помучаться, то можно временно убирать артефакты, не влияющие на битву, а они обычно есть.
 
 
 
 
  Цитата(sergroj @ 20 Feb 2006, 09:40)
А против компа можно оковы. Проблема только в том, что пустые слоты не всегда есть. Но если помучаться, то можно временно убирать артефакты, не влияющие на битву, а они обычно есть.
На сколько я помну, вроде можно запихнуть 2 арта в один слот...
 
 
 
 
 
  Цитата(sergroj @ 20 Feb 2006, 10:40)
А против компа можно оковы. Проблема только в том, что пустые слоты не всегда есть. Но если помучаться, то можно временно убирать артефакты, не влияющие на битву, а они обычно есть.
А я катапульту заменил в своём скрипте. А при осаде замка катапульта всё равно появляется и оковы действуют 
  
 
 
 
  Цитата(W_r_a_i_t_h @ 18 Feb 2006, 18:53)
Народ помогите проблема.
Почти во всех картах, которые я играл у меня не пашут Скрипты. Пишет ошибка.. ЧТо делать????? Просто непашут скрипты..
Раз не идет даже при выключенной вогификации (кстати, а если не вогифицировать карту без скриптов или с одной только строкой "ZVSE" в скрипте - тогда будет ругаться?), то может дело и не в скриптах... ехе-шник точно не менял?
Цитата(YURA-a-a @ 19 Feb 2006, 14:12)
Как же заставить Героя блогородно умереть?
В ТЕшном script04 есть кусок, где реализуется ограничение на hit&run - герой не может сбежать/сдаться в том же раунде, в котором он применял магию. Можешь переделать под свои нужды. Я старался комментировать построчно. 
  
 
 
  YURA-a-a
  20 Feb 2006, 17:52
  
 
  Цитата(Katya @ 20 Feb 2006, 06:35)
Могу рассусолить.
А оно надо? Ведь компьютер и так слабенький, а если не давать ему сваливать после неудачной битвы, то вообще будет просто мясо какое-то. Прям фарш. Поэтому никогда не использую оковы войны (запрет стоит) - и так спокойно убиваются после сбегания.
Вот Сфера запрещения - это да... Ее бы в каждую битву, а не оковы.
Речь не о том чтобы компьютеру сваливал. А что бы Человек не имел такой возможности... Раз уж судьба, так погибай... Сюжет однако такой...
Юрий
Добавлено ([mergetime]1140447130[/mergetime]):
Еще есть у Героев Глюк!
Если я хочу поменять портрет, например так:
!!HE0:L4/79; 
Но после загрузки сохраненного файла, новое лицо не видно!
Вместо непонятно что... Можно загонять в цикл и типа каждый день заново подставлять новое лицо, но это будет видно только на следующий день.
Загружать лицо из файла - Портале такие карты не принимают!
Только чистые Карты...
Есть идеи?
Юрий
 
 
 
 
 
  По-моему есть триггер, или что-то подобное... Короче можно использовать приёмники сразу после загрузки игры.
 
 
 
 
  Да, вот триггер:
!?GM#;
# = 0 - Срабатывает после загрузки игры;
# = 1 - Срабатывает перед сохранением игры.
 
 
 
 
  Что за тригер такой? В хелпе его нет...
 
 
 
 
  Цитата(Druin @ 21 Feb 2006, 11:01)
Что за тригер такой? В хелпе его нет...
глянь в хелпе, только полистав его 

, а не по ссылкам
 
 
 
 
 
  Возник вопросик один... Есть такой объект, не помню как называется, короче - груда черепов. Там сражаешься с личом и его слугами. А как сделали, что у одного (Главного) лича изменённые параметры, а у остальных - стандартные? 
  
 
 
  Чёртос-2 (Chortos-2)
  22 Feb 2006, 17:10
  
 
  Через приемники, начинающиеся на букву B (Battle). 

З.Ы. Да, недочет... Триггер !?GM есть в списке, но отсутствует в ссылках слева...
 
 
 
 
 
  Всмысле? Через номер стэка?
 
 
   
  Для просмотра полной версии этой страницы, пожалуйста, 
пройдите по ссылке.