|
You last visited: Today at 19:51
Advertisement
[SOURCE] Fragen
Discussion on [SOURCE] Fragen within the Flyff Private Server forum part of the Flyff category.
06/11/2011, 23:43
|
#1
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
[SOURCE] Fragen
Hey elitepvpers,
ich hätte da mal 2 Source Fragen.
1 Frage:
Wie kann man den Befehl "/out" in "/tschö" umändern?
2. Frage:
Wie kann man es einstellen, dass wenn man "/out" macht, beim gegickten Spieler dann eine Nachricht erscheint; "Tschöö  ".?
Wenn mir erfolgreich weiterhilft, bekommt von mir je Frage 5 E*Gold
|
|
|
06/12/2011, 00:50
|
#2
|
elite*gold: 0
Join Date: Jan 2011
Posts: 373
Received Thanks: 114
|
1.
Code:
ON_TEXTCMDFUNC( TextCmd_outall, "tschö", "tschö", "Á¢¼ÓÀÚ¼ö", "Á¢¼ÓÀÚ¼ö",TCM_BOTH, AUTH_ADMINISTRATOR , "Á¢¼ÓÀÚ Ä«¿îÆ®" )
2.
Quote:
BOOL TextCmd_outall( CScanner& scanner )
{
#ifdef __WORLDSERVER
g_DPCoreClient.SendSystem( "Es wurden gerade alle gekickt zur Sicherheit - Es findet eine Wartung statt" );
g_UserMng.RemoveAllUsers();
#endif // __WORLDSERVER
return TRUE;
}
|
|
|
|
06/12/2011, 01:59
|
#3
|
elite*gold: 0
Join Date: Oct 2010
Posts: 443
Received Thanks: 170
|
Das Ganze muss in der FuncText.cpp im Source bearbeitet werden.
Bzgl. 1.) musst du eigentlich nur nach
Quote:
|
ON_TEXTCMDFUNC( TextCmd_outall,
|
suchen und das 1 + 2te "outall" in das beliebige Wort ändern.
Die erste Bezeichnung gibt an, wie der Befehl unter "/" inGame heißt, das zweite Wort ist der Kürzel, du kannst also auch beim zweiten einfach "bb" reinschreiben, dann heißt der Befehl mit Kürzel im Endeffekt "/bb USERNAME".
Zu 2.) musst du, wie Product bereits schrieb den Befehl in das was er bereits gepostet hat ändern. Also nicht einfach reinklatschen, sondern die bereits vorhandenen Zeilen zum Outall Befehl ändern. Nur eben in
Quote:
BOOL TextCmd_outall( CScanner& scanner )
{
#ifdef __WORLDSERVER
g_DPCoreClient.SendSystem( "Tschöö" );
g_UserMng.RemoveAllUsers();
#endif // __WORLDSERVER
return TRUE;
}
|
|
|
|
06/12/2011, 15:09
|
#4
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
das ist aber /outall, ich will nur /out
|
|
|
06/12/2011, 15:18
|
#5
|
elite*gold: 0
Join Date: Oct 2010
Posts: 443
Received Thanks: 170
|
Dann bearbeite doch eben einfach in der FuncText.cpp die Out funktion.
Quote:
|
ON_TEXTCMDFUNC( TextCmd_Out, "tschö", "tschö", "ÅðÃâ", "ÅðÃâ", TCM_SERVER, AUTH_GAMEMASTER2 , "ÅðÃâ" )
|
und dann eben noch bei der Funktion der /out Funktion das hier einfügen:
Quote:
|
g_DPCoreClient.SendSystem( "Tschöö" );
|
Also einfach nach
Quote:
|
BOOL TextCmd_out( CScanner& scanner )
|
suchen und dort eben dann die Systemshout Info Funktion einfügen.
|
|
|
06/12/2011, 17:05
|
#6
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
hm also das mit dem befelh tschö geht nicht, aber das da "Tschoö" steht schon...
abeeer
JEDER sieht dann das, wie macht man das dass nur der jenige das sieht der gekickt wurde?
oder zumindest da steht:
"Tschö, CHARNAME" ?
?
|
|
|
06/12/2011, 19:59
|
#7
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
ok das, was du willst ist etwas komplizierter:
Wenn du diese Funktion aufrufst ( TextCMD_out ), dann schickt der LoginServer ein Packet und schliest dann die Verbindung...
Im Endeffeckt landet man dann bei dieser Funktion in der DPLoginClient.cpp:
Code:
void CDPLoginClient::SysMessageHandler( LPDPMSG_GENERIC lpMsg, DWORD dwMsgSize, DPID idFrom )
{
switch( lpMsg->dwType )
{
case DPSYS_CREATEPLAYERORGROUP:
m_fConn = TRUE;
break;
case DPSYS_DESTROYPLAYERORGROUP:
{
#ifdef __INFO_SOCKLIB0516
{
LPDPMSG_DESTROYPLAYERORGROUP lpDestroyPlayer = (LPDPMSG_DESTROYPLAYERORGROUP)lpMsg;
m_lError = lpDestroyPlayer->dwFlags;
}
#endif
CNetwork::GetInstance().OnEvent( LOGIN_DISCONNECT );
[COLOR=Red]g_WndMng.PutString( "Tschö", NULL, 0xff00ff00 );[/COLOR]
m_fConn = FALSE;
g_DPlay.DeleteDPObject();
if( m_bShowDisconnectMsg )
g_WndMng.OpenMessageBoxUpper( prj.GetText(TID_DIAG_0023), MB_OK, TRUE ); //¼*¹ö·ÎºÎÅÍ Á¢¼ÓÀÌ ÇØÁ¦µÇ¾ú½À´Ï´Ù.
m_bShowDisconnectMsg = TRUE;
break;
}
}
}
Das würde dir dann einen Text ausgeben, wenn die Verbindung unterbrochen wird ( Kick, als auch TimeOut )
So denke ich jedenfalls dass das funktioniert, habe es aber noch nicht getestet^^
|
|
|
06/12/2011, 20:46
|
#8
|
elite*gold: 21
Join Date: Nov 2010
Posts: 2,062
Received Thanks: 2,320
|
Genau gebt ihm C&P Ready Code... <.<
|
|
|
06/12/2011, 23:15
|
#9
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
hm @krustenkäse:
geht lieder nicht
da steht dann: "error C2228: left of '.PutString' must have /class/struct/union type type is "unknown.type"
was ist der fehler?
|
|
|
06/12/2011, 23:26
|
#10
|
elite*gold: 0
Join Date: Dec 2010
Posts: 136
Received Thanks: 67
|
omg ihr verwirrt mich <3 xDD! Also welches war jetzt denn das richtige?
|
|
|
06/13/2011, 09:49
|
#11
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
Quote:
Originally Posted by /-/µR€
hm @krustenkäse:
geht lieder nicht
da steht dann: "error C2228: left of '.PutString' must have /class/struct/union type type is "unknown.type"
was ist der fehler?
|
Du musst etwas falsch abgeschrieben haben  , denn bei mir funktioniert alles
Post doch mal deine Funktion^^
|
|
|
06/13/2011, 12:25
|
#12
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
joa ich hab da schon mehreres versucht, kam aber immer auf das selbe ergebniss; endweder es kam ein error, oder es funktionierte nicht so ganz wie ich es wollte.
Quote:
#ifdef __WORLDSERVER
// TCHAR lpszPlayer[MAX_PLAYER];
scanner.GetToken();
CUser* pUser = (CUser*)scanner.dwValue;
g_WndMng.PutString( "Tschö", NULL, 0xff00ff00 );
if( strcmp( pUser->GetName(), scanner.Token) )
|
|
|
|
06/13/2011, 13:58
|
#13
|
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
|
LOL so geht das natürlich nicht...
g_WndMng ist die "Oberflächenklasse" der neuz.exe und kann im Worldserver nicht verwendet werden.
Desweiteren war diese g_WndMng.PutString( "Tschö", NULL, 0xff00ff00 ); für die Funktion die ich genannt habe gedacht, also in der DPLoginClient.cpp und hatte nichts mit der FuncTextCMD zu tun
Wenn du die Ausgabe in der FuncTextCMD haben willst und das vom Worldserver aus steuern willst, dann musst du pUser->AddText("Tschö") verwenden.
|
|
|
06/13/2011, 19:40
|
#14
|
elite*gold: 0
Join Date: Sep 2009
Posts: 228
Received Thanks: 42
|
nochmal vielen dank, abeeer,
wenn man jemanden kickt, bekomm NUR ich die nachricht "tschö" und nicht der andere .. :/ wie stellt man des ein das der gekickte spieler das sieht? O:
|
|
|
06/13/2011, 19:47
|
#15
|
elite*gold: 0
Join Date: Dec 2009
Posts: 50
Received Thanks: 1
|
das wird ja kompilziert
da muss man ja in der kickanweisung den textcmd geben und dann 5sek später den kickbefehl,
damit der entsprechende user das auch noch lesen kann...oder nicht?!
|
|
|
 |
