Register for your free account! | Forgot your password?

You last visited: Today at 02:46

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

Advertisement



[Release]GM Online Liste per Source

Discussion on [Release]GM Online Liste per Source within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old 08/28/2015, 11:43   #16
 
elite*gold: 0
Join Date: Aug 2012
Posts: 974
Received Thanks: 89
geht mir auch so
thespeedyy is offline  
Old 08/30/2015, 22:07   #17
 
HsNecro's Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 40
Received Thanks: 13
Guys, ii show me online GM only on on that GM, other players see GM off. Any help? Thank you
HsNecro is offline  
Old 08/31/2015, 00:45   #18
 
elite*gold: 0
Join Date: Aug 2012
Posts: 974
Received Thanks: 89
PUUUSH!
1 IntelliSense: Zu wenig Argumente für "Klassenvorlage "std::map"". c:\Server\client_source_clean\source\UserInterface \PythonMessenger.h 8

Fehler 2 error C2976: "std::map": Nicht genügend template-Argumente. c:\server\client_source_clean\source\userinterface \PythonMessenger.h 8
thespeedyy is offline  
Old 08/31/2015, 02:58   #19
 
elite*gold: 2785
Join Date: Dec 2014
Posts: 403
Received Thanks: 1,354
So guten morgen/abend wie man es sehen mag,

Erstmal Screen von der Ganzen Sache:



Kommen wir zu dem einbau, da einige sich etwas schwer tun, sorry Speedy ich meine dich

Ich werde nur den Clientpart erklären weil bei dem Serverpart bin ich der meinung ist gut erklärt und sollte auch jeder hinnbekommen.

Also fangen wir mal an:

Ihr öffnet die "PythonNetworkSteamPhaseGame.cpp" und sucht nach:

Code:
if (on.connected & MESSENGER_CONNECTED_STATE_ONLINE)
und ersezt es komplett mit dem hier:

Code:
if (on.connected & MESSENGER_CONNECTED_STATE_ONLINE)
				{
					if (char_name[0] == '[')
					{
						CPythonMessenger::Instance().OnGamemasterLogin(char_name);
					}
					else
					{
						CPythonMessenger::Instance().OnFriendLogin(char_name);
					}
				}
				else
				{
					if (char_name[0] == '[')
					{
						CPythonMessenger::Instance().OnGamemasterLogout(char_name);
					}
					else
					{
						CPythonMessenger::Instance().OnFriendLogout(char_name);
					}
				}
Sollte so Aussehen:


nun in der gleichen Datei sucht ihr:

Code:
case MESSENGER_SUBHEADER_GC_LOGIN:
und sezt unter:
Code:
CPythonMessenger::Instance().OnFriendLogin(char_name);
das hier:

Code:
if (char_name[0] == '[')
			{
				CPythonMessenger::Instance().OnGamemasterLogin(char_name);
			}
			else
			{
				CPythonMessenger::Instance().OnFriendLogin(char_name);
			}
das gleiche bei :

Code:
case MESSENGER_SUBHEADER_GC_LOGOUT:
da unter:
Code:
CPythonMessenger::Instance().OnFriendLogout(char_name);
das hier:

Code:
if (char_name[0] == '[')
			{
				CPythonMessenger::Instance().OnGamemasterLogout(char_name);
			}
			else
			{
				CPythonMessenger::Instance().OnFriendLogout(char_name);
			}

Sollte so aussehen:



Da ihr es 2x machen müsst habe ich es gleich auf einen Screen gepackt.



So nun gehen wir in die PythonMessenger.cpp und suchen:

Code:
void CPythonMessenger::OnFriendLogout(const char * c_szKey)

darunter schreiben wir das:

Code:
void CPythonMessenger::OnGamemasterLogin(const char * c_szKey/*, const char * c_szName*/)
{
	m_GamemasterNameMap.insert(c_szKey);

	if (m_poMessengerHandler)
		PyCallClassMemberFunc(m_poMessengerHandler, "OnLogin", Py_BuildValue("(is)", MESSENGER_GRUOP_INDEX_GM, c_szKey));
}

