Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: 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
gamecreator
Эфрит, это бесполезно.
Tamerlan
исправил скрипт(то, что наколдавал перезалил в пост 1762)
ещё не решил вопрос с !!HE-1:S16/3=150; что с ней делать?
DmitriyK
В каком месте хранятся данные о вероятности получения тех или инных умений для разных классов при получении уровня?
MasterOfPuppets
В файле Hctraits.txt, который находится в H3bitmap.lod. Извлечь его можно программой ResEdit. Ищи ссылку на неё в "Полезных программах".

Добавлено ([mergetime]1231587713[/mergetime]):
А, вот ссылка:
http://genadiy.pisem.net/util/ResEdit.zip
Только там разбираться надо... Не знаю, для чего это тебе понадобилось, но если ты его изменишь как тебе надо, то можешь после этого не пихать обратно в ЛОД, а просто кинуть в Data.
Tamerlan
Проверил скрипт в действии. Игра сильно матерится при входе в событие в 14/12/0. Я позреваю ошибку в строчке:
!!HE-1:S16/3=150;
Как её исправить?
MasterOfPuppets
Так. Ты хочешь дать герою экспертную магию воды. Я не знаю, что такое у тебя 150, но просто дать текущему герою эту магию надо так:

!!HE-1:S16/3;

Если 150 у тебя - это флаг, установленный на 1, то:

!!HE-1&150:S16/3;

А = после : в ERM никогда не ставят.)
Aleee
Цитата(Tamerlan @ 10 Jan 2009, 14:55)
Проверил скрипт в действии. Игра сильно матерится при входе в событие в 14/12/0. Я позреваю ошибку в строчке:
!!HE-1:S16/3=150;
Как её исправить?

Прочитай мануал и не задавай дебильных вопросов. Знак "=" вообще после двоеточия стоять не может, все операции по сравнению и условиям пишутся сразу после ресивера.
gamecreator
нет, емнип, есть какая-то возможность в ЕРМ проверить равно ли значение нужному прямо в рисивере и записать результат в флаг. делается при помощи =.
Tamerlan
Проблема в том, чтобы если герой владеет магией воды, то установить 150 на 1. Вот такая вот загвоздка
Aleee
!!HE-1:S16/?n;
!!VR150&n>0:S1;
gamecreator
Цитата(ERM Help)
Comparing Values

To compare the game parameter to a particular value you can use the following way: ...[compare operator] value... The result of comparing is stored in flag 1. You can use its value for further ERM statements.

Examples of Value Comparison using the GE Receiver:

!!GE100:F5 Set first day to 5 for Time event (standard syntax)
!!GE100:F=5 Check if first day is 5 and set Cond.Flag1 (CF1)
!!GE100:F<>5 Check if first day is NOT 5 and set Cond.Flag1 (CF1)
!!GE100:F><5 The same as above
!!GE100:F>5 Check if first day is greater than 5 and set CF1
!!GE100:F>=5 Check if first day is greater or equal to 5 and set CF1
!!GE100:F=>5 The same as above
!!GE100:F<5 Check if first day is below than 5 and set CF1
!!GE100:F<=5 Check if first day is below or equal to 5 and set CF1
!!GE100:F=<5 The same as above
Tamerlan
Спасиб, але.
Вопрос. При активации !!HE#:T ваш герой считается нападающим или защитником?
gamecreator
монстры никогда не нападают на героя
Tamerlan
И еще ворос. Как узнать, выиграл ли герой битву?
Хмм..
Автор поста: Berserker.

Цитата
В функции 1234 везде, где есть запись !!HE-1 - не уверен, будет ли работать (эти строчки ведь не в триггере посещения объекта вызываются, а в вызове функции).

Эфрит, текущий герой - не более чем переменная. Главное, чтобы функция вызывалась из события, которое утсанавливает текущего героя. А таких большинство.

Код
!!HE-1:S16/?n;
!!VR150&n>0:S1;


Проще:

Код
!!HE-1:S16/>0;
!!...&1:...
gamecreator
Тамерлан, HE:O

Добавлено ([mergetime]1231600623[/mergetime]):
Цитата(Хмм.. @ 10 Jan 2009, 18:09)
Проще:

Код
!!HE-1:S16/>0;
!!...&1:...

именно об этом я и говорил
sergroj
Цитата(Хмм.. @ 10 Jan 2009, 22:09)
Код
!!HE-1:S16/>0;
!!...&1:...

С этим надо быть осторожным. В 3.58f и в TE глюк в таких проверках. "=" работает правильно, ">" и ">=" - тоже, а остальные не работают. Например, <> работает как <=.
Хмм..
Автор поста: Berserker.

