Register for your free account! | Forgot your password?

You last visited: Today at 06:03

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Bug-Fix] Minus Guild Points

Discussion on [Bug-Fix] Minus Guild Points within the SRO PServer Guides & Releases forum part of the SRO Private Server category.

Reply
 
Old   #1
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,110
Received Thanks: 907
[Bug-Fix] Minus Guild Points

Hey there,

It's been a while, but guess what... Hi.

Most of you should've faced this bug already, the bug is basically because joymax did not limit guild skill points or even make it unsigned.

The first thing that crossed my mind was doing it through game server, I did it actually but after testing in a live server, it actually caused a disconnect problem. Then I realized that it was because the value stored in the game server that I modified was fine, but SQL was not

I actually still could do it through game server, but a better idea crossed my mind, why don't we do it through sro client instead!

So, basically this limits guild point donation to provide positive values only. However, the bug can still occur if somebody donates with a packet injector unless you fix it in server-side too, but anyways who wants to harm himself with minus GP? Client-side shall be enough.

CInterfaceNetSender.h:
Code:
#pragma once
#include <iostream>

class CInterfaceNetSender
{
private:
	char pad_0000[8504]; //0x0000
	unsigned int GuildSkillPoints; //0x2138
	char pad_2140[8]; //0x213C
	std::wstring GuildName; //0x2140
	std::wstring CharName; //0x2160

public:
	void DonateGuildPoints(unsigned int GP);
};
CInterfaceNetSender.cpp:
Code:
#define GP_LIMIT 0x7FFFFFFF

void CInterfaceNetSender::DonateGuildPoints(unsigned int GP)
{
	if (GuildSkillPoints == GP_LIMIT)
	{
		CGInterface* g_interface = CGInterface::GetInterface();
		if (g_interface)
		{
			g_interface->HandleSystemMessages(1, L"You have reached maximum limit of guild skills points.");
			g_interface->ShowBlueNotify(L"You have reached maximum limit of guild skills points.");
		}
	}
	else
	{
		unsigned int TotalGP = GuildSkillPoints + GP;
		if (TotalGP > GP_LIMIT && GuildSkillPoints < GP_LIMIT)
			GP = GP_LIMIT - GuildSkillPoints;
		reinterpret_cast<void(__thiscall*)(CInterfaceNetSender*, unsigned int)>(0x0081FAB0)(this, GP);
	}
}
A small hook of flo's:
Code:
replaceOffset(0x0070BCF2, addr_from_this(&CInterfaceNetSender::DonateGuildPoints));
flo's lib, in case you're interested:

And that's it, good luck.

Special Thanks To: florian0

__________________________________________________ _______________________________

Offical Global Fix

As the topic went, apparently my client hotfix won't work because GP is increased on killing monsters too.

I've implemented a server files patch since its the only way to fix this annoying bug in SRO files.

I posted before the game server fix, and I declared after testing the game server patch only that it causes disconnect issues and database isn't affected by the patch and stays minus.

I've scanned both GS and shard manager memories and found out that shard manager is the one responsible for modifying database value and also has stored memory for guilds instances just like GS.

So, I applied a patch for shard manager too, and it seems to be working fine now, SQL and memory values are equivalent. I'm gonna be testing it in a live productive server and posting a feedback whether there were any errors or issues after applying both GS and shard manager patches.

How The Patch Works: It basically prevents GP from exceeding maximum integer value (2147483647 | 7FFFFFFF).

Patch Details:
Using the GP reference in GS/SM, I've hooked where GP is modified, and did some conditions to check if GP exceeded INT_MAX (aka went minus), then will re-set it to INT_MAX.

__________________________________________________ _______________________________

Final Patch

After exploring, it seemed like a normal message that I had to skip, but in case of GP intended donation, shard manager needs to respond to game server, otherwise user will be frozen for 10 ~ 15 seconds.

So anyways, I handled both cases and modified the old shard manager patch, this is probably the last patch to maintain this original bug.

Note: Please make sure your apply both GS and SM patches, otherwise you'll have some trouble going in.

Download: x64dbg patch is attached.
Attached Files
File Type: rar Minus Guild Points fix (GS).rar (331 Bytes, 106 views)
File Type: rar Minus Guild Points fix (Shard).rar (618 Bytes, 81 views)
#HB is offline  
Thanks
24 Users
Old 02/18/2020, 00:59   #2
Trade Restricted

 
elite*gold: LOCKED
Join Date: Feb 2020
Posts: 586
Received Thanks: 174
You getting better bro
Keep it up and thanks for sharing
JoleChow* is offline  
Old 02/18/2020, 10:37   #3




 
VORTEX*'s Avatar
 
elite*gold: 1014
Join Date: Apr 2015
Posts: 1,032
Received Thanks: 1,249
awesome release as always
VORTEX* is offline  
Old 02/18/2020, 12:35   #4
 
WickedNite.'s Avatar
 
elite*gold: 15
Join Date: Jul 2014
Posts: 1,616
Received Thanks: 1,377
This is why MMOs nowadays are flawed, because people choose to go the easy way which is nuke the client with everything.
WickedNite. is offline  
Old 02/18/2020, 17:56   #5
 
