Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: На языке ЕРМ...
DF2 :: ФОРУМЫ > Игровые форумы > Heroes of Might & Magic III > Моды > A Divine War
DracoLich
Вот, быстренько сваял скрипт. только не пойму, че он матерится?
idontno.gif
Пока только для обучения героя и ангела
SnoRT
Хмм... А зачем ты использовал !!OW:G?? Он же только для мультиплеерной игры. Если хотел определить, что текущий герой игрок, а не AI, то нужен !!OW:I;
Вроде ошибок больше не нашёл, когда ругается?
DracoLich
Ну, про !!OW я понял, а ругается он на этапе использования, грит, !!HE:F - неправильный синтаксис idontno.gif
SnoRT
Попробуй убирать + в строках типа "Fd+v9015/...;", если это не поможет (что скорее всего), тогда придётся добавлять несколько строк. Не во всех командах можно через d показатель добавлять v переменные. Установить можно, а прибавить (отнять/умножить/поделить) нельзя. Тогда нужно сперва определить текущий показатель навыков героя, затем уже к этой переменной прибавить проценты (в смысле через !!VR:S) и уже дать игроку увеличенное значение.
DracoLich
Блин, чето скрипт не работает... Точнее, работает, но перевернулся наоборот: не дает, а отнимает навыки! banghead.gif
SnoRT
Оой! Прикольна smile.gif
Ну, например, прибавить 25% к атаке надо так:
!!HE-1:F?v10/d/d/d;
!!VRv10:Sv10+v10:4;
!!HE-1:Fv10/d/d/d;

Ты наверно забыл в !!VR добавить кой-чего, да? smile.gif
SnoRT
Вот, создал отдельную тему, во избежание флуда.

Добавлено ([mergetime]1151801578[/mergetime]):
DracoLich, хм... Не знаю, вроде не должно глючить... idontno.gif
Пойду проверю в игре...
DracoLich
yahoo.gif YES!!!!! I DO IT!!!!! yahoo.gif

!#VRv9013:S-1;
!#VRz940:S^Выберите карту для использования:^;
!#VRz941:S^Ничего^;

!?CM;
!!CM:I?v9012;
!!IF&v9012=5:Q11^Хотите посмотреть имеющиеся у вас Карты Таро?^;
!!IF&11:M^У вас имеются: %Z792^;
!!CM&11:R0;
!!IF&11:G1/9014/0/940/941/792/938/939;

!!HE-1&11:F?v9015/?v9016/?v9017/?v9018;

!!VRv9019&v9014=2/v9013=0/11:Sv9015;
!!VRv9020&v9014=2/v9013=0/11:Sv9016;
!!VRv9021&v9014=2/v9013=0/11:Sv9017;
!!VRv9022&v9014=2/v9013=0/11:Sv9018;

!!VRv9023&v9014=2/v9013=0/11:Sv9015:3;
!!VRv9024&v9014=2/v9013=0/11:Sv9016:3;
!!VRv9025&v9014=2/v9013=0/11:Sv9017:3;
!!VRv9026&v9014=2/v9013=0/11:Sv9018:3;

!!VRv9015&v9013=0/v9014=2:Sv9019+v9023;
!!VRv9016&v9013=0/v9014=2:Sv9020+v9024;
!!VRv9017&v9013=0/v9014=2:Sv9021+v9025;
!!VRv9018&v9013=0/v9014=2:Sv9022+v9026;

!!HE-1&v9014=2/v9013=0/11:Fv9015/v9016/v9017/v9018;

!!VRv9019&v9014=2/v9013=1/11:Sv9015;
!!VRv9020&v9014=2/v9013=1/11:Sv9016;
!!VRv9021&v9014=2/v9013=1/11:Sv9017;
!!VRv9022&v9014=2/v9013=1/11:Sv9018;

!!VRv9023&v9014=2/v9013=1/11:Sv9015:2;
!!VRv9024&v9014=2/v9013=1/11:Sv9016:2;
!!VRv9025&v9014=2/v9013=1/11:Sv9017:2;
!!VRv9026&v9014=2/v9013=1/11:Sv9018:2;

!!VRv9015&v9013=1/v9014=2:Sv9015+v9023;
!!VRv9016&v9013=1/v9014=2:Sv9016+v9024;
!!VRv9017&v9013=1/v9014=2:Sv9017+v9025;
!!VRv9018&v9013=1/v9014=2:Sv9018+v9026;

!!HE-1&v9014=2/v9013=1/11:Fv9015/v9016/v9017/v9018;

!!VRv9013&v9014>1:S-1;
!!IF:V11/0;
!!VRv9015:C0/0/0/0/0/0/0/0/0/0/0/0/0;



