So guten morgen/abend wie man es sehen mag,
Erstmal Screen von der Ganzen Sache:
[Only registered and activated users can see links. Click Here To Register...]
Kommen wir zu dem einbau, da einige sich etwas schwer tun, sorry Speedy ich meine dich :awesome:
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:
[Only registered and activated users can see links. Click Here To Register...]
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:
[Only registered and activated users can see links. Click Here To Register...]
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:
[Only registered and activated users can see links. Click Here To Register...]
nun gehen wir in die PythonMessnger.h, und suchen:
Code:
MESSENGER_GRUOP_INDEX_GUILD,
darunter das hier:
Code:
MESSENGER_GRUOP_INDEX_GM,
Screen:
[Only registered and activated users can see links. Click Here To Register...]
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:
[Only registered and activated users can see links. Click Here To Register...]
Nun sucht ihr:
Code:
TGuildMemberStateMap m_GuildMemberStateMap;
darunter fügt ihr das ein:
Code:
TGamemasterNameMap m_GamemasterNameMap;
Schaut dann so aus:
[Only registered and activated users can see links. Click Here To Register...]
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:
[Only registered and activated users can see links. Click Here To Register...]
Das wars und es solte jezt alles klappen
.Kori