Current time: 20.09.2020, 20:04 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Ваши вопросы по ERM-скриптам
Author Message
MOP Offline

Posts: 1369
Post: #316

В описание миссии при генерации РМГ записывается служебная информация (текст). Только вот наверняка эта память нестатична.


Я на Лит-Нете
10.08.2009 05:53
Find all posts by this user Quote this message in a reply
Дьякон Offline

Posts: 379
Post: #317

Ну например 5833A5h - укахатель на адрес с началом названия файла карты. Если это рандом, то и название карты будет random mapX.h3m, если только пользователь сам не назовет так свою карту


Страус труп (с) Бьерн
10.08.2009 09:04
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #318

(10.08.2009 09:04)Дьякон Wrote:  Если это рандом, то и название карты будет random mapX.h3m, если только пользователь сам не назовет так свою карту
Начал фиксированную карту, гляжу туда - да, там название файла карты. Начал рандомку - это название не изменилось. Начал другой фикс - изменилось.
То есть, "random mapX.h3m" не наблюдается.
Добавлено:
Проверял по указателю.


Я на Лит-Нете
(This post was last modified: 10.08.2009 10:13 by MOP.)
10.08.2009 10:12
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #319

Товарищи, помогите написать скрипт... Крайне хотелось бы, чтобы герой #84 каждую битву накладывал на всех принадлежащих ему оборотней заклинание "Жажда крови" и прибавлял бы им +3 ед. Атаки и Защиты, +15 здоровья, +5 урона, +1 скорость.
Такая штука должна действовать лишь в армии героя #84 и лишь для оборотней.
Вот созданный мной код - он жутко тупит:
PHP Code:
ZVSE
!?BA0;
!!
HE-10:N?v2;
!!
HE-20:N?v3;
!!
VRy1&v2=84:S0;
!!
VRy1&v3=84:S21;
!!
DO1/0/20/1:P;
!?
FU1;
!!
BMy1:T?y2 N?y3
!!
BMy1&y2=194/y3>0:M43/99/1
!!
BMy1&y2=194/y3>0:Ad+3
!!
BMy1&y2=194/y3>0:Dd+3
!!
BMy1&y2=194/y3>0:Sd+1
!!
BMy1&y2=194/y3>0:Hd+15
!!
BMy1&y2=194/y3>0:U1/d+5
!!
BMy1&y2=194/y3>0:U2/d+5
!!
VRy1:Sd+1


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
12.08.2009 11:42
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #320

ZVSE
!?BF&1000;
!!BA:H0/?v2 H1/?v3;
!!DO1/0/20/1&v2=84:P;
!!DO1/21/41/1&v3=84:P;
!?FU1;
!!BMx16:T?y2 N?y3;
!!BMx16&y2=194/y3>0:M43/99/1 Ad3 Dd3 Sd1 Hd15 U1/d5 U2/d5;


Я на Лит-Нете
(This post was last modified: 12.08.2009 14:37 by MOP.)
12.08.2009 14:36
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #321

Спасибо, МОР! Возможно ли написать скрипт следующего плана:
1. Герой заходит в хижину, болтает со стариком
2. Перебивает всех горынычей на карте
3. Получает в награду один из пока что пустых артефактов
Я написал, но проклятый старикан выдаёт мне кольцо постоянно. Стоит лишь перебить всех горынов, и старикан при каждом посещении любезно дарит кольцо... Вот сам скрипт:

Code:
!#OB17/32/0:Hz105; Установить название объекта
!#VRz105:S^Хижина ныряльщика^;
!#VRv100:S0; Установить флаг "Не посещено" в начале игры
!?OB17/32/0&1000/v100=0; Триггер при посещении игроком впервые
!!IF:M^Путник, ты наверняка слышал о знаменитых озёрах, находящихся возле вулкана Гур-ат-гон, что к северу отсюда. Говорят, что даже дно этих озёр целиком состоит из драгоценных камней. Именно поэтому их прозвали Алмазные Озёра.
Когда стало известно, какую ценность представляют Алмазные Озёра, туда сразу потянулись целыми семьями. Вскоре вокруг Озёр уже появился целый посёлок добытчиков драгоценных камней.Мы мирно выполняли свою работу: добывали драгоценные камни и продавали их. Ничто не предвещало беды...
Неожиданно на наше селение напали злобные твари, похожие на умеющих летать гидр, - горынычи. Они сожрали практически всех жителей, и поселились в руинах нашего форта.^;
!!VRv100:S1; Установить флаг "Посещено, миссия дана"
!!UN:U54/168/?v101; Сосчитать количество горынычей на карте
!!VRz105:S^Хижина ныряльщика: Победить горынычей^;
!?OB17/32/0&1000/v100=1/v101>0;
!!IF:Q1/21/168/1^Герой, я умоляю тебя: уничтожь этих злобных горынычей! Наградой для тебя станут не только Алмазные Озёра, которые наверняка до сих пор полны драгоценностей... Я подарю тебе Кольцо Трёх Самоцветов - древнюю реликвию, доставшуюся мне в наследство от деда.^;
!?OB17/32/0&1000/v100=1/v101=0;
!!IF:Q1/8/165/1^Держи!^;
!!HE-1:A1/165/6; Поместить Кольцо Трёх Самоцветов в слот для правого кольца
!!HE-1&-1:A1/165/7; Поместить Кольцо Трёх Самоцветов в слот для левого кольца, если правый слот занят
!!HE-1&-1:A168; Если оба слота под кольца заняты,
!!VRz105:S^Хижина ныряльщика (задание выполнено)^;
!!VRv100:S2;
!?OB17/32/0&1000/v100=2;
!!IF:M^Goodbue!^;


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
14.08.2009 12:59
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #322