Серж, если бы ты указал мне место, где ты правил этот баг, я бы может исправил и в улучшенной версии ТЕ. Собираю такие вот патчи.
gamecreator
Цитата(sergroj @ 10 Jan 2009, 19:37)
Это будет работать неверно. В 3.58f и в TE глюк в таких проверках. "=" работает правильно, но насчет остальных не скажу. Например, <> работает как >.

по-видимому случай с двумя знаками интерпретируется неверно. так что код Берса должен работать.
sergroj
Посмотрел и обновил пост. Этот код, действительно, будет работать верно. Кол-во знаков тут не причем, у Славы были перепутаны цифры. Видимо, от какой-то очень древней версии осталось.
Хмм..
Млин, автор этого поста всё ещё Берсеркер.

Так и есть, синтаксис с = у Славы корректен. Остальные сейчас правлю и выложу ехе.
Aleee
Ого, это уже не Берсеркер.
Со сменой!
gamecreator
по-моему он просто забыл указать авторство
Tamerlan
Знамо дело так. Как отключить вогификацию в начале карты?

Добавлено ([mergetime]1231618486[/mergetime]):
ещё вопрос. насчет !!BA:B. какие требования предьявляются если хочешь поставить нест. картинку?
FBX
Цитата
Так и есть, синтаксис с = у Славы корректен. Остальные сейчас правлю и выложу ехе.


Цитата
Посмотрел и обновил пост. Этот код, действительно, будет работать верно. Кол-во знаков тут не причем, у Славы были перепутаны цифры. Видимо, от какой-то очень древней версии осталось.


А все-таки, какой код в 3.58f работает а какой нет?
gamecreator
Цитата(sergroj @ 10 Jan 2009, 19:37)
В 3.58f и в TE глюк в таких проверках. "=" работает правильно, ">" и ">=" - тоже, а остальные не работают. Например, <> работает как <=.
Tamerlan
Цитата
Знамо дело так. Как отключить вогификацию в начале карты?

Добавлено ([mergetime]1231618486[/mergetime]):
ещё вопрос. насчет !!BA:B. какие требования предьявляются если хочешь поставить нест. картинку?
banghead.gif
Aleee
1) !#UN:P5/0;
2) Path to the file.pcx is taken from DATA folder. As usual filename+extension must not be longer than 12 chars.
3) Скачай хелп и не заставляй нас использовать его вместо тебя.
mrtone
Цитата
И еще ворос. Как узнать, выиграл ли герой битву?


!?BG1;
!!BU:C?ololo;
!!IF&ololo:M^значит выиграл^;

вместо ololo переменную
MasterOfPuppets
Лучше так:

!?BA1;
!!UN:P904/1 P905/0;
!!HE-10:O?ololo;
!!HE-20:O?ololo2;
!!IF&ololo=-1:M^Выиграл защитник^;
!!IF&ololo2=-1:M^Выиграл атакующий^;

Отключение ошибки на случай битвы с монстрами.
fa3
У меня вот такой вопрос: как переписать команду добавления события на карту так, чтобы не выдавало ошибку при запуске. Я пытался создать так:
!#UN:I112/34/0/26/0;
А в эррорлоге пишет
EIP = {0x0050663A}, Access Violation. Attempt to {read} the inaccessible data at {0xFFFFFFFE}

Причём любой другой объект прекрасно добавляется
Цербер
Эммм, во-первых, разве можно в инструкции работать с картой? А во-вторых, может быть, событие надо ставить не через UN, а через LE? (я просто не помню с налету)
fa3
В LE такого нет. А событие нужно чтобы появилось на участке убранного объекта(например дерево скриптом убираю, а в этом самом месте должно быть событие)

Я его пытался как объект добавлять указанным способом. В списке оно под номером 26
gamecreator
а на карте добавить событие нельзя?
fa3
А как его можно на карте добавить, если оно появляется на месте стёртого дерева например?
gamecreator
а что, редактор не разрешает?
fa3
Нет. На бревно ставить не даёт. И на здания тоже
Aleee
Патченый разрешает ставить что угодно и куда угодно.
sergroj
Цитата(Master Of Puppets @ 12 Jan 2009, 01:09)
Отключение ошибки на случай битвы с монстрами.

Отключил, а обратно вернуть? И лучше не злоупотребляй отключениями ошибок. Помню, Берс говорил, что у него от этого возникали какие-то ошибки.
         
Если не юзать новый ехе. Обновлённый ехе больше не портит скрипты и ошибки можно отключать когда угодно.
Мурсинушка
А где взять Обновленный Экзэ?
         
http://forum.df2.ru/index.php?showtopic=11400&st=0

