Igor
Posts: 140
|
igrik, раз разговор про UN:C, просвети: есть 2 скрипта, оба работают идеально.
Но в первом 75% это 6554608, а во втором 1061158912. Если сделать наоборот то волшебство просто не работает, а кавелерийский бонус приводит к вылету. Полагаю что в первом случае (кав. бонус) задается не значение напрямую, а указывается "переадресация" где это значение взять.
Добавлю в тему UN:C запись FAQ для чайников, а то много путаницы.
(This post was last modified: 25.09.2019 16:31 by Igor.)
|
|
25.09.2019 16:18 |
|
igrik
Posts: 2819
|
AuAu, у меня оказвается тоже дёргается. Будет время - посмотрю как сделать чтобы не прерывался фейспалм. Сейчас не могу глянуть детальнее.
Igor, сложно будет объяснить, если ты не знаком с простыми (основными, стандартными) типами данных.
В первом случае используется ссылка на массив переменных double (размер 8 байт). В твоём случае ссылка подменена на другую переменную double (кстати которая даст прирост за одну клетку на 480%, не знаю откуда взялся разговор про 75%). Поэтому и вылетов нет. Для работы программы всё корректно. Тут адрес ссылки на значение весит 4 байта, а само значение весит 8 байт. Ты патчишь адрес ссылки.
Во втором случае по адресу 6548092 (dec) ты правишь само значение, а не адрес ссылки на значение. Патчишь ты как раз 4 байта. И для данного кода программы используется тип переменной float, которое тоже имеет размер 4 байта. Еще раз, ты патчишь именно содержимое переменной, а не ссылку на другую переменную! Это важное отличие от первого способа. Именно поэтому, если поменять способы местами появляются вылеты.
Теперь коротко:
В первом случае при изменении способа ты пихаешь неизвестный для программы адрес, и программа пытается залезть туда, куда ей лезсть вообще не положено. Получается закономерный вылет.
Во втором случае сама формула начинает просто считать коряво. Как именно коряво она считает я не знаю. Нужно исследовать, но я не вижу в этом смысла.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
25.09.2019 18:14 |
|
AuAu
Posts: 287
|
|
25.09.2019 18:25 |
|
igrik
Posts: 2819
|
(25.09.2019 18:14)igrik Wrote: AuAu, у меня оказвается тоже дёргается. Будет время - посмотрю как сделать чтобы не прерывался фейспалм. Сейчас не могу глянуть детальнее.
Глубоко пришлось копать. Но готово)
Добавь в конец скрипта:
game bug fixes extended.dll || My Plugins || My GitHub
|
|
25.09.2019 20:06 |
|
AuAu
Posts: 287
|
igrik, уххх О_о Благодарю, о, Великий!
У меня меж тем снова что-то не работает - скопировал это из темы шаблонов
ZVSE
; отключаем способности командиров
!!UN:C7785525/2/37008; [3: Суккуб - Очарование]
!!UN:C7772712/2/37008; [8: Астральный дух -
Но Астральный дух всё равно прогоняет существ вражеского героя.
очень большая сборка модов для сиськофайтинга
In WoG we trust
|
|
25.09.2019 20:55 |
|
igrik
Posts: 2819
|
(25.09.2019 20:55)AuAu Wrote: ZVSE
; отключаем способности командиров
!!UN:C7785525/2/37008; [3: Суккуб - Очарование]
!!UN:C7772712/2/37008; [8: Астральный дух -
Но Астральный дух всё равно прогоняет существ вражеского героя.
В шапке темы по UN:C черным по белому же написано! Внимательнее будьте:
UPD: это были не совсем полный патч для данных командиров.
А вот это полный! (вырезаем полностью функции пацифизма и очарования).
game bug fixes extended.dll || My Plugins || My GitHub
|
|
25.09.2019 21:14 |
|
AuAu
Posts: 287
|
igrik, а, хорошо. Кстати, если герой защищается - то работает даже так.
"Атаковать ХХХ урон ХХХ убьёт ХХХ" - где эту надпись можно найти и сократить? никак не находится
очень большая сборка модов для сиськофайтинга
In WoG we trust
(This post was last modified: 27.09.2019 02:48 by AuAu.)
|
|
25.09.2019 22:06 |
|
Igor
Posts: 140
|
А есть на ERM способ реализовать кнопку переиграть бой как в HoMM3 HD?
|
|
27.09.2019 12:59 |
|
wessonsm
Posts: 815
|
(27.09.2019 12:59)Igor Wrote: А есть на ERM способ реализовать кнопку переиграть бой как в HoMM3 HD?
В сборке daemon_n есть плагин igrik'a BattleReplay.dll, но он по умолчанию отключен, поскольку не со всеми стандартными воговскими скриптами совместим. Можно попробовать включить, но некоторые скрипты будут выдавать баги.
На ERM такое весьма затруднительно сделать.
Upd: Соглашусь с daemon_n, я не совсем точно выразился)
(This post was last modified: 27.09.2019 13:46 by wessonsm.)
|
|
27.09.2019 13:34 |
|
daemon_n
Posts: 4356
|
(27.09.2019 12:59)Igor Wrote: А есть на ERM способ реализовать кнопку переиграть бой как в HoMM3 HD?
Есть ВОТ ТАКОЕ ЧУДО!!!
В игровой сборке в плагинах лежит, но отключен по умолчанию.
(27.09.2019 13:34)wessonsm Wrote: Можно попробовать включить, но некоторые скрипты будут выдавать баги.
Я бы сказал, что не все Эрм опции поддерживают переигровку.
Скрипт просто не срабатывает, если переиграть битву.

Новейший Heroes Launcher
|
|
27.09.2019 13:37 |
|
igrik
Posts: 2819
|
(25.09.2019 22:06)AuAu Wrote: "Атаковать ХХХ урон ХХХ убьёт ХХХ" - где эту надпись можно найти и сократить? никак не находится
(27.09.2019 12:59)Igor Wrote: А есть на ERM способ реализовать кнопку переиграть бой как в HoMM3 HD?
На ERM это сделать практически невозможно. Адски, просто адски сложно. Это что касается ERM
А так да - есть плагин, на который уже дали ссылку.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
27.09.2019 14:35 |
|
AuAu
Posts: 287
|
|
27.09.2019 17:06 |
|
Igor
Posts: 140
|
Вопрос по ресейверу HE, синтаксис A1/$1/$2, а именно
!!HE:A1/?@/x; - где @ - переменная для сохранения результата, x - номер проверяемого слота. Если артефакта нет, значение переменной равно -1. Ищу способ удобной активации спец. возможностей артефактов (в данном случае при клике по экипированному артефакту).
Что в скрипте не так? Выдает всегда: Артефакт в слоте -1.
(This post was last modified: 28.09.2019 16:56 by Igor.)
|
|
28.09.2019 15:37 |
|
PerryR
Posts: 460
|
!!FU|y1<>52:E; [выход если в слоте не телескоп] shouldnt this be y2 ? y1 still holds the value from the click
|
|
28.09.2019 16:21 |
|
AuAu
Posts: 287
|
Кто-нибудь юзал ещё скрипт на поднятие лимита защиты (85%)?
Чёт у меня вылеты довольно частые стали случаться когда вражеские мобы в первый раз получают ход. Началось с того дня, как скрипт защиты добавил, мб опять что-то не вставил куда-то?
И ещё - BattleReplay.dll при рестарте битвы возвращает лишь одну палатку/баллисту/тележку, можно сделать, чтобы возвращал все??
очень большая сборка модов для сиськофайтинга
In WoG we trust
(This post was last modified: 28.09.2019 17:16 by AuAu.)
|
|
28.09.2019 16:34 |
|