Register for your free account! | Forgot your password?

You last visited: Today at 20:21

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

Advertisement



[Release] Live Item Giving

Discussion on [Release] Live Item Giving 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,097
Received Thanks: 889
[Release] Live Item Giving

Hey there,

Recently, I've been doing nothing... :v

Till somebody reminded me of a thing, I really wanted to do in the past... Live item giving! Very interesting, isn't it?

No more "please return to get your reward", but "you've received a reward! hahaha?".

Introduction Video

How can we find that? First thing you might think of can be arena, yeah, that's what I thought of at the beginning too.

Looking for arena reward giving ends up here,


After debugging, you'll find out that, it is a virtual function at 004EE370.

The function is a part of a class object, "CGObjPC". Every client has a "CGObjPC" as for the game server, how can we get a pointer to the "CGObjPC" of the character we want?!

Well, there's a lot of possibilities, the most one making sense is that there's a function that gets the pointer to it by character name, how can we find it?

Oh! Fortress war item reward! It gets the character name of the guild masters, then rewards them! Yes...

You'll end up here,


That's pretty much all you need to find, if you want to reward a specific character, you can parse the "CGObjPC" and GiveItem function arguments, it should contain magic opts, stats, optlevel, count, code..etc

I'll share my chathandler with it, so you can test it like in the video above.

Note: Any addresses you see here are on vsro 1.88, you can find it easily on other files too.

Note 2: std::string here is treated as 28 bytes, as it was compiled by VC80. So, if you're using new compilers, you must edit offsets at OnChatHook, otherwise you'll be disconnected.

Note 3: To dodge disconnecting issues, check if the pointer to CGObjPC is not null then do your GiveItem func.

Special thanks to: sarkolata for giving ideas and ofc florian0

Good luck and have fun.
Attached Files
File Type: rar Vsro GS Dev.rar (524.4 KB, 685 views)
#HB is offline  
Thanks
26 Users
Old 05/15/2019, 18:05   #2
 
elite*gold: 0
Join Date: Feb 2012
Posts: 551
Received Thanks: 46
now that's interesting
thebigbody is offline  
Old 05/15/2019, 18:31   #3
 
concucu's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 214
Received Thanks: 117
disconnect when chat
concucu is offline  
Old 05/15/2019, 18:38   #4
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,097
Received Thanks: 889
Quote:
Originally Posted by concucu View Post
disconnect when chat
Follow note 2.
#HB is offline  
Thanks
1 User
Old 05/15/2019, 18:46   #5


 
XxGhostSpiriTxX's Avatar
 
elite*gold: 53
Join Date: Jul 2012
Posts: 538
Received Thanks: 185
good jobs friend, Thanks for sharing
XxGhostSpiriTxX is offline  
Old 05/15/2019, 18:48   #6
 
concucu's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 214
Received Thanks: 117
Quote:
Originally Posted by #HB View Post
Follow note 2.
Code:
void __declspec(naked) OnChatHook(void)
{
	__asm mov edi, [esp + 0x38];
	__asm add esp, 0x4;

	__asm push eax;
	__asm lea eax, [esp + 0x34];
	__asm mov chat, eax;
	__asm lea eax, [esp + 0x50];
	__asm mov charname, eax;
	__asm pop eax;

	__asm pushad;
	HandleChat();
	__asm popad;

	__asm jmp dwNormalChatHookJumpback;
}
What do I need to edit? I use vs100
concucu is offline  
Old 05/15/2019, 19:00   #7
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,097
Received Thanks: 889
Quote:
Originally Posted by concucu View Post
What do I need to edit? I use vs100
First, check the size of your VS's string.
Code:
printf("My string size (%d).\n", sizeof(std::string));
If it's 24, then the function will be like:
Code:
OnChatHook(void)
{
	__asm mov edi, [esp + 0x38];
	__asm add esp, 0x4;

	__asm push eax;
	__asm lea eax, [esp + 0x38];
	__asm mov chat, eax;
	__asm lea eax, [esp + 0x54];
	__asm mov charname, eax;
	__asm pop eax;

	__asm pushad;
	HandleChat();
	__asm popad;

	__asm jmp dwNormalChatHookJumpback;
}
#HB is offline  
Thanks
1 User
Old 05/15/2019, 20:11   #8
 
