Register for your free account! | Forgot your password?

Go Back   elitepvpers > Silkroad Online > SRO Hacks, Bots, Cheats & Exploits
You last visited: Today at 19:47

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

 

Show in-game notifications - by writing code

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2008
Posts: 346
Received Thanks: 334
Show in-game notifications - by writing code

Hello beloved, dead community,

i recently achieved something i want to share with you.

Video demonstration:
Behind the scenes: https://florian0.wordpress.com/2017/...o-ui-elements/

Sending notifications by code

Code:
std::wstring mymessage(L"Hello World, epvp");

g_CGInterface->ShowMessage_GREEN(mymessage);
g_CGInterface->ShowMessage_BLUE(mymessage);
g_CGInterface->ShowMessage_PINK(mymessage);
The code behind the magic

Code:
// Header

class CGInterface {
	void ShowMessage_BLUE(std::wstring &msg);
	void ShowMessage_PINK(std::wstring &msg);
	void ShowMessage_GREEN(std::wstring &msg);
}

#define g_CGInterface (*(CGInterface**)0x0110F80C)

// Code

void CGInterface::ShowMessage_BLUE(std::wstring& msg)
{
	reinterpret_cast<void (__thiscall *)(CGInterface*, std::wstring *)>(0x0077B580)(this, &msg);
}

void CGInterface::ShowMessage_PINK(std::wstring& msg)
{
	reinterpret_cast<void (__thiscall *)(CGInterface*, std::wstring *)>(0x00777BF0)(this, &msg);
}

void CGInterface::ShowMessage_GREEN(std::wstring& msg)
{
	reinterpret_cast<void (__thiscall *)(CGInterface*, std::wstring *)>(0x0077B5B0)(this, &msg);
}

Community Challenge
Check out the addresses, reconstruct the types and achieve a functioning code like this
Code:
void CGInterface::ShowMessage_GREEN(std::wstring& msg)
{
	if (msg.length())
	{
		CIFNotify *notify = reinterpret_cast<CIFNotify*>(this->m_IFRegion_36C.GetByID(GDR_UPDATE_QUEST_INFO, 1));

		notify->ShowMessage(&msg);
	}
}
Important notes, as always
Microsoft STL will try to TROLL you. Be aware of that. Silkroad was BUILD on VC80 aka. Visual Studio 2005. Any newer compiler CAN BREAK this code. Compiling on DEBUG will BREAK your code, no matter what you expected it to do. Always compile on RELEASE or you will find yourself wasting your valuable lifetime tracing BUG that wasn't even your fault (not that that would have happened to me ...)



florian0 is offline  
Thanks
3 Users
Reply



« Previous Thread | Next Thread »

Similar Threads
"Likes Notifications"
Hi, habe das hier in den Einstellungen entdeckt: http://i.epvpimg.com/5Juuf.png Was soll dieses "Likes Notifications" sein? Ich habe dazu...
2 Replies - Main
Microsoft Windows Genuine Advantage Notifications
Huhu habe doch pc neugemacht und wollte natürlich paar updates mitnehmen (ich nehme keinen sp2...... ich hasse ihn) habe nur die notwendigen aber...
3 Replies - Technical Support



All times are GMT +1. The time now is 19:47.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.