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

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

Posts: 16488
Post: #6346

Algor, я изменил её поведение на работу только в двух вариантах: ВКЛ/ВЫКЛ. По-хорошему нужно в ert-файле тоже замену сделать, чтобы было только 2 варианта.


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

Posts: 1012
Post: #6347

Здравствуйте..

Ребята, нужна помощь! Я никак не могу привязать один тригер к другому!
Вот в чём ситуация! Сначала у меня срабатывать должен тригер !?MF1; соответственно со всей своей начинкой (он срабатывает) и как только он сработает должен потом каждый ход работать тригер !?BG0;, но неначинать работать без тригера !?MF1; самостоятельно!
Вот не знаю как это можно сделать!
Чтобы просто работал первым всегда сам тригер каждый ход !?BG0 не надо, а именно чтобы сработал только после !?MF1 и продолжжал всегда самостоятельно уже работать (порсле каждого действия существ)!
Это вообще реально, если да, то подскажите что надо сделать или что прописать!

Так не сработал:
!?MF1; - тригер урона
!!VRw42:S1; - присваиваем значение 1
!?BG0&w42=1; если значение 1, то работает
Даже так не захотел:
!?MF1; - тригер урона
!!VRw42:S1; - присваиваем значение 1
!?BG0; тригер каждого действия
!!FU&w42=0:E; - выход, если переменная нулевая

Отдельно !?BG0 работает прекрасно!

Заранее благодарен…
(This post was last modified: 30.03.2020 11:38 by fatsawhorse.)
30.03.2020 11:35
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 779
Post: #6348

fatsawhorse,
Чтобы производить операции над w-переменными (переменные героя), нужно сначала указать, к какому герою они относятся. Это делает ресивер !!IF:W$ ($ - номер героя, -1 - текущий герой).
Это надо делать один раз в каждом новом триггере.
То есть в твоем случае надо писать:

И кстати, переменная w40 уже используется в скриптах WoG, лучше используй другую, например w35 (она вроде свободна).
Смотри раздел "использованные переменные" в справочнике по ERM.
(This post was last modified: 30.03.2020 12:18 by wessonsm.)
30.03.2020 12:02
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6349

wessonsm спасибо.. Буду пробовать, я правду не знал.. Переменные обязательно сегодня почитаю..

А скажите, а есть ещё один способ соединить эти тригеры или больше нету?
30.03.2020 12:14
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 779
Post: #6350

(30.03.2020 12:14)fatsawhorse Wrote:  А скажите, а есть ещё один способ соединить эти тригеры или больше нету?

Вероятно, есть. Можно использовать просто глобальную v-переменную.
30.03.2020 12:26
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6351

wessonsm, будьте добры, подскажите ещё касаемо переменных!

1. То есть я понимаю точно также
, но вместо w переменной можно подставить v переменную?

2. А присваивать 0 к ней надо перед использованием?

3. Такая запись уже будет не нужна !!IF:W-1, где w-переменные текущего героя заменить на v переменные?

4. А если в этом скрипте я обнулю перед использованием переменную w
, то можно ли будет использовать именно w40 или всё равно лучше не надо?
(This post was last modified: 30.03.2020 12:44 by fatsawhorse.)
30.03.2020 12:39
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 779
Post: #6352

fatsawhorse,
Мне сложно тебе это все объяснить, потому что я не знаю, что именно ты хочешь сделать этим скриптом.
w-переменные удобны, когда нужно запомнить какие-то значения для конкретных героев, в других случаях лучше использовать v-переменные, все зависит от ситуации.
3. Не нужна. Она нужна только для w-переменных.
4. Так ты ее не обнулишь, потому что перед обнулением ты опять не указал, к какому герою относится эта переменная.
Все равно лучше не надо. w40 может использоваться другим скриптом для долговременного хранения каких-либо данных, и ты можешь испортить работу этого скрипта.
30.03.2020 14:47
Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6353

wessonsm, я планировал применить скрипт перед самим ударом по противнику с неким шансом срабатывания и как только я удар нанесу по врагу, то будет активироваться другой скрипт с !?BG0, а это типа порчи.. Ну сначала врага я заражу, а потом будет каждый ход его порча терзать, если вздумает меня атаковать Sm ну как то так Sm