void CPythonMessenger::OnGamemasterLogout(const char * c_szKey)
{
	m_GamemasterNameMap.insert(c_szKey);

	if (m_poMessengerHandler)
		PyCallClassMemberFunc(m_poMessengerHandler, "OnLogout", Py_BuildValue("(is)", MESSENGER_GRUOP_INDEX_GM, c_szKey));
}
Sollte so aussehen:



nun gehen wir in die PythonMessnger.h, und suchen:

Code:
MESSENGER_GRUOP_INDEX_GUILD,
darunter das hier:
Code:
MESSENGER_GRUOP_INDEX_GM,
Screen:


Unter dem hier:
Code:
void OnFriendLogout(const char * c_szKey);
fügt ihr das hier ein:
Code:
void OnGamemasterLogin(const char * c_szKey);
		void OnGamemasterLogout(const char * c_szKey);
Screen:


Nun sucht ihr:
Code:
TGuildMemberStateMap m_GuildMemberStateMap;
darunter fügt ihr das ein:
Code:
TGamemasterNameMap m_GamemasterNameMap;
Schaut dann so aus:


als leztes sucht ihr:

Code:
typedef std::map<std::string, BYTE> TGuildMemberStateMap;
und fügt das ein:
Code:
typedef std::set<std::string> TGamemasterNameMap;
Schaut so aus:



Das wars und es solte jezt alles klappen


.Kori
.K0rí is offline  
Thanks
10 Users
Old 08/31/2015, 06:37   #20
 
elite*gold: 0
Join Date: Aug 2012
Posts: 974
Received Thanks: 89
ernst?... das es wegen NUR wegen dem set kommt? ich fühle mich verarscht... trotzdem danke .kori
thespeedyy is offline  
Thanks
1 User
Old 09/03/2015, 17:20   #21
 
HsNecro's Avatar
 
elite*gold: 0
Join Date: Apr 2013
Posts: 40
Received Thanks: 13
Guys, i have little problem after login, all friends in list are removed, any solution?
HsNecro is offline  
Old 09/10/2015, 08:59   #22
 
elite*gold: 0
Join Date: Sep 2014
Posts: 44
Received Thanks: 5
lag ?
Bekir Akdemir is offline  
Old 10/07/2015, 10:03   #23
 
elite*gold: 0
Join Date: Feb 2015
Posts: 249
Received Thanks: 55
Irgentwie hab ich das Problem das die normale freundesliste genau so behandelt wird wie die Teamliste. Sprich, in der Freundesliste sind auch nur Teamler drinne. Die Teamliste scheint jedoch zu funktionieren.. irgentwas hab ich mir da verbaut.. könnt vlt jmd helfen
-!Kontra!- is offline  
Old 10/07/2015, 10:04   #24
 
Kampfzwerg!'s Avatar
 
elite*gold: 0
Join Date: Feb 2015
Posts: 306
Received Thanks: 171
schönes Release
jetzt kann sich kein teamler mehr verstecken!

schöne grüße

Kampfzwerg
Kampfzwerg! is offline  
Old 10/08/2015, 16:42   #25
 
L&A Graphic's Avatar
 
elite*gold: 0
Join Date: Sep 2015
Posts: 30
Received Thanks: 2
Good. I use it. thanks!
L&A Graphic is offline  
Thanks
1 User
Old 10/09/2015, 20:45   #26

 
Drαεth's Avatar
 
elite*gold: 35
Join Date: Jan 2014
Posts: 1,421
Received Thanks: 268
Sauber.
Funktioniert!
Danke.
Drαεth is offline  
Old 02/18/2016, 19:45   #27
 
elite*gold: 0
Join Date: Mar 2013
Posts: 54
Received Thanks: 6
Quote:
Originally Posted by .K0rí View Post
So guten morgen/abend wie man es sehen mag,

Erstmal Screen von der Ganzen Sache:



Kommen wir zu dem einbau, da einige sich etwas schwer tun, sorry Speedy ich meine dich

Ich werde nur den Clientpart erklären weil bei dem Serverpart bin ich der meinung ist gut erklärt und sollte auch jeder hinnbekommen.

Also fangen wir mal an:

