Current time: 09.08.2020, 10:03 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 1236
Post: #361

Я помню 1 способ обновить экран битвы - показать какую-нибудь анимацию на монстре. В 3.59 сделаю команды для обоих вещей.


Вся правда обо мне
26.08.2009 15:07
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6169
Post: #362

Так, второй вопрос снимается - я не учёл !!BU:R. Так что не надо это никуда добавлять - уже есть 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...
26.08.2009 15:41
Find all posts by this user Quote this message in a reply
MOP Offline

Posts: 1367
Post: #363

Я, кстати, тоже. Также нуждаюсь. Sm


Я на Лит-Нете
26.08.2009 15:44
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1053
Post: #364

ВНИМАНИЕ: формулу я не проверял. Подсказываю предполагаемый мной вариант. Баги и ошибки не исключены.

Используемые обозначения

ПЗ - полное здоровье, ОЗ - оставшееся, ПЗО - полное здоровье отряда (количество юнитов*ПЗ), ФЗО - финальное здоровье отряда, ФЗЮ - финальное здоровье юнита, ФКЮ - финальное количество юнитов.
Хронология действий:

Основные действия

1. Запомним разницу между ПЗ и ОЗ (в данном случае равна 7). Назовём её Р.
2. Восстановим отряду здоровье полностью (так, на 17 копейщиков будет уже не 163 очка, а 170 очков - то есть так, будто их и не трогали). Получим ПЗО.
3. Нанесём урон У нашему отряду. Далее возможны несколько вариантов.

Вариант А. У<ПЗО

1.Найдём ФЗО (оно равно ПЗО-У). Поделим ФЗО на ПЗ. Получим число. Это количество невредимых юнитов. Установим это количество и полностью восстановим отряд (количество равно ФКЮ). Остаток от деления запомним.
2. Если остаток от деления отличен от нуля, то запомним его. Добавим юнита в ФКЮ. Установим ему ОЗ из остатка деления ФЗО на ПЗ. Это будет ФЗЮ.
3. Вычтем Р из здоровья полученного юнита. Если Р<ФЗЮ, то установим ФЗЮ на значение ФЗЮ-Р. Если Р>ФЗЮ, то вычтем 1 из количества юнитов. Посчитаем Р-ФЗЮ. Установим здоровье юниту на ПЗ-полученное число. Если Р=ФЗЮ, то вычтем 1 из количества юнитов и установим юниту ОЗ=ПЗ.


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

Posts: 1053
Post: #365


ПРИМЕР.

Имеем: 12 копейщиков, чьё максимальное здоровье равно 10. Копейщикам уже нанесли урон, осталось 2 очка здоровья. Мы собираемся нанести им 89 единиц урона.
1. Найдём разницу между ПЗ и ОЗ. 10-2=8. Р=8
2. Восстановим копейщикам здоровье до максимума. Теперь наши копейщики без единой царапины. ПЗО=120 (количество копейщиков*ПЗ).
3. Нанесём урон У=89. Так как У<ПЗО, то перейдём к части А.
А1. Посчитаем ФЗО. Т.к. ФЗО=ПЗО-У, то получим 31. Поделим 31 на 10 и получим 3. Это - искомое ФКЮ. Остаток при делении вышел равным 1.
А2. Т.к. остаток отличен от нуля, добавим +1 к ФКЮ и установим ОЗ на значение остатка, то есть ОЗ=1=ФЗЮ. Итог - 4 копейщика, осталось здоровья 1.
А3. Р в данном случае больше ФЗЮ, поэтому из Р вычтем ФЗЮ, получим 7. Установим ФЗЮ=7. Из ФКЮ вычтем 1. ФКЮ=3, ФЗЮ=7. Итог - 3 копейщика, осталось здоровья 7.


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

Posts: 12772
Post: #366

GhostManSD, а это что? Перерасчёт кол-ва монстров и здоровья последнего после нанесения Х урона?


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

Posts: 1053
Post: #367

Да. Я просто думаю, что раз мне неизвестен способ исправить ресивер !!BM:K, то нужно искать другой способ. А оказалось, на вопрос уже давно ответили...Sorry


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

Posts: 12772
Post: #368

А если стёк должен умереть от удара, то: N0 L0 K1, BU:R


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

Posts: 7152
Post: #369

Efrit Wrote:А теперь просьба у меня. Может кто-нибудь выложить последнюю версию того скрипта, который менял дефы существ прямо в битве? И на каких версиях ВоГ он работает, скажите?
это чтоли? работает на всех начиная с 3.58ф.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
26.08.2009 18:50
Find all posts by this user Quote this message in a reply
Efrit Offline
Administrators

Posts: 6169
Post: #370

Игродел, скрипт по твоей ссылке (1-я страница) у меня совершенно не пашет. Ни на одной из весий - ни на 3.58f, ни та ТЕ, ни на 3.59 Bad Ты бы лучше не просто тупо ссылку дал, а сам скрипт выложил - так, чтобы я мог его скопировать в свою карту и он на 100% работал. Требуется заменить в битве деф Хоббита на новый деф (есть в лодах), а после битвы восстановить исходный...


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...
26.08.2009 21:58
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1053
Post: #371

Ребят, как каждую неделю добавлять в координаты x/y/l отряд кентавров количеством от 17 до 23, причём кентавры не убегают, настроены враждебно и за них даётся награда 25 золотых? Я так понимаю, таймер на каждые семь дней, затем добавлять в позицию кентавра. Но я не знаю, как заставить ERM проверять, есть ли там уже кентавр (ну или что-то ещё). А то получится десяток кентавров друг на друге... Помогите!


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

Posts: 7152
Post: #372

Эфрит, просто выражение "того скрипта" я понимаю так, что ты знаешь что это за скрипт (может видел его где и т.п.), вот я и уточняю тот это скрипт или нет.
это должно работать: http://forum.df2.ru/index.php?showtopic=...t&p=216024
если не работает - значит рабочей версии нет.
и в строке "!!VRy2:Sx2 -1 *512 +9597928;" вместо 9597928 написать 40225912 для работы в ВоГ


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
26.08.2009 23:00
Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7152
Post: #373

GhostManSD, проверкой типа объекта. могу написать скрипт, только скажи удалять ли посторонние объекты на той клетке (типа героя)?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
26.08.2009 23:12
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1053
Post: #374

Боже упаси! А то мы моего монаха убьём ещё в самом начале игры!! Fie Лучше не добавлять новый объект, коль там уже что-то стоит.
З.Ы. Можешь заодно написать, как отключить неделю монстров и каждую неделю писать "прошла ещё неделя"?
З.З.Ы. Идея пришла, когда я в какой-то карте увидел скрипт "Долина Бесконечного Золота" (туда постоянно добавлялось золото). К сожалению, на тот момент не хватило мозгов понять, а сейчас я эту карту где-то потерял.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
26.08.2009 23:16
Visit this user's website Find all posts by this user Quote this message in a reply
GrayFace Offline
Forum Moderators

Posts: 1236
Post: #375

в той строке лучше поставить v4138, который возвращает скрипт #20 в http://forum.df2.ru/index.php?showtopic=6813
Можно нормально заменить def на время всей битвы.
Чтобы заменить деф на какую-то часть битвы, надо либо загрузить def вызовом функции (т.е. Эра), либо присвоить деф чему-нибудь, потом поменять дефы местами...
GhostManSD, проверяй с помощью OB:T


Вся правда обо мне
26.08.2009 23:38
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