Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ERM: Вопросы и ответы
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды > Скрипты
Страницы: 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, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52
Druin
Очень зря... wink.gif
SnoRT
А может расскажете про него поподробней немного? rolleyes.gif
Я им что и не пользуюсь, что не умею unsure.gif
Druin
Смотри !!DO;

Добавлено ([mergetime]1140078055[/mergetime]):
Ну или если не разберешься приведи пример на чем показать...
SnoRT
!!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 - не совсем понимаю их назначение idontno.gif

P$/$/$...
up to 15#s


Зачем здесь "up to 15#s", можно же одной обойтись?! idontno.gif
Bourn
Цитата(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 - не совсем понимаю их назначение idontno.gif

P$/$/$...
up to 15#s


Зачем здесь "up to 15#s", можно же одной обойтись?!  idontno.gif

Всмысле так допустим мы имеем цикл
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, если наждо могу на другом spiteful.gif
Druin
Код
!!DO#1/#2/#3/#4:XXXX; Вызывает триггер функции несколько раз:
  #1 номер функции,
  #2 начальное значение
  #3 конечное значение
  #4 шаг

Пример:
!!DO10/0/6/1:P;
Функция с номером 10 будет вызвана 7 раз (0-6). Зачем нужно tongue.gif ниже...

Код
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;
SnoRT
Вот теперь точно всё понятно.
Спасибо большое! Всем biggrin.gif
YURA-a-a
Как снять ограничение на Максимальное количество вторичных навыков, т.е. Дать Герою возможность, например в Хижинах ведьм изучать более чем 8-й навык?

Юрий
Druin
Цитата
Как снять ограничение на Максимальное количество вторичных навыков, т.е. Дать Герою возможность, например в Хижинах ведьм изучать более чем 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
Цитата(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-й навык!
Юрий
Druin
Есть стандартный скрипт, который позволяет изучить 2 дополнительных навыка. И есть скрипт позволяющий их видеть... Пару страниц назад что-то похожее обсуждалось уже...
Ну так найди их и посмотри как там реализовано... или пиши свой примерно по такому алгоритму:
1. при посещении ведьмы смотрим скока мы уже изучили.
2. если мало то как обычно.
3. если много, то реализуем добавление нового методом проб и ошибок, учитывая все возможные нюансы.

зы. Я там в предыдущем посте ошибся. Надо было так: "Ну и поковыряй тот срипт, где эти ограничения ставятся на 10..."
Katya
Цитата
** 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
Цитата(YURA-a-a @ 16 Feb 2006, 23:03)
Герой, уже имеющий 8 вторичных навыков заходит в Хижину ведьм и получает 9-й навык!
Юрий

Надо при входе в хижыну убирать восьмой навык из списка отображающихся и восстанавливать при выходе.
YURA-a-a
Спасибо, Katya!!
Если я так сделаю, то эта возможность появится только на моем компьютере! Но меня интересует другое... Каким должен быть скрипт, увеличивающий количество вторичных навыков (скрытых), чтобы эту карту могли играть и другие?

Юрий
gamecreator
Во1 вырежь тот кусок и вставь в карту
Во2 не задавай дурацких вопросов
SnoRT
Цитата
Спасибо, Katya!!
Если я так сделаю, то эта возможность появится только на моем компьютере! Но меня интересует другое... Каким должен быть скрипт, увеличивающий количество вторичных навыков (скрытых), чтобы эту карту могли играть и другие?

А ERM Scripter на что?! dry.gif
W_r_a_i_t_h
Народ помогите проблема.
Почти во всех картах, которые я играл у меня не пашут Скрипты. Пишет ошибка.. ЧТо делать????? Просто непашут скрипты..
gamecreator
какие скрипты?
SnoRT
Значит, у тебя есть какой-то ошибочный скрипт, из-за которого полностью отключается поддержка ЕРМ. Наверное biggrin.gif
Ты нигде не скачивал новых скриптов, или, может сам делал?
W_r_a_i_t_h
пару скриптов кчал отсюда..
ккачал отсюда.
http://wakeofthegods.strategyplanet.gamespy.com/

Я ради експеремента, поставил на SoD Wog ну, что б без всяких лишних скриптов.. и всёравно тоже самое....

Добавлено ([mergetime]1140265331[/mergetime]):
Могу скинуть Лог ошибки.
W_r_a_i_t_h
незнаю, что даже делать sad.gif а так хочится нормально поиграть
SnoRT
Даже не знаю, что посоветовать. Скорее всего, это какой-то неправильный скрипт всё портит. Подожди кого-нибудь знающего, я тут не помощник biggrin.gif
Но всё равно, попробуй поискать все лишние скриты. И удали rolleyes.gif
W_r_a_i_t_h
Что значит лишние? а кстати, вопрос.. ну я так понял, что скрипты делятся, на те, что в самом воге и на те, что в карте? или они все в карте???

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


Дя.. только тогда получается, что плохие скрипты в самой карте, потому, что я же не вогифицировал....
gamecreator
нет, у тебя вог глючный, качай заново
зы. а ты уверен, что ставишь на СоД?
W_r_a_i_t_h
ну вроде да... Ну запускаю, пишет Shadow of Death ну всё как положенно
YURA-a-a
Как скриптом запретить Герою сбегать из битвы (типа артефакта Оковы войны)?

Юрий
SnoRT
AI игроку никак. Человеку - просто поменять свойства нажатия кнопок "Сбежать" и "Сдасться".
Bourn
Цитата(YURA-a-a @ 19 Feb 2006, 09:57)
Как скриптом запретить Герою сбегать из битвы (типа артефакта Оковы войны)?

Юрий

перед битвой в определенный слот дать артефакт оковы войны, а после битвы его удалить smile.gif, или же при клике на кнопку сдаться нельзя нажать
geglov2
Вопрос. Если у кого частичная или полная руссиф. Help.
SnoRT
Цитата
перед битвой в определенный слот дать артефакт оковы войны, а после битвы его удалить , или же при клике на кнопку сдаться нельзя нажать

Точно также сделан мой скрипт "Бесстрашие" biggrin.gif
sergroj
Цитата(W_r_a_i_t_h @ 18 Feb 2006, 18:53)
Народ помогите проблема.
Почти во всех картах, которые я играл у меня не пашут Скрипты. Пишет ошибка.. ЧТо делать????? Просто непашут скрипты..

Версия ВоГа последяя? Что конкретно говорится?
YURA-a-a
Цитата(Bourn @ 19 Feb 2006, 14:20)
Цитата(YURA-a-a @ 19 Feb 2006, 09:57)
Как скриптом запретить Герою сбегать из битвы (типа артефакта Оковы войны)?

Юрий

перед битвой в определенный слот дать артефакт оковы войны, а после битвы его удалить smile.gif, или же при клике на кнопку сдаться нельзя нажать


Давать Оковы войны не корректно, т.к. Игра будет говорить, что вы не можете покинуть поле боя из за наличия у Вас Оков войны.
А как запретить кликать на кнопку сдаться? Я не знаю...
А еще перед битвой Герой тоже норовит сбежать!
Типа сил мало...
Как же заставить Героя блогородно умереть?

Юрий

Добавлено ([mergetime]1140347576[/mergetime]):
Цитата(SnoRT @ 19 Feb 2006, 14:16)
AI игроку никак. Человеку - просто поменять свойства нажатия кнопок "Сбежать" и "Сдасться".

А типа как?
Юрий
Bourn
Цитата(YURA-a-a @ 19 Feb 2006, 14:12)
А как запретить кликать на кнопку сдаться? Я не знаю...

!?CM4;
!!CM:I?y1;
!!CM|y1=2001/y1=2002:R0;
Katya
Могу рассусолить.
А оно надо? Ведь компьютер и так слабенький, а если не давать ему сваливать после неудачной битвы, то вообще будет просто мясо какое-то. Прям фарш. Поэтому никогда не использую оковы войны (запрет стоит) - и так спокойно убиваются после сбегания.
Вот Сфера запрещения - это да... Ее бы в каждую битву, а не оковы.
sergroj
А против компа можно оковы. Проблема только в том, что пустые слоты не всегда есть. Но если помучаться, то можно временно убирать артефакты, не влияющие на битву, а они обычно есть.
Bourn
Цитата(sergroj @ 20 Feb 2006, 09:40)
А против компа можно оковы. Проблема только в том, что пустые слоты не всегда есть. Но если помучаться, то можно временно убирать артефакты, не влияющие на битву, а они обычно есть.

На сколько я помну, вроде можно запихнуть 2 арта в один слот...
SnoRT
Цитата(sergroj @ 20 Feb 2006, 10:40)
А против компа можно оковы. Проблема только в том, что пустые слоты не всегда есть. Но если помучаться, то можно временно убирать артефакты, не влияющие на битву, а они обычно есть.

А я катапульту заменил в своём скрипте. А при осаде замка катапульта всё равно появляется и оковы действуют biggrin.gif
Horn
Цитата(W_r_a_i_t_h @ 18 Feb 2006, 18:53)
Народ помогите проблема.
Почти во всех картах, которые я играл у меня не пашут Скрипты. Пишет ошибка.. ЧТо делать????? Просто непашут скрипты..

Раз не идет даже при выключенной вогификации (кстати, а если не вогифицировать карту без скриптов или с одной только строкой "ZVSE" в скрипте - тогда будет ругаться?), то может дело и не в скриптах... ехе-шник точно не менял?

Цитата(YURA-a-a @ 19 Feb 2006, 14:12)
Как же заставить Героя блогородно умереть?

В ТЕшном script04 есть кусок, где реализуется ограничение на hit&run - герой не может сбежать/сдаться в том же раунде, в котором он применял магию. Можешь переделать под свои нужды. Я старался комментировать построчно. rolleyes.gif
YURA-a-a
Цитата(Katya @ 20 Feb 2006, 06:35)
Могу рассусолить.
А оно надо? Ведь компьютер и так слабенький, а если не давать ему сваливать после неудачной битвы, то вообще будет просто мясо какое-то. Прям фарш. Поэтому никогда не использую оковы войны (запрет стоит) - и так спокойно убиваются после сбегания.
Вот Сфера запрещения - это да... Ее бы в каждую битву, а не оковы.

Речь не о том чтобы компьютеру сваливал. А что бы Человек не имел такой возможности... Раз уж судьба, так погибай... Сюжет однако такой...
Юрий

Добавлено ([mergetime]1140447130[/mergetime]):
Еще есть у Героев Глюк!
Если я хочу поменять портрет, например так:
!!HE0:L4/79;
Но после загрузки сохраненного файла, новое лицо не видно!
Вместо непонятно что... Можно загонять в цикл и типа каждый день заново подставлять новое лицо, но это будет видно только на следующий день.
Загружать лицо из файла - Портале такие карты не принимают!
Только чистые Карты...
Есть идеи?

Юрий
SnoRT
По-моему есть триггер, или что-то подобное... Короче можно использовать приёмники сразу после загрузки игры.
SnoRT
Да, вот триггер:
!?GM#;
# = 0 - Срабатывает после загрузки игры;
# = 1 - Срабатывает перед сохранением игры.
Druin
Что за тригер такой? В хелпе его нет...
Bourn
Цитата(Druin @ 21 Feb 2006, 11:01)
Что за тригер такой? В хелпе его нет...

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

З.Ы. Да, недочет... Триггер !?GM есть в списке, но отсутствует в ссылках слева...
SnoRT
Всмысле? Через номер стэка?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.