Ihr öffnet die "PythonNetworkSteamPhaseGame.cpp" und sucht nach:

Code:
if (on.connected & MESSENGER_CONNECTED_STATE_ONLINE)
und ersezt es komplett mit dem hier:

Code:
if (on.connected & MESSENGER_CONNECTED_STATE_ONLINE)
				{
					if (char_name[0] == '[')
					{
						CPythonMessenger::Instance().OnGamemasterLogin(char_name);
					}
					else
					{
						CPythonMessenger::Instance().OnFriendLogin(char_name);
					}
				}
				else
				{
					if (char_name[0] == '[')
					{
						CPythonMessenger::Instance().OnGamemasterLogout(char_name);
					}
					else
					{
						CPythonMessenger::Instance().OnFriendLogout(char_name);
					}
				}
Sollte so Aussehen:


nun in der gleichen Datei sucht ihr:

Code:
case MESSENGER_SUBHEADER_GC_LOGIN:
und sezt unter:
Code:
CPythonMessenger::Instance().OnFriendLogin(char_name);
das hier:

Code:
if (char_name[0] == '[')
			{
				CPythonMessenger::Instance().OnGamemasterLogin(char_name);
			}
			else
			{
				CPythonMessenger::Instance().OnFriendLogin(char_name);
			}
das gleiche bei :

Code:
case MESSENGER_SUBHEADER_GC_LOGOUT:
da unter:
Code:
CPythonMessenger::Instance().OnFriendLogout(char_name);
das hier:

Code:
if (char_name[0] == '[')
			{
				CPythonMessenger::Instance().OnGamemasterLogout(char_name);
			}
			else
			{
				CPythonMessenger::Instance().OnFriendLogout(char_name);
			}

Sollte so aussehen:



Da ihr es 2x machen müsst habe ich es gleich auf einen Screen gepackt.



So nun gehen wir in die PythonMessenger.cpp und suchen:

Code:
void CPythonMessenger::OnFriendLogout(const char * c_szKey)

darunter schreiben wir das:

Code:
void CPythonMessenger::OnGamemasterLogin(const char * c_szKey/*, const char * c_szName*/)
{
	m_GamemasterNameMap.insert(c_szKey);

	if (m_poMessengerHandler)
		PyCallClassMemberFunc(m_poMessengerHandler, "OnLogin", Py_BuildValue("(is)", MESSENGER_GRUOP_INDEX_GM, c_szKey));
}

void CPythonMessenger::OnGamemasterLogout(const char * c_szKey)
{
	m_GamemasterNameMap.insert(c_szKey);

	if (m_poMessengerHandler)
		PyCallClassMemberFunc(m_poMessengerHandler, "OnLogout", Py_BuildValue("(is)", MESSENGER_GRUOP_INDEX_GM, c_szKey));
}
Sollte so aussehen:



nun gehen wir in die PythonMessnger.h, und suchen:

Code:
MESSENGER_GRUOP_INDEX_GUILD,
darunter das hier:
Code:
MESSENGER_GRUOP_INDEX_GM,
Screen:


Unter dem hier:
Code:
void OnFriendLogout(const char * c_szKey);
fügt ihr das hier ein:
Code:
void OnGamemasterLogin(const char * c_szKey);
		void OnGamemasterLogout(const char * c_szKey);
Screen:


Nun sucht ihr:
Code:
TGuildMemberStateMap m_GuildMemberStateMap;
darunter fügt ihr das ein:
Code:
TGamemasterNameMap m_GamemasterNameMap;
Schaut dann so aus:


als leztes sucht ihr:

Code:
typedef std::map<std::string, BYTE> TGuildMemberStateMap;
und fügt das ein:
Code:
typedef std::set<std::string> TGamemasterNameMap;
Schaut so aus:



Das wars und es solte jezt alles klappen


.Kori

How can i add a return on GM with name XPTO? is that possible?
if GM XPTO login\logout he dont apear at in the list. no on know he is or was online.
oceanusPT is offline  
Old 07/09/2016, 14:55   #28
 
iPeri /..'s Avatar
 
elite*gold: 2
Join Date: Jun 2015
Posts: 353
Received Thanks: 424
Falls ihr Kori's HowTo gefolgt seid Clientside muss ich Kori leider berichtigen!

