Register for your free account! | Forgot your password?

You last visited: Today at 19:51

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

Advertisement



[SOURCE] Fragen

Discussion on [SOURCE] Fragen within the Flyff Private Server forum part of the Flyff category.

Reply
 
Old   #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
/-/µR€ is offline  
Old 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;
}
~Product~ is offline  
Old 06/12/2011, 01:59   #3
 
rädsun's Avatar
 
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;
}
rädsun is offline  
Old 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
/-/µR€ is offline  
Old 06/12/2011, 15:18   #5
 
rädsun's Avatar
 
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.
rädsun is offline  
Old 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" ?
?
/-/µR€ is offline  
Old 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^^
Krustenkäse is offline  
Old 06/12/2011, 20:46   #8

 
Deda94's Avatar
 
elite*gold: 21
Join Date: Nov 2010
Posts: 2,062
Received Thanks: 2,320
Genau gebt ihm C&P Ready Code... <.<
Deda94 is offline  
Old 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?
/-/µR€ is offline  
Old 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?
XSedrikX is offline  
Old 06/13/2011, 09:49   #11
 
elite*gold: 0
Join Date: May 2009
Posts: 122
Received Thanks: 160
Quote:
Originally Posted by /-/µR€ View Post
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^^
Krustenkäse is offline  
Thanks
1 User
Old 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) )
/-/µR€ is offline  
Old 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.
Krustenkäse is offline  
Thanks
1 User
Old 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:
/-/µR€ is offline  
Old 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?!
Jackygirl is offline  
Reply


Similar Threads 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.


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