Igor, таааааак!
y1 безопасно здесь использовать? или другой номер ей дать?
!?PI; при старте новой игры
!!VRe1:S10 :100; [задаем 10\100 = 10

!!SN:Xe1 X?y1; [конвертация величин для записи в память]
!!UN:C4471048/4/y1;
то есть этого достаточно? ;P
upd не, ошибка чёт
AuAu, если внутри скрипта y1 нигде не используется то безопасно, а так можно любое значение дать y1-y100 если не ошибаюсь. Вот пример готового скрипта с навыками: (вот только проценты предварительно надо конвертировать)
igrik, а есть какой-нибудь способ не прерывать анимацию фейспалма, а то фигня какая-то получается.
https://youtu.be/yadobglCvAA
Igor, пасяб, будем ковыряццо
ой чёт ни фига непонятно, почему там !!UN:C4471048/4/6535360 а ты говоришь UN:C6547900/4/y1; каким боком там 6547900? не помогает ни !!UN:C4471048/4/C6547900 ни !!UN:C4471048/4/y1 ни !!UN:C4471048/4/6535360 + UN:C6547900/4/y1; либо вылет, либо ничего не меняется
AuAu, я пример привел, после UN:C идет адрес состоящий из 7 цифр, у каждого параметра в игре свой адрес, его и нужно подставлять. 6547900 - адрес бонуса некромантии 1 уровня, 6547936 - адрес где хранится радиус обзора героя на 2 уровне разведки.
А после /4/ идет значение которое ты хочешь поместить. Если игра использеут число как есть, например радиус обзора, то что укажешь то и получишь. Если игра использует проценты, то нельзя просто написать 30%, надо написать 6535360. А каким образом можно получить 6535360 из 30% указано выше, либо просто погуглить, самые популярные варианты уже указаны.
Igor, всё верно, поместить число с плавающей запятой в целое можно так:
При этом сохранено изначальное значение первого параметра SN:X, а результат из e1 в y2 записан.
Quote:ZVSE
!?FU7700;
** меняем максимальный бонус защиты с 30% до 15%
!!UN:C4471048/4/6781344; [запись в память напрямую]
** end
остаётся 30%
Quote:!?FU7700;
!!VRe1:S10 :100; [задаем 10\100 = 10
!!SN:X?y1 Xe1 X?y2 Xy1; [конвертация величин для записи в память]
!!UN:C4471048/4/y2; [записываем в память]
вылет
может мне мне длл-ки какие-то обновить надо? сборка августовская отсюда
http://wforum.heroes35.net/showthread.php?tid=5235
на более старой сборке второй вариант не вызывает вылет, но по-прежнему не работает.
(25.09.2019 03:05)AuAu Wrote: [ -> ]остаётся 30%
Проверил - это 15%, должно работать.
(25.09.2019 03:05)AuAu Wrote: [ -> ]Quote:!?FU7700;
!!VRe1:S10 :100; [задаем 10\100 = 10
!!SN:X?y1 Xe1 X?y2 Xy1; [конвертация величин для записи в память]
!!UN:C4471048/4/y2; [записываем в память]
вылет
Такое НИКОГДА работать не будет, т.к.:
1. Пытаться заменять адрес на само значение - так делать не надо - будет вылет или неправильная работа функции.
2. ERA напрямую не работает с 64-х битными числами с плавающей запятой и не поддерживает такой тип данных. Поэтому прогонять их через эровские переменные - только извращёнными костылями. Проще забить или делать dll.
XEPOMAHT, а у мя 30%, многократно проверяю - 27-29% наносят,но никак не 15%.
пруф - [video]https://youtu.be/x7uKuV5pWAU[/video]
https://youtu.be/x7uKuV5pWAU
16 - это 28.6% от 56, никакне 15%
(25.09.2019 11:38)AuAu Wrote: [ -> ]а у мя 30%, многократно проверяю - 27-29% наносят,но никак не 15%.
Всё правильно. После сравнения с 30%, при превышении этого значения, значение изменяется на 30%. А ты меняешь только сравнение. Т.е. тебе нужно ещё и поменять 2 байта по адресу 4391Bh в exe на 3FC3h, чтобы твоё значение сбрасывалось на 15% вместо 30%.
(25.09.2019 11:51)XEPOMAHT Wrote: [ -> ] Т.е. тебе нужно ещё и поменять 2 байта по адресу 4391Bh в exe на 3FC3h, чтобы твоё значение сбрасывалось на 15% вместо 30%.
И откуда я должен был это узнать?
ты имеешь в виду 4391b? какой ещё h в хексе?

Можешь просто скинуть патченный ехе? я посмотрю через тотал коммандер, чем отличаются
XEPOMAHT, в данном случае хватит и одного байта для правки 0.3 на 0.15 ))
(25.09.2019 12:04)AuAu Wrote: [ -> ]Можешь просто скинуть патченный ехе? я посмотрю через тотал коммандер, чем отличаются
Можешь посмотреть и через olly (с помощью этого скрипта)
3F
D33333 -> 3F
C33333
Простым хекс редактированием ты ничего не сделаешь, потому что ничего не поймешь в нём: а именно что ты правишь и на что.
igrik, домо аригато, ты лучший! <3
Я хекс редактор для ромхакинга игр сеги юзаю ток, в основном, да и там тоже не особо сильно шарю.
(24.09.2019 17:40)AuAu Wrote: [ -> ]igrik, а есть какой-нибудь способ не прерывать анимацию фейспалма, а то фигня какая-то получается.
Покажи как ты сделал скрипт. Я не умею гадать по кофейной гуще.
Для проверки у себя я сделал скрип - никаких прерываний нет.