Outall Funktion erweitern?

12/03/2011 16:54 .Insane#1
Hi E*Pvpers,
ich habe jetzt die Outall Funktion eingebaut. Nun meine Frage:

Kann man es einbauen, dass sich die Neuz nach beispielsweise 5 sec schließt(nach Benutzung des Befehls)?

Bei mir ist das nähmlich so, dass eben eine Nachricht kommt und man nurnoch rumlaufen kann (also man kann nichts mehr benutzen/ausführen).

Weiß einer wie das geht?

Lg
12/03/2011 16:59 Sedrika#2
Der befehl ist server seitig und nicht client, also kannst du im normal fall ja nur die verbindungen trennen.
12/03/2011 17:02 .Insane#3
Na ok
Falls doch einer weiß, wie es geht.
Bitte schreiben
12/03/2011 18:06 Velmore#4
du kannst dem clienten ein packet schicken, welches beim client den close macht
12/03/2011 19:34 Sekkusu[DW]#5
FuncTextCmd:

PHP Code:
BOOL TextCmd_outallCScannerscanner )            

#ifdef __WORLDSERVER
    
g_UserMng.RemoveAllUsers();
#endif    // __WORLDSERVER
#ifdef __CLIENT
    
g_DPlay.ClientClose();
#endif
    
return TRUE;

DpClient.cpp:

PHP Code:
#ifdef __CLIENT
void CDPClient::ClientClose()
{
    
AfxMessageBox("Client closed because Admin has outed all useres");
    
ExitProcess( -);
}
#endif 
DpClient.h:

PHP Code:
void CDPClient::ClientClose(); 

Oder nur FuncTextCMD:
PHP Code:
BOOL TextCmd_outallCScannerscanner )            

#ifdef __WORLDSERVER
    
g_UserMng.RemoveAllUsers();
#endif    // __WORLDSERVER
#ifdef __CLIENT
           
AfxMessageBox("blalba");
    
ExitProcess( -);
#endif
    
return TRUE;

Sollte auch funktionieren denke ich.
beides ist nicht getestet.
12/03/2011 19:37 .Crasy#6
Jo, Sendest ein Packet zum Client, fertig.

Client behandlung: ExitProcess( -2 ); oo

Warte, ich mach dir schnell was ;D
12/03/2011 19:39 Sekkusu[DW]#7
Quote:
Originally Posted by .Crasy View Post
Jo, Sendest ein Packet zum Client, fertig.

Client behandlung: ExitProcess( -2 ); oo

Warte, ich mach dir schnell was ;D
wieso 2? xd
Bzw, wieso Packet LOL?
12/03/2011 19:39 Sedrika#8
Der befehl wird doch aber nur vom ausführenden clienten behandelt ?
12/03/2011 19:41 Sekkusu[DW]#9
Quote:
Originally Posted by Sedrika View Post
Der befehl wird doch aber nur vom ausführenden clienten behandelt ?
Dann crasht wiederrum nur der Client von dem ders eingeben hat.
Stimmt. Okay, dann muss mans doch über WS machen. Am besten per Packet an WS senden, und über CUser.
12/03/2011 19:52 .Crasy#10
Du hast auch kein Hirn wah?

Wenn es in __WORLDSERVER drin ist, wird es vom World auch behandelt, einfach pUser->SendOutUser und darin ein SNAPSHOT Senden der vom Client wiederrum als ExitProcess ( -2 ); behandelt wird <.<

-2 is Schneller.
12/03/2011 20:03 Sekkusu[DW]#11
Quote:
Originally Posted by .Crasy View Post
Du hast auch kein Hirn wah?

Wenn es in __WORLDSERVER drin ist, wird es vom World auch behandelt, einfach pUser->SendOutUser und darin ein SNAPSHOT Senden der vom Client wiederrum als ExitProcess ( -2 ); behandelt wird <.<

-2 is Schneller.
Sag ich doch. Nur wenn man das macht was ich angegeben habe, crasht nur der Client von dem, ders eingibt xD
12/03/2011 20:22 Krustenkäse#12
@Sekkusu... das ist Unsinn, weil du dann nur deinen eigenen Client schliesst :D
Damit hier wenigstens ein brauchbarer Code veröffentlicht wird:
User.cpp
MsgHdr.h
DPClient.cpp:
...dann noch die neuen Funktionen in User.h und DPClient.h definieren und fertig...