!?OB98;
!!HE-1:S9/?v9010 S3/?v9011;
!!OW:G0/?v9008;
!!VRv9009&v9008=1/v9010=0/v9011=0:S0 R100;
!!VRv9009&v9008=1/v9010=1:S0 R80;
!!VRv9009&v9008=1/v9011=1:S0 R80;
!!VRv9009&v9008=1/v9010=1/v9011=1:S0 R70;
!!VRv9009&v9008=1/v9011=1/v9010=1:S0 R70;
!!VRv9009&v9008=1/v9010=2:S0 R70;
!!VRv9009&v9008=1/v9011=2:S0 R70;
!!VRv9009&v9008=1/v9010=2/v9011=2:S0 R60;
!!VRv9009&v9008=1/v9011=2/v9010=2:S0 R60;
!!VRv9009&v9008=1/v9010=3:S0 R60;
!!VRv9009&v9008=1/v9011=3:S0 R60;
!!VRv9009&v9008=1/v9010=3/v9011=3:S10;
!!VRv9009&v9008=1/v9011=3/v9010=3:S10;
!!VRv9013&v9009=10:S0 R1;
!!VRz792&v9013=0:S^{Обучение героя}^;
!!VRz792&v9013=1:S^{Обучение Ангела}^;
!!IF&v9009=10:M^Вы нашли Карту Таро. Она называется %Z792.^;
alc.gif

Добавлено ([mergetime]1151805221[/mergetime]):
А теперь, кто ответит на вопрос: почему он не хотел этого делать сразу? Почму надо расписывать переменнные? idontno.gif
SnoRT
Да уж... ЕРМ частенько ведёт себя наглым образом idontno.gif
DracoLich
Вопрос: в начале он при просмотре карт говорит, что их нет. Это правильно. После использования карты она как-будто остается. Это не правильно. Есть способ убрать значение Z ?
†G¤bli№†
Друзья помогите мне!!!!!!!!! sorry.gif
Я хочу чтонибудь сотворить с ВОГОЙ.
Скинте мне пожалуйсто *инструменты* с помощу которых можно перекалупать героев spiteful.gif и описание (желательно в RAR) banghead.gif базового новечька banghead.gif
Зарание спасибо
SnoRT
Цитата(DracoLich @ 02 Jul 2006, 14:11)
Вопрос: в начале он при просмотре карт говорит, что их нет. Это правильно. После использования карты она как-будто остается. Это не правильно. Есть способ убрать значение Z ?

Просто.
!!VRz1:S^^;
Значение пропадёт.

Добавлено ([mergetime]1151812247[/mergetime]):
Цитата(rybchin @ 02 Jul 2006, 14:46)
Друзья помогите мне!!!!!!!!! sorry.gif
Я хочу чтонибудь сотворить с ВОГОЙ.
Скинте мне пожалуйсто *инструменты* с помощу которых можно перекалупать героев spiteful.gif  и описание (желательно в RAR)  banghead.gif базового новечька banghead.gif
                              Зарание спасибо

Инструменты... Вот в чём я не смыслю, так это во внутренностях ВОГ'а. Только очень расплывчато. Вот ЕРМ - это запросто, а покалупать героев - нет. Лучше обратись, например, к Bourn'у, где-нибудь в общей теме. Он в этом деле мастер.
†G¤bli№†
EPM-это , , , это чё за зверь такой и чё он умеет творить?
DracoLich
2 rybchin
Зайди в ВоГ-форуме есть страничка - полезные программы. Тебе нужен редактор LOD файлов и редактор ТХТ файлов


Добавлено ([mergetime]1151813381[/mergetime]):
ERM - зверь такой, переделывает героев по велению ЕРМящего. Просто надо уметь им пользоваться

2СноРТ

А если сделать так, как ты предложил, будет выводиться пустое окно без текста. Но пойдет yes.gif
†G¤bli№†
А что именно можно сотворить с героем (к примеру Солмир)
†G¤bli№†
А и скинь пожалусто ссылку , а то я буду искать до старости.
SnoRT
Цитата(DracoLich @ 02 Jul 2006, 15:09)
А если сделать так, как ты предложил, будет выводиться пустое окно без текста. Но пойдет yes.gif

Да нет, если у тебя карт нет, это сообщение не выводится. А какое-нибудь другое, типа "ни одной карты у вас нет".
SnoRT
Цитата(rybchin @ 02 Jul 2006, 15:18)
А что именно можно сотворить с героем (к примеру Солмир)

У тебя в папке с ВОГ'ом должна быть папка erm help, там открывай index и наверху нажми кнопочку "HE". Если владеешь английским, можешь узнать. Правда там не все действия... Если с английским плохо, то щас поищу ссылку, я где-то перевод выкладывал...

Добавлено ([mergetime]1151814585[/mergetime]):
Цитата(DracoLich @ 02 Jul 2006, 15:18)
Еще, может, сотрешь первые мои посты? А то длинновато... unsure.gif

