You last visited: Today at 20:47
Advertisement
[Release]EP5 StatusDef fix
Discussion on [Release]EP5 StatusDef fix within the Shaiya PServer Development forum part of the Shaiya Private Server category.
05/15/2011, 11:31
#1
elite*gold: 0
Join Date: Aug 2010
Posts: 241
Received Thanks: 255
[Release]EP5 StatusDef fix
It is a known bug that some of the StatusDef values is not correct once you add a definition for Lvl 60-70. I am going to show you guys how to fix this by changing some code in ps_game.exe. The change in code allows you to safely add StatusDefs for level 60-70 withouth affecting other values.
The problem is further stated at
1. Open 'ps_game.exe' in OllyDbg
2. Go to the offset 4BFD46, This is the code used to initially store the StatusDefs values onto the memory.
3. Replace the code from 4BFD46 till 4BFDC0 with the following code shown in fig.
NOP the rest.
4. Now to go offset 45479d and do the following replacement.
Code:
At the addresses
0045479F
004547D1
00454803
0045484F
004548AF
0045490F
00454984
004549E4
00454A44
0048B10F
0048B146
0048B17D
0048B1B3
0048B1EA
0048B21D
0048B26F
0048B2D1
0048B333
0048B394
0048B403
0048B472
0048B4F0
0048B552
0048B5B4
0048B615
0048B684
0048B6F3
Change all [b]3C[/b] to [b]46[/b] for the [b]CMP[/b] statements
Code:
At the addresses
004547A6
004547D8
0045480A
00454856
004548B6
00454916
0045498B
004549EB
00454A4B
0048B116
0048B14D
0048B184
0048B1BA
0048B1F1
0048B226
0048B276
0048B2D8
0048B33A
0048B39B
0048B40A
0048B479
0048B4F7
0048B559
0048B5BB
0048B61C
0048B68B
0048B6FA
Change all [b]4[/b] to [b]5[/b] for the [b]SHL[/b] statements
Code:
At the addresses
004547B5
004547E7
00454817
00454865
004548C5
00454923
0045499A
004549FA
00454A58
0048B124
0048B15B
0048B191
0048B1CC
0048B1FF
0048B232
0048B284
0048B2E6
0048B347
0048B3A9
0048B418
0048B487
0048B505
0048B567
0048B5C8
0048B62A
0048B699
0048B708
Change all [b]54C64[/b] to [b]54D3F[/b] for the [b]MOVZX[/b] statements
I have tried to make this as simple as possible, If you guys can figure out how I was able to do this then maybe you are ready for skills fix also
Attached Images
sd_1.jpg
(36.1 KB, 2209 views)
05/15/2011, 11:49
#2
elite*gold: 0
Join Date: Mar 2009
Posts: 67
Received Thanks: 4
there is a ready ps_game.exe patch together the skill?
05/15/2011, 11:57
#3
elite*gold: 0
Join Date: Feb 2009
Posts: 143
Received Thanks: 22
Great zargon, +5, this way fix exp 60-70 too?
05/15/2011, 12:18
#4
elite*gold: 0
Join Date: Sep 2010
Posts: 520
Received Thanks: 1,289
Quote:
Originally Posted by
akademik
there is a ready ps_game.exe patch together the skill?
He's done most of the work for you... the least you can do is apply it to your own. Not like it should be that hard, he's explained what to do...
Not trying to be rude, just saying you need to do a bit of the work to learn how.
05/15/2011, 12:20
#5
elite*gold: 0
Join Date: Aug 2010
Posts: 241
Received Thanks: 255
Quote:
Originally Posted by
akademik
there is a ready ps_game.exe patch together the skill?
I am not releasing the skills fix as yet.
Quote:
Originally Posted by
cosong
Great zargon, +5, this way fix exp 60-70 too?
Yes this also prevents the ExpDefs fro being overwritten by the extra StatusDef values. I did my best to test it but if you guys find anything unusual post it here.
05/15/2011, 16:34
#6
elite*gold: 0
Join Date: Feb 2009
Posts: 143
Received Thanks: 22
trying look EXP its no work with it, but HM,MP,SP fixed fine, maybe have some idea to fix 60-70 EXP too? or what ExpDefs need set up values to make work normal 60-70 EXP with this way fix?
05/15/2011, 17:01
#7
elite*gold: 0
Join Date: Aug 2010
Posts: 241
Received Thanks: 255
Hmm... Sorry my bad I had made an incorrect assumption about ExpDefs. I will release a fix for that as well.
05/15/2011, 20:07
#8
elite*gold: 0
Join Date: Feb 2009
Posts: 143
Received Thanks: 22
Some,i test it fix,got new bug-if got level from mob,hp,sp,mp no increases each lvl ,and,when start new toon,toon got only 30-40% percent hp
05/15/2011, 20:39
#9
elite*gold: 20
Join Date: Jun 2009
Posts: 790
Received Thanks: 2,729
Zargon are you alloc more space for the additional values?
05/16/2011, 05:05
#10
elite*gold: 0
Join Date: Aug 2010
Posts: 241
Received Thanks: 255
Nope, just moved the values to a place where memory is available. I am still learning so I don't know how to explicitly allocate more memory.
11/19/2011, 11:40
#11
elite*gold: 0
Join Date: Apr 2009
Posts: 1,017
Received Thanks: 1,161
How would I edit the ps_game to allow statusdefs up to Lv90? I already patched it to allow leveling to lv90, added the ExpDefs values, now I just need to allow StatusDefs up to 90 so I dont get fake hp/sp/mp values.
Help would be highly appreciated. Thanks in advance.
12/29/2011, 12:42
#12
elite*gold: 0
Join Date: Jun 2009
Posts: 20
Received Thanks: 1
I've done everything you showed. I can start the game and login fine, but after Choosing my character and clicking start, i immediately get the server disconnct error 0
..
Here's my ps_game log file:
Code:
2011-12-29 19:33:41 PS_GAME__system log start (Game01) [KR]
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/sorp1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/croco1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/croco2
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Troll1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Spink1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/GoldenPig
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Sorp3
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/SorpNamed1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/SorpNamed2
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Sorp2
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/CrocoNamed1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/CrocoNamed2
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/CrocoNamed3
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/OrcNamed1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/OrcNamed2
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/OrcNamed3
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/TrollNamed1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/HellTouthNamed1
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Deinos
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Parridalis
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Alcarian
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/ZinAlcaria
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Belizabeth
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Kirhiross
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/CrypticOne
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Haruhion
2011-12-29 19:33:41 Loaded Behavior In Factory : data/ai/Freezing
2011-12-29 19:33:42 RandomOption Error : ItemID=5179, byServer=3, Wis=0
2011-12-29 19:33:42 RandomOption Error : ItemID=16060, byServer=3, Wis=0
2011-12-29 19:33:42 RandomOption Error : ItemID=17065, byServer=3, Wis=0
2011-12-29 19:33:42 RandomOption Error : ItemID=18061, byServer=3, Wis=0
2011-12-29 19:33:42 RandomOption Error : ItemID=20061, byServer=3, Wis=0
2011-12-29 19:33:42 RandomOption Error : ItemID=21061, byServer=3, Wis=0
2011-12-29 19:33:42 RandomOption Error : ItemID=33231, byServer=3, Wis=0
2011-12-29 19:33:43 RandomOption Error : ItemID=35231, byServer=3, Wis=0
2011-12-29 19:33:43 RandomOption Error : ItemID=36231, byServer=3, Wis=0
2011-12-29 19:33:47 connect mgr 900
2011-12-29 19:33:47 connect dbagent 904
2011-12-29 19:33:47 connect dbagent2 908
2011-12-29 19:33:47 connect gamelog 924
2011-12-29 19:33:47 Market End -----------------------
================================================================
2011-12-29 19:34:33 Exception !!!, code=0xC0000005, address=0x0045486E
Minidump write end.....................
0x0045486E ps_game.exe: <unknown symbol>
Stack trace end.....................
Stack trace(all thread) begin.....................
Module list:
D:\sha\PSM_Client\Bin\ps_game.exe, loaded at 0x00400000 - 09/07/15 12:22:00
WARNING: ps_game.exe is not accessible
Symbol search path is: ps_game.pdb
WARNING: ps_game.pdb is not accessible
WARNING: ps_game.pdb is not accessible
Microsoft (R) Windows Debugger Version 6.3.0017.0
Copyright (c) Microsoft Corporation. All rights reserved.
Loading Dump File [D:\sha\PSM_Client\Bin\Log\20111229_193341_ps_game.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available
Windows Longhorn Version 7601 (Service Pack 1) MP (2 procs) Free x86 compatible
Product: WinNt, suite: SingleUserTS
Debug session time: Thu Dec 29 19:34:34 2011
System Uptime: not available
Process Uptime: 0 days 0:00:53.000
Symbol search path is: ps_game.pdb
Executable search path is: ps_game.exe
.....................................................
The call to LoadLibrary(ext) failed, Win32 error 2
"The system cannot find the file specified."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(exts) failed, Win32 error 2
"The system cannot find the file specified."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(uext) failed, Win32 error 2
"The system cannot find the file specified."
Please check your debugger configuration and/or network access.
The call to LoadLibrary(ntsdexts) failed, Win32 error 2
"The system cannot find the file specified."
Please check your debugger configuration and/or network access.
(1bb0.26c4): Access violation - code c0000005 (!!! second chance !!!)
thread count = 23
thread 0(5068)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x77037BE6 sechost.dll: I_ScIsSecurityProcess + 2215
0x77038040 sechost.dll: RegisterServiceCtrlHandlerExA + 634
0x77038553 sechost.dll: StartServiceCtrlDispatcherA + 104
0x004E427D ps_game.exe: <unknown symbol>
0x00540640 ps_game.exe: <unknown symbol>
0x004CCB90 ps_game.exe: <unknown symbol>
0x95E90000 <unknown module>: <unknown symbol>
thread 1(6524)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2BD1E kernel32.dll: WaitForMultipleObjectsEx + 142
0x76B2BD8C kernel32.dll: WaitForMultipleObjects + 24
0x004E2B99 ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 2(9408)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2ED6C kernel32.dll: BaseThreadInitThunk + 18
0x76F237F5 ntdll.dll: RtlInitializeExceptionChain + 239
0x76F237C8 ntdll.dll: RtlInitializeExceptionChain + 194
thread 3(6772)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2ED6C kernel32.dll: BaseThreadInitThunk + 18
0x76F237F5 ntdll.dll: RtlInitializeExceptionChain + 239
0x76F237C8 ntdll.dll: RtlInitializeExceptionChain + 194
thread 4(2772)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D5738 ps_game.exe: <unknown symbol>
0x76B2ED6C kernel32.dll: BaseThreadInitThunk + 18
0x76F237F5 ntdll.dll: RtlInitializeExceptionChain + 239
0x76F237C8 ntdll.dll: RtlInitializeExceptionChain + 194
thread 5(6780)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2ED6C kernel32.dll: BaseThreadInitThunk + 18
0x76F237F5 ntdll.dll: RtlInitializeExceptionChain + 239
0x76F237C8 ntdll.dll: RtlInitializeExceptionChain + 194
thread 6(7312)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D9E2B ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 7(1852)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x74AD3176 MSWSOCK.dll: MigrateWinsockConfiguration + 25679
0x764B6958 WS2_32.dll: WSAAccept + 130
0x004D7ECE ps_game.exe: <unknown symbol>
thread 8(7268)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D9E2B ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 9(1472)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D9E2B ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 10(6840)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D9E2B ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 11(7960)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x004DCB92 ps_game.exe: <unknown symbol>
thread 12(5736)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x004DCB92 ps_game.exe: <unknown symbol>
thread 13(6712)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x004DCB92 ps_game.exe: <unknown symbol>
thread 14(9324)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x004DCB92 ps_game.exe: <unknown symbol>
thread 15(10088)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D9E2B ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 16(9924)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x04010A50 dbghelp.dll: SymGetModuleBase
0x52990C45 <unknown module>: <unknown symbol>
0x52990C45 <unknown module>: <unknown symbol>
thread 17(8504)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x00406FEC ps_game.exe: <unknown symbol>
thread 18(7056)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x0040734B ps_game.exe: <unknown symbol>
thread 19(4332)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x0040734B ps_game.exe: <unknown symbol>
thread 20(8488)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x0040734B ps_game.exe: <unknown symbol>
thread 21(4704)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2C2F3 kernel32.dll: WaitForSingleObjectEx + 67
0x76B2C2A2 kernel32.dll: WaitForSingleObject + 18
0x004D9E2B ps_game.exe: <unknown symbol>
0xFF006AEC <unknown module>: <unknown symbol>
thread 22(9248)
0x76F070B4 ntdll.dll: KiFastSystemCallRet
0x76B2ED6C kernel32.dll: BaseThreadInitThunk + 18
0x76F237F5 ntdll.dll: RtlInitializeExceptionChain + 239
0x76F237C8 ntdll.dll: RtlInitializeExceptionChain + 194
Stack trace(all thread) end.....................
================================================================
It was working before i edit it in olly =/
What should i do? T.T..
Edit:Fixed it now... but now there's another problem... the hp/mp/sp doesn't update everytime i level up. My ExpDefs and StatusDefs are all updated to include level 70.. I don't know what's wrong...
05/30/2016, 12:31
#13
elite*gold: 0
Join Date: May 2016
Posts: 41
Received Thanks: 3
Can someone help me ? I cant even do the thirst step. Its so hard...
05/30/2016, 18:41
#14
elite*gold: 0
Join Date: Apr 2014
Posts: 300
Received Thanks: 473
Quote:
Originally Posted by
[DEV]Shrewd
Can someone help me ? I cant even do the first step. Its so hard...
Nevermind the Necro...
Quote:
Originally Posted by zargon05
1. Open 'ps_game.exe' in OllyDbg
You can't do that? Are you kidding me? Is this a troll?
05/30/2016, 18:44
#15
elite*gold: 0
Join Date: May 2016
Posts: 41
Received Thanks: 3
The problem is not opening it, it the part 3 who is the problem. I can't see the offset 4BFDC0...
Can someone can directly give me the ps_game fixed ? :'(
All times are GMT +1. The time now is 20:48 .