Current time: 20.04.2024, 21:29 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 2269
Post: #6106

(10.02.2020 21:01)Berserker Wrote:  игра не держит в памяти боевые дефы после боя, так что да, сработает.

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

(10.02.2020 22:09)igrik Wrote:  

Опять прямой адрес на таблицу, за что Вы их так любите? Для совместимости рекомендуется всё же использовать базовый адрес (т.к. таблица может быть в любой области памяти):

11.02.2020 01:23
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16486
Post: #6107

XEPOMAHT, лучше !!SN:F^GetRealAddr^/6541192/?y1; использовать для получения базового адреса.

Quote:Да, только игра может не знать, что деф загружен и используется. В итоге, после боя он остаётся в памяти невыгруженным и во время следующего боя происходит утечка памяти с аварийным завершением игры.
Не понял, как вызвать подобную ситуацию.


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

Posts: 2269
Post: #6108

(11.02.2020 02:54)Berserker Wrote:  Не понял, как вызвать подобную ситуацию.

К примеру, была когда-то идея реализации способности оборотня: во время боя при каких-нибудь условиях делать вражеский стек оборотнем. Но было непонятно, что делать с дефом, оставшимся от превращённого в оборотня стека - его использование наверное нужно проверять на других стеках и, если он в бою нигде больше не используется, как-то выгружать из памяти (т.к. после боя игра будет выгружать только деф оборотня).
11.02.2020 11:24
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #6109

(11.02.2020 11:24)XEPOMAHT Wrote:  Но было непонятно, что делать с дефом, оставшимся от превращённого в оборотня стека - его использование наверное нужно проверять на других стеках и, если он в бою нигде больше не используется, как-то выгружать из памяти (т.к. после боя игра будет выгружать только деф оборотня).
У каждого дефа есть поле RefCount (т.н. кол-во обращений к нему) вот это кол-во тебе нужно декрементить. И если в последствии RefCount будет равен нулю - игра сама его уничтожит.

(11.02.2020 01:23)XEPOMAHT Wrote:  Опять прямой адрес на таблицу, за что Вы их так любите? Для совместимости рекомендуется всё же использовать базовый адрес (т.к. таблица может быть в любой области памяти):
Просто привычка. Ничего более...


game bug fixes extended.dll || My Plugins || My GitHub
11.02.2020 11:49
Visit this user's website Find all posts by this user Quote this message in a reply
Shiva Offline

Posts: 122
Post: #6110

Друзья, предлагаю создать новую тему. Список всех рабочих скриптов ERM (библиотека скриптов ERM), которые за все время были созданы на форуме... каждый может ознакомится и выбрать для себя интересный скрипт. Ab
11.02.2020 14:45
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6111

Shiva, предложение хорошее, а что мешает это сделать?
- прошерсти эту тему и соседние (Скрипты на заказ, Если просто нужен скрипт, Создание новых скриптов).
- оформи все найденные и достойные внимания скрипты - описание, код (под тегами spoiler и erm) в отдельную тему. Желательно 1 скрипт - 1 пост.
Если всё получится, тему можно и нужно будет закрепить.


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

Posts: 140
Post: #6112

Algor, лучше думаю разделить по тематике, 1 пост - существа, 20- постройки, 3 - навыки, 4 - баланс. И периодически их редактировать. Легче будет ориентироваться.
11.02.2020 15:52
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3880
Post: #6113

Igor, есть ограничение форума на длину поста. А для простоты ориентирования можно в 1м посте сделать меню. Но для начало надо собрать всё годное в одну тему.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
11.02.2020 17:37
Visit this user's website Find all posts by this user Quote this message in a reply
ElfbI Offline

Posts: 325
Post: #6114

В скрипте 39 попадается такая строчка в комментариях:

TOBYN: changed x3 to y1 because modding x vars now has outside effects


Действия внутри функции напрямую с переданными в нее переменными как-то влияло на выполнение кода?


