Полная версия этой страницы:
ERM: Вопросы и ответы
Цитата(Sav @ 28 Jul 2012, 09:46)

Так без книжки-то никогда ничего не действует. Или кнопка уже успела стать неактивной при колдовстве?
Хочешь сказать, что с книжкой он таки кастанет яд в позицию 0, где нет стека?
Возможно кастанул бы на всех.
Цитата(Sav @ 28 Jul 2012, 10:02)

Возможно кастанул бы на всех.
Не-а, вылет игры, проверил.
feanor
28 Jul 2012, 11:12
Цитата
Так без книжки-то никогда ничего не действует. Или кнопка уже успела стать неактивной при колдовстве?
Упс. С книжкой, да, вылет.
Цитата
Хочешь сказать, что с книжкой он таки кастанет яд в позицию 0, где нет стека?
Ну изначальная задумка была - яд на всех.
Цитата(feanor @ 28 Jul 2012, 12:12)

Ну изначальная задумка была - яд на всех.
А не прокатит что-нить типа:
Код
!!SS71:Fd+64;
!!BH:C71/0/3/0;
!!SS71:Fd-64;
?
(я не проверял, просто вопрос)
totkotoriy
20 Sep 2012, 10:12
Цитата(feanor @ 11 Jul 2012, 13:02)

Цитата(totkotoriy @ 10 Jul 2012, 11:03)

