[WIP] Get SRO Source Code - by re-writing it

04/17/2020 00:26 Hercules*#121
when i select char got crash BUILD BY 2005
Dont use any winodws.
#solved
04/18/2020 19:41 florian0#122
Quote:
Originally Posted by Hercules* View Post
when i select char got crash BUILD BY 2005
Dont use any winodws.
#solved
We already sorted this out on discord. I just wanna add this here so anyone will maybe benefit from the answer.

A crash right after selecting the character is typically an issue with the resinfo files. The game tries to parse the file, but fails because of a syntax error or a class not being registered. (Which was the case this time).

But it could also be something completely different. DevKit can crash for various reasons. So friendly reminder to anyone: If you are experiencing a crash and you are familiar with a debugging tool like x64dbg, try to figure out the address where the crash is happening. It helps a lot for narrowing down the issue.
04/29/2020 12:14 Beba Army#123
So finally this could be possible soon xD

05/07/2020 16:05 Frukio92#124
Will there be a new update? @[Only registered and activated users can see links. Click Here To Register...]
05/07/2020 22:22 JohnDornel^#125
Quote:
Originally Posted by Frukio92 View Post
Will there be a new update? @[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
05/14/2020 14:46 WolfgangNeverDie#126
##########
05/14/2020 22:24 florian0#127
Quote:
Originally Posted by WolfgangNeverDie View Post
Hi!
My client crash on receiver a new packet like 0x8888
What's wrong?
Does your packet have bytes to read? If yes, afair you need to read the packet to the end. The client will be sad otherwise.

Try calling MsgBuffer->FlushRemaining(); before returning.
05/15/2020 07:19 #HB#128
Quote:
Originally Posted by WolfgangNeverDie View Post
Crash too bro! My packet don't have byte to read.
You have to return 1 as well, if its a custom opcode.
05/15/2020 07:58 WolfgangNeverDie#129
Quote:
Originally Posted by #HB View Post
You have to return 1 as well, if its a custom opcode.

Can you give me a example. I change "return 0" to "return 1" but still crashed!
05/15/2020 08:14 #HB#130
Quote:
Originally Posted by WolfgangNeverDie View Post
Can you give me a example. I change "return 0" to "return 1" but still crashed!
Ensure about your func address
Code:
reinterpret_cast<int(__thiscall*)(OnPacketHandle*, CMsgStreamBuffer*)>(0x0084CAB0)(this, MsgBuffer);
Because there's no class in SRO called OnPacketHandle and I can't really tell which process you're hooking.

0084CAB0 shall mean CPSMission, so ensure about your bytes as flo mentioned first and the return value. Debugging will help you find it out quickly.

If you're interested, I had a mini-guide about this: [Only registered and activated users can see links. Click Here To Register...] (meanwhile flo's reconstruction is way better, but I like just to stick with my reverse)
05/15/2020 21:46 WolfgangNeverDie#131
Quote:
Originally Posted by #HB View Post
You have to return 1 as well, if its a custom opcode.
Thank #florian0, thank #HB too ^^
05/20/2020 23:51 WolfgangNeverDie#132
Why my character information return don't correctly.

Code:
printf("- Char: %s,  - Level: %d - Strength: %d - Intellect: %d \n",g_pCICPlayer->m_charname.c_str(), g_pCICPlayer->m_level , g_pCICPlayer->m_str_stat, g_pCICPlayer->m_int_stat);
[Only registered and activated users can see links. Click Here To Register...]
05/21/2020 06:31 #HB#133
Quote:
Originally Posted by WolfgangNeverDie View Post
Why my character information return don't correctly.

Code:
printf("- Char: %s,  - Level: %d - Strength: %d - Intellect: %d \n",g_pCICPlayer->m_charname.c_str(), g_pCICPlayer->m_level , g_pCICPlayer->m_str_stat, g_pCICPlayer->m_int_stat);
[Only registered and activated users can see links. Click Here To Register...]
Are you sure that m_charname is not wchar? If its wchar, you need to use wprintf instead.
05/21/2020 08:41 WolfgangNeverDie#134
Quote:
Originally Posted by #HB View Post
Are you sure that m_charname is not wchar? If its wchar, you need to use wprintf instead.
yeah brother. But both stats wrongs ^^
05/21/2020 13:03 #HB#135
Quote:
Originally Posted by WolfgangNeverDie View Post
yeah brother. But both stats wrongs ^^
I don't understand what you mean with stats, but anyways since level & str seems bugged too, then probably its string size that messed up offsets.

You need to ensure to use VC80 as mentioned in main post.