igrik
Posts: 2819
|
|
15.09.2015 18:40 |
|
igrik
Posts: 2819
|
Quote:!!EX:R$1/$2/$3/$4 $1 – есть артефакт или нет (0 = нет, 1 = да) $2 – номер артефакта (сейчас только 156) $3 – подтип артефакта (опции 0…15 – еще не все используются) $4 – количество копий артефакта (0...3)
gamecreator, ты не вкурсе как увеличить кол-во копий арта с 0...3 до 0...6?
game bug fixes extended.dll || My Plugins || My GitHub
|
|
16.09.2015 22:44 |
|
gamecreator
Posts: 7107
|
|
17.09.2015 01:00 |
|
Valery
Posts: 2196
|
In my opinion, is not a good solution to increase number, because player will anyway need to remove the extra 5 copies manually then. If it is for WT keys mod, just store each warlord banner then give the extra to hero backpack
This is what I use in army management, all extra banners from combining 4-6 stacks into one go to backpack:
(This post was last modified: 17.09.2015 04:25 by Valery.)
|
|
17.09.2015 04:24 |
|
igrik
Posts: 2819
|
Quote:Но это очень сильное колдунство. Мне пытаться?
Ого как ты сложно спросил. Я тут не в праве решать. Но если конечно же у тебя есть время и желание, это было бы очень замечательно.
Спасибо, Valery. В таком духе я и добавлю этот функионал в HoatkeysWT + прикручу фунцию: быстрое снятие одной еденицы Знамени Полководца с отряда с перемещением его в рюкзак (на какую бы комбинацию кнопок его повесить? [Ctrl+ПКМ] сойдет? А то ЛКМ почти вся уже занята).
Сейчас как раз я делаю умное распределение отрядов по Shift+ЛКМ (равное разделение отрядов) с учетом Знамени и опыта
game bug fixes extended.dll || My Plugins || My GitHub
|
|
17.09.2015 12:25 |
|
gamecreator
Posts: 7107
|
(17.09.2015 12:25)igrik Wrote: Ого как ты сложно спросил. Я тут не в праве решать. Но если конечно же у тебя есть время и желание, это было бы очень замечательно.
Ну я конечно же попробую, потому что раньше ничего подобного не делал. Но ценности именно в плане управления отрядами я не вижу. Лишние артефакты всегда можно сбрасывать в рюкзак, как верно заметил Valery. Кстати, удаление артефактов при соединении тоже попытаюсь исправить.
А про пол-системы это я преувеличил немного. Слава ООП!
(17.09.2015 01:00)gamecreator Wrote: забрать биты у номера артефакта, раз он бывает только один. Тогда можно будет 0..15.
А можно ещё и убрать бессмысленное поле наличия артефакта и освободить ещё целый бит. Тогда можно будет 0..30 копий иметь (то есть 0..31 артефактов). А если и это мало, то там ещё есть 10 бит неиспользованных. Можно сделать 0..32766 копий если надо.
When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
|
|
17.09.2015 15:07 |
|
igrik
Posts: 2819
|
:D
Quote: можно ещё и убрать бессмысленное поле наличия артефакта и освободить ещё целый бит.
и сделать о кол-ве знамен не 0...3, а 1...4 (или в этом духе). или если нет знамени, то устанавливать -1.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
17.09.2015 18:42 |
|
gamecreator
Posts: 7107
|
Да, было. Но всё это можно в воговских исходниках найти:
0x698BC4 - таблица названий вторичных навыков, хз зачем она. Подряд идут указатели на строки с названиями.
0x698C34 - таблица описаний вторичных навыков, хз зачем она. Подряд идут указатели на строки, по три строки на навык.
0x698D88 - таблица названий и описаний вторичных навыков, используется игрой (это та, которую я находил). Подряд идут указатели на строки, по 4 стоки на навык (первая - название).
0x679C80 - адрес таблицы специализаций (подменяется вогом). На каждую специализацию сначала идут 7 четырёхбайтовых чисел, потом указатели на три строки (третья - описание, первые две - название какое-то).
Как заменять: создаёшь строковую переменную SN:W, получаешь её адрес и присваиваешь этот адрес вместо геройского родного. Сохранять эти переменные в сейве не нужно.
Это всё может понадобиться переустанавливать каждый раз при запуске игры.
When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
|
|
18.09.2015 16:19 |
|
igrik
Posts: 2819
|
Algor, тут заменено описание базового интеллекта, т.е. через цикл можно заменить все описания
PS: Как ввариант: создать таблицу такого же размера, и заменить указатель старой таблицы на указатель своей таблицы. Так можно вообще?
game bug fixes extended.dll || My Plugins || My GitHub
|
|
18.09.2015 17:19 |
|
gamecreator
Posts: 7107
|
|
18.09.2015 18:03 |
|
Algor
Posts: 3881
|
Угу, а если не заморачиваться со слотами и использовать это:
feanor Wrote:Получить адрес z-переменной из ert-файла
!!SN:E7824928/1/299000; //299000 - номер.
Пойдет?
Т.е. у меня задача, собственно, текст из ert загнать в описание навыка/специализации и освободить полтора-два десятка z-переменных.
|
|
18.09.2015 18:37 |
|
igrik
Posts: 2819
|
ну а че не пойдет то? Работет жеж
(18.09.2015 18:03)gamecreator Wrote: (18.09.2015 17:19)igrik Wrote: !!VRy1:S10; указываем нормер создаваемого слота
Для временной переменной можно и не занимать номер.
Можно, но лентяйская натура дает своё, + так проще редактировать, ибо менять всего одно значение, а не во всех местах искать этот номер.
game bug fixes extended.dll || My Plugins || My GitHub
|
|
18.09.2015 18:56 |
|
Algor
Posts: 3881
|
|
18.09.2015 20:15 |
|
gamecreator
Posts: 7107
|
Achievement get!
Code:
; SetArtAll
753313 8B45088B510881E2FF1FC0FF85C0740C8B45144083E01FC1E00D09C28B451083E00FC1E01209C28951088BE55DC210009090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
; HasArt
7279C3 8B41082500E003007406B80100000090
; GetArt
728263 B89C00000089EC5DC390909090909090909090909090909090
; ArtCopy (get)
727A63 8B41082500E003007406C1E80D489090
; DelArt
727903 8B410825FF1FC0FF89410889EC5DC39090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
; SetArt
7279E3 8B51088B450C81E2FF1FC0FF83E00F81CA00200000C1E01209C2895108B80100000089EC5DC208009090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
; GetArtNums
768B93 8B41082500E00300C1E80D89EC5DC3909090909090909090909090909090909090909090909090
; TakeArt
728283 8B410889C22500E00300741EC1E80D48740A81E2FF1FFCFF09C2EB0681E2FF1FC0FFB80100000089510889EC5DC390909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
; CopyArt
727D53 8B55088B42088B51082500E03F0081E2FF1FC0FF09C289510889EC5DC20400909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
; ArtCopy (set)
727A83 8B51088B450881E2FF1FFCFF83F8007D07B801000000EB0D83F81F7C07B81F000000EB0140C1E00D09C289510889EC5DC204009090909090909090909090909090
Теперь, igrik, потестируй, где именно я накосячил. Кто с опытом и знамёнами играет - можете тоже.
Соединение отрядов я не трогал пока, знамёна всё равно будут теряться. Но с лимитом в 31 шт. это уже не критично.
When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
|
|
18.09.2015 23:52 |
|