Подскажите, а v переменные всё-таки нужно обнулять перед использованием?
30.03.2020 14:53
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6354

(30.03.2020 14:53)fatsawhorse Wrote:  Подскажите, а v переменные всё-таки нужно обнулять перед использованием?
Как и любые другие, v-переменные нужно инициализировать только если собираешься изменять текущее значение (например, увеличивать или умножать на что-то) и не уверен, что текущее значение однозначно определено и содержит то значение, с которым ты собираешься работать.
Если ты собираешься переменной присвоить какое-либо новое значение или если получаешь в переменную значение каким-либо ресивером, дополнительная инициализация смысла не имеет.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
30.03.2020 15:45
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #6355

fatsawhorse, чувствуется что ты так и недоразобрался с переменными что и когда работает?..
давай примерами скажу, чтоб ты окончательно усвоил по ним инфу...
y (локальная)-это как некий ящик в квартире, где можно хранить, но тоолько в конкретно этой квартире (триггер), в другой квартире есть другой ящик хоть и такой же внешне, и эти ящики никак не связаны меж собой. Но все кто попадёт в конкретную квартиру сможет воспользоваться этим ящиком, учти это, замочка на нём нет ;-)
Но...
w (вроде бы глобальная, но принадлежит только одному хозяину)-это кармашек в сумке конкретного чела, и никто в этот кармашек кроме данного чела не сможет залезть. кармашек отдельно от чела использовать физически не получится, они всегда вместе ходят
v (глобальная)-это как именованная visa, которая вроде бы во всех банкоматах работает, и с ней можно делать операции он-лайн не выходя из квартиры, т.е. деньги с неё доступны везде, у неё можно уходить даже в минус, НО... никто не сможет изменить баланс твоей visa , даже ты, не зная её полные данные как минимум Yes

y-1 вроде бы и как v, глобальные, но многие признавали их не стабильными, и лучше даж не использовать их, да и громоздкие они в плане визуальности
x'ы только внутри !?FU, тут всё впросто
e, e- - забудь про них, пока ты не начнём использовать дробные данные, они тебе не нужны...
f..n - как и v, но их мало, всем нравится буквами оперировать, их проще запоминать и они короче, но это то и минус, их тупо взяли все, потому пришлось их пользовать для себя временно, иначе их где-то да затрёткакой-нить кусок кода скрипта. Но вроде бы они могут хранить куда бОльшие значения. чем в v
Что до обнуления, то тут всё тебе уже сказали
Обнуляй, если ты вдруг решил взять переменную, не зная есть ли там что-то... а ты хочешь с ней вести математические операции
А если ты хочешь в переменную что-то получить через некий ресивер !!...:N?$, то смелей, при такой операции она в любом случае сбросится до нуля перед записью туда уже данных через уаказнною тобой команду
(This post was last modified: 30.03.2020 16:56 by Bes.)
30.03.2020 16:45
Visit this user's website Find all posts by this user Quote this message in a reply
fatsawhorse Offline

Posts: 1012
Post: #6356

Спасибо за объяснения Bes, Algor и wessonsm

В принципе понятно...

А какую именно переменную правильнее взять при переходе с одного тригера на другой? Я понял что можно любую, но всё-таки

w или v ?
(This post was last modified: 30.03.2020 17:22 by fatsawhorse.)
30.03.2020 17:20
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #6357

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


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

Posts: 1012
Post: #6358

Berserker спасибо..
30.03.2020 17:43
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #6359

(30.03.2020 17:20)fatsawhorse Wrote:  А какую именно переменную правильнее взять при переходе с одного тригера на другой? Я понял что можно любую, но всё-таки

w или v ?
Если тебе придётся как-то завязывать данные на проверку к герою,то удобнее w. Если же там герой не важен как некий якорь к данным,то конечно v.
30.03.2020 18:59
Visit this user's website Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1292
Post: #6360

Подскажите , пожалуйста, возможно ли на один бой заблокировать быструю битву по клавише Q и потом восстановить параметр?
Просто такая Quick битва не учитывает ERM код, редактирующий эту битву.


Карта-мод "Война на Холсте"
31.03.2020 13:07
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