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

Post Reply 
Threaded Mode | Linear Mode
Исследование героев
» туториал(ы)
Author Message
feanor Offline

Posts: 624
Post: #661

Щас посмотрю.
Есть mip, который указатель на тайл клетки, а есть пакованные координаты.

//здесь - да, пакованные координаты
(This post was last modified: 23.10.2015 19:39 by feanor.)
23.10.2015 19:37
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #662

это побитовый сдвиг с присваиванием? блин, для меня это темный лес, а можно разжевать для чайника


game bug fixes extended.dll || My Plugins || My GitHub
(This post was last modified: 23.10.2015 23:52 by igrik.)
23.10.2015 23:51
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #663

Разве ты с флагами существ не работал?
Вообще у Миханика хорошо рассказано, в предисловии к справке по значениям OB:C. Недавно мелькала тут ссылка на дф2.


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

Posts: 2819
Post: #664

работал, но я всё равно не вижу связи. Ты хочешь сказать, что это вроде проверки &16 или |16?


game bug fixes extended.dll || My Plugins || My GitHub
24.10.2015 00:56
Visit this user's website Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #665

Да. Вот смотри, есть у тебя int:
Code:
□□□□ □□□□ □□□□ □□□□ □□□□ □□□□ □□□□ □□□□
Всего 32 двоичных цифры (то есть 32 бита).
Число твоё - это сумма: (x & 0x3FF) + ((y & 0x3FF) << 16) + ((l & 0xF) << 26).
0x3FF = 11 1111 1111 (10 бит)
0xF = 1111 (4 бита)
Это обычная маска, как в твоём &16.
Теперь смотришь на сдвиг. Значение сдвинуто влево на несколько бит, то есть все его цифры переместились на более старшие позиции. Если сдвинуто влево на 1 бит, то 0-й бит будет пустым, а значение будет начинаться с 1-го бита. Если сдвинуто на 2, то 0-й и 1-й биты пустые, значение начинается со 2-го и т.д.
Значит x начинается с 0-го бита, y - с 16-го, l - с 26-го:
Code:
- □□□□ □□□□ □□□□ □□□□ □□□□ □□□□ □□□□ □□□□
x                            11 1111 1111
y        11 1111 1111
l   11 11
Как видишь, они не пересекаются. Каждое значение на своём месте:
Code:
□□ll llyy yyyy yyyy □□□□ □□xx xxxx xxxx


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

Posts: 2819
Post: #666

я въехал!!! Огромное, огромное мерси! И теперь знаю как это применить...
Ведь int = 4 байта = 32 бита жеж. Вуаля))


game bug fixes extended.dll || My Plugins || My GitHub
(This post was last modified: 24.10.2015 02:25 by igrik.)
24.10.2015 02:21
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #667

Окно найма существ/боевых машин героем
  1. !!OW:A-1/?y1;
  2. !!FU8980040:Py1/132/10/133/11/134/12/135/13/1; // нанять всех нейтральных драконов в кол-ве 10...13 шт.
  3. !!FU8980040:Py1/145/1/146/1/147/1/148/1/2; // нанять все боевые машины
  4. !?FU8980040;
  5. ; x1 - указать номер героя
  6. ; x2/x3 - номер 1 существа/кол-во (обязательно)
  7. ; x4/x5 - номер 2 существа/кол-во (либо -1/0)
  8. ; x6/x7 - номер 3 существа/кол-во (либо -1/0)
  9. ; x8/x9 - номер 4 существа/кол-во (либо -1/0)
  10. ; x10 - для существ (1), для боевых машин (2)
  11. !!OW:A-1/?y1; !!FU&y1<0:E;
  12. !!SN:E6386834/1/188; !!VRy17:Sv1;
  13. !!SN:E7411341/1/x1; !!VRy1:Sv1; !!VRy1&x10=1:+145;
  14. !!VRy10:S10*4 +8943204; // адрес переменной v10...v13
  15. !!VRy20:Sy10; !!VRy21:Sy10 +4; !!VRy22:Sy10 +8; !!VRy23:Sy10 +12;
  16. !!VRv10:Sx3; !!VRv11:Sx5; !!VRv12:Sx7; !!VRv13:Sx9;
  17. !!SN&x10=1:E5576528/2/y17/y1/0/x2/y20/x4/y21/x6/y22/x8/y23;
  18. !!SN&x10=2:E5576800/2/y17/y1/x2/y20/x4/y21/x6/y22/x8/y23;
  19. !!VRy11:Sv1; !!UN:C6919504/4/?y1; !!SN:E4917104/2/y1/y11;
Отписываюсь и там и там, ибо df2 имеет свойство не работать


game bug fixes extended.dll || My Plugins || My GitHub
(This post was last modified: 09.11.2015 19:57 by igrik.)
09.11.2015 19:09
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #668

Дополним триггер !?CM
Code:
!?CM0 - вызывается при клике ПКМ на карте приключений
!?CM1 - вызывается при клике в окне замка
!?CM2 - вызывается при клике в окне героя
!?CM3 - вызывается при клике в окне обмена между героями
!?CM4 - вызывается при клике на поле боя
!?CM5 !?CM9 - вызываются при клике ЛКМ на карте приключений
!?CM6 - вызывается при одевании артефакта
!?CM7 - при движение мышью в бою
!?CM8 - при движении мышью в городе
!?CM11 - после покупки здания (видимо при обновлении/прорисовке окна города и карты приключений, окна боя), посещение любого объекта на карте,
!?CM12 - при открытии книги заклинаний на карте приключений через кнопку
!?CM13 - при закрытии книги заклинаний на карте приключений через кнопку
!?CM14 - вход в окно покупки зданий в городе
!?CM15 - выход из окна покупки в городе
!?CM30 - открытие окна командира
!?CM31 - закрытие окна командира
триггеры CM10, 16...21 пока не нашёл


