Kamrad.ru

Go Back   Kamrad.ru > Тематические форумы > CRPG на основе правил AD&D > Neverwinter Nights

Reply
 
Thread Tools Display Modes
Old 05-07-2002, 17:53   #1
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Exclamation Кто-нибудь знает как снять ограничение уровня?

В начале третьей главы уже 20 уровень(monk13/wiz7)!!!
Что делать?
RealKtulhu is offline   [Ответить с цитированием]
Old 05-07-2002, 18:28   #2
Unkknown
Камрад
 
Join Date: мая 2002
Posts: 80
Ну игра еще недавно вышла, непонятно пока, как это ограничение там стоит... Вот есть файл xptable.2da в директории override... По-моему после установки патча появляется... Но он какой-то непонятный... Если окажется, что дело только в нем, то очень скоро макс. уровень будет в районе 127 Если дело в каком-нить другом файле, такого типа, вроде xpcap.2da... Тогда ограничение снимется с появлением разархиватора ресурсов для nwn из *.bi файловf... Ну а если в экзешнике зашито, то если повезет, месяца через 3-4 сломают Приблизительно так с Арканумом было...
Unkknown is offline   [Ответить с цитированием]
Old 06-07-2002, 01:07   #3
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Да есть там файл exptable.2da(не xptable.2da он для чего-то еще типа множителей експы или?) его можно из 2da.bif выдрать, только его изменение не помогает для уровней меньше 20 все работает, а дальше нет похоже надо ковырять экзешник...
RealKtulhu is offline   [Ответить с цитированием]
Old 07-07-2002, 01:10   #4
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Ну значит так, раз никто не хочет сказать как убрать это ограничение пришлось мне самому вынимать с полки шашку и вперед.
Так вот если кого интересует я нашел способ снять LEVELCAP для этого надо немного подредактировать экзешник и прописать экспу для следующих уровней.
HOWTO:
1. редактируем экзешник
Берем HIEW открываем в нем nwmain.exe переходим в просмотр кода - ищем(F7) такую последовательность FF 52 54 8B 88 AC 00 00 00 она должна быть в двух местах Менять надо не ее За этой последовательностью надо убить первый переход (JGE куда-то) Жмем F3 и затираем его Nop`om (0x90) Первый переход там 2 байта длинной, второй побольше.
После всех этих изменений У ВАС НЕ ПРОПАДЕТ НАДПИСЬ - 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: Если кто не въехал - я не виноват, все это было сварено для домашнего распития, так что к рогам и копытам претензий не предъявлять!
RealKtulhu is offline   [Ответить с цитированием]
Old 07-07-2002, 01:20   #5
Night Lynx
Кровавый Твикс
 
Night Lynx's Avatar
 
Join Date: мар 2002
Location: Клайпеда(Литва)
Posts: 2,356
RealKtulhu Ты бы линк на результат дал )) Кинь плз на мыло tsalojed@takas.lt
Night Lynx is offline   Дневник [Ответить с цитированием]
Old 07-07-2002, 01:25   #6
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Да лень что-то
Тебе на мыло еще кому-то на мыло.
Давайте адрес сервака куда залить, чтоб всем сразу, тогда мож и залью.
Потом мою версию файла заливать фигово, он же неизвестно какой версии
RealKtulhu is offline   [Ответить с цитированием]
Old 07-07-2002, 01:29   #7
Bupb
Камрад
 
Join Date: сен 2001
Posts: 407
хм...
все конечно понятно... но все же я подожду патчика... все равно пока еще не 20ур
Bupb is offline   [Ответить с цитированием]
Old 07-07-2002, 09:08   #8
prodigy_
Камрад
 
prodigy_'s Avatar
 
Join Date: мая 2002
Location: Moscow
Posts: 161
2 RealKtulhu:

Версию ваще-то легко посмотреть. Просто запусти игру и войди в Options. Или через свойства самого exe'шника.
Что до развития персонажа, то оно так прописано, потому что официальных материалов насчет того, что будет в DnD 3Ed на более высоких левелах до сих пор не появилось. Можно конечно и самому все отредактировать (все эти фишки меняются в соответствующих .2da файлах).
Но по-любому (если смотреть по аналогии с ADnD 2Ed) после 20-го левела у магов больше не должно количество кастуемых спеллов увеличиваться (так же как у файтеров перестает уменьшаться base thac0). Если это изменить, то это уже точно будет не DnD. :-)
prodigy_ is offline   [Ответить с цитированием]
Old 07-07-2002, 12:49   #9
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Да мне вобщем-то развитие выше 20 уровня по барабану. Я это сделал чтоб мультикласс развивать Да и без развития персонажа играть неинтересно. Нафиг это ограничение вообще было делать? Сложнее из-за этого игра не стала, меня там и сейчас убить сложно. Предлагали бы просто выбор - развиваешся выше 20 уровня, char считается там ну незнаю, не сетевым, unofficial вобщем пофиг как назвать. Ведь все-равно же сломают!
RealKtulhu is offline   [Ответить с цитированием]
Old 07-07-2002, 16:05   #10
Unkknown
Камрад
 
Join Date: мая 2002
Posts: 80
Ну есть таких 2 строки в nwmain.exe FF52548B88AC000000. После первой идет 81E3FF0000003BD95B7D25. Получается нужно 81E3FF на 000000 поменять в этом случае. А после 2-ой 81E7FF0000003BF90F а тут 81E7FF тоже на 000000. Так, или я что то не так понял?
Unkknown is offline   [Ответить с цитированием]
Old 07-07-2002, 16:12   #11
Unkknown
Камрад
 
Join Date: мая 2002
Posts: 80
Кстате, если больше 20-го уровня развиваешся, чара скорее-всего и так в illegal запишут... Вообще гамма хитрая, редакторы памяти не любит Если в nwplayer.ini не убрать энфорс легальных чаров в сингле, то нифига не ломается, даже в сингле почитить нельзя Скорее всего все это было сделано, чтоб открытые чары хоть немного пожили... В результате все-равно все уйдут в закрытую сетевуху.... Проверку на легальность сломают тоже, и усе Но все равно аплодисменты biowarу хоть за такое
Unkknown is offline   [Ответить с цитированием]
Old 07-07-2002, 16:38   #12
prodigy_
Камрад
 
prodigy_'s Avatar
 
Join Date: мая 2002
Location: Moscow
Posts: 161
2 RealKtulhu:

Я же тебе говорю - биоверовцы не были свободны в выборе того, что делать. ADnD им не принадлежит, а условия лицензии - довольно суровые. Отсебятину им вносить насколько я знаю вообще не позволили - только Core Rules. А Core Rules - это 20-й левел максимум. Вот они и ограничили. Типа вы уж там сами ломайте как хотите. :-))
prodigy_ is offline   [Ответить с цитированием]
Old 07-07-2002, 19:19   #13
Unkknown
Камрад
 
Join Date: мая 2002
Posts: 80
2 RealKtulhu : большой сенкс, запахало по твоему методу без левел-капа Пришлось впервые в жизни правда hiew проюзать, да еще и в режиме дизасемблера... Я сначала пытался hex-workshopom
Unkknown is offline   [Ответить с цитированием]
Old 08-07-2002, 13:11   #14
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Запахало то оно запахало...До 21 уровня... Блин а дальше не хочет...Надо дальше ковырять, такое подозрение что считывается только определенное количество строк из exptable.2da 21 уровень там был, просто экспы на него стояло 0xFFFFFFFF
Да если там статический массив для хранения експы строго на 21 уровень...уууу...что делать? Хорошобы не....
RealKtulhu is offline   [Ответить с цитированием]
Old 08-07-2002, 13:27   #15
Unkknown
Камрад
 
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. НО Потом я дал чару пару милиардов экспы командой dm_giveXP и он попер прямо на 29-й уровень. Получал фиты и скиллпоинты, даже абилити-пойнты. Так что пашет... Вот только мне показалось, что та экспа, что прописана в файлах, учитывается как-то извращенно... Реально чару потребовались МИЛЛИАРДЫ экспы, чтоб допереть до 29-го уровня... Ну хз... Еще посмотрю... Сначала я только первый байт jge менял на 90 В результате игра начинала ЖУТКО тормозить... А еще висла в конце левелапа до 21-го уровня. Потом 2-байтовый jge поменял на 2 нопа, 6-байтовый - на 6. Да, чтоб консольные команды вроде dm_levelup пахали, нужно в консоли написать DebugMode 1 Учитывается регистр. Tab показывает список дм-команд.
Unkknown is offline   [Ответить с цитированием]
Old 08-07-2002, 15:47   #16
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Ну да Ну да Этим патчем убивается именно проверка на номер уровня
А миллиарды экспы - это из-за выхода за границу массива с экспой, там уже просто левые какие-то данные лежат.
RealKtulhu is offline   [Ответить с цитированием]
Old 08-07-2002, 18:45   #17
Unkknown
Камрад
 
Join Date: мая 2002
Posts: 80
Так действительно только до 21-го нормально левелится Потом только dm_givelevel.... Так нормально это сделать невозможно?
Unkknown is offline   [Ответить с цитированием]
Old 09-07-2002, 01:49   #18
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Ничего невозможного несуществует (эк завернул)
Ковыряться надо, вобщем пока я вижу пару способов которые можно опробовать, но работа блин...время...
И куда только все профхакеры смотрят... давно бы уже сломали....
RealKtulhu is offline   [Ответить с цитированием]
Old 16-07-2002, 02:33   #19
RealKtulhu
Камрад
 
Join Date: окт 2001
Location: Под Москвой(НЕ МЕТРО!)
Posts: 26
Урааааа Я ЕЕ ДОБИЛ!!!
Я уже начал думать что фиг чего сделаешь, массив фиксированного размера для экспы...Нда ну да ничего И тут пришла мне в голову мысль - а нафиг вообще нужна таблица с экспой???? ее же очень просто можно рассчитать. Так что теперь файл exptable.tbl у меня при повышении уровня вообще не учитывается.
Как этого добиться:
И так все сначала, начнем с чистого экзешника

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
RealKtulhu is offline   [Ответить с цитированием]
Old 17-07-2002, 22:08   #20
SwamperDumper
Камрад
 
Join Date: мар 2002
Location: МАсква
Posts: 10
Мля народ не жоптесь! Ну не умея я на ХВИЮ работать и учиться мне нахрен не нужно. Выложите гне-нить файл пофиксенный для скачки???? Плз!
SwamperDumper is offline   [Ответить с цитированием]
Old 18-07-2002, 01:40   #21
Bupb
Камрад
 
Join Date: сен 2001
Posts: 407
ндя... енто точно... бред.. =)))
Bupb is offline   [Ответить с цитированием]
Old 18-07-2002, 15:31   #22
Unkknown
Камрад
 
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 ) написано 7D, а нужно поменять на 90. Меняем И так со всеми. То, что в первом рядке - оффсет, во 2-ом - что есть в файле, в 3-ем - что нужно, чтоб было. Двоеточие не нужно с оффсетом писать А че файл то 5-ти метровый выкладывать? Вон пусть те, у кого коннект жирный, закачают на gamecopyworld, там ему рады будут. И все скачать смогут. Ну если уж по этой инструкции ничего не выйдет у вас, то.... А так пашет рульно Проверял, до 128 уровня долевелился Дальше лень было левелиться
Unkknown is offline   [Ответить с цитированием]
Old 20-07-2002, 02:52   #23
Bupb
Камрад
 
Join Date: сен 2001
Posts: 407
Я пытался по первой инструкции сделать:
такие вопросы:
"убить первый переход (JGE куда-то" - че такое переход и что за JGE?
"затираем его Nop`om (0x90" - че такое Nop?
Bupb is offline   [Ответить с цитированием]
Old 20-07-2002, 02:55   #24
Bupb
Камрад
 
Join Date: сен 2001
Posts: 407
млин... нечайно отослал... вот еще вопросы
"Надо найти такой блок кода:" - как найти целый такой блок?
Bupb is offline   [Ответить с цитированием]
Old 20-07-2002, 03:03   #25
Bupb
Камрад
 
Join Date: сен 2001
Posts: 407
Unkknown
слыш сделай доброе дело
кинь на bupb@anitex.by файло енто
скока там мегов?
Bupb is offline   [Ответить с цитированием]
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +3. The time now is 12:25.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Любое использование материалов сайта
возможно только с разрешения его администрации.