Sector1337*'s Avatar
 
elite*gold: 61
Join Date: Oct 2017
Posts: 189
Received Thanks: 103
done that recently, but good job and nice release ^^
Sector1337* is offline  
Old 05/16/2019, 00:25   #9

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
now that's a veeery useful release
sarkoplata is offline  
Old 05/16/2019, 09:37   #10
 
elite*gold: 0
Join Date: Apr 2016
Posts: 286
Received Thanks: 67
Quote:
Originally Posted by #HB View Post
First, check the size of your VS's string.
Code:
printf("My string size (%d).\n", sizeof(std::string));
If it's 24, then the function will be like:
Code:
OnChatHook(void)
{
	__asm mov edi, [esp + 0x38];
	__asm add esp, 0x4;

	__asm push eax;
	__asm lea eax, [esp + 0x38];
	__asm mov chat, eax;
	__asm lea eax, [esp + 0x54];
	__asm mov charname, eax;
	__asm pop eax;

	__asm pushad;
	HandleChat();
	__asm popad;

	__asm jmp dwNormalChatHookJumpback;
}
#HB. How to live update Current Level
hoangphan7 is online now  
Old 05/16/2019, 13:25   #11
 
elite*gold: 0
Join Date: Mar 2019
Posts: 88
Received Thanks: 8
Hello Thank you HB for your release but can you please release something for normal ppls
like me im not a coder
speed2019 is offline  
Old 05/16/2019, 20:01   #12
 
sonzenbi's Avatar
 
elite*gold: 0
Join Date: Feb 2017
Posts: 186
Received Thanks: 117
Working .
Thx
sonzenbi is offline  
Old 03/13/2020, 14:57   #13
 
elite*gold: 426
Join Date: Mar 2010
Posts: 561
Received Thanks: 226
good job

Just need (SQL API) with Table
Laag#82 is offline  
Old 06/27/2020, 00:10   #14
 
elite*gold: 0
Join Date: Dec 2009
Posts: 386
Received Thanks: 88
Can you share the weapon glow from your video? XD
mudik is offline  
Old 06/27/2020, 04:02   #15
 
elite*gold: 426
Join Date: Mar 2010
Posts: 561
Received Thanks: 226
Wink

Quote:
Originally Posted by mudik View Post
Can you share the weapon glow from your video? XD
first: Check out the video

second: Video in

PHP Code:
Welcome to ??????? 
after download client & open pk2

Search

Or

[Guide] Alternative Glows/Effects

PHP Code:
https://www.elitepvpers.com/forum/sro-pserver-guides-releases/2160141-guide-alternative-glows-effects.html 
good luck
Laag#82 is offline  
Reply


Similar Threads Similar Threads
World of Live - Not your Real Live, Just your Play Live!
05/11/2011 - Metin2 PServer Advertising - 176 Replies
http://img821.imageshack.us/img821/4219/vorwortf.p ng Hallo Com! Ich stelle euch heute den Server World of Live vor! Er war schon mal Online, jedoch ging er down, da es unzuverlässige GameMaster gab. Jetzt versuchen wir es erneut! http://img42.imageshack.us/img42/4508/serverkonze pt.png Der Server bietet Euch ein perfektes PvP sowohl auch PvM System an!
[Release]adding npc giving +12 item
08/09/2009 - CO2 PServer Guides & Releases - 19 Replies
hi guys i will tell you how to add npc in CoEmu v2.0 first source side go to handlers then npctalk.cs search for case 390: before add
[Release] Pharmacist,Blacksmith,Armorer and Old General Giving out Item at Birth Vill
07/06/2009 - CO2 PServer Guides & Releases - 6 Replies
Hi Guy I would no will this will help you but here are the Release of Pharmacist,Blacksmith,Armorer and Old General give ou some basic item at Birth Village. Credit will goes to $Hadow Look for case 10008://Phermacist Bitch at NPCTalk.cs Replace it with this: case 10008://Phermacist Bitch { if (LinkBack == 0)



All times are GMT +2. The time now is 20:21.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.