The dreams you kill will break your heart
(This post was last modified: 12.02.2020 22:52 by ElfbI.)
12.02.2020 22:50
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16486
Post: #6115

Судя по тому, что я видел, ряд вог скриптов использовали x-переменные как полуглобальное хранилище, пользуясь тем, что при вызове функции перезаписываются не все, а только переданные параметры. Так, в одной функции могли установить значение x3, в другой — использовать. Ад и Израиль, да.


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

Posts: 325
Post: #6116

Berserker, сейчас это изменилось? Просто в соседней ветке обсуждали баг в 24 - enhanced war machines I, так в нем x-переменные используются во всех позах, даже для получения значений - номера героя, например. Вот мне пришло в голову, что это может быть связано.


The dreams you kill will break your heart
13.02.2020 00:13
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16486
Post: #6117

ElfbI, сейчас особо не изменилось, разве что работает синтаксис FU:P?$, то есть копирование конечного значение соответствующей x-переменной в указанную вызывающим переменную. Таким образом осуществляется корректный возврат значения из функции.


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

Posts: 1012
Post: #6118

Здравствуйте ребята..
Снова прошу прощения за беспокойство, но вряд ли я разберусь без Вашей помощи..
У самого опять ничего не выходит Bad

Есть такая задумка: после победы над случайным монстром на карте, ну предположим в координатах 24/25/0 хобгоблин в кол-ве 25 воинов выпадет случайный артефакт из предложенных с определённым шансом выпадения!

!?PI; - стартовая загрузка
!!MO24/25/0:G25;
Далее, я хочу произвести обязательную проверку на наличие артефактов и в случае, если герой их уже имеет, то больше ему их не выдавать вообще
!!HE-1:A2/158/?y36/?y37;
!!FU&y36>=1:E;
!!FU&y37>=1:E;
Далее, я пытаюсь поставить шанс выпадения определённого артефакта (я взял предел от 0 до 20%) таким образом
!!VRy10:S0 R99;
!!MO24/25/0&y10>0/y10<20:A158; - дать артефакт
Но ничего не работает почему то и выводит ошибку? Может снова что-то с чем-то не сходится?
Ещё хотелось бы чтобы не только «158», а ещё «165», «131» артефакты рассматривались в рулетки на выпадение при убийстве данного монстра или нельзя сделать так чтобы несколько артефактов могли бы участвовать в выпадении с монстра, но никак не один?

Таким способом это можно будет организовать или нет? :
!!VRv516:S0;
!!VRv516:C158/165/131/d/d/d/d/d/d/d/d/d/d/d/d; - проверка артефактов
!!VRy12:S516 R14; регенерируем случайное число 516-530
!!VRv15:Svy12; теперь v15 хранит значение случайного артефакта
Или лучше такой способ;
!!UN:J6/16/?v10; - записываем случайный артефакт в число и потом это число будет выдаваться после победы над монстром (или этот способ больше подходит для определения конкретного класса артефакта)

Заранее благодарен за помощь
(This post was last modified: 13.02.2020 17:31 by fatsawhorse.)
13.02.2020 17:31
Find all posts by this user Quote this message in a reply
Sandris Offline

Posts: 410
Post: #6119

Подскажите, как прописать:

1. Запрет на размещение всех Свитков заклинаний на случайных и шаблонных картах?

2. Запрет на появление в игре заклинания "Слепота" (в Гильдиях Магов, свитках, пандорах, у школяров, пирамидах и магических святынях).
13.02.2020 18:29
Find all posts by this user Quote this message in a reply
ElfbI Offline

Posts: 325
Post: #6120

Я вот предложил бы ограничить длительность слепоты 1 ход без огня, +1 ход за каждый уровень магии огня. Иначе она имба имбовая, особенно с мощными палатками.


The dreams you kill will break your heart
(This post was last modified: 13.02.2020 20:48 by ElfbI.)
13.02.2020 20:41
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