Current time: 15.04.2024, 00:38 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 2
Post: #9151

SergOz, о супер, благодарю вас дважды. За быстрый ответ, и за вашу шикарную карту
25.10.2023 10:46
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #9152

Shaddar_Rim, пожалуйста. Если что - обращайся: здесь всегда помогут с написанием скриптов.
Карт на ERA катастрофически не хватает. По-моему, это одна из причин её низкой популярности.


Карта-мод "Война на Холсте"
25.10.2023 19:50
Find all posts by this user Quote this message in a reply
Georgv Offline

Posts: 30
Post: #9153

Привет Всем ! Написал скрипт наследования клонами опыта от родительского отряда. Вроде работает - но не всегда, такое ощущение что от номера слота в армии зависит - для некоторых работает, для некоторых нет. Может подскажет кто в чем причина ?
06.11.2023 09:28
Find all posts by this user Quote this message in a reply
Georgv Offline

Posts: 30
Post: #9154

А все - сам разобрался ) Забыл еще один !!en; в конце дописать.
06.11.2023 11:16
Find all posts by this user Quote this message in a reply
Georgv Offline

Posts: 30
Post: #9155

Обнаружилась еще одна неприятность. Оказывается если добавить клону опыт через EA, то все параметры атаки, защиты, скорости итд. сохраняются в номере отряда. При вызове нового клона они остаются от прошлого- погибшего. Типа - делаем клон архангела, он погибает. Призываем клон гремлина - все характеристики как у архангела. Интересно можно ли это обнулять как-нибудь без костылей.
06.11.2023 22:51
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #9156

Справка пишет, что они должны пересчитываться

EA:E Замечание: использование команды вызывает пересчёт параметров стэка (Атака, Защита, Уроны, Скорость, и т.п.), из-за чего могут потеряться бонусы наложенных на стэк заклинаний (например, бонус скорости от Ускорения).

Весь опыт стеков сам по себе один большой костыль - поэтому и работать с опытом вам придётся тоже костылями.

UPD: В дополнение, в цикле в вашем примере нельзя использовать FU:E. Скорее всего у вас поэтому и проблема происходит с непересчётом параметров.


game bug fixes extended.dll || My Plugins || My GitHub
06.11.2023 23:07
Visit this user's website Find all posts by this user Quote this message in a reply
Georgv Offline

Posts: 30
Post: #9157

igrik, Понял спасибо ! Да они пересчитываются - но проблема в том что при вызове нового клона все параметры берутся от старого погибшего, если номер отряда совпадает. И пересчитываются уже исходя из них. Да выход из функции я убрал уже. Теперь так
(This post was last modified: 06.11.2023 23:36 by Georgv.)
06.11.2023 23:25
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #9158

Подскажите, плиз, формулу пересчёта очков опыта героя в его уровень.
Если таковая есть...


Карта-мод "Война на Холсте"
08.11.2023 21:56
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 787
Post: #9159

(08.11.2023 21:56)SergOz Wrote:  Подскажите, плиз, формулу пересчёта очков опыта героя в его уровень.
Если таковая есть...

Первые 12 уровней для опыта используются табличные значения (есть в ERM-хелпе),
а потом для перехода на каждый следующий уровень требуется в 1,2 раза больше опыта, чем для перехода на предыдущий уровень.
Например:
11 уровень дают при 17500 опыта, 12-й - при 20600 опыта.
Чтобы перейти с 11 на 12 уровень, нужно набрать 20600 - 17500 = 3100 очков опыта.
Значит, чтобы перейти с 12 уровня на 13-й, нужно набрать еще 3100 * 1,2 = 3720 очков опыта,
с 13-го на 14-й - 3720 * 1,2 = 4464 очков опыта и так далее.

Проще всего наверное просто табличные значения использовать вместо формулы для пересчета.
(This post was last modified: 09.11.2023 01:41 by wessonsm.)
09.11.2023 01:11
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #9160

wessonsm, спасибо!
Я подозревал, что проще сделать таблицу...


Карта-мод "Война на Холсте"
09.11.2023 04:07
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #9161

Не нужно делать таблицу, ибо она уже есть в самом Воге


game bug fixes extended.dll || My Plugins || My GitHub
09.11.2023 06:34
Visit this user's website Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #9162

igrik, я знаю этот код, но я не понимаю как он может мне помочь.
Ведь он показывает сколько очков опыта нужно набрать до искомого уровня. А мне нужно другое.

Поясню.
В моём моде есть вариативный квест, в котором герой игрока может на время получить очень высокий уровень. Уровень даётся экипировкой артефакта без прибавления очков опыта. Это позволит игроку получить некоторые плюшки, недоступные в альтернативных вариантах квеста. При снятии артефакта - уровень должен возвращается на "нормальный". Но за это время герой может провести несколько боёв и набрать очки опыта. Так вот мне нужно вычислить какой текущий уровень героя при снятии этого артефакта или при его последующем принудительном удалении, чтобы корректно установить этот уровень.