Я на Лит-Нете
14.08.2009 19:30
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #323

MOP, дружище, спасибо! А можно вопрос - почему пост-инструкция? Просто хочется не тупо юзать чужие скрипты, а понимать и учиться самому, тем более, что написание скриптов для моей любимой игры - весьма увлекательный процесс!
А, и ещё... Облазил весь ERM-HELP, но разобраться в ресивере !!PO так и не смог... Как понимать содержимое y1? Это нечто вроде того же флага?


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
15.08.2009 01:38
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #324

В данном примере !?PI можно и на инструкции заменить - без разницы. Просто я их не люблю. Инструкцией нельзя корректно обработать все параметры героев, потому что на этом этапе многие не загружены, инструкцией нельзя разместить объект на карте и многое другое... В общем, в инструкциях какого-то особого смысла я вообще не вижу.

!!PO создан для того, чтобы установить какую-либо числовую информацию о квадрате карты. Это как бы личные переменные квадрата. Почти все команды PO - B, H, N, O, S, T, V - по сути, предназначены для одного и того же, разделение лишь для удобства. В данном скрипте я использовал "S" - а мог использовать любую.
Исключение - команда C. С её помощью можно посчитать квадраты, имеющие одинаковые численные значения.


Я на Лит-Нете
15.08.2009 09:43
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6173
Post: #325

!!PO - очень хороший ресивер, часто бывает просто незаменим. Я тоже раньше не понимал, для чего он нужен, пока не столкнулся с проблемами, которые может решить только он. Я с его помощью, например, написал скрипт: шахты дерева и руды приносят 1 единицу ресурса за неделю, а остальные - 1 единицу ресурса раз в 2 недели. Других способов для этого не нашёл.

Причём придумал для этого хитрый алгоритм - PO для каждой шахты одного типа хранит информацию не только об этой шахте, но и о предыдущей захваченной. Поэтому, когда затем срабатывает функция выдачи ресурсов, она начинает с последней захваченной шахты и таким образом добирается до первой Sm


Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...
15.08.2009 11:24
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #326

Ребят, пытался с помощью !!PO ещё один объектик настроить, но не вышло. Вот код, надеюсь, разберётесь. Если нет, то я напишу точнее.
Code:
ZVSE
ERMS_ScriptName=ERM - Заброшенный форт
ERMS_ScriptAuthor=GhostManSD
ERMS_ScriptVersion=1.0.0
ERMS_ScriptDate=15.8(August).2009
ERMS_ScriptERMVersion=2.70
ERMS_ScriptLanguage=Русский (Россия)
ERMS_ScriptUsedVariables=v101;v102;v103;v4
ERMS_ScriptUsedFlags=1;1000
ERMS_ScriptUsedTimers=NONE
ERMS_ScriptUsedFunctions=NONE
ERMS_ScriptUsedMacroNames=NONE
_WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes!
ERMS_PoweredBy=ERM Scripter v. 2004.10.5.945

--------------------------------------------------------------------------------
*Заброшенный форт*
--------------------------------------------------------------------------------
*Заброшенный форт предлагает герою сразиться с горынычами.
*Количество горынычей вычисляется по формуле, зависящей от уровня сложности и текущего дня.
   *Легкий: [Номер текущего дня]:2+9
   *Нормальный: [Номер текущего дня]:2+12
   *Трудный: [Номер текущего дня]:2+15
   *Экспертный: [Номер текущего дня]:2+18
   *Невозможный: [Номер текущего дня]:2+21
*Количество полученного золота вычисляется по формуле [Количество горынычей]*500
*Полученный артефакт зависит от уровня сложности
   *Легкий: Нет
   *Нормальный: Сокровище
   *Трудный: Ценный
   *Экспертный: Редкий
   *Невозможный: Реликт