Da man sich sonst selbst in der Freundesliste hat / Wenn ein GM auf der gleichen Map ist, wie ein Spieler dieser nicht nur in der GM-Liste sondern auch in der Freundesliste sind.

Die Funktionen:
MESSENGER_SUBHEADER_GC_LOGIN
&
MESSENGER_SUBHEADER_GC_LOGOUT

haben wie folgt auszusehen:

MESSENGER_SUBHEADER_GC_LOGIN:


MESSENGER_SUBHEADER_GC_LOGOUT:
iPeri /.. is offline  
Thanks
2 Users
Old 09/03/2017, 18:15   #29
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Code:
void MessengerManager::Login(MessengerManager::keyA account)
{
	if (m_set_loginAccount.find(account) != m_set_loginAccount.end()) {
		return;
	}

	DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadList), this),
			"SELECT account, companion FROM messenger_list%s WHERE account='%s'", get_table_postfix(), account.c_str());	
	
	DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadList), this),
			"SELECT '%s' as account, mName as companion FROM common.gmlist", account.c_str());
Das statt der im Thread beschriebenen Login Methode nutzen und alles läuft ohne Probleme
DasSchwarzeT is offline  
Thanks
2 Users
Old 09/07/2017, 02:01   #30
 
Chaosnightx3's Avatar
 
elite*gold: 0
Join Date: Jun 2012
Posts: 340
Received Thanks: 114
Quote:
Originally Posted by DasSchwarzeT View Post
Code:
void MessengerManager::Login(MessengerManager::keyA account)
{
	if (m_set_loginAccount.find(account) != m_set_loginAccount.end()) {
		return;
	}

	DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadList), this),
			"SELECT account, companion FROM messenger_list%s WHERE account='%s'", get_table_postfix(), account.c_str());	
	
	DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadList), this),
			"SELECT '%s' as account, mName as companion FROM common.gmlist", account.c_str());
Das statt der im Thread beschriebenen Login Methode nutzen und alles läuft ohne Probleme
Scheint soweit zu funktionieren, bis auf zwei Punkte:
Spieler können Admins ne FA senden.
Die Freundesliste wird nicht gespeichert?
Chaosnightx3 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Dragon Ball Online Release Source
07/01/2014 - Private Server - 8 Replies
Code Source of Dragon Ball Online , can Anyone make Emulator for it ? http://www.jeuxcapt.com/upload/module_images/1377 680618_dragon_ball_online_3.jpg Download : https://mega.co.nz/#!aJ52gDBY!Ht1NtyannGOHJ0TsTOJk X04A9w5AroLE3u1yW3ULvVs Version : 0.50.4 Source from 2009.
[RELEASE]GM Online Liste
09/21/2013 - Metin2 PServer Guides & Strategies - 19 Replies
Hallo leute als erstes möchte ich sagen, dass ich sowas nirgenswo finden konnte! Also lasst das geflame thx ^_^ Ich möchte euch jetzt gar nicht voll texten also hier erst mal ein bildchen http://i.epvpimg.com/9Jhxf.png Wie ihr im Bild sehen könnt ist eine Liste von den Teamlern im Freundes Bereich. Sobald sich ein Teamler einlogt wird es sofort beim Spieler aktualisiert und alle 5 (beliebig anpassbar) Sekunden wird geprüft ob ein Teamler noch online ist Fangen wir mal an mit dem...
[Release] Revelation Online Source 2012!
05/16/2012 - CO2 PServer Guides & Releases - 48 Replies
Hello Everyone my name is Nemiic, I was a Following Owner on Revelation Online! I'm gonna release this source because i feel like giving to the community since I've used so much from here and Elitepvpers has helped me so much! This is the current copy of the source that Revelation is using at this moment. Heres a little info of whats in this source its a mixture of alot of things. Want to thank Albetros Source to helping with some of the work in here. It's definitely not buggless but its...
[BIG RELEASE] Original TQ Conquer Online Source
10/11/2009 - CO2 PServer Guides & Releases - 3 Replies
.



All times are GMT +1. The time now is 02:46.


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