Я бы попросил модеров закрепить эту тему.
Iv
Если прописать герою возможность грейда первого уровня в другой, например гноллей - в оборотней, то грейд будет бесплатным.
Как прописать фиксированную цену? Желательно при этом тратить очки движения и м.б. ману.
gamecreator
цена грейда зависит от разницы цен монстров.
Iv
Да, действительно.
Спутал с бесплатным грейдом кентавров в кентавров-капитанов в форте.

Но вторая часть вопроса всё-равно актуальна.
Цитата
Желательно при этом тратить очки движения и м.б. ману.
gamecreator
попробуй узнать что отвечают опции рисивера мыши при нажатии на кнопку грейда
DmitriyK
В каком скрипте описываются бонусы командеров, в частности бонус огра лидера на кол-во баллист и иерофанта на кол-во палаток?
DmitriyK
Вобщем уже нашел... зти данные в скрипте 73.

Возможно у меня старый скрипт и были какието обновления исправляющие баги, но тем не менее.

Имелись следующие глюки:

1. Некорректно просчитывалось кол-во баллист и палаток для защищающегося героя с командерами ogre leader и hierophant

2. У героев с с командерами ogre leader и hierophant вместо того чтобы суммировать вармашины героя с бонусными командерскими - просто заменялись соответсвующие вармашины героя на те что должны быть у командера (тоесть если к примеру герой имеет 10 баллист и ogre leader 16лвл, то вместо 10 + (16/4+1) = 15 дается всего 5.

Собственно что надо сделать чтобы это исправить:


1.

Найти в скрипте73 следующие строчки:

!!VRv854&g>=0/n=1/m=0/t=1:Ss :4 +1; //v854 number of added war machines (hierophant)
!!VRv855&g>=0/n=1/m=0/t=6:Ss :4 +1; //v855 number of added war machines (ogre leader)

и исправить их на :

!!VRv854&g>=0/n=1/m=0/t=1:Ss; //v854 number of added war machines (hierophant)
!!VRv855&g>=0/n=1/m=0/t=6:Ss; //v855 number of added war machines (ogre leader)


2.

Найти в скрипте следующие строчки:

!!VRv852&n=1/m=0/t=1::4 +1; //v852 number of added war machines (hierophant - reduced)
!!VRv853&n=1/m=0/t=6::4 +1; //v853 number of added war machines (ogre leader - reduced)
!!VRv854&g>=0/n=1/m=0/t=1::4 +1; //v854 number of added war machines (hierophant - reduced)
!!VRv855&g>=0/n=1/m=0/t=6::4 +1; //v855 number of added war machines (ogre leader - reduced)

и справить их на:

!!VRv852&n=1/m=0/t=1::4 +1 +w81; //v852 number of added war machines (hierophant - reduced)
!!VRv853&n=1/m=0/t=6::4 +1 +w82; //v853 number of added war machines (ogre leader - reduced)
!!VRv854&g>=0/n=1/m=0/t=1::4 +1 +w81; //v854 number of added war machines (hierophant - reduced)
!!VRv855&g>=0/n=1/m=0/t=6::4 +1 +w82; //v855 number of added war machines (ogre leader - reduced)


Есть некоторый побочный эффект smile.gif Когда герой дерется в различных криптах, банках, утопиях - у героя колличество вармашин такое же как и в нормальных боях. Тоесть фактически вармашины из инвенторя героя также участвуют в данных боях (по идее там должны участвовать только вармашины командеров). При этом при защите города все считается нормально, участвуют только баллисты огра командера..

Если вдруг кто захочет исправить бои в зданиях - велком, сам я не смог понять где это реализовано и какsmile.gif

На всякий случай вот ссылка на уже исправленный скрипт73.. (я просто не уверен обновлялся он уже или нет и кого какие версии)

script73
FCst1
У меня, пожалуй, тяжёлый вопрос. Мне нужен такой скрипт.
1. Красный игрок посещает вражеский гарнизон (синего) с координатами 0/0/0. (в гарнизоне армия врага)
2. !#OB0/0/0:D0; (запретить)
3. Герой получает сообщение, типа "О, мы за вас! Не бейте! Бежим!" и т.д., после чего гарнизон со всей армией переходит во владения красного.
4. После гарнизон лишается всей вражеской армии, а игрок синий заключает союз с красным.

Если кто может, помогите. sorry.gif
Mikro
В ERM есть переменные героя - очень удобная память для каждого героя. Почему не была сделана такая же память для других объектов, таких как город, слот армии героя?
Кроме того, когда я писал скрипты, то ощущал необходимость не только в целочисленных переменных памяти героя, но и во флагах. Будут ли они добавлены в следующих версиях?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.