|
You last visited: Today at 13:53
Advertisement
[Source]Gmlist
Discussion on [Source]Gmlist within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
10/14/2011, 13:15
|
#16
|
elite*gold: 2
Join Date: Jul 2009
Posts: 1,447
Received Thanks: 923
|
Quote:
Originally Posted by Sedrika
In einer For schleife ist das ganze totaler mist finde ich.
|
Wenn man keine Fehler will ist das richtig.
Ich frag mich allerdings, was willst du mit dem "online"? kanst auch gleich abfragen ob kein GM on is anstat da Online++; und if( Online == 0 ) bla zu machen.
|
|
|
10/14/2011, 22:12
|
#17
|
elite*gold: 0
Join Date: Jul 2011
Posts: 139
Received Thanks: 12
|
Also so klappt es zumindest bei mir nicht.
Gm steht neben mir wird jedoch ganze zeit keine Gms online angezeigt
Habs mit einem Gm level 1 und 3 ausprobiert klappt keins von beiden :>
|
|
|
02/02/2016, 21:02
|
#18
|
elite*gold: 0
Join Date: May 2014
Posts: 252
Received Thanks: 58
|
Works now
#Done
|
|
|
10/12/2017, 17:58
|
#19
|
elite*gold: 317
Join Date: Jul 2013
Posts: 426
Received Thanks: 305
|
Hallo,
ich möchte dies Thema mal wieder aufgreifen, da ich es grade probiere.
Soweit habe ich es hinbekommen, aber es wird nur ein Admin (P) angezeigt, kein GM (L). Die Abfrage '&& !pUser2->HasBuff( BUFF_ITEM, II_SYS_SYS_SCR_SMELPROT )' habe ich rausgenommen, aber das sollte ja nicht das Problem sein.
Ich habe auch mal die AUTH in der Abfrage geändert, aber es wird nichts angezeigt. Normalerweise ist das ja AUTH_GAMEMASTER, aber auch hier wird kein GM angezeigt.
Könnte mir dabei bitte einer behilflich sein.
Danke !
Hier ein paar Screens:
ADMIN
GM
SOURCE FuncTextCmd.cpp (neuz & worldserver defines = ok)
Code:
#define AUTH_OBSERVER 'D'
#define AUTH_GENERAL 'F'
#define AUTH_LOGCHATTING 'G'
#define AUTH_JOURNALIST 'H'
#define AUTH_HELPER 'J'
#define AUTH_GAMEMASTER 'L'
#define AUTH_GAMEMASTER2 'M'
#define AUTH_GAMEMASTER3 'N'
#define AUTH_OPERATOR 'O'
#define AUTH_ADMINISTRATOR 'P'
|
|
|
10/12/2017, 18:16
|
#20
|
elite*gold: 0
Join Date: Jan 2015
Posts: 183
Received Thanks: 703
|
Quote:
Originally Posted by Schulzie
Hallo,
ich möchte dies Thema mal wieder aufgreifen, da ich es grade probiere.
Soweit habe ich es hinbekommen, aber es wird nur ein Admin (P) angezeigt, kein GM (L). Die Abfrage '&& !pUser2->HasBuff( BUFF_ITEM, II_SYS_SYS_SCR_SMELPROT )' habe ich rausgenommen, aber das sollte ja nicht das Problem sein.
Ich habe auch mal die AUTH in der Abfrage geändert, aber es wird nichts angezeigt. Normalerweise ist das ja AUTH_GAMEMASTER, aber auch hier wird kein GM angezeigt.
Könnte mir dabei bitte einer behilflich sein.
Danke !
|
Code:
for ( int i = 0; i < g_UserMng.GetCount(); i++ ){
CUser* pUser2 = static_cast<CUser*>( prj.GetUserByID( i ) );
Code:
BOOL TextCmd_gml(CScanner& scanner)
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
for (auto const& user : g_UserMng.m_users)
{
if (IsValidObj(user.second) && user.second->IsAuthHigher(AUTH_GAMEMASTER))
{
pUser->AddText(user.second->GetName());
}
}
#endif
return TRUE;
}
Nimm das. Sollte gehen. Musst aber m_users noch auf public setzen in User.h
EDIT:
Wenn du Wert auf Performance legst, solltest du eine zusätzliche map<> erstellen in der dann nur Team User sind und dann durch diese map iterieren.
EDIT2: @
Code:
BOOL TextCmd_gml(CScanner& scanner)
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
CString strAuthName = "";
pUser->AddText("Admin/GameMaster online:");
for (auto const& user : g_UserMng.m_users)
{
if (IsValidObj(user.second) && user.second->IsAuthHigher(AUTH_GAMEMASTER))
{
switch (user.second->m_dwAuthorization)
{
case AUTH_ADMINISTRATOR:
strAuthName = "[ADMIN] ";
break;
case AUTH_GAMEMASTER:
strAuthName = "[GM] ";
break;
}
pUser->AddText(strAuthName + user.second->GetName());
}
}
#endif
return TRUE;
}
|
|
|
10/12/2017, 19:18
|
#21
|
elite*gold: 317
Join Date: Jul 2013
Posts: 426
Received Thanks: 305
|
Danke. Es läuft.
Wie bekomme ich jetzt noch eine Überschrift rein zB: "Admin/GameMaster online:"
Zum Edit:
könntest Du mir das genauer erklären?
Ich bin ja nicht so gut wie Du. 
Was müsste ich machen?
|
|
|
10/12/2017, 21:26
|
#22
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
|
Kannst ja noch ein if/else einbauen mit IsAuthorization und einen string parsen
|
|
|
10/13/2017, 09:50
|
#23
|
elite*gold: 317
Join Date: Jul 2013
Posts: 426
Received Thanks: 305
|
|
|
|
10/14/2017, 13:33
|
#24
|
elite*gold: 0
Join Date: Feb 2017
Posts: 49
Received Thanks: 33
|
g_UserMng.GetCount() = online player. So if you have 300 offlines players and 30 onlines players the loop will start to 0 and end at 30.
The 30 onlines players will have ID 330, 331, ...
So your loop can't works
|
|
|
10/14/2017, 16:02
|
#25
|
elite*gold: 317
Join Date: Jul 2013
Posts: 426
Received Thanks: 305
|
|
|
|
10/14/2017, 16:57
|
#26
|
elite*gold: 0
Join Date: Feb 2017
Posts: 49
Received Thanks: 33
|
Quote:
Originally Posted by Schulzie
|
^^
|
|
|
10/14/2017, 17:06
|
#27
|
elite*gold: 317
Join Date: Jul 2013
Posts: 426
Received Thanks: 305
|
Was soll uns das nun sagen ? 
Eine extra App dafür ?
|
|
|
03/06/2019, 10:01
|
#28
|
elite*gold: 100
Join Date: Apr 2015
Posts: 128
Received Thanks: 32
|
Ich arbeite grade an meiner vs2003 source und möchte das gmlist command zum laufen bringen, aber es funktioniert nicht so richtig.
Der Befehlt wird zwar ausgeführt, aber es kommt nur die Überschrift und dann 'Kein GM da.', obwohl ein GM online ist...
Beim Compilieren kommt auch kein Fehler.
Was mache ich falsch?
Code:
#ifdef __USER_COMMAND
BOOL TextCmd_gml ( CScanner& scanner )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
CString Nick;
int online = 0;
g_DPCoreClient.SendGetPlayerCount( pUser->m_idPlayer );
pUser->AddText( "GM's online:" );
for ( int i = 0; i < g_UserMng.GetCount(); i++ ){
CUser* pUser2 = static_cast<CUser*>( prj.GetUserByID( i ) );
if( IsValidObj( pUser2 ) && pUser2->IsAuthHigher( AUTH_GAMEMASTER ) && !pUser2->HasBuff( BUFF_ITEM, II_SYS_SYS_SCR_SMELPROT ) ){
Nick = CPlayerDataCenter::GetInstance()->GetPlayerString( i );
pUser->AddText( Nick + " [Online]" );
online++;
}
}
if( online == 0 )
pUser->AddText( "Kein GM da." );
#endif
return TRUE;
}
#endif // __USER_COMMAND
|
|
|
03/08/2019, 19:11
|
#29
|
elite*gold: 0
Join Date: Jan 2014
Posts: 773
Received Thanks: 374
|
Quote:
Originally Posted by Lindanus
Ich arbeite grade an meiner vs2003 source und möchte das gmlist command zum laufen bringen, aber es funktioniert nicht so richtig.
Der Befehlt wird zwar ausgeführt, aber es kommt nur die Überschrift und dann 'Kein GM da.', obwohl ein GM online ist...
Beim Compilieren kommt auch kein Fehler.
Was mache ich falsch?
Code:
#ifdef __USER_COMMAND
BOOL TextCmd_gml ( CScanner& scanner )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)scanner.dwValue;
CString Nick;
int online = 0;
g_DPCoreClient.SendGetPlayerCount( pUser->m_idPlayer );
pUser->AddText( "GM's online:" );
for ( int i = 0; i < g_UserMng.GetCount(); i++ ){
CUser* pUser2 = static_cast<CUser*>( prj.GetUserByID( i ) );
if( IsValidObj( pUser2 ) && pUser2->IsAuthHigher( AUTH_GAMEMASTER ) && !pUser2->HasBuff( BUFF_ITEM, II_SYS_SYS_SCR_SMELPROT ) ){
Nick = CPlayerDataCenter::GetInstance()->GetPlayerString( i );
pUser->AddText( Nick + " [Online]" );
online++;
}
}
if( online == 0 )
pUser->AddText( "Kein GM da." );
#endif
return TRUE;
}
#endif // __USER_COMMAND
|
Wenn das Item II_SYS_SYS_SCR_SMELPROT aktiviert ist, wird er nicht angezeigt und der sollte auch AUTH_GAMEMASTER haben.
|
|
|
03/08/2019, 20:08
|
#30
|
elite*gold: 100
Join Date: Apr 2015
Posts: 128
Received Thanks: 32
|
Danke, aber das weiss ich schon und ist nicht das Problem.
Es gibt glaube ich ein Problem mit dem Antihack......
|
|
|
Similar Threads
|
gmlist Problem
12/06/2009 - Metin2 Private Server - 0 Replies
Hi...
Also habe folgendes Problem ...
Ich hab irgentwas faschles bei gmlist in Navicat eingeben
und die gmlist ist dan gecrasht kan mir irgentjemand dabei helfen?
Dane^^
|
gmlist has crashed
10/09/2009 - Metin2 Private Server - 1 Replies
hi bei meinem hamachi server ist die gmlist in der db gecrasht
es kommt immer so ne fehlermeldung von wegen crash undso
und die tabelle is leer
mann akn auch nicht auf das + drücken
wie kann man das problem beheben?
|
Frage --> DB GmList!
10/04/2009 - Metin2 Private Server - 3 Replies
Ich hab mir für 4 accounts auf dem Server GM Rechte gemacht.. Hat Super funktioniert^^ Doch als ich denn den 5 Acc zu GM Machen wollte, war keiner mehr GM.. Ich geh in die DB - Common - Gmlist und denn steht da sie ist crashed. Warum?? Kann man nich mehr GMs machen als 4 oder was ?? :p Danke für die Hilfe
|
All times are GMT +1. The time now is 13:54.
|
|