![]() |
![]() |
#1 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
![]()
В начале третьей главы уже 20 уровень(monk13/wiz7)!!!
Что делать? |
![]() |
[Ответить с цитированием] |
![]() |
#2 |
Камрад
Join Date: мая 2002
Posts: 80
|
Ну игра еще недавно вышла, непонятно пока, как это ограничение там стоит... Вот есть файл xptable.2da в директории override... По-моему после установки патча появляется... Но он какой-то непонятный... Если окажется, что дело только в нем, то очень скоро макс. уровень будет в районе 127
![]() ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#3 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Да есть там файл exptable.2da(не xptable.2da он для чего-то еще типа множителей експы или?) его можно из 2da.bif выдрать, только его изменение не помогает
![]() ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#4 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Ну значит так, раз никто не хочет сказать как убрать это ограничение пришлось мне самому вынимать с полки шашку и вперед.
Так вот если кого интересует я нашел способ снять LEVELCAP для этого надо немного подредактировать экзешник и прописать экспу для следующих уровней. HOWTO: 1. редактируем экзешник Берем HIEW открываем в нем nwmain.exe переходим в просмотр кода - ищем(F7) такую последовательность FF 52 54 8B 88 AC 00 00 00 она должна быть в двух местах Менять надо не ее ![]() После всех этих изменений У ВАС НЕ ПРОПАДЕТ НАДПИСЬ - NEXT LEVEL: MAXIMUM LEVEL !!!!!! но при достижении необходимого числа экспы вы сможете сделать LEVEL UP Как убрать эту надпись я не знаю, и возится мне лень!(ну че вы хотите я дебуггером сейчас пользуюсь раз в полгода) Небольшое отступление - версия экзешника у меня хрен знает какая толи 1.18 толи 1.19 (длина 5180416 байт) 2.редактируем файл exptable.2da Во первых его нужно вынуть из 2da.bif делается это очень просто - открываем 2da.bif в любом текст-редакторе и ищем кусок вида: 2DA V2.0 Level XP 0 1 0 1 2 1000 2 3 3000 3 4 6000 4 5 10000 Ну и т.д Копируем его в буфер до следующей строки 2DA V2.0(это начало след.файла) создаем в директории override файл exptable.2da и вставляем туда что скопировали. Ну вот исходный файл есть, теперь переходим в конец этого файла и добавляем 19 20 190000 20 21 210000 21 22 231000 22 23 253000 23 24 276000 24 25 300000 25 26 325000 26 27 351000 27 28 378000 28 29 406000 29 30 435000 30 31 0xFFFFFFFF Уффффф Да и еще можно поменять и файл xptable.2da я просто скопировал его последние строки до 30 уровня(хрен его не знает нафиг он нужен) Так-же надо учитывать, что развитие персонажей прописано по 20 уровень и качать визарда выше смысла особого нет, только спас броски с бонусами прописаны до 60 уровня DISCLAIMER: Если кто не въехал - я не виноват, все это было сварено для домашнего распития, так что к рогам и копытам претензий не предъявлять! |
![]() |
[Ответить с цитированием] |
![]() |
#5 |
Кровавый Твикс
Join Date: мар 2002
Location: Клайпеда(Литва)
Posts: 2,356
|
RealKtulhu Ты бы линк на результат дал
![]() |
![]() |
Дневник [Ответить с цитированием] |
![]() |
#6 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Да лень что-то
![]() Тебе на мыло еще кому-то на мыло. Давайте адрес сервака куда залить, чтоб всем сразу, тогда мож и залью. Потом мою версию файла заливать фигово, он же неизвестно какой версии ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#7 |
Камрад
Join Date: сен 2001
Posts: 407
|
хм...
все конечно понятно... но все же я подожду патчика... все равно пока еще не 20ур |
![]() |
[Ответить с цитированием] |
![]() |
#8 |
Камрад
Join Date: мая 2002
Location: Moscow
Posts: 161
|
2 RealKtulhu:
Версию ваще-то легко посмотреть. Просто запусти игру и войди в Options. Или через свойства самого exe'шника. Что до развития персонажа, то оно так прописано, потому что официальных материалов насчет того, что будет в DnD 3Ed на более высоких левелах до сих пор не появилось. Можно конечно и самому все отредактировать (все эти фишки меняются в соответствующих .2da файлах). Но по-любому (если смотреть по аналогии с ADnD 2Ed) после 20-го левела у магов больше не должно количество кастуемых спеллов увеличиваться (так же как у файтеров перестает уменьшаться base thac0). Если это изменить, то это уже точно будет не DnD. :-) |
![]() |
[Ответить с цитированием] |
![]() |
#9 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Да мне вобщем-то развитие выше 20 уровня по барабану. Я это сделал чтоб мультикласс развивать Да и без развития персонажа играть неинтересно. Нафиг это ограничение вообще было делать? Сложнее из-за этого игра не стала, меня там и сейчас убить сложно. Предлагали бы просто выбор - развиваешся выше 20 уровня, char считается там ну незнаю, не сетевым, unofficial вобщем пофиг как назвать. Ведь все-равно же сломают!
|
![]() |
[Ответить с цитированием] |
![]() |
#10 |
Камрад
Join Date: мая 2002
Posts: 80
|
Ну есть таких 2 строки в nwmain.exe FF52548B88AC000000. После первой идет 81E3FF0000003BD95B7D25. Получается нужно 81E3FF на 000000 поменять в этом случае. А после 2-ой 81E7FF0000003BF90F а тут 81E7FF тоже на 000000. Так, или я что то не так понял?
|
![]() |
[Ответить с цитированием] |
![]() |
#11 |
Камрад
Join Date: мая 2002
Posts: 80
|
Кстате, если больше 20-го уровня развиваешся, чара скорее-всего и так в illegal запишут... Вообще гамма хитрая, редакторы памяти не любит
![]() ![]() ![]() ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#12 |
Камрад
Join Date: мая 2002
Location: Moscow
Posts: 161
|
2 RealKtulhu:
Я же тебе говорю - биоверовцы не были свободны в выборе того, что делать. ADnD им не принадлежит, а условия лицензии - довольно суровые. Отсебятину им вносить насколько я знаю вообще не позволили - только Core Rules. А Core Rules - это 20-й левел максимум. Вот они и ограничили. Типа вы уж там сами ломайте как хотите. :-)) |
![]() |
[Ответить с цитированием] |
![]() |
#13 |
Камрад
Join Date: мая 2002
Posts: 80
|
2 RealKtulhu : большой сенкс, запахало по твоему методу без левел-капа
![]() ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#14 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Запахало то оно запахало...До 21 уровня... Блин а дальше не хочет...Надо дальше ковырять, такое подозрение что считывается только определенное количество строк из exptable.2da 21 уровень там был, просто экспы на него стояло 0xFFFFFFFF
![]() Да если там статический массив для хранения експы строго на 21 уровень...уууу...что делать? Хорошобы не.... ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#15 |
Камрад
Join Date: мая 2002
Posts: 80
|
А у мя до 29 поперло
![]() Deviance cracked no-cd/fixed exe 1.19 exe: offset 0x00290BBA: change 7D25 to 9090 offset 0x00290D4B: change 0F8D8C000000 to 909090909090 Original 1.19 exe: offset 0x002915BA: change 7D25 to 9090 offset 0x0029174B: change 0F8D8C000000 to 909090909090 После этого был такой прикол... Я проверял, как оно пашет командой dm_levelup. Сначала получилось только до 21. НО ![]() ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#16 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Ну да Ну да Этим патчем убивается именно проверка на номер уровня
А миллиарды экспы - это из-за выхода за границу массива с экспой, там уже просто левые какие-то данные лежат. |
![]() |
[Ответить с цитированием] |
![]() |
#17 |
Камрад
Join Date: мая 2002
Posts: 80
|
Так действительно только до 21-го нормально левелится
![]() |
![]() |
[Ответить с цитированием] |
![]() |
#18 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Ничего невозможного несуществует (эк завернул)
Ковыряться надо, вобщем пока я вижу пару способов которые можно опробовать, но работа блин...время... И куда только все профхакеры смотрят... ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#19 |
Камрад
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
|
Урааааа Я ЕЕ ДОБИЛ!!!
![]() Я уже начал думать что фиг чего сделаешь, массив фиксированного размера для экспы...Нда ну да ничего ![]() Как этого добиться: И так все сначала, начнем с чистого экзешника 1.Берем HIEW открываем в нем nwmain.exe переходим в просмотр кода(ENTER ENTER) - ищем(F7) такую последовательность FF 52 54 8B 88 AC 00 00 00 она должна быть в двух местах За этой последовательностью надо убить первый переход (JGE куда-то) Жмем F3 и затираем его Nop`om (0x90) Первый переход там 2 байта длинной второй 6 байтов, ПОСЛЕ ПЕРВОГО ПЕРЕХОДА (который 2-х байтовый) надо дополнительно найти еще один переход он там недалеко выглядит он как 73 15 его надо заменить на EB 15 (без этого уровень не сохраниться) 2. Теперь самое неприятное исправлять прийдется много Надо найти такой блок кода: 006917B7 |. 8B5C24 14 MOV EBX,[DWORD SS:ESP+14] 006917BB 8B15 14F48500 MOV EDX,[DWORD DS:85F414] 006917C1 8B4B 68 MOV ECX,[DWORD DS:EBX+68] ; exp in ECX 006917C4 81E7 FF000000 AND EDI,0FF ; level in EDI 006917CA 3B4CBA 1C CMP ECX,[DWORD DS:EDX+EDI*4+1C] ; cmp for cheking exp for next level 006917CE 72 0D JB SHORT nwmain.006917DD 006917D0 5F POP EDI 006917D1 5E POP ESI 006917D2 5D POP EBP 006917D3 B8 01000000 MOV EAX,1 006917D8 5B POP EBX 006917D9 83C4 08 ADD ESP,8 006917DC C3 RETN 006917DD |> 5F POP EDI 006917DE |. 5E POP ESI 006917DF |. 5D POP EBP 006917E0 33C0 XOR EAX,EAX 006917E2 5B POP EBX 006917E3 83C4 08 ADD ESP,8 006917E6 C3 RETN 006917E7 90 NOP 006917E8 90 NOP 006917E9 90 NOP 006917EA 90 NOP 006917EB 90 NOP 006917EC 90 NOP 006917ED 90 NOP 006917EE 90 NOP 006917EF 90 NOP и заменить его на 006917B7 |. 8B5C24 14 MOV EBX,[DWORD SS:ESP+14] 006917BB 8B4B 68 MOV ECX,[DWORD DS:EBX+68] 006917BE 81E7 FF000000 AND EDI,0FF 006917C4 33C0 XOR EAX,EAX 006917C6 33DB XOR EBX,EBX 006917C8 33F6 XOR ESI,ESI 006917CA BA E8030000 MOV EDX,3E8 006917CF 8BC3 MOV EAX,EBX 006917D1 0FAFC2 IMUL EAX,EDX 006917D4 03F0 ADD ESI,EAX 006917D6 43 INC EBX 006917D7 3BDF CMP EBX,EDI 006917D9 ^ 76 F4 JBE SHORT nwmain.006917CF 006917DB 8BC6 MOV EAX,ESI 006917DD |> 5F POP EDI 006917DE |. 5E POP ESI 006917DF |. 5D POP EBP 006917E0 5B POP EBX 006917E1 83C4 08 ADD ESP,8 006917E4 3BC8 CMP ECX,EAX 006917E6 7D 02 JGE SHORT nwmain.006917EA 006917E8 33C0 XOR EAX,EAX 006917EA C3 RETN 006917EB 90 NOP 006917EC 90 NOP 006917ED 90 NOP 006917EE 90 NOP 006917EF 90 NOP После этого Если ВСЕ сделать ПРАВИЛЬНО уровень можно будет поднимать дальше 21 ![]() Все это я привел для тех у кого версия экзешника отличается от моей, для тех у кого она такаяже (длина файла nwmain.exe 5180416) привожу сравнение двух файлов старого и нового: Comparing files nwmain.old.exe and nwmain.new.exe 00290BBA: 7D 90 00290BBB: 25 90 00290BDF: 73 EB 00290D4B: 0F 90 00290D4C: 8D 90 00290D4D: 8C 90 00290D4E: 00 90 00290D4F: 00 90 00290D50: 00 90 00290DBC: 15 4B 00290DBD: 14 68 00290DBE: F4 81 00290DBF: 85 E7 00290DC0: 00 FF 00290DC1: 8B 00 00290DC2: 4B 00 00290DC3: 68 00 00290DC4: 81 33 00290DC5: E7 C0 00290DC6: FF 33 00290DC7: 00 DB 00290DC8: 00 33 00290DC9: 00 F6 00290DCA: 3B BA 00290DCB: 4C E8 00290DCC: BA 03 00290DCD: 1C 00 00290DCE: 72 00 00290DCF: 0D 8B 00290DD0: 5F C3 00290DD1: 5E 0F 00290DD2: 5D AF 00290DD3: B8 C2 00290DD4: 01 03 00290DD5: 00 F0 00290DD6: 00 43 00290DD7: 00 3B 00290DD8: 5B DF 00290DD9: 83 76 00290DDA: C4 F4 00290DDB: 08 8B 00290DDC: C3 C6 00290DE0: 33 5B 00290DE1: C0 83 00290DE2: 5B C4 00290DE3: 83 08 00290DE4: C4 3B 00290DE5: 08 C8 00290DE6: C3 72 00290DE7: 90 04 00290DE8: 90 33 00290DE9: 90 C0 00290DEA: 90 40 00290DEB: 90 C3 00290DEC: 90 33 00290DED: 90 C0 00290DEE: 90 C3 |
![]() |
[Ответить с цитированием] |
![]() |
#20 |
Камрад
Join Date: мар 2002
Location: МАсква
Posts: 10
|
Мля народ не жоптесь! Ну не умея я на ХВИЮ работать и учиться мне нахрен не нужно. Выложите гне-нить файл пофиксенный для скачки???? Плз!
|
![]() |
[Ответить с цитированием] |
![]() |
#21 |
Камрад
Join Date: сен 2001
Posts: 407
|
ндя... енто точно... бред.. =)))
|
![]() |
[Ответить с цитированием] |
![]() |
#22 |
Камрад
Join Date: мая 2002
Posts: 80
|
Ну если руки растут откуда не надо... Какой нах бред??? Хиев тебе нах? Я тоже не знаю асм, хиев 1 раз юзал. Тут нужен любой хекс-редактор. www.hexworkshop.com
Качаешь последний. Открываешь в нем КРЯКНУТЫЙ экзешник nwmain.exe версии 1.19 или 1.20(оффсеты ДЛЯ ОБОИХ годятся). Выбираешь меню edit. Там goto. Оффсеты в hex, ставишь точку около hex. Теперь смотришь на ту инструкцию. Comparing files nwmain.old.exe and nwmain.new.exe 00290BBA: 7D 90 00290BBB: 25 90 00290BDF: 73 EB 00290D4B: 0F 90 00290D4C: 8D 90 00290D4D: 8C 90 00290D4E: 00 90 00290D4F: 00 90 00290D50: 00 90 00290DBC: 15 4B 00290DBD: 14 68 00290DBE: F4 81 00290DBF: 85 E7 00290DC0: 00 FF 00290DC1: 8B 00 00290DC2: 4B 00 00290DC3: 68 00 00290DC4: 81 33 00290DC5: E7 C0 00290DC6: FF 33 00290DC7: 00 DB 00290DC8: 00 33 00290DC9: 00 F6 00290DCA: 3B BA 00290DCB: 4C E8 00290DCC: BA 03 00290DCD: 1C 00 00290DCE: 72 00 00290DCF: 0D 8B 00290DD0: 5F C3 00290DD1: 5E 0F 00290DD2: 5D AF 00290DD3: B8 C2 00290DD4: 01 03 00290DD5: 00 F0 00290DD6: 00 43 00290DD7: 00 3B 00290DD8: 5B DF 00290DD9: 83 76 00290DDA: C4 F4 00290DDB: 08 8B 00290DDC: C3 C6 00290DE0: 33 5B 00290DE1: C0 83 00290DE2: 5B C4 00290DE3: 83 08 00290DE4: C4 3B 00290DE5: 08 C8 00290DE6: C3 72 00290DE7: 90 04 00290DE8: 90 33 00290DE9: 90 C0 00290DEA: 90 40 00290DEB: 90 C3 00290DEC: 90 33 00290DED: 90 C0 00290DEE: 90 C3 Видим, что в старом файле (nwmainold) по оффсету 00290BBA (пишем его и нажимаем go ![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
[Ответить с цитированием] |
![]() |
#23 |
Камрад
Join Date: сен 2001
Posts: 407
|
Я пытался по первой инструкции сделать:
такие вопросы: "убить первый переход (JGE куда-то" - че такое переход и что за JGE? "затираем его Nop`om (0x90" - че такое Nop? |
![]() |
[Ответить с цитированием] |
![]() |
#24 |
Камрад
Join Date: сен 2001
Posts: 407
|
млин... нечайно отослал... вот еще вопросы
"Надо найти такой блок кода:" - как найти целый такой блок? |
![]() |
[Ответить с цитированием] |
![]() |
#25 |
Камрад
Join Date: сен 2001
Posts: 407
|
|
![]() |
[Ответить с цитированием] |
![]() |
|
|