Д не стоит, это ж специльная темка smile.gif

Добавлено ([mergetime]1151814748[/mergetime]):
rybchin,
http://forum.df2.ru/index.php?showtopic=1942&st=0 - тут есть переводы некоторых страниц, и, если есть желание, почитай вот эту тему http://forum.df2.ru/index.php?showtopic=2457 - ЕРМ для новичков. Мой первый пост можешь пропустить, он сложный, а дальше полное введение в курс молодого скриптера smile.gif
Druin
Цитата(SnoRT @ 02 Jul 2006, 07:32)
У тебя в папке с ВОГ'ом должна быть папка erm help...

Нет... Предварительно надо это дело поставить...
Irh
Код
!!VRv9015&v9013=0/v9014=2:Sv9019+v9015;

Н-да, это планировалось сделать присваивание v9015 := v9015 + v9019 ?
Так нет, первая команда (S) присваивает переменной 9015 значение 9019, и во второй команде (+) используется уже новое значение v9015... вот и получается v9015 := v9019 * 2, то есть, фактически, умножение не на 4/3, а на 2/3.

Команды исполняются по очереди, и если какая-то команда меняет значение переменной, а она используется в последующих командах, в них будет использовано новое значение!

(уже разобрались, но так, для ясности)
SnoRT
sorry.gif Блин, я и не знал fie.gif Я думал он сразу как одно действие делает idontno.gif

Добавлено ([mergetime]1151880648[/mergetime]):
Цитата(Druin @ 03 Jul 2006, 00:05)
Цитата(SnoRT @ 02 Jul 2006, 07:32)
У тебя в папке с ВОГ'ом должна быть папка erm help...

Нет... Предварительно надо это дело поставить...

Да? А я думал это только я такой неудачник, который самый первый ВОГ установил 3.58, который идёт без хелпа и учил скрипты по другим картам... smile.gif
Sergiyua
Доброе утро DracoLich, можете ли скинуть полную версию скрипта про карты?
DracoLich
Я еще работаю над картами. Скрипт большой таки sorry.gif
SnoRT
DracoLich,

Код
v1119-v1199,v1420-1439,v2210-v2300,v2630-v3300,v37,v38.
z177-z190,z320-z325,z355-z359,z730-z731,z200,z240,z249,z304-z309,z367,z384-z389,z394-z401,z407-z409,z441-z447,z462-z465.
FU1011,FU1012,FU178,FU400-FU451,FU64-FU99.
TM7-TM9,TM27-TM29,TM39.

Ещё Флай использует какие-то функции, не знаю. Ну там большие, пятизначные.
DracoLich
Такссс, кажись, нашел способ определить начальный замок. Тестил, работает!
Код
!#TM5:S1/1/1/255;
!?TM5;
!!OW:C?v9301;
!!OW:Iv9301/?v9302;
!!FU48&v9302=0:P;
!?FU48;
!!OW:Av9301/?v9303;
!!HEv9303:B2/?v9304;
!!VRz320|v9304=0/v9304=1:S^Замок^;
!!VRz320|v9304=2/v9304=3:S^Оплот^;
!!VRz320|v9304=4/v9304=5:S^Башня^;
!!VRz320|v9304=6/v9304=7:S^Инферно^;
!!VRz320|v9304=8/v9304=9:S^Некрополис^;
!!VRz320|v9304=10/v9304=11:S^Темница^;
!!VRz320|v9304=12/v9304=13:S^Цитадель^;
!!VRz320|v9304=14/v9304=15:S^Крепость^;
!!VRz320|v9304=16/v9304=17:S^Сопряжение^;
!!IF&v9304>=0:M^Вы играете замком под названием %Z320^;

Заместо сообщения можно выводить на работу функцию сообщения бога.
Ну, как? unsure.gif
SnoRT
Да, что-то подобное я делал в начале. Просто здесь необходим активный герой, а если его нет? Или в замке сидит. Хотя у нас же таймер на первый день. У меня в такой ситуации получалось 50 на 50. Когда определится, когд нет. Но и схема у меня была гораздо примитивней... Обязательно опробую. Прямо сейчас smile.gif
P.S. Я нашёл, почему у тебя иногда не включается бог. Странно, но если до первого шага где-нить хоть один раз щёлкнуть правой мышей - бог уже не появится, только задания. Я просто никогда этого не делал, вот у меня и не было такого бага. Скорее всего я знаю, где это надо исправлять...
DracoLich
Активный герой при начале карты ВСЕГДА есть. Тот, что в замке автоматически становится активным.
SnoRT
Я знаю, но !!HE-1 работал в подобном случае не всегда.
DracoLich
Как дать существу на поле боя какую-то способность? !!BM:F плохо помогает... idontno.gif
SnoRT
Почему плохо? Очень даже хорошо.
Сначала узнаёшь текущий флаг необходимого стэка (!!BM1:F?v10;), потом добавляешь к этому числу бит необходимой способности из !!MA:X (!!VRv10:|4;) и ставишь этому же стэку новое значение переменной (!!BM1:Fv10;). Усё. Я так всегда делаю, не разу не подвело, глюков замечено не было.
DracoLich
Усе... Я сдаюсь... Снорт, плиз, выложи здесь пример рабочего скрипта, чтобы монстры атакующего били всех вокруг... НИФИГА не работает мой... banghead.gif banghead.gif banghead.gif
Soul Reaver
Кстати, делаю диологи богов. Очень скоро выложу. Только одно:Как сделать чтоб по истечении таймера появлялся СЛУЧАЙНЫЙ диалог. Тоесть от такойто текстовой переменной, до такойто?

