Current time: 23.04.2018, 14:36 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Замена Сопряжения
Author Message
gamecreator Offline
Administrators

Posts: 7146
Post: #46

Ищешь что такое SetMonMagic, находишь все ссылки на неё, просматриваешь подозрительные (вот у тебя тут 2 вызова рядом). Выполняешь рекурсивно пока в коде не найдётся прямой адрес, который легко найти.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
07.01.2016 23:14
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #47

в чем искать? в ida, артмани или олке?


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
07.01.2016 23:57
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 494
Post: #48

Quote:вуаля
если напилишь адрес возврата для трехэтажной ГМ, буду благодарен 96
у меня пока костылями

Quote:gamecreator, подскажи как найти адрес в сорцах WoG'a по вот этому (строка 4882 в Monsters.cpp)
я бы искал в олли через Search for -> All constants -> 9E, вогсекция.
Quote:И я так понимаю, что "char Ytown = *(char*)(c->esi+4); if (Ytown == 8) " можно было описать как-то проще

   if (*(char*)(c->esi+4)== 8) 96

на самом деле
Town* town = (Town*)c->esi;
if(town->type == 8) ..
(This post was last modified: 08.01.2016 00:10 by feanor.)
08.01.2016 00:09
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #49

ну как бы даже и не знаю, не костыль ли у меня 96
для трехэтажки хук 0x00460FA6
разврат 0x00460F80


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
08.01.2016 00:35
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #50

(08.01.2016 00:09)feanor Wrote:  я бы искал в олли через Search for -> All constants -> 9E, вогсекция.
Спасибо. Таким образом я нашел и второй адрес


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
08.01.2016 01:42
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #51

(07.01.2016 23:57)igrik Wrote:  в чем искать? в ida, артмани или олке?
Где удобнее. Я в олли ищу, иды у меня нет.

(08.01.2016 01:42)igrik Wrote:  снять огненный щит и палач с фена 8 ур и передать их закаленному снайперу
А чего просто не удалить? Изменить условный прыжок на безусловный после проверки условия.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
08.01.2016 03:12
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #52

(08.01.2016 03:12)gamecreator Wrote:  А чего просто не удалить? Изменить условный прыжок на безусловный после проверки условия.
Привычка. Если честно - даже и не задумался


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
08.01.2016 13:57
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #53

feanor, можешь объяснить по массиву (вроде так называется) приоритетов отображения строений в экране города. Нифига не могу въехать.
Это предпоследний штрих, и я наконец закончу.


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
09.01.2016 17:50
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 494
Post: #54

А чего там такого?

Code:
char priorities[44] =
{22,7,8,9,23,26,36,43,33,40,31,38,27,28,34,41,16,15,21,10,11,12,13,0,1,2,3,4,32,​39,24,25,14,17,29,35,42,30,37,18,19,5,-1,-1};
memcpy((void*)(0x642EC4 + 44*8), priorities, 44);
от дальнего к ближнему
09.01.2016 23:08
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #55

в том то и оно. Тогда как можно понять на примере гильдии магов:
{22,7,8,9,23,26} Она же первой идет в данной сетке.
22 то выше 7, 8, 9!
Я понимаю, что
22 - ГМ 0
7 - ГМ 1
8 - ГМ 2
и т.д.
Я ставил граааль в "0" и в "43" приоритет, а он все равно перекрывает некоторые (одни и те же) строения каждом из этих параметров. Отсюда я и туплю как пробка


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
10.01.2016 00:51
Visit this user's website Find all posts by this user Quote this message in a reply
StasPV Offline

Posts: 91
Post: #56

Цифры в массиве - номера городских строений (в ерм-хелпе есть таблица с числами). 22-спец строение, 7 - форт, 8 - цитадель, 9 - замок, 23 - спец строение. То есть, если в Причале на переднем плане ратуша-капитолий, и рынок - хранилище ресурсов, а на дальнем плане - генератор 4 и 5 уровня, то массив будет начинаться с 10,11,12,13,14,15 а заканчиваться 33, 40, 34, 41, а середину распределить.

То есть числа здесь не приоритет а именно номера зданий по порядку убывания от переднего плана к заднему.
(This post was last modified: 10.01.2016 01:51 by StasPV.)
10.01.2016 01:46
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #57

Всё верно. Спасибо. Только от заднего плана к ближнему.


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
10.01.2016 11:48
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 1300
Post: #58

feanor, как ты обошел вложенные файлы в "_HD3_Data\Common\Fix.Cosmetic", а именно:
- AVWPHX.def
- Cphx.def
- TOELup_6.bmp
- TZELup_6.bmp
- TBELdw_6.def
- TBELup_6.def

или что мне записать в 8 байт по адресу 0х6890B8
long, double или long double. Я хочу в духе
*(double*)0x6890B8 = (double)"TbElDw_7";


Скачать HoMM3 ERA 2.4.6 + (мелочи)
Скачать HoMM3 ERA 2.7.4 (Repack: Rus & HD)
10.01.2016 23:19
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline
Administrators

Posts: 7146
Post: #59

long double не влезет в 8 байт. Если ты просто пытаешься быстро скопировать туда 8 символов, то:
*(double*)0x6890B8 = *(double*)"TbElDw_7";
Ну или любой 8-байтный тип вместо double.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
10.01.2016 23:39
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 494
Post: #60

Quote:feanor, как ты обошел вложенные файлы в "_HD3_Data\Common\Fix.Cosmetic", а именно:
никак, я не использую HD (=
почему бы не заткнуть их средствами эры - та же папка _HD.., только в каталоге мода?

Quote:или что мне записать в 8 байт по адресу 0х6890B8
кришна с тобой, зачем так?
*(int*)0x6436A0 /*указатель на 6890B8*/ = (int)"tbeldw-6";
можно и memcpy/strcpy, конечно, но зачем?
(This post was last modified: 11.01.2016 23:35 by feanor.)
11.01.2016 23:28
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-2018 MyBB Group