Такой вот вопрос: можно ли корректно выполнить данную команду !!BM:G#/-90/d; (она скрывает маленькое оконце с числом существ в отряде на поле боя)?
Хочу такое сделать для командиров и возможно для оруженосцев, но при использовании этой команды появляются всяческие ошибки, всё таки что-то меняется в памяти некорректно.
-19 можно юзать, вынеся этот прямоугольник куда-нить на xfffffff
И да, можно обсуждать в другом месте?
Выношу, но при ходьбе оконце возвращается назад, может есть другой метод?
totkotoriy
01 Oct 2012, 12:00
Может кто нибудь знает как убрать окошки благословений и проклятий от ZVS в окне героя? Я как думаю это сделано в ZVSlib.dll
Поместить поверх кнопку от ЭРЫ не получается, все равно первое окно вылазиет наверх.
totkotoriy
15 Oct 2012, 22:42
Может кто знает как удалить скриптом или еще чем объект, не имеющий красных, так сказать, и желтых клеток с карты приключений?
- Это действительно важный вопрос, так как можно будет очень много красивых приколюх на карте сделать, например полупрозрачную тьму, рассеивающуюся (я правильно написал?) ) перед героем и схлапывающуюся за ним, или когда герой использует полет прерисовывать его коню крылья...
Кстати вот еще пару вопросов:
Можно ли определить в полете герой или нет? (знаю что можно, но вот как... только в памяти смотреть?)
И сумму присоединения при дипломатии, и как нибудь переделать окно присоединений существ чтоб были с ВОГОвским опытом?
Просто может кто-то этим уже занимался.
Одни вопросы... ответов нет (
Цитата(totkotoriy @ 01 Oct 2012, 13:00)

Может кто нибудь знает как убрать окошки благословений и проклятий от ZVS в окне героя? Я как думаю это сделано в ZVSlib.dll
Поместить поверх кнопку от ЭРЫ не получается, все равно первое окно вылазиет наверх.
сделай сами кнопки благо. и проклят. прозрачными (кадры внутри дефов сам знаешь каким цветом)... кнопки вроде как исчезнут. Вот только встанет вопрос будет ли области под этими невидимыми "кнопками" срабатывать при нажатии или всё равно сработает благо/прокл.
Цитата(totkotoriy @ 15 Oct 2012, 23:42)

Может кто знает как удалить скриптом или еще чем объект, не имеющий красных, так сказать, и желтых клеток с карты приключений?
присвоение этим объектам на время красного или жёлтого квадрата, чтобы можно было по этой координате "зацепить" через UN:O такой объект... не пробовал так?
totkotoriy
15 Oct 2012, 23:46
Цитата(Bes @ 15 Oct 2012, 23:44)

сделай сами кнопки благо. и проклят. прозрачными (кадры внутри дефов сам знаешь каким цветом)... кнопки вроде как исчезнут. Вот только встанет вопрос будет ли области под этими невидимыми "кнопками" срабатывать при нажатии или всё равно сработает благо/прокл.
Будет, я уже пробовал...
Цитата
присвоение этим объектам на время красного или жёлтого квадрата, чтобы можно было по этой координате "зацепить" через UN:O такой объект... не пробовал так?
А если на этом квадрате стоит герой или еще пару объектов без функц. клеток?
Да и вообще как присвоить объекту клетку если он по этой клетке и должен определяться?
1. ПОЙДИ С ОБРАТНОЙ СТОРОНЫ.
сделай СВОИ кнопки прозрачными, а кнопки благ/прокл перерисуй как тебе хочется (если конечно у тебя по размерам сходны кнопки)
Если так не годится, то что мешает, опять же, имея прозрачные родные кнопки и подставленные свои, вызывать свою ф-цию по нажатию на области прокл./благ??? (с заданными условиями координат клика)
2. ну да, эт я замудрил... тогда придётся все ЭТИ новые идейные объекты изначально делать с квадратом проходимости и по нему отлавливать объект, чтобы потом его удалять или снова помещать
totkotoriy
16 Oct 2012, 00:15
Цитата(Bes @ 16 Oct 2012, 00:02)

1. ПОЙДИ С ОБРАТНОЙ СТОРОНЫ.
сделай СВОИ кнопки прозрачными, а кнопки благ/прокл перерисуй как тебе хочется (если конечно у тебя по размерам сходны кнопки)
Если так не годится, то что мешает, опять же, имея прозрачные родные кнопки и подставленные свои, вызывать свою ф-цию по нажатию на области прокл./благ??? (с заданными условиями координат клика)
А то что функция вызывается все равно ZVSсовская.... хотяяяя.... ты меня на хорошую идею натолкнул - я попробую сделать область своих кнопок выше и левее ZVSсовских (раньше я делал точ такую же по размеру), надеюсь поможет, спасибо.
Цитата(totkotoriy @ 16 Oct 2012, 01:15)

А то что функция вызывается все равно ZVSсовская....
так ты её ж блокируй через CM:R0
totkotoriy
16 Oct 2012, 10:14
Цитата(Bes @ 16 Oct 2012, 07:04)

Цитата(totkotoriy @ 16 Oct 2012, 01:15)

А то что функция вызывается все равно ZVSсовская....
так ты её ж блокируй через CM:R0
Вот это действительно хорошая мысль
M.A.K.C.
06 Dec 2012, 05:36
Вопрос, меняю герою специальность
Necromancy (Некромантия)
!!IF&y5=64:M^Какой кошмар! Вы стали Некромантом!.
Некромант получает Базовую некромантию и {2000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=64:N?y1;
!!DO22507/0/27/1&y5=64:Py1;
!!FU836&y5=64:P24/4/1/y1/0;; Necromancy
!!VRw46&y5=64:S2000;
!!UN&y5=64:G2/y1/1/72 G2/y1/3/72;
!!HE-1&y5=64:X3/24 S12/1;
!!HE-1&y5=64:A2/0/d/?y-4;Проверяем, сколько на героя надето книг заклинаний.
!!HE-1&y5=64/y-4=0:A4/0;Если ни одной, даём книгу заклинаний герою.
!!HE-1&y5=64:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=64:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=64:A-6;Отбираём Санитарную Палатку у героя.
!!HE-1&y5=64:M45/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:M42/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:M24/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:A4/104;.
!!FU22512&y5=64:P;
!!UN&y5=64:R3/-1;
проблема в том, что при щелчке мышью на специализации выдается неправильный текст, как его заменить? на следующий "колдует усиленную волну смерти"
Цитата
как его заменить?
на область 118 окна героя ставите !!CM:R0;
и потом выводите через IF:M СВОЁ сообщение при кликах там
Цитата(M.A.K.C. @ 06 Dec 2012, 06:36)

Вопрос, меняю герою специальность
!!IF&y5=64:M^Какой кошмар! Вы стали Некромантом!.
Некромант получает Базовую некромантию и {2000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=64:N?y1;
!!DO22507/0/27/1&y5=64:Py1;
!!FU836&y5=64:P24/4/1/y1/0;; Necromancy
!!VRw46&y5=64:S2000;
!!UN&y5=64:G2/y1/1/72 G2/y1/3/72;
!!HE-1&y5=64:X3/24 S12/1;
!!HE-1&y5=64:A2/0/d/?y-4;Проверяем, сколько на героя надето книг заклинаний.
!!HE-1&y5=64/y-4=0:A4/0;Если ни одной, даём книгу заклинаний герою.
!!HE-1&y5=64:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=64:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=64:A-6;Отбираём Санитарную Палатку у героя.
!!HE-1&y5=64:M45/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:M42/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:M24/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:A4/104;.
!!FU22512&y5=64:P;
!!UN&y5=64:R3/-1;
Код
** Использовать if-el-en конструкции для больших блоков с одинаковыми условиями
!!if&y5=64:;
** Выносить текстовики в ert-файлы для простоты локализации и незагромождения кода.
!!VRz1:Sz123456; Получаем сообщение №123456 из "scriptname.ert"
!!IF:M^%Z1^; Выводим сообщение
!!HE-1:N?y1; y1 - номер героя
!!DO22507/0/27/1:Py1;
!!FU836:P24/4/1/y1/0; Necromancy
!!VRw46:S2000; S2000 или +2000? - просто вопрос, логику работы не знаю, есс-но
!!UN:G2/y1/1/72 G2/y1/3/72;
!!HE-1:X3/24 S12/1;
** Не использовать "y-" переменные, там, где этого не нужно
**HE-1:A2/0/d/?y2; Проверяем, сколько на героя надето книг заклинаний.
**HE-1&y2=0:A4/0; Если ни одной, даём книгу заклинаний герою.
** Группировать однотипные операции
!!HE-1:A-4 A-5 A-6 A4/104 A1/0/17; Отбираём Баллисту, Подводу, Палатку у героя. Одеваем Брелок смерти и даем книжку.
!!HE-1:M45/1 M42/1 M24/1; Обучаем героя заклинаниям.
!!FU22512:P;
!!UN:R3/-1; Обновляем окно героя
!!en:;
Algor
всё по делу, +1, а вот с if-else-end не всегда получается...
нужно сначала уточнить у Макса, где используется скрипт.
А то посыпятся ошибки у него под WoG 3.58f.
M.A.K.C.
06 Dec 2012, 16:51
Цитата(Bes @ 06 Dec 2012, 16:52)

Algor
всё по делу, +1, а вот с if-else-end не всегда получается...
нужно сначала уточнить у Макса, где используется скрипт.
А то посыпятся ошибки у него под WoG 3.58f.
А ошибки будут.. Heroes WOG 3.58F используется, скрипты эры не пойдут....
вот полный скрипт
**********************************************************************
**********
!?CM2&$mc where$=118/$mc type$=12/$mc flags$=0;
!!CM:R0;
!!VRz-1:S^Вы хотите обучиться новой специализации?^;
!!VRz-2:S^Мастер сопротивления^;
!!VRz-3:S^Боевой маг^;
!!VRz-4:S^Навигатор^;
!!VRz-5:S^Завоеватель^;
!!VRz-6:S^Защитник^;
!!VRz-7:S^Путешественник^;
!!VRz-8:S^Мертвитель^;
!!VRz-9:S^Эконом^;
!!VRz-10:S^Не, меня это не устраивает^;
!!IF:G1/1/256/-1/-2/-3/-4/-5/-6/-7/-8/-9/-10;Вызываем диалог.
!!VRy5:Sv1;
!!FU&v1=9:E;
!!IF&y5=1:M^Примите поздравления! Вы стали Мастером сопротивления!.
Мастер сопротивления получает {Продв Сопротивление} и {1000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=1:N?y1;
!!DO22507/0/27/1&y5=1:Py1;
!!HE-1&y5=1:S26/2 X0/26;
!!UN&y5=1:G2/y1/1/20 G2/y1/3/20;
!!VRw46&y5=1:S1000;
!!FU836&y5=1:P2014/10/0/y1/0; Resistance
!!HE-1&y5=1:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=1:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=1:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=1:A-6;Отбираём Санитарную Палатку у героя.
!!FU22512&y5=1:P;
!!UN&y5=1:R3/-1;
!!IF&y5=2:M^Примите поздравления! Вы стали Боевым магом!.
Боевой маг получает {Продв Волшебство} и {1000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=2:N?y1;
!!DO22507/0/27/1&y5=2:Py1;
!!HE-1&y5=2:S25/2 X0/25;
!!UN&y5=2:G2/y1/1/74 G2/y1/3/74;
!!VRw46&y5=2:S1000;
!!FU836&y5=2:P2010/0/0/y1/0; Sorcery
!!HE-1&y5=2:A2/0/d/?y-4;Проверяем, сколько на героя надето книг заклинаний.
!!HE-1&y5=2/y-4=0:A4/0;Если ни одной, даём книгу заклинаний герою.
!!HE-1&y5=2:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=2:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=2:A-6;Отбираём Санитарную Палатку у героя.
!!HE-1&y5=2:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=2:M19/1;Обучаем героя заклинаниям.
!!HE-1&y5=2:M25/1;Обучаем героя заклинаниям.
!!HE-1&y5=2:M16/1;Обучаем героя заклинаниям.
!!FU22512&y5=2:P;
!!UN&y5=2:R3/-1;
!!IF&y5=4:M^Примите поздравления! Вы стали Навигатором!.
Навигатор получает {Продв Навигацию} и {1000}
очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=4:N?y1;
!!DO22507/0/27/1&y5=4:Py1;
!!HE-1&y5=4:S5/2 X0/5;
!!UN&y5=4:G2/y1/1/3 G2/y1/3/3;
!!VRw46&y5=4:S1000;
!!FU836&y5=4:P2002/0/0/y1/0; Navigation
!!HE-1&y5=4:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=4:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=4:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=4:A-6;Отбираём Санитарную Палатку у героя.
!!FU22512&y5=4:P;
!!UN&y5=4:R3/-1;
!!IF&y5=8:M^Примите поздравления! Вы стали Завоевателем!.
Завоеватель получает {Продв Нападение} и {1000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=8:N?y1;
!!DO22507/0/27/1&y5=8:Py1;
!!HE-1&y5=8:S22/2 X0/22;
!!UN&y5=8:G2/y1/1/102 G2/y1/3/102;
!!FU836&y5=8:P2005/0/0/y1/0; Offense
!!VRw46&y5=8:S1000;
!!HE-1&y5=8:A2/4/d/?y-4;Проверяем, есть ли у героя баллиста.
!!HE-1&y5=8/y-4=0:A4/4;Если ни одной, даём Баллисту герою.
!!HE-1&y5=8:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=8:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=8:A-6;Отбираём Санитарную Палатку у героя.
!!FU22512&y5=8:P;
!!UN&y5=8:R3/-1;
!!IF&y5=16:M^Примите поздравления! Вы стали Защитником!.
Защитник получает {Продв Защита} и {1000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=16:N?y1;
!!DO22507/0/27/1&y5=16:Py1;
!!HE-1&y5=16:S23/2 X0/23;
!!UN&y5=16:G2/y1/2/115 G2/y1/3/115;
!!FU836&y5=16:P2004/0/0/y1/0; Armorer
!!VRw46&y5=16:S1000;
!!HE-1&y5=16:A2/5/d/?y-4;Проверяем, есть ли у героя подвода с боеприпасами.
!!HE-1&y5=16/y-4=0:A4/5;Если ни одной, даём герою подводу с боеприпасами.
!!HE-1&y5=16:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=16:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=16:A-6;Отбираём Санитарную Палатку у героя.
!!FU22512&y5=16:P;
!!UN&y5=16:R3/-1;
!!IF&y5=32:M^Примите поздравления! Вы стали Путешественником!.
Путешественник получает {Продв Логистику} и {1000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=32:N?y1;
!!DO22507/0/27/1&y5=32:Py1;
!!HE-1&y5=32:S2/2 X0/2;
!!UN&y5=32:G2/y1/2/297 G2/y1/3/297;
!!UN&y5=32:G2/y1/1/23 G2/y1/3/23;
!!FU836&y5=32:P2000/0/0/y1/0; Logistics
!!VRw46&y5=32:S1000;
!!HE-1&y5=32:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=32:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=32:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=32:A-6;Отбираём Санитарную Палатку у героя.
!!FU22512&y5=32:P;
!!UN&y5=32:R3/-1;
Necromancy (Некромантия)
!!IF&y5=64:M^Какой кошмар! Вы стали Мертвителем!.
Мертвитель получает Базовую некромантию и {2000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=64:N?y1;
!!DO22507/0/27/1&y5=64:Py1;
!!FU836&y5=64:P24/4/1/y1/0;; Necromancy
!!VRw46&y5=64:S2000;
!!UN&y5=64:G2/y1/1/72 G2/y1/3/72;
!!HE-1&y5=64:X3/24 S12/1;
!!HE-1&y5=64:A2/0/d/?y-4;Проверяем, сколько на героя надето книг заклинаний.
!!HE-1&y5=64/y-4=0:A4/0;Если ни одной, даём книгу заклинаний герою.
!!HE-1&y5=64:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=64:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=64:A-6;Отбираём Санитарную Палатку у героя.
!!HE-1&y5=64:M45/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:M42/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:M24/1;Обучаем героя заклинаниям.
!!HE-1&y5=64:A4/104;.
!!FU22512&y5=64:P;
!!UN&y5=64:R3/-1;
Estates (Поместье - Класс Эконом )
!!IF&y5=128:W-1;
!!HE-1&y5=128:E?y1/?y2;
!!VRw200&y5=128:S1;
!!OW&y5=128:C?y3;
!!VRz1&y5=128:S^class_0.WAV^;
!!SN&y5=128:Pz1; ;
!!IF&y5=128:Q2/10/y3/1^Примите поздравления! Отныне Вы {Эконом}.
Герой-Эконом получает {Продв. Имущество} и {2000} очков вторичных навыков в момент посвящения!^;
!!HE-1&y5=128:N?y1;
!!DO22507/0/27/1&y5=128:Py1;
!!HE-1&y5=128:S13/2 X0/13;
!!UN&y5=128:G2/y1/1/4 G2/y1/3/4;
!!VRw46&y5=128:S2000;
!!FU836&y5=128:P2003/0/0/y1/0; Hero - Estates
!!HE-1&y5=128:A2/0/d/?y-4;Проверяем, сколько на героя надето книг заклинаний.
!!HE-1&y5=128/y-4=0:A4/0;Если ни одной, даём книгу заклинаний герою.
!!HE-1&y5=128:A-4;Отбираём Баллисту у героя.
!!HE-1&y5=128:A-104;Отбираём Брелок Смерти у героя.
!!HE-1&y5=128:A-5;Отбираём подводу с боеприпасами у героя.
!!HE-1&y5=128:A-6;Отбираём Санитарную Палатку у героя.
!!HE-1&y5=128:M0/1;Обучаем героя заклинаниям.
!!HE-1&y5=128:M3/1;Обучаем героя заклинаниям.
!!HE-1&y5=128:M15/1;Обучаем героя заклинаниям.
!!HE-1&y5=2:M25/1;Обучаем героя заклинаниям.
!!FU22512&y5=128:P;
!!UN&y5=128:R3/-1;
*****************************************************************
проблема в том, что при клике мышью пишет что герой колдует усиленное мастер сопротивления, а не волну смерти, как задумано.
Всем спасибо, жду примера как это устранить, или любой помощи.
Цитата(M.A.K.C. @ 06 Dec 2012, 17:51)

А ошибки будут.. Heroes WOG 3.58F используется, скрипты эры не пойдут....
Мда, не подумал. А ведь сам не так давно переполз на эру. И не жалею, надо сказать.
Объективно, у 3.58 нет ни одного преимущества перед Эрой. Так что, настоятельно рекомендую
переходить на темную сторону.
Попутно вопрос к знатокам: как поменять силу магии героя
в бою?
!!HE{номер_героя}:Fd/d/dy1/d;
и
!!HE{-10/-20}:Fd/d/dy1/d;
не прокатывают. Т.е. сила магии изменяется на +y1 при ПКМ на герое и даже в расчетах урона ударных заклинаний, если смотреть в книжке магии.
НО! При касте наносится урон или расчитывается длительность (де)бафа по значению Силы магии героя на начало боя.
Кто сталкивался? Как победить?
К слову, то же и с атакой/защитой - параметры стеков не пересчитываются. Их конечно можно в цикле по отрядам скорректировать, но все же может есть более простой способ?
!!BU:R; не помогает, если что.
Параметры стеков настраиваются в начале боя и более никак не связаны с героем, так что менять их можно только искусственным путём.
Сила магии героя в бою хранится в отдельном от героя поле, правится, соответственно, UN:C.
Цитата(Sav @ 06 Dec 2012, 22:15)

Сила магии героя в бою хранится в отдельном от героя поле, правится, соответственно, UN:C.
А кто б за большое спасибо
(да, я наивен) нашел эти адреса (для левого и правого героев)? Или может уже раскапывал кто-то?
*(_int_*)(*(_ptr_*)(0x699420) + 21460 + 4*side)
Цитата(Sav @ 06 Dec 2012, 22:27)

*(_int_*)(*(_ptr_*)(0x699420) + 21460 + 4*side)
Sav, я ценю твои познания и чувство юмора, но можно для
тупых меня написать просто !!UN:Cx/y/z; , если не затруднит, конечно?
А то у меня со строкой выше ассоциации только типа (_).(_)
Как-то так:
!!UN:C6919200/4/?v1;
!!VRv1:+21460;
!!VRv1&side>0:+4;
!!UN:Cv1/4/?spell_power;
vv UPD: А, ну да, у меня это чтение.
feanor
06 Dec 2012, 21:54
!!UN:C6919200/4/?y10;
!!VRy11:S<side> *4 + 21460 +y10;
!!UN:Cy11/4/<чо нада?>;
Да, feanor, и тебе спасибо (хотя мне и примера Sav'а было достаточно, я тупой не до такой степени все-же)
Проверил, работает отлично.
Ах да, еще вопрос, если кто сталкивался (если нет - совершенно не расстроюсь, не сильно важно): как отключить проверку на ранее призванных элементалей?
Чтобы, например, после смерти призванных земляных (или параллельно с ними), можно было призвать огненных.
Надо вырубить вовсе или сбросить запись об уже произошедшем вызове?
Цитата(Sav @ 07 Dec 2012, 00:43)

Надо вырубить вовсе или сбросить запись об уже произошедшем вызове?
"Вырубить вовсе" предпочтительнее, хотя пойдет и 2е, просто каждый раз придется сбрасывать.
Как-то так (в начале/загрузке игры):
!!UN:C5896327/1/235;
!!UN:C5936848/1/235;
Теоретически это может быть не всё, что следовало бы поправить, но тут одна функция для человека, другая для ИИ, вроде больше ничего не должно быть.
Мне вот уже интересно, Sav, если я спрошу "Кто-нить может подсказать, как по-быренькому написать свой мод со шлюхами и блэк-джеком?", ты опять кинешь готовое решение в течение получаса?
Спасибо огромное!
M.A.K.C.
07 Dec 2012, 05:32
есть 2 вопроса
как заставить в эре монстра кастовать заклинания (как архангела, или командира)?
наложение заклинания на выбранный юнит
M.A.K.C.
17 Dec 2012, 19:39
Такая ситуация, есть скрипт
**********************************************************
На карте монолиты меняются на камни знаний, а камни знаний исчезают со временем
**********************************************************
!#TM46:S1/999/1/255;
!?TM46;
!!FU28556:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки.
!!UN:Iy-1/y-2/y-3/45/0/45/0/0/1;Ставим монолит на клетку (их можно считать в UN:U).
;Функции генерации случайной свободной клетки карты.
!?FU28556;Функция генерации случайной свободной клетки карты.
!!UN:X?y1/?y2;Считываем размеры карты.
!!VRy2:+1;Вычисляем количество уровней на карте.
!!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты.
!!VRy3:-1;Вычисляем номер последней клетки карты.
!!VRy4:Sv2;Сохраняем значение глобальной переменной.
!!VRv2:S0;Обнуляем переменную счёта свободных клеток.
!!DO28557/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней.
!!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию.
!!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки.
!!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки.
!!DO28558/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки.
!!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки.
!!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки.
!!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки.
!!VRv2:Sy4;Восстанавливаем значение глобальной переменной.
!?FU28557;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!FU&y4=0|y5=0/y6=8/y6=9:E;Если клетка недоступна, завершаем тфункцию.
!!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке.
!!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток.
!?FU28558;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!OBy1/y2/y3&y4=1/y5=1/y6<>8/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке.
!!VRv2&y4=0|y5=0/y6=8/y6=9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки.
!!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
****
!?TM46;
!!UN:U45/0/?y1;Количество Двухсторонних монолитов в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28559/1/y1/1:P;Преобразуем Двухсторонние монолиты в Камень знаний
!?FU28559;Функция преобразования Двухсторонних монолитов в Камень знаний
!!UN:U45/0/-1/1;v1..v3 - координаты Двухстороннего монолита
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=20:E;Преобразовываем 20% Двухсторонних монолитов
!!UN:Ov1/v2/v3/1;Удаляем знак
!!UN:Iv1/v2/v3/100/0/0; [помещаем Камень знаний ]
!?TM46;
!!UN:U100/0/?y1;Количество количество Камней знаний в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28560/1/y1/1:P;Преобразуем Камни знаний в мох
!?FU28560;Функция преобразования Камней знаний в мох
!!UN:U100/0/-1/1;v1..v3 - координаты Камней знаний
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=20:E;Преобразовываем 20% Камни знаний
!!UN:Ov1/v2/v3/1; удаляем Камни знаний
********************************************************************************
*************************************************
надо сделать так, чтобы ставился на карту, а потом преобразовывался не только монолит 45 с подтипом 0, а еще монолиты с подтипами 1, 2, 3, 7, как это сделать?
gamecreator
17 Dec 2012, 20:11
Код
!!UN:U45/0/-1/1;v1..v3 - координаты Двухстороннего монолита
меняем 0 на желаемый подтип.
можно еще поставить подтип -1, а потом выход из функции при условии нежелательного подтипа.
gamecreator
17 Dec 2012, 21:03
ну при чем тут UN:I?!!
M.A.K.C.
17 Dec 2012, 21:27
Цитата(gamecreator @ 17 Dec 2012, 22:03)

ну при чем тут UN:I?!!
UN:I?!! - объект в координатах ...
Суть скрипта в том, чтобы случайным образом ставился любой тип телепортера, а в последствии любой тип телепортера заменялся на другой объект
надеюсь увидеть цивилизованное решение данного вопроса, так как мой вариант решения мне не нравится. (слишком громоздкий) (на примере грибов)
**********************************************************
На карте грибы меняются на ДРУГИЕ грибы, а ДРУГИЕ грибы исчезают со временем
**********************************************************
!#TM47:S1/999/1/255;
!?TM47;
!!FU28561:P?y-1/?y-2/?y-3;Вызываем функцию генерации координат случайной свободной клетки.
!!UN:Iy-1/y-2/y-3/63/14/63/14/0/1;Ставим гриб на клетку (их можно считать в UN:U).
;Функции генерации случайной свободной клетки карты.
!?FU28561;Функция генерации случайной свободной клетки карты.
!!UN:X?y1/?y2;Считываем размеры карты.
!!VRy2:+1;Вычисляем количество уровней на карте.
!!VRy3:Sy1*y1*y2;Вычисляем количество клеток карты.
!!VRy3:-1;Вычисляем номер последней клетки карты.
!!VRy4:Sv2;Сохраняем значение глобальной переменной.
!!VRv2:S0;Обнуляем переменную счёта свободных клеток.
!!DO28562/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по всем клеткам карты и считающий число свободных клеток на ней.
!!FU&v2<=0:E;Если свободных клеток нет, завершаем функцию.
!!VRy5:Sv2-1;Вычисляем условный номер последней свободной клетки.
!!VRv2:S0 Ry5;Генерируем случайный условный номер свободной клетки.
!!DO28563/0/y3/1:Py1/y2;Запускаем цикл, проходящийся по клеткам карты и вычисляющий реальный номер клетки.
!!VRx1:Sv2%y1;Вычисляем и возвращаем x-координату клетки.
!!VRx2:Sv2:y1%y1;Вычисляем и возвращаем y-координату клетки.
!!VRx3:Sv2:y1:y1%y2;Вычисляем и возвращаем z-координату клетки.
!!VRv2:Sy4;Восстанавливаем значение глобальной переменной.
!?FU28562;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!FU&y4=0|y5=0/y6=8/y6=9:E;Если клетка недоступна, завершаем тфункцию.
!!OBy1/y2/y3:T?y7;Считываем тип объекта на клетке.
!!VRv2&y7<>34:+1;Если на клетке стоит не герой, добавляем 1 в переменную свободных клеток.
!?FU28563;Функция проверки свободности клетки.
!!VRy1:Sx16%x1;Вычисляем x-координату клетки.
!!VRy2:Sx16:x1%x1;Вычисляем y-координату клетки.
!!VRy3:Sx16:x1:x1%x2;Вычисляем z-координату клетки.
!!TRy1/y2/y3:E?y4;Считываем проходимость клетки.
!!TRy1/y2/y3:P?y5;Считываем посещаемость клетки.
!!TRy1/y2/y3:T?y6/d/d/d/d/d/d/d;Считываем тип территории клетки.
!!OBy1/y2/y3&y4=1/y5=1/y6<>8/y6<>9:T?y7;Если клетка свободна, считываем тип объекта на клетке.
!!VRv2&y4=0|y5=0/y6=8/y6=9/y7=34:+1;Если клетка несвободна или на ней есть герой, добавляем 1 в переменную реального номера клетки.
!!VRx16&x16=v2:Sx1*x1*x2;Если реальный номер клетки вычислен, завершаем цикл. **
****
!?TM47;
!!UN:U63/14/?y1;Количество грибов в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28564/1/y1/1:P;Преобразуем грибы в Камень знаний
!?FU28564;Функция преобразования грибов в другие грибы
!!UN:U63/14/-1/1;v1..v3 - координаты грибов
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=90:E;Преобразовываем 90% грибов
!!UN:Ov1/v2/v3/1;Удаляем грибы
!!UN:Iv1/v2/v3/63/18/0; [помещаем друие грибы]
****
!?TM47;
!!UN:U63/18/?y1;Количество грибов в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28565/1/y1/1:P;Преобразуем грибы в Камень знаний
!?FU28565;Функция преобразования грибов в Камень знаний
!!UN:U63/18/-1/1;v1..v3 - координаты грибов
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=90:E;Преобразовываем 90% грибов
!!UN:Ov1/v2/v3/1;Удаляем грибы
!!UN:Iv1/v2/v3/63/23/0; [помещаем друие грибы]
****
!?TM47;
!!UN:U63/23/?y1;Количество грибов в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28566/1/y1/1:P;Преобразуем грибы в Камень знаний
!?FU28566;Функция преобразования грибов в Камень знаний
!!UN:U63/23/-1/1;v1..v3 - координаты грибов
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=90:E;Преобразовываем 90% грибов
!!UN:Ov1/v2/v3/1;Удаляем грибы
!!UN:Iv1/v2/v3/63/29/0; [помещаем друие грибы]
****
!?TM47;
!!UN:U63/29/?y1;Количество грибов в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28567/1/y1/1:P;Преобразуем грибы в Камень знаний
!?FU28567;Функция преобразования грибов в Камень знаний
!!UN:U63/29/-1/1;v1..v3 - координаты грибов
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=90:E;Преобразовываем 90% грибов
!!UN:Ov1/v2/v3/1;Удаляем грибы
!!UN:Iv1/v2/v3/63/30/0; [помещаем друие грибы]
****
!?TM47;
!!UN:U63/30/?y1;Количество количество грибов в y1
!!VRv1:S-1;инициализация v1 для быстрого поиска
!!DO28568/1/y1/1:P;Преобразуем грибы в ...
!?FU28568;Функция преобразования грибов в ...
!!UN:U63/30/-1/1;v1..v3 - координаты грибов
!!VRy1:S0 R99;y1-случайное число (0..99)
!!FU&y1>=20:E;Преобразовываем 100% грибов
!!UN:Ov1/v2/v3/1; удаляем грибы
********************************************************************************
*************************************************
gamecreator
17 Dec 2012, 21:40
почитай справку по ерм чтоли прежде чем прогить на нем.
находишь в своем скрипте ту строку что я написал и делаешь что я написал
Цитата(M.A.K.C. @ 17 Dec 2012, 20:27)

Суть скрипта в том, чтобы случайным образом ставился любой тип телепортера, а в последствии любой тип телепортера заменялся на другой объект
не проще сразу другой объект поставить?
M.A.K.C.
20 Dec 2012, 18:49
Код
********************************************************************************
******************На карте монолиты меняются на ученых*****************
********************************************************************************
!#TM47:S1/999/1/255;
!?TM47;
!!UN:U45/-1/?y1; [y1 - количество монолитов]
!!VRy-1:S0 R7;y1-случайное число (0..7)
!!DO28456/1/y1/1:P; [заменяем монолиты учеными]
!?FU28456; [Заменяем монолиты учеными]
!!UN:U45/-1/1/1; [v1..v3 - координаты монолитов]
!!UN:Ov1/v2/v3/1; [удаляем монолиты]
!!UN:Iv1/v2/v3/81/0/0; [помещаем ученого]
!!VRy1:S0 R3; [выбираем первичный навык для обучения (0..3)]
!!SCv1/v2/v3:T0 Py1; [устанавливаем первичный навык для обучения (0..3)]
gerkruger
02 Apr 2013, 15:07
Добрый день, существует замечательный скрипт Emerald Tower (script44.erm) или 34 wog - emerald tower.erm.
Скрипт Согласно описанию, данный скрипт улучшает максимум 12 существ в игре. Подскажите, как и где в коде можно изменить кол-во улучшаемых существ в игре (например вместо 12-ти поставить 20).
Berserker
02 Apr 2013, 18:17
Скрипт используется 12 переменных и имеет множество проверок на число 12.
gerkruger
02 Apr 2013, 19:42
Цитата(Berserker @ 02 Apr 2013, 18:17)

Скрипт используется 12 переменных и имеет множество проверок на число 12.
Так понятно, а вот в коде вместо 12 заменить на 22 можно? И будет ли скрипт работать? Достаточно только цифру 1 на 2 изменить по тексту или нет?
Berserker
02 Apr 2013, 19:46
Нет.
gerkruger
26 Apr 2013, 17:17
Приветствую, подскажите, если не трудно, возможно ли прямо в игре, изменить (уменьшить/увеличить кол-во существ в отряде героя)? Например, есть герой Сандро (ID героя 74), у него в каждом слоте отряд существ. Как, используя прогу EVME 1.0 (или аналогичную) в игре уменьшить кол-во существ в каждом слоте у данного героя на 10.
Зачем мне это надо? Если не уменьшить - на следующем ходе комп. игрок зависнет..
Заранее спасибо.
Извиняюсь, если не в той теме написан пост.
gamecreator
26 Apr 2013, 17:26
загрузить игру в мультиплеере и уменьшить вручную
gerkruger
26 Apr 2013, 17:34
Цитата(gamecreator @ 26 Apr 2013, 17:26)

загрузить игру в мультиплеере и уменьшить вручную
Никогда не играл в мультиплеере, просьба расшифровать как загрузить игру в мультиплеере.
gamecreator
26 Apr 2013, 18:05
в главном меню загрузить игру - мультиплеер - hotseat/хотсит/горячий стул/первая сверху кнопка - вводишь имена игроков - выбираешь сейв - выставляешь игроков (щелчок по флагу) - загрузить
gerkruger
26 Apr 2013, 18:21
Цитата(gamecreator @ 26 Apr 2013, 18:05)

в главном меню загрузить игру - мультиплеер - hotseat/хотсит/горячий стул/первая сверху кнопка - вводишь имена игроков - выбираешь сейв - выставляешь игроков (щелчок по флагу) - загрузить
Спасибо, конечно, но чтобы наш сейв был доступен для выбора в меню - изначально игру нужно запустить и начать играть тоже через hotseat/хотсит/?
Играть одному человеку против 7-ми компов получится для hotseat/хотсит/? Там же необходимо минимум 2 человека или я что-то не понимаю.
feanor
26 Apr 2013, 18:23
Омг. Китайцы ж писали прогу для редактирования героев в рантайме?
Starseeker
26 Apr 2013, 18:24
Цитата(gerkruger @ 26 Apr 2013, 19:21)

Цитата(gamecreator @ 26 Apr 2013, 18:05)

в главном меню загрузить игру - мультиплеер - hotseat/хотсит/горячий стул/первая сверху кнопка - вводишь имена игроков - выбираешь сейв - выставляешь игроков (щелчок по флагу) - загрузить
Спасибо, конечно, но чтобы наш сейв был доступен для выбора в меню - изначально игру нужно запустить и начать играть тоже через hotseat/хотсит/?
Играть одному человеку против 7-ми компов получится для hotseat/хотсит/? Там же необходимо минимум 2 человека или я что-то не понимаю.
Если противники не выставлены в настройках карты как только компьютерные игроки, всё получится.
gerkruger
26 Apr 2013, 18:29
Цитата(feanor @ 26 Apr 2013, 18:23)

Омг. Китайцы ж писали прогу для редактирования героев в рантайме?
Да конечно была, вот только не работает она с h3era.exe
Цитата(Starseeker @ 26 Apr 2013, 18:24)

Цитата(gerkruger @ 26 Apr 2013, 19:21)

Цитата(gamecreator @ 26 Apr 2013, 18:05)

в главном меню загрузить игру - мультиплеер - hotseat/хотсит/горячий стул/первая сверху кнопка - вводишь имена игроков - выбираешь сейв - выставляешь игроков (щелчок по флагу) - загрузить
Спасибо, конечно, но чтобы наш сейв был доступен для выбора в меню - изначально игру нужно запустить и начать играть тоже через hotseat/хотсит/?
Играть одному человеку против 7-ми компов получится для hotseat/хотсит/? Там же необходимо минимум 2 человека или я что-то не понимаю.
Если противники не выставлены в настройках карты как только компьютерные игроки, всё получится.
Все 7 противников выставлены только как ком. игроки иначе бы не обращался за помощью как прямо в игре с помощью команды ЕРМ или чего-там еще изменить кол-во существ в игре.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.