Надеюсь, нормально пояснил)


P.S. Я прикинул, что за время владения этим артефактом, герой может набрать максимум 2-3 уровня. А, при получении артефакта, разница в уровне может составлять не более 2 уровней. Потому, таблица (с запасом) в 6 уровней не так уж громоздка. Но, если у кого есть идеи получше - буду признателен Yes


Карта-мод "Война на Холсте"
(This post was last modified: 09.11.2023 09:53 by SergOz.)
09.11.2023 09:43
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2271
Post: #9163

(09.11.2023 09:43)SergOz Wrote:  Так вот мне нужно вычислить какой текущий уровень героя при снятии этого артефакта или при его последующем принудительном удалении, чтобы корректно установить этот уровень.

Если уровень меньше 12, то обращайся к таблице по адресу 679C88h

Если уровень больше 12, то умножай 1.2 к предыдущему значению уровня.

Если лень считать, то можешь использовать Тифоновский массив значений опыта:

Code:
HERO_LEVELS = $
dd 1000        ; 2
dd 2000        ; 3
dd 3200        ; 4
dd 4600        ; 5
dd 6200        ; 6
dd 8000        ; 7
dd 10000    ; 8
dd 12200    ; 9
dd 14700    ; 10
dd 17500    ; 11
dd 20600    ; 12
dd 24320    ; 13
dd 28784    ; 14
dd 34140    ; 15
dd 40567    ; 16
dd 48279    ; 17
dd 57533    ; 18
dd 68637    ; 19
dd 81961    ; 20
dd 97949    ; 21
dd 117134    ; 22
dd 140156    ; 23
dd 167782    ; 24
dd 200933    ; 25
dd 240714    ; 26
dd 288451    ; 27
dd 345735    ; 28
dd 414475    ; 29
dd 496963    ; 30
dd 595948    ; 31
dd 714730    ; 32
dd 857268    ; 33
dd 1028313    ; 34
dd 1233567    ; 35
dd 1479871    ; 36
dd 1775435    ; 37
dd 2139111    ; 38
dd 2555722    ; 39
dd 3066455    ; 40
dd 3679334    ; 41
dd 4414788    ; 42
dd 5287332    ; 43
dd 6356384    ; 44
dd 7627246    ; 45
dd 9152280    ; 46
dd 10982320    ; 47
dd 13178368    ; 48
dd 15813625    ; 49
dd 18975933    ; 50
dd 22770702    ; 51
dd 27324424    ; 52
dd 32788890    ; 53
dd 39346249    ; 54
dd 47215079    ; 55
dd 56657657    ; 56
dd 67988790    ; 57
dd 81586128    ; 58
dd 97902933    ; 59
dd 117483099    ; 60
dd 140979298    ; 61
dd 169174736    ; 62
dd 203009261    ; 63
dd 243610691    ; 64
dd 292332407    ; 65
dd 350798466    ; 66
dd 420957736    ; 67
dd 505148860    ; 68
dd 606178208    ; 69
dd 727413425    ; 70
dd 872895685    ; 71
dd 1047474397    ; 72
dd 1256968851    ; 73
dd 1508362195    ; 74
HERO_LEVELS_MAX = $
dd 1810034207    ; 75
dd 2147483647    ; 76 - физический предел
HERO_LEVELS_END = $
09.11.2023 10:10
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1287
Post: #9164

(09.11.2023 10:10)XEPOMAHT Wrote:  Если уровень больше 12, то умножай 1.2 к предыдущему значению уровня.

Так я же не знаю какой он - предыдущий уровень!
Он мог повысится на 1 или 2 или 3 уровня со времени экипировки артефакта. Или не повыситься вовсе...
Раз нет формулы пересчёта имеющихся очков опыта в уровень, то подходит только конкретное сравнение текущего опыта с потенциально возможным уровнем... Мне так кажется Bad


Карта-мод "Война на Холсте"
(This post was last modified: 09.11.2023 20:39 by SergOz.)
09.11.2023 10:16
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #9165

SergOz, так задача же простейшая.
Идёшь линейно итерацией от 1-го уровня вверх и проверяешь на "пока текущий уровень опыта героя больше уровня в таблице". Когда уровень станет меньше табличного -> выход и назначение уровня в текущей итерации.

Готовое решение. Но лучше попробуй сначала решить сам (Click to View)


game bug fixes extended.dll || My Plugins || My GitHub
09.11.2023 23:52
Visit this user's website 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