Current time: 29.11.2024, 11:16 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 873
Post: #1786

(16.03.2012 17:00)Sav Wrote:  Заменить звук элементарно - найти его имя поиском текста в текстовой интерпретации кода в окне hex-view и прописать по найденному адресу новое имя (естественно, длина нового имени должна быть такой, чтобы оно туда влезало, на конце должен быть символ с кодом 0).
Убрать кнопки кампаний посложнее, тут надо анализировать код. Навскидку не скажу.
В том то и дело что я немогу так сделать так как этот звук используется по крайней мере двумя различными заклинаниями.


Ты роешься в моих паках, но ты делаешь это без уважения...
16.03.2012 17:03
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1787

А какая разница? Одному заклу, хоть тресни, не сделаешь 2 звука, но использовать один и тот же звук можно для скольки угодно целей.
16.03.2012 17:42
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #1788

(16.03.2012 17:42)Sav Wrote:  А какая разница? Одному заклу, хоть тресни, не сделаешь 2 звука, но использовать один и тот же звук можно для скольки угодно целей.
Мне не нужно 2 звука заклу, я говорю, что на два заклинания идет один и тот же звук, по этому в ехе поменять не получиться...


Ты роешься в моих паках, но ты делаешь это без уважения...
16.03.2012 17:45
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1789

Ты о чём конкретно? В exe просто записана таблица заклинаний со звуками, если где-то один и тот же звук, его имя должно повторяться. Но я такого не припомню.
16.03.2012 18:02
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #1790

(16.03.2012 18:02)Sav Wrote:  Ты о чём конкретно? В exe просто записана таблица заклинаний со звуками, если где-то один и тот же звук, его имя должно повторяться. Но я такого не припомню.
А какие примерно адреса? А то ни по названию звука ни по дефу не могу найти.


Ты роешься в моих паках, но ты делаешь это без уважения...
16.03.2012 18:36
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1791

Я сходу не помню. Но по звуку должно найтись. Просто надо искать не в главном окне дизассемблера (в нём эти строки могли не распознаться и быть записаны как числа), а в окошке hex-view, причём в его правой части, где отображено символьное представление шестнадцатеричных значений. Ты же идой пользуешься?

Если не получится найти самому, я скажу адрес, когда доберусь до компа.
16.03.2012 18:51
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #1792

(16.03.2012 18:51)Sav Wrote:  Я сходу не помню. Но по звуку должно найтись. Просто надо искать не в главном окне дизассемблера (в нём эти строки могли не распознаться и быть записаны как числа), а в окошке hex-view, причём в его правой части, где отображено символьное представление шестнадцатеричных значений. Ты же идой пользуешься?

Если не получится найти самому, я скажу адрес, когда доберусь до компа.
Блин, я тольком то даже не умею выяснять адрес памяти (только могу найти в ArtMoney несколько адресов по данному тексту, а какой из них нужно менять не знаю)... Я вообще думал, что это просто можно поменять в EXE, как это я сделал со звуками существ... Может научишь как находить нужный адрес в памяти и менять его с помощью ERM команд? Мне бы это очень пригодилось в будущем.
Звук заклинания взрыва (закл. №18) хочу поменять, вроде на него стоит звук с названием DECAY (по АртМани 053302D8), def - C05SPE0.def (085C52B0 и 085A20E0 )... Как я понимаю надо струтуру данных знать чтобы что-то подобное поменять.


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 16.03.2012 22:09 by totkotoriy.)
16.03.2012 19:29
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1793

Decay находится по адресу 0x688298. То, что в артмани - это левые динамические адреса, куда имя копирется из указанного мной адреса.

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

16.03.2012 22:17
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #1794

(16.03.2012 22:17)Sav Wrote:  Decay находится по адресу 0x688298. То, что в артмани - это левые динамические адреса, куда имя копирется из указанного мной адреса.

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

Спасибо! Попробую позже.
А этот адрес именно для взрыва?


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 16.03.2012 23:20 by totkotoriy.)
16.03.2012 23:16
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1795

Да, адрес первого байта строки "decay.wav".
(This post was last modified: 17.03.2012 00:04 by Sav.)
17.03.2012 00:03
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #1796

(17.03.2012 00:03)Sav Wrote:  Да, адрес первого байта строки "decay.wav".
57 а есть мануал как это можно через ЕРМ сделать (то есть как узнавать смещение стека и как его менять)? Или шаблон для на С++ для dll-ки? Как я понимаю другого пути нет. Даже я бы сказал шаблон то плагина у меня есть, но на что хук ставить не знаю (если он конечно вобще нужен).


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 17.03.2012 00:48 by totkotoriy.)
17.03.2012 00:34
Find all posts by this user Quote this message in a reply
totkotoriy Offline

Posts: 873
Post: #1797

Savыч прости неграмотного, нашёл я всё таки такую строчку в exe и думаю просто её поменять... видать я не стану ассом по изменению данных в героях Sorry...
Если чесно из мануала я так и не понял как вычисляется это смещение и есть ли оно вообще...


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 18.03.2012 03:40 by totkotoriy.)
17.03.2012 00:57
Find all posts by this user Quote this message in a reply
Sav Offline

Posts: 2180
Post: #1798

О каком конкоетно смещении ты говоришь? (Я просто не понимаю, о чём ты, поясни, и, возможно, я развею твои сомнения)
Через erm строчку поменять геморройно, а через dll можно как-нибудь так (не уверен, что не ошибся с синтаксисом):
Code:
memcpy((void*)0x688298, "Name.wav", 9);
Т. е. тупо скопировать в то место нужную строку (9 - длина строки + 1 нулевой символ).

Это нужно сделать один раз в самом начале игры (например, в событии Эры OnAfterWoG), создавать хук не нужно.

Можно вообще в виде bin-файла сделать.
(This post was last modified: 17.03.2012 11:09 by Sav.)
17.03.2012 01:17
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #1799



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

Posts: 873
Post: #1800

(17.03.2012 01:17)Sav Wrote:  О каком конкоетно смещении ты говоришь?
Да если б я сам знал Ab... Короче напишу что мне не понятно прямо:
Что такое статические и динамические адреса? И какие надо менять? Я как понимаю это адрес, который ты нашёл, это адрес памяти? Или чего? Должен он меняться при другом запуске игры или нет?
Как написать dll честно говоря не знаю... нужен там хук или нет?

А в ехе я поменял - эффета нету... видимо память где-то ВОГом еще редактируется.


Ты роешься в моих паках, но ты делаешь это без уважения...
(This post was last modified: 17.03.2012 01:49 by totkotoriy.)
17.03.2012 01:34
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