elite*gold: 0
Join Date: May 2018
Posts: 244
Received Thanks: 119
Amazing Release
Hercules* is offline  
Old 02/18/2020, 18:42   #6
 
Empire1453's Avatar
 
elite*gold: 0
Join Date: Jan 2020
Posts: 36
Received Thanks: 5
I think it will be enough to start automatic 5 lvl every time the guild is opened and prevent donation with filter...

Doesn't it prevent the score from falling to?
Empire1453 is offline  
Old 02/18/2020, 19:38   #7
 
elite*gold: 0
Join Date: May 2018
Posts: 244
Received Thanks: 119
Quote:
Originally Posted by Empire1453 View Post
I think it will be enough to start automatic 5 lvl every time the guild is opened and prevent donation with filter...

Doesn't it prevent the score from falling to?
wait what?
Hercules* is offline  
Old 02/18/2020, 19:41   #8
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,110
Received Thanks: 907
Quote:
Originally Posted by WickedNite. View Post
This is why MMOs nowadays are flawed... which is nuke the client with everything.
Probably you don't know how this works internally.

Anyways, so you're saying that making extra comparison in client-side on donating skill points will make flaw in the client? Well, lets ignore the logic that people don't donate skill points each second, and stick with main topic. So, you wanna make it server-side, sure go ahead, and remember your words, "flawed".

Quote:
Originally Posted by WickedNite. View Post
people choose to go the easy way
This wasn't actually the easy way, editing game server was way easier to fix that.

But editing client will be more efficient, also I mentioned that you're free to do it in server-side too, like in filter or something if you're up to that.
#HB is offline  
Thanks
2 Users
Old 02/18/2020, 20:17   #9
 
Empire1453's Avatar
 
elite*gold: 0
Join Date: Jan 2020
Posts: 36
Received Thanks: 5
Quote:
Originally Posted by Hercules* View Post
wait what?
If there is an abundant skill point and a donation is made, the guild point drops to - .
I mean that if donation is prevented, this will be the solution.

With normal character gaining experience points, there will be no drop in guild point increase to -. Falling to - occurs at the time of an excessive donation.
Empire1453 is offline  
Old 02/18/2020, 23:19   #10
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,110
Received Thanks: 907
Quote:
Originally Posted by Empire1453 View Post
If there is an abundant skill point and a donation is made, the guild point drops to - .
I mean that if donation is prevented, this will be the solution.
You ruined the logic of GP with your idea.
#HB is offline  
Old 02/19/2020, 00:24   #11
 
Empire1453's Avatar
 
elite*gold: 0
Join Date: Jan 2020
Posts: 36
Received Thanks: 5
Quote:
Originally Posted by #HB View Post
You ruined the logic of GP with your idea.
Empire1453 is offline  
Old 02/19/2020, 01:57   #12
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,110
Received Thanks: 907
Works for me, I am not sure what your compiler generated but that looks like you treated some unsigned as signed or the opposite.

Try to reset your skill points to 0 before you test it too.
#HB is offline  
Old 02/19/2020, 09:54   #13
 
elite*gold: 0
Join Date: Mar 2010
Posts: 568
Received Thanks: 228
Quote:
Originally Posted by Empire1453 View Post
Quote:
Originally Posted by #HB View Post
Works for me, I am not sure what your compiler generated but that looks like you treated some unsigned as signed or the opposite.

Try to reset your skill points to 0 before you test it too.
In the photo add 1 point and you system (work).

After

Use /zoe MOB_RM_ROC 1

GP -2147181077

good luck
Laag#82 is offline  
Old 02/19/2020, 14:44   #14
 
Empire1453's Avatar
 
elite*gold: 0
Join Date: Jan 2020
Posts: 36
Received Thanks: 5
Quote:
Originally Posted by #HB View Post
Works for me, I am not sure what your compiler generated but that looks like you treated some unsigned as signed or the opposite.

Try to reset your skill points to 0 before you test it too.
Gained your character experience points. Get from any unique spawn. Use / zoe command or experience with bot. You will see that the guild score falls to -.

I completely added the codes you provided. There is no error in my compiler.
Empire1453 is offline  
Old 02/19/2020, 17:17   #15
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,110
Received Thanks: 907
Quote:
Originally Posted by Empire1453 View Post
Gained your character experience points. Get from any unique spawn. Use / zoe command or experience with bot. You will see that the guild score falls to -.

I completely added the codes you provided. There is no error in my compiler.
Hey,

I cannot test right now, because I am not home. But I can do a blind guess that you're right, its maybe because I edited the surface of the GP only or something else is editing it.

I'll have a look later and let you know.
#HB is offline  
Reply


Similar Threads Similar Threads
[SEARCH]Gold bug , castel bug ans speed repair bug for key bug or crystal bug
04/23/2020 - Browsergames - 3 Replies
Hi I search key or crystal bug :) I will give gold , castel and speed repair bug Please send me skype : ciechomek111
[04.09.13] GigaByte v2.6 [FIX, FIX, FIX, FIX AND FIX]
09/11/2013 - WarRock Hacks, Bots, Cheats & Exploits - 79 Replies
http://www.elitepvpers.com/forum/warrock-hacks-bot s-cheats-exploits/2843300-11-09-gigabyte-public-v2 -7-a.html



All times are GMT +1. The time now is 06:05.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.