[Tutorial] Fix dupe throught macro

Junior Spellweaver
Joined
Aug 25, 2011
Messages
122
Reaction score
17
Long time i was watching for fix this dupe method. Most of the 2.2.3+ zones have fixed this issue, or ppl just using module to fix this, mostly this method is not fixed on 2.1.6 update and ppl dont have any module so, if you found ERROR logs like this :
Query : UPDATE tbl_CryMsg SET CryMsg1=''or'=-' WHERE Serial=565580
SqlState:42000, NativeError:156 Msg:[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword 'or'.
_SQLExecDirect Returns : SQL_ERROR
You should follow this

Open your Zone server using HEX editor and search for tbl_CryMsg.
Change
CryMsg% d = '% S'
into
CryMsg% d = '% f'
After doing this, dupe method wont work anymore.



EDIT :
WARNING
you are changing data type of CryMsg from string into float datatype, by doing this you fix DUPE but also restrict Macro hot keys a little. Everytime RL log out, his saved macro hotkeys change into float data "0.000000", so he must rewrite his hotkeys everytime he log in back
 
Last edited:
Re: Fix dupe throught macro

%f o.O
%f is for float right? o.O
now i'm not sure anymore how that fix the dupe ._.
%s should correct because it print string/char array/char pointer/whatever it is...
but %f mean sprintf float type o.O
and if it's not float, arent the zone going to crash? ._.
not so sure anymore...
 
Re: Fix dupe throught macro

im not sure too, anyway i have my server online, was trying packet before, and dupe worked, after doing this, theres no more error and no more dupe, packet makes DC (looks like still working) but after logging back, item is not duped (no rollback), i can make a video if its necessary :P
 
Re: Fix dupe throught macro

okay so yes youre right ill update main post.
heres imagas what will happen :
You can change and use macro hotkeys withot problem
REMOVED

but, since we have changed data type from string to float,
looks like zone insert data into db when player log out,
so everytime RL log out, it will put into db only float data, if theres no float data, it will save it as 0.000000 as you can see on this screen :
REMOVED
 
Last edited:
ah, i see, it mean you disable the ability to save the macro to the database only...
oh, btw, RL macro is not the only one then, there should be macro for normal player...
and i'm sure it have the same bug as archon macro...
be carefull of it...
it maybe just you dont have the packet, but i'm sure that bug for normal player exist too...
 
ow yeah thanks for the info, its no problem to find that packet too, ill try tomorrow
 
Last edited:
no need to change datatype to prevent bug from macro chat.
Just NOP it at frist process start to run.
so everytime archon re-login, macro chat will gone. and they need to set it again. like official RF.

%S is different with %s
%S not standard C, this is from SUSv2
%s is standard C, this is from C99
 
ah, i see, it mean you disable the ability to save the macro to the database only...
oh, btw, RL macro is not the only one then, there should be macro for normal player...
and i'm sure it have the same bug as archon macro...
be carefull of it...
it maybe just you dont have the packet, but i'm sure that bug for normal player exist too...

ok about macro for normal player i think nobody have packet for that :) just tried something and packet for it will be tooo long and player who can get it must be really pro hacker, even if he find that i can see error log and do whats needed

no need to change datatype to prevent bug from macro chat.
Just NOP it at frist process start to run.
so everytime archon re-login, macro chat will gone. and they need to set it again. like official RF.

%S is different with %s
%S not standard C, this is from SUSv2
%s is standard C, this is from C99

im amateur on programming and not sure understand what you mean by NOPing :P
 
Back