• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

DB Save(RollBackProtection)

Junior Spellweaver
Joined
Dec 16, 2012
Messages
187
Reaction score
29
Hello,
I was searching for the hex address I have to modify in order to decrease the amount of time needed for the DBsvr to save, I have searched but found nothing...
Would be thankful.
 
Joined
Jun 23, 2006
Messages
782
Reaction score
399
dont have it here but if you have IDA, check the function CPlayer::Tick. there it is.
 
Upvote 0
Experienced Elementalist
Joined
Oct 18, 2013
Messages
230
Reaction score
42
modify in ur SQL Player.dbo and put new value into it called : CurHT Int do the same with CurMT

----
S.P:

CREATE PROCEDURE [dbo].[CreatePlayer]


@uid int, @name varchar(14), @class tinyint, @Strength tinyint, @Health tinyint, @Intelligence tinyint, @Wisdom tinyint, @dexterity tinyint, @curht int, @curmt int, @Map tinyint,
@x int,
@y int,
@z int, @face tinyint, @Hair tinyint
AS


INSERT INTO Player ( [UID], [Name], [Class], [Strength], Health, Intelligence, Wisdom, Dexterity, [CurHT], [CurMT], [Map], [X], [Y], [Z], [Face], [Hair])
VALUES ( @uid @name @class @Strength, @Health @Intelligence @Wisdom, @dexterity @curht @curmt, 0, 256171, 256020, 16410, @face, @Hair)

---------
DB hex:

UPDATE Player SET [Level] = %d, [Specialty] = %d, [Contribute] = %d, [Exp] = %I64d, [GRole] = %d, [Strength] = %d, [Health] = %d, [Intelligence] = %d, [Wisdom] = %d, [Dexterity] = %d, [CurHP] = %d, [CurMP] = %d, [PUPoint] = %d, [SUPoint] = %d, [Killed] = %d, [Map] = %d, [X] = %d, [Y] = %d, [Z] = %d, [Rage] = %d WHERE [PID] = %d


Replace this with:


UPDATE Player SET [Level] = %d, [Specialty] = %d, [Contribute] = %d, [Exp] = %I64d, [GRole] = %d, [Strength] = %d, [Health] = %d, [Intelligence] = %d, [Wisdom] = %d, [Dexterity] = %d, [CurHT] = %d, [CurMT] = %d, [PUPoint] = %d, [SUPoint] = %d, [Killed] = %d, [Map] = %d, [X] = %d, [Y] = %d, [Z] = %d, [Rage] = %d WHERE [PID] = %d

i dont know if u are searching for it. but tried to help
 
Upvote 0
Junior Spellweaver
Joined
Dec 16, 2012
Messages
187
Reaction score
29
CPlayer::Tick Adr 0x00452620
That's the function address and IDA ss,
Which value should be modified?
Thanks in advance =)
 

Attachments

You must be registered for see attachments list
Upvote 0
Joined
Jun 23, 2006
Messages
782
Reaction score
399
modify in ur SQL Player.dbo and put new value into it called : CurHT Int do the same with CurMT

----
S.P:

CREATE PROCEDURE [dbo].[CreatePlayer]


@uid int, @name varchar(14), @class tinyint, @Strength tinyint, @Health tinyint, @Intelligence tinyint, @Wisdom tinyint, @dexterity tinyint, @curht int, @curmt int, @Map tinyint,
@x int,
@y int,
@z int, @face tinyint, @Hair tinyint
AS


INSERT INTO Player ( [UID], [Name], [Class], [Strength], Health, Intelligence, Wisdom, Dexterity, [CurHT], [CurMT], [Map], [X], [Y], [Z], [Face], [Hair])
VALUES ( @uid @name @class @Strength, @Health @Intelligence @Wisdom, @dexterity @curht @curmt, 0, 256171, 256020, 16410, @face, @Hair)

---------
DB hex:

UPDATE Player SET [Level] = %d, [Specialty] = %d, [Contribute] = %d, [Exp] = %I64d, [GRole] = %d, [Strength] = %d, [Health] = %d, [Intelligence] = %d, [Wisdom] = %d, [Dexterity] = %d, [CurHP] = %d, [CurMP] = %d, [PUPoint] = %d, [SUPoint] = %d, [Killed] = %d, [Map] = %d, [X] = %d, [Y] = %d, [Z] = %d, [Rage] = %d WHERE [PID] = %d


Replace this with:


UPDATE Player SET [Level] = %d, [Specialty] = %d, [Contribute] = %d, [Exp] = %I64d, [GRole] = %d, [Strength] = %d, [Health] = %d, [Intelligence] = %d, [Wisdom] = %d, [Dexterity] = %d, [CurHT] = %d, [CurMT] = %d, [PUPoint] = %d, [SUPoint] = %d, [Killed] = %d, [Map] = %d, [X] = %d, [Y] = %d, [Z] = %d, [Rage] = %d WHERE [PID] = %d

i dont know if u are searching for it. but tried to help

this is something totally different..

anyways.
0x452696
in Pseudo C it's this
if ( *(_DWORD *)(v14 + 1440) >= 0x258u )
sub_4586A0(v14, 0);

in asm
cmp dword ptr [ecx+5A0h], 258h

the 258 is 600 which is 10 minutes.
 
Upvote 0
Developer
Joined
Jul 24, 2008
Messages
666
Reaction score
459
Solve Rollback, Update db ever 1minut
offset 52690 -> 81 B9 A0 05 00 00 58 02 00 00 [TO] 81 B9 A0 05 00 00 3C 00 00 00
 
Upvote 0
Legendary Battlemage
Joined
Oct 4, 2011
Messages
617
Reaction score
8
thx alot dragon
this hex for DBServer.exe or MainSever.exe !
 
Upvote 0
Developer
Joined
Jul 24, 2008
Messages
666
Reaction score
459
hhhhhhhhhh thats so funny :D
anyway its for mainsvrt.exe

mainsvrt is do count down for database updates then send the socket to dbsvrt to do the updates
so to decrease count down for player table to solve rollback
you have to hex mainsvrt with the offset i gave
 
Upvote 0
Back
Top