А можно примерчик? Я понятия не имею как генерить... Почти написал все сообщения. Кстати предлагая следующия версия богов посвятить не богу, а улучшению итерфейса игры. Тоесть добавлению в игру новых возможностей. Можно зделать превязаность героя к свету и тьме как в Фейбл. В зависимости от строны у героя разные возможности. И ещё... Может интерфейсом новым займёмся... Или рано? Как там сзакрытым форумом?
DracoLich
!!VRv1:S1 R3;
!!VRz1&v1=1:S^Первое^;
!!VRz1&v1=2:S^Второе^;
!!VRz1&v1=3:S^Третье^;
!!VRz1&v1=4:S^Четвертое^;
gamecreator
Драколич, все-же лучше использовать не R, а T.
DracoLich
gamecreator, расскажи, чем отличаются эти команды?
!!VR:R
!!VR:T
gamecreator
Цитата(DracoLich @ 22 Sep 2006, 14:34)
!!VR:R
Псевдорандомная генерация. Не рекомендуеться разрабами.

Цитата(DracoLich @ 22 Sep 2006, 14:34)
!!VR:T
Генерация на основе времени.
DracoLich
Вот я и хотел узнать - какого времени??? blink.gif blink.gif
Druin
Системного времени...
Чесс гря сам до конца не понимаю где там что и как, но не раз сталкивался в паскале с следущим: простой генератор при каждом запуске програмы выдавал одну и туже комбинацию чисел, генератор со временем всегда разную...
Horn
Цитата(Druin @ 25 Sep 2006, 13:22)
Системного времени...
Чесс гря сам до конца не понимаю где там что и как, но не раз сталкивался в паскале с следущим: простой генератор при каждом запуске програмы выдавал одну и туже комбинацию чисел, генератор со временем всегда разную...

1. Комп не умеет генерить настоящие случайные числа, т.к. любой алгоритм (пока что) вещь в принципе жестко детерминированная.
2. Стандартный ГСЧ выдает последовательность псевдослучайных чисел, каждое из которых однозначно определяет последующие по некоторому правилу (тут есть разные варианты, чаще всего используют остатки от деления на большие числа). Текущее число, по которому будет определяться следующее, называется "зерном" генератора. В сетевом бою при ударе одного монстра другим, например, урон на каждой машине рассчитывается отдельно, а не передается по сети. Но для этого в начале боя машины синхронизируются, устанавливая одинаковое зерно (в ЕРМ есть специальная команда для этого). И в дальнейшем нужно, чтобы количество запусков ГСЧ на машинах игроков строго совпадало, иначе может случиться та самая печально известная рассинхронизация - у одного игрока ходит гоблин противника, а на компе противника выпал бОльший урон, в результате этот гоблин уже труп и ходит другой отряд. spiteful.gif
3. VR:R - это тот самый ГСЧ, стартующий всегда с одной и той же точки. То есть первый его вызов (первый - после запуска НММ) даст всегда Х1, второй - Х2 и т.д.
4. А в VR:Т в качестве зерна используется системное время (с точностью до миллисекунд), поэтому иногда он предпочтительнее. С другой стороны, если его вызвать в цикле несколько раз подряд, то он возможно вернет одно и то же число, ведь цикл успеет прокрутиться несколько раз в течение одной миллисекунды.
5. В ТЕ я сделал так - в начале партии генерю число с помощью VR:Т, записываю в переменную, а в дальнейшем вызываю только VR:R, но к результату "подмешиваю" это число. Интересующиеся могут глянуть текст функции 23013 (она генерит случайное число между х1 и х2) скрипта01. Есть еще интересная функция 23017, переставляющая случайным образом значения v-переменных в диапазоне vx1 - vx2.
Мурсинушка
А где можно познакомиться с описанием стандартных функций вог?
hippocamus
Они все описаны в скрипте №0, но если бы кто-то составил по ним помощь (Драко, на тебя намекаю) wink.gif было бы очень неплохо.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.