|
You last visited: Today at 05:50
Advertisement
[Source]Namen vorm GM Shout
Discussion on [Source]Namen vorm GM Shout within the Flyff Private Server forum part of the Flyff category.
03/03/2011, 19:39
|
#1
|
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
|
[Source]Namen vorm GM Shout
Ist mein erstes TuT, also wenns Kritik gibt, bitte sagen, damit ichs verbessern kann.
Ich weiß auch nicht, ob mein Code so optimal ist, es gibt sicher eine bessere Lösung, bin noch C++ Anfänger.
Also, als erstes öffnet ihr die FuncTextCmd.cpp und sucht nach
Code:
BOOL TextCmd_System( CScanner & scanner )
Dort findet ihr das:
Code:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CUser* pUser = (CUser*)scanner.dwValue;
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
g_DPCoreClient.SendSystem( szString );
#endif // __WORLDSERVER
return TRUE;
}
Nun führen wir eine neue Variable ein, ich nenne sie einfach mal szName
dann sieht das ganze so aus:
Code:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser = (CUser*)scanner.dwValue;
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
g_DPCoreClient.SendSystem( szString );
#endif // __WORLDSERVER
return TRUE;
}
Die Variable setzen wir auch gleich auf "[", um uns später arbeit zu ersparen xD
Dann löschen wir den Quelltest von scanner.GetLastFull(); zu g_DPCoreClient.SendSystem( szString );.
Das ganze sieht dann so aus:
Code:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser = (CUser*)scanner.dwValue;
#endif // __WORLDSERVER
return TRUE;
}
und fügen folgendes an die Stelle ein:
Code:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser = (CUser*)scanner.dwValue;
strcat( szName, pUser->GetName());
strcat( szName, "]: ");
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
strcat( szName, szString );
g_DPCoreClient.SendSystem( szName );
#endif // __WORLDSERVER
return TRUE;
}
Nun sollte der GM-Shout so aussehen:
Code:
[GM Information][NAME] TEXT
Wenn ihr nun auch noch wollt, dass dort z.B. Admin steht, müsst ihr folgendes einfügen:
Code:
{
#ifdef __WORLDSERVER
CHAR szString[512] = "";
CHAR szName[512] = "[";
CUser* pUser = (CUser*)scanner.dwValue;
//FÜR ADMIN
if(pUser->m_dwAuthorization == AUTH_ADMINISTRATOR)
strcat( szName, "Admin][" );
strcat( szName, "TestGM][" );
strcat( szName, pUser->GetName());
strcat( szName, "]: ");
scanner.GetLastFull();
if( strlen( scanner.token ) >= 512 )
return TRUE;
strcpy( szString, scanner.token );
StringTrimRight( szString );
strcat( szName, szString );
g_DPCoreClient.SendSystem( szName );
#endif // __WORLDSERVER
return TRUE;
}
Wenn ihr dies nicht nur für Admin machen wollt, müsst ihr immer ein
Code:
else if(pUser->m_dwAuthorization == AUTHORIZATION)
strcat( szName, "Admin][" );
hinzufügen.
Hier noch eine Liste, mit den verschiedenen Autorisierungen, die /sys verwenden können:
Code:
AUTH_GAMEMASTER1 //Gamemaster lvl 1
AUTH_GAMEMASTER2 //Gamemaster lvl 2
AUTH_GAMEMASTER3 //Gamemaster lvl 3
AUTH_ADMINISTRATOR //Administrator
Hoffe euch hat der Guide gefallen, Kritik ist erwünscht.
Mfg. Pumbaaa
|
|
|
03/03/2011, 19:49
|
#2
|
elite*gold: 30
Join Date: Oct 2010
Posts: 1,509
Received Thanks: 849
|
Muhahahaha, Kritik ist erwünscht, doch ich gebe keine Kritik. Boah bin ich fies.
_____________________________
Sehr Guter Guide, finde ich gut
|
|
|
03/03/2011, 19:58
|
#3
|
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 829
|
Danke,
Achja, hätte ich fast vergessen, was eigentlich ganz einfach ist:
Wie man das [GM Information] davor wegbekommt.
Such in deinem Resource Ordner von deinen Files dei Datei textclient.txt.txt.
Öffne diese und such nach [GM Information]
Das "[GM Information]" löschst du, sodass dort nurnoch %s steht.
Abspeichern, mergen und Spass haben ;D
|
|
|
03/03/2011, 20:28
|
#4
|
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,475
|
NIce gemacht, wussten vll einige schon aber für die mühe ein Thx.
|
|
|
03/03/2011, 22:23
|
#5
|
elite*gold: 142
Join Date: Apr 2010
Posts: 859
Received Thanks: 428
|
geht einfacher
nja, obs gut is oder nich zu sharen muss jeder selber wissen.
Gratz zum rausfinden
greetings
|
|
|
03/03/2011, 23:22
|
#6
|
elite*gold: 2
Join Date: Jul 2009
Posts: 1,447
Received Thanks: 923
|
Quote:
Originally Posted by ©ross
geht einfacher
nja, obs gut is oder nich zu sharen muss jeder selber wissen.
Gratz zum rausfinden
greetings
|
Jo, viel einfacher o.O
in der TXT (textClient) das "GM Information" weg machen und %s hin, dann hinten nur noch im code ein , und den Namen auslesen, fertig  o
Wobei ich es ehrlich gesagt, scheiße finde, denn ein GM wird sowieso voll gespamt sobald da ein Name steht, stellt euch einfach mal vor ihr wärt auf Offi GM, dann steht da z.b. "Bla[GM] Hallo" oder so, und ja den wird man 100% voll Spamen.
|
|
|
04/05/2011, 15:12
|
#7
|
elite*gold: 0
Join Date: Nov 2008
Posts: 97
Received Thanks: 16
|
Quote:
Originally Posted by .Crasy
dann hinten nur noch im code ein , und den Namen auslesen, fertig  o
|
Hm, check ich nicht xD
|
|
|
05/12/2011, 15:06
|
#8
|
elite*gold: 0
Join Date: Sep 2009
Posts: 148
Received Thanks: 29
|
mal ne ganz doofe frage, wo ist diese FuncTextCmd.cpp? finde die nicht. Wenn es hilft, ich benutz Virtuos v3 files (V17).^^
|
|
|
05/12/2011, 15:35
|
#9
|
elite*gold: 0
Join Date: Nov 2009
Posts: 28
Received Thanks: 19
|
Ehm achte mal auf die endung cpp = C++ und das kannste nur im Source machen und nicht in denn Files.
|
|
|
05/12/2011, 20:13
|
#10
|
elite*gold: 45
Join Date: Mar 2010
Posts: 1,561
Received Thanks: 350
|
Quote:
Originally Posted by domme93
mal ne ganz doofe frage, wo ist diese FuncTextCmd.cpp? finde die nicht. Wenn es hilft, ich benutz Virtuos v3 files (V17).^^
|
Du brauchst den Source hier der download ->
|
|
|
07/12/2011, 13:20
|
#11
|
elite*gold: 0
Join Date: Jun 2011
Posts: 225
Received Thanks: 22
|
Quote:
|
AUTH_GAMEMASTER1 //Gamemaster lvl 1
|
Da hast du einen kleinen Fehler gemacht die 1 muss nämlich weg sonst kommt ein Error beim compilen das ganze müsste dann so in der Funktion von dir aussehen :
Quote:
if(pUser->m_dwAuthorization == AUTH_GAMEMASTER)
strcat( szName, "GM][" );
|
Jedoch hab ich eine Frage, wenn jemand den Hack von Yannick benutzen würde um seinem Char Fake GM rechte zu geben würde er dann in die Bedingung AUTH_GAMEMASTER gehören und somit den ensprechenden namen vor einer /sys Nachricht haben ? Oder geht das ganze erst gar nicht?
EDIT : Habe mir die Frage eigentlich selber beantwortet. Ich bin der Meinung, dass man durch den GM Fake Hack die Bedingung erfüllen würde und daher habe ich es bei mir entfernt. Ich würde dies auch den anderen Servern empfehlen wenn ihr nicht wollt, dass sich jemand als Fake GM mit der /sys Nachricht ausgibt.
|
|
|
Similar Threads
|
Geschlecht vorm namen oO
12/28/2009 - S4 League - 3 Replies
Ich habe das rausgefunden wie das geht nur 1 problem alle chars werden als weiblich angzeigt wie krieg ich das korregiert ^^
|
All times are GMT +1. The time now is 05:52.
|
|