game bug fixes extended.dll || My Plugins || My GitHub
(This post was last modified: 12.11.2015 03:55 by igrik.)
12.11.2015 03:53
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #669

о_О
шо, правда?
12.11.2015 04:29
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #670

А, отставить офигевать.

Сравни с списком (erm.cpp)
Quote:// 30310 mouse click на карте (правый) !?CM0
// 30311 mouse click в Городе !?CM1
// 30312 mouse click in hero screen !?CM2
// 30313 mouse click it two heroes screen !?CM3
// 30314 mouse click in battlefield !?CM4
// 30315 игрок снял артифакт
// 30316 игрок одел артифакт
// 30317 mouse move over battlefield
// 30318 mouse move over townscreen
// 30319 mouse click на карте (левый) !?CM5
// 30320 MP3 music
// 30321 WAV and M82 Sound 3.58
// 30322 Magic cast (adv. map) (pre-trigger)
// 30323 Magic cast (adv. map) (post-trigger)
// 30324 Go to Town Hall Screen 3.58 !?TH0
// 30325 Leave Town Hall Screen 3.58 !?TH1
// 30330 MP before sending data before battle
// 30331 MP after receiving data before battle
// 30332 MP before sending data after battle
// 30333 MP after receiving data after battle
// 30334 MP received data during a battle
// 30340 CO Перед открытием диалога Командира
// 30341 CO После закрытия диалога Командира
// 30342 CO После покупки Командира в городе
// 30343 CO После воскрешения Командира в городе
12.11.2015 04:36
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #671

млинн, точно!


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

Posts: 2819
Post: #672

Что то не могу найти в exe: по какому адресу лежит "avwphx.def".
Да и вообще с подменой дефа феникса жуткие траблы. Не меняются дефы, хоть убей. Приходится изменять название через патч экзешника. С основным дефом и озвучкой разобрался. Но вот деф на карте не могу найти

или что такое?
_int_ advmap_low;
_int_ advmap_high;


game bug fixes extended.dll || My Plugins || My GitHub
(This post was last modified: 04.12.2015 22:53 by igrik.)
04.12.2015 17:34
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #673

Дефы на карте в объектных текстовиках.
05.12.2015 00:18
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #674

Генерация рандомных артов - это 004C9190

(25.12.2015 02:34)Algor Wrote:  Кто в курсе, как разрешить генерацию WoG-артефактов, например, артефактов командира, на карте (на месте случайных артефактов...)?
(25.12.2015 12:18)igrik Wrote:  Может можно через UN:C расширить кол-во артов. Мож там функция типа "_random[7,125]" и можно ее сделать "_random[7,255]"?

да, там надо в двух местах поправить константу (=144) на сколько надо.
Там есть нюанс - оно заодно обращается к двум таблицам (запрета артов и уже наличествующих артов), которые имеют фиксированный размер и, что хуже, лежат в очень динамической памяти
25.12.2015 14:06
Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #675

На DF2 зашел разговор о телекинезе, делать было нечего, поэтому начал накидывать, но потом что-то стало влом.
Короче, функция посещения героем любого объекта удалённо (даже самого себя):
  1. !?CM0; // [клик ПКМ на карте приключений]
  2. !!CM:I?y1; [узнать место клика]
  3. !!if&y1=8:; [правый клик на кнопке колдовать заклинание]
  4. !!CM:R0; [отмена стандартного действия]
  5. !!DL:P123;
  6. !!UN:C6918840/4/?y1; 006992B8; int pAdvManager // обновить экран карты приключений
  7. !!SN:E4289408/2/y1/1/0; 00417380; AdvMap_SwitchSurfaceView
  8. !!en:;
  9. !?FU123;
  10. !!OW:A-1/?y1; // активный герой
  11. !!FU&y1<0:E;
  12. !!TRx2/x3/x4:E?y2; // желтая клетка карты
  13. !!if&x1=0:; мышь двигается
  14. !!DL&y2=0:C1002;
  15. !!DL&y2<>0:C1000;
  16. !!en:;
  17. !!if&x1=12/y2=0:;
  18. !!DL:C1;
  19. !!FU8680055:Py1/x2/x3/x4; // тек.герой и координаты объекта
  20. !!en:;
  21. !!if&x1=14:;
  22. !!DL:C1;
  23. !!IF:M^Заклинание телекинез отменено.^;
  24. !!en:;
  25. !?FU8680055; посещение героем объекта удалённо
  26. ; х1 - номер героя
  27. ; x2..x4 - координаты объекта на карте
  28. !!UN:C6918840/4/?y10; // int pAdvManager
  29. !!SN:E7411341/1/x1; !!VRy2:Sv1; // получить структуру героя
  30. !!UN:C10784129/1/0 C10784128/1/x2; // записать все данные побайтно в адрес y1
  31. !!UN:C10784130/1/x3 C10784131/1/x4; // записать все данные побайтно в адрес y1
  32. !!SN:E7410371/1/y1; // получить адрес структуры клетки
  33. !!VRy3:Sv1; // записать адрес структуры в y3
  34. !!SN:E4882784/2/y10/y2/y3/y1; // посещение героем объекта


game bug fixes extended.dll || My Plugins || My GitHub
(This post was last modified: 06.02.2016 03:39 by igrik.)
06.02.2016 03:35
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-2025 MyBB Group