|
Similar Threads
|
[Sammelthread] D3D Source Codes & Bases - *Fragen hier stellen*
06/16/2011 - WarRock - 111 Replies
Hey Leute,
Ich eröffne mal diesen Thread da sich langsam immer mehr User
an einem D3D Hack versuchen und logischerweise öfter Probleme haben.
In diesem Thread könnt ihr Fragen stellen zu D3D Bases & Source Codes.
|
[Source] Fragen
06/01/2011 - Flyff Private Server - 13 Replies
Hallo liebe Leute
ich habe heute 1 Frage da ich selbst nicht viel mit dem Source weiß frag ich euch einfach mal :P
1.Frage = Wo stell ich das ein das Amplis bis zu 5 Stück stapelbar sind also aktivierbar
Falls jemand die Antwort weiß bitte um hilfe.
mfg. und danke im vorraus.
|
Fragen zu CS Source
04/16/2011 - Counter-Strike - 4 Replies
Wo kann ich CounterStrike Source kostenlos downloaden ?
|
Source Fragen.
01/02/2011 - Flyff Private Server - 8 Replies
Hayy
Ich habe einige Fragen zum Source.
1.Muss ich unbedingt Microsoft Visual Studio .NET 2003 oder kann ich auch eine spätere Version nehmen wie zum Beispiel Microsoft Visual Basic Express Edition 2008 ?
2.Wo finde ich die .cpp dateine und den Source ordner?
3.Gibt es eine Guide, wie ich mit VB richtig umgehe?
(Es folgen bestimmt nochweitere Fragen:D)
|
All times are GMT +1. The time now is 19:52.
|
|