Current time: 22.11.2024, 18:19 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 2180
Post: #1366

В начале его хода сделать клетку красной, а в конце обратно поменять.
Ещё можно вроде закрыть объект для игрока.
16.11.2010 10:31
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #1367

Через триггер на движение любого героя и проверку активного героя?


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

Posts: 6183
Post: #1368

GhostManSD, есть команда "проклятие бога" (!!HE:Y вроде) - она позволяет запретить посещение определённого объекта для определённого героя...


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.11.2010 14:51
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1369

GhostManSD, через таймер на начало хода игрока и следующего игрока. А для объекта проще - в !!OB вроде можно. Или, действительно, через проклятье.
16.11.2010 15:52
Find all posts by this user Quote this message in a reply
Chaomen Offline

Posts: 59
Post: #1370

Как сделать, чтобы можно было ставить собственные скрипты в "Настройки WOG"?
04.12.2010 00:11
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1371

Создать ers-файл (как - написано в хелпе), который создаст опцию. А в скрипте поставить на все триггеры условие их выполнения - только если опция включена (т. е. в начале триггеров поставить проверку через !!UN:P, если не включено - выходить. Или проверить и записать результат в начале игры, тогда можно будет вставлять условия в сами триггеры).
(This post was last modified: 04.12.2010 00:59 by Sav.)
04.12.2010 00:24
Find all posts by this user Quote this message in a reply
Chaomen Offline

Posts: 59
Post: #1372

Хотя я сделал этот файл, скрипт всё равно не хочет появляться в настройках. Можешь посмотреть что делать?
Code:
ZVSE

** script to prevent creature experience reduction due to overflow. JHV,
2/3/2009

** uses v7090-v7103 to store troop ranks @ start of battle
** uses FU459-FU462

!?BA0&1000; start of (human) battle
!!BA:H0/?v1; get attacker hero #
!!BA:H1/?v2; get defender hero # (if any)
!!DO459/0/6/1&v1>-1/v1<156:Pv1; check stacks 0-6 for attacker
!!DO460/0/6/1&v2>-1/v2<156:Pv2; check stacks 0-6 for defender