--------------------------------------------------------------------------------
*ERM-скрипт*
--------------------------------------------------------------------------------
!?PI; Пост-инструкция
!!OB13/9/0:Hz100; Установить переменную для подсказки
!?OB13/9/0&1000; Триггер при посещении объекта игроком
!!PO13/9/0:S?y1; Проверить, посещён ли объект
!!UN:J2/?v4; Проверить сложность, выбранную игроком
!!VRv101:Sc :2; Установить стартовое количество горынычей
!!VRv101&v4=0:+9; Добавить 9 горынычей при уровне сложности "Легкий"
!!VRv101&v4=1:+12; Добавить 12 горынычей при уровне сложности "Нормальный"
!!VRv101&v4=2:+15; Добавить 15 горынычей при уровне сложности "Трудный"
!!VRv101&v4=3:+18; Добавить 18 горынычей при уровне сложности "Экспертный"
!!VRv101&v4=4:+21; Добавить 21 горынычей при уровне сложности "Экспертный"
!!VRv102:Sv101 *500; Установить количество золота в случае победы
!!UN&v4=1:J6/2/?v103; Генерировать сокровище при уровне сложности "Нормальный"
!!UN&v4=2:J6/4/?v103; Генерировать ценный артефакт при уровне сложности "Трудный"
!!UN&v4=3:J6/8/?v103; Генерировать редкий артефакт при уровне сложности "Экспертный"
!!UN&v4=4:J6/16/?v103; Генерировать реликт при уровне сложности "Невозможный"
!!HE-1:O?v2; Запомнить владельца героя при посещении
!!VRz98:S^Атаковать^; Установить надпись для левой картинки
!!VRz99:S^Уйти^; Установить надпись для правой картинки
!!UN:A12/9/z98; Изменить название артефакта #12
!!UN:A12/10/z98; Изменить описание артефакта #12
!!UN:A98/9/z99;  Изменить название артефакта #98
!!UN:A98/10/z99;  Изменить описание артефакта #98
!!IF&y1=0:Q1/8/12/8/98/7^Заброшенный форт стал домом для целого выводка горынычей. Вы желаете напасть на них?^;
!!UN:A12/9/z98; Восттановить название артефакта #12
!!UN:A12/10/z98; Восттановить описание артефакта #12
!!UN:A98/9/z99;  Восттановить название артефакта #98
!!UN:A98/10/z99;  Восттановить описание артефакта #98
!!HE-1&1/y1=0:T13/9/0/168/v101; Вступить в битву с отрядом горынычей
!!HE-1&1/y1=0:O?v3; Запомнить владельца игрока после битвы
!!PO13/9/0&1/v2=v3/y1=1:S1; Установить флаг "Победа"
!!OW&1/v2=v3/y1=1:R-1/6/d+v102; Дать игроку в случае победы определённое количество золота
!!IF&1/v2=v3/y1=1:Q1/6/v102/1^Победив горынычей, вы обыскиваете их логово и находите %V102 золотых монет!^; Выдать сообщение при победе
!!HE-1&1/v2=v3/v4>0/y1=1:A4/v103; Выдать артефакт (если уровень сложности не "Легкий")
!!IF&1/v2=v3/v4>0/y1=1:Q1/8/v103/1^Кроме того, вы ещё нашли артефакт!^;
!!PO13/9/0&1/v2=v3/y1=1:S2; Установить флаг "Посещено"
!!IF&y1=1:M^Вы уже победили горынычей...^;
Объект не хочет работать должным образом.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
15.08.2009 21:46
Visit this user's website Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #327

Со скриптом справился, правда, без ресивера !!PO... Но как бы то ни было, всё равно спасибо всем, кто уже мне помогал! Можно ли обращаться к вам ещё? Я - начинающий скриптописец, но очень хочу учиться! Rolleyes


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
16.08.2009 01:02
Visit this user's website Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6173
Post: #328

Конечно можно Sm


Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...
16.08.2009 01:06
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #329

Хех, сумашествие какое-то... Долго парился, как игроку из переменной v102 добавить золота. Перепробовал все варианты - !!OW:R-1/6/dv102, !!OW:R-1/6/d+v102, !!OW:R-1/6/+v102, но в итоге своего добился...

!!OW&v2=v3:R-1/6/?v16;
!!VRv16&v2=v3:+v102;
!!OW&v2=v3:R-1/6/v102;

ERM чертовски порой выводит такими вот бяками, но если получается пройти нестандартным (ну в смысле для меня нестандартным) путём, то ощущаешь гордость! 96-copy
Добавлено:
MOP, твой скрипт не покатил: поганый старикан выдавал кучу сообщений. Я попробую сделать так, как сделал в скрипте с заброшенным фортом (не та версия, что находится выше, а новая, рабочая). Думаю, что прокатит. Всё равно спасибо, особенно за помощь с командой !!PO. Надо будет взять на вооружение! 132


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
(This post was last modified: 16.08.2009 01:41 by GhostManSD.)
16.08.2009 01:37
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1369
Post: #330

(16.08.2009 01:37)GhostManSD Wrote:  Перепробовал все варианты - !!OW:R-1/6/dv102, !!OW:R-1/6/d+v102, !!OW:R-1/6/+v102, но в итоге своего добился...
!!OW:R-1/6/d*переменная*, по-моему, всегда работает. А вот !!OW:R-1/6/d-*переменная* постоянно глючит.

(16.08.2009 01:37)GhostManSD Wrote:  MOP, твой скрипт не покатил: поганый старикан выдавал кучу сообщений.
Я бы не дал, не протестировав. У меня старикан совершенно адекватен. Посетил первый раз - даёт задание. Посещаешь, если не выполнил задание - уговаривает выполнить. Выполнил задание - даёт кольцо. Заходишь после этого сколько угодно раз - "Good-bye".
Ты что-то напутал...


Я на Лит-Нете
16.08.2009 06:57
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2020 MyBB Group