!?FU459; get exp. rank of troop in slot x16 of hero x1, store in v[7090+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!VRv5:S7090+x16;
!!VRvv5:Sy3;

!?FU460; get exp. rank of troop in slot x16 of hero x1, store in v[7097+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!VRv5:S7097+x16;
!!VRv5:Sy3;

!?BA1&1000; end of (human) battle
!!BA:H0/?v1; get attacker hero #
!!BA:H1/?v2; get defender hero # (if any)
!!VRv3:C-1/-1; set v3 & v4 to -1
!!HEv1&v1>-1/v1<156:O?v3; get attacker's Owner - will be 0-7 if attacker won
!!HEv2&v2>-1/v2<156:O?v4; get defender's Owner - will be 0-7 if defender won
!!DO461/0/6/1&v3>-1/v3<8:Pv1; check stacks 0-6 for attacker
!!DO462/0/6/1&v4>-1/v4<8:Pv2; check stacks 0-6 for defender

!?FU461; get exp. rank of troop in slot x16 of hero x1, vs. v[7090+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!FU&y2<1:E; quit if no troops left in slot
!!VRv5:S7090+x16;
!!VRy4:Svv5;
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was
gained (overflow occurred)

!?FU462; get exp. rank of troop in slot x16 of hero x1, vs. v[7097+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!FU&y2<1:E; quit if no troops left in slot
!!VRv5:S7097+x16;
!!VRy4:Svv5;
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was
gained (overflow occurred)
!!IF&610:V616/1;
negative     92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       Данный скрипт позволяет отключать появление отрицательного опыта монстров
04.12.2010 18:42
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1373

Code:
negative 92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       Данный скрипт позволяет отключать появление отрицательного опыта монстров
Это нужно поместить в отдельный файл с названием script**.ers (** - номер скрипта).

В начале скрипта нужно вставить такой код: !#UN:P**/?v***; (** - номер скрипта, v*** - любая свободная v-переменнная).

В каждый триггер надо вписать условие (&v***=1), где v*** - та же v-переменная, которая использовалась выше.


Так примерно будет выглядеть твой код:
Code:
ZVSE
!#UN:P92/?v9001; Считываем включённость опции.

** script to prevent creature experience reduction due to overflow. JHV,
2/3/2009

** uses v7090-v7103 to store troop ranks @ start of battle
** uses FU459-FU462

!?BA0&v9001=1/1000; start of (human) battle
!!BA:H0/?v1; get attacker hero #
!!BA:H1/?v2; get defender hero # (if any)
!!DO459/0/6/1&v1>-1/v1<156:Pv1; check stacks 0-6 for attacker
!!DO460/0/6/1&v2>-1/v2<156:Pv2; check stacks 0-6 for defender


!?FU459&v9001=1; get exp. rank of troop in slot x16 of hero x1, store in v[7090+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!VRv5:S7090+x16;
!!VRvv5:Sy3;

!?FU460&v9001=1; get exp. rank of troop in slot x16 of hero x1, store in v[7097+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!VRv5:S7097+x16;
!!VRv5:Sy3;

!?BA1&v9001=1/1000; end of (human) battle
!!BA:H0/?v1; get attacker hero #
!!BA:H1/?v2; get defender hero # (if any)
!!VRv3:C-1/-1; set v3 & v4 to -1
!!HEv1&v1>-1/v1<156:O?v3; get attacker's Owner - will be 0-7 if attacker won
!!HEv2&v2>-1/v2<156:O?v4; get defender's Owner - will be 0-7 if defender won
!!DO461/0/6/1&v3>-1/v3<8:Pv1; check stacks 0-6 for attacker
!!DO462/0/6/1&v4>-1/v4<8:Pv2; check stacks 0-6 for defender

!?FU461&v9001=1; get exp. rank of troop in slot x16 of hero x1, vs. v[7090+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!FU&y2<1:E; quit if no troops left in slot
!!VRv5:S7090+x16;
!!VRy4:Svv5;
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was
gained (overflow occurred)

!?FU462&v9001=1; get exp. rank of troop in slot x16 of hero x1, vs. v[7097+x16]
!!HEx1:C0/x16/?y1/?y2/?y3/2; y1=type, y2=no., y3=experience
!!FU&y2<1:E; quit if no troops left in slot
!!VRv5:S7097+x16;
!!VRy4:Svv5;
!!HEx1&y4>y3:C0/x16/d/d/11/12; set rank to 11 if negative experience was
gained (overflow occurred)
!!IF&610:V616/1;
(This post was last modified: 04.12.2010 20:36 by Sav.)
04.12.2010 20:09
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #1374

Sav, тебе нужно памятник ставить.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
04.12.2010 20:30
Find all posts by this user Quote this message in a reply
Chaomen Offline

Posts: 59
Post: #1375

(04.12.2010 20:30)Berserker Wrote:  Sav, тебе нужно памятник ставить.

   Это точно, скольким людям ты помог, кто бы знал...

   На счёт таблицы ers я понял, просто думал что в ней проблема, и скинул вместе с кодом.
05.12.2010 00:18
Visit this user's website Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1376

Chaomen, в ers-файле ты пропустил одно из полей.

Вместо:
Code:
negative     92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       Данный скрипт позволяет отключать появление отрицательного опыта монстров

напиши:
Code:
negative 92      7      0      5       1       0      90      Отключение отрицательного опыта монстров       отключение появления отрицательного опыта монстров      Данный скрипт позволяет отключить появление отрицательного опыта монстров.
(This post was last modified: 05.12.2010 21:12 by Sav.)
05.12.2010 21:12
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1377

После того, как герой сходил, клетка, на которой он стоит в этот ход больше не считается жёлтой. Как можно определить стоит ли на клетке какой-нибудь герой (не проходя циклом по всем героям)?

UPD: уже разобрался: надо проверить тип объекта на клетке с помощью !!OB.
(This post was last modified: 05.12.2010 23:06 by Sav.)
05.12.2010 22:47
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 804
Post: #1378

Помогите правильно отредактировать вот это скрипт:

ZVSE
!#TM29:S1/999/7/255;
!?TM29;
!!UN:U63/19/?y1; для объхекта типа х подтипа у
!!DO278/1/y1/1&y1>0:P;

!?FU278;
!!UN:U63/19/x16/1;
!!PO1:N?y1;
!!FU&y1=0:E; если уже нуль, выход
!!PO1:N0; - каждую неделю обнуление

!?OB63/19&1000; [посещение объекта]
!!IF:V43/0; флаг сообщения
!!PO998:N?y1; (получить посещение)
!!IF&y1>0:M^объект в этой точке на карте нельзя посетить^;
!!FU273&y1=0:P; объект можно посетить, далее функция

!?FU273;
!!IF:Q43^{Да или Нет?}^;
!!PO998&43:N1; (запретить посещение этого объекта, в этой клетке на карте)

Скрипт должен работать так: на карте много объектов (тип 63/19 пепел). Каждый из них должен быть независимым друг от друга, т.е. посещаю 1 пепел, появляется скрипт, этот объект блокируется до следующей недели и его можно посетить только через неделю, или хотя бы в любой день на следующей недели. Посещаю 2-й пепел - там такой же сценарий и т.д. Объекты одного типа и подтипа должны работать каждый сам за себя, не влияя на другие.


Моя страница в ВК
Моя разработка мода
10.01.2011 22:48
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1379

Diman Master, поправил скрипт, кроме того убрал некоторые правильные, но ненужные действия (типа проверки на 0 перед обнулением и вызова лишних функций).


Изменения понятны, или стоит пояснить?
(This post was last modified: 11.01.2011 00:37 by Sav.)
11.01.2011 00:06
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 804
Post: #1380

Sav, спасибо! Кое-что уже стало лучше, по крайней мере за 1 неделю не вылазиет 1 и тот же скрипт, но только что тестил его - там заметен сбой какой-то, 1 посетил и он больше никогда не включается, другой бывает включается через неделю, ещё другой опять непонятно как работает, вроде должно каждую неделю, а там то появляется, то нет. Может ещё чего-то нехватает в командах erm? Посмотри внимательней или протести его сам, если не получится, всё равно спасибо, тогда этот скрипт поясни.Rolleyes


Моя страница в ВК
Моя разработка мода
11.01.2011 00:20
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-2024 MyBB Group