Hallo!
Kann mir jemand vielleicht sagen wie ich alle User ausloggen kann?
Ich suche nicht so etwas:
KickAll();
Danke!
LG!
Hallo!
Kann mir jemand vielleicht sagen wie ich alle User ausloggen kann?
Ich suche nicht so etwas:
KickAll();
Danke!
LG!
du kannst net alle ausloggen, du kannst sie nur alle Kicken
Klar kann man Sie alle ausloggen.
Machst halt so eine for Schleife & dann machst du noch in dein Login/Regisystem ne Abfrage ob der Spieler eingeloggt ist?!
Habe erst vor ein paar tagen angefangen zu scripten
Könntest du mir mal ein Beispiel machen oder so etwas? Wäre dir echt dankbar
wie willst du die denn ausloggen?
LogoutPlayer(playerid);???
du kannst sie nur kicken, und wie oben schon genannt sucht er sowas nicht.
natürlich kannst du es so aussehen lassen als wenn er sich ausloggt, aber in wirklichkeit wird er trotzdem gekickt.
Aufjedenfall kannst du nicht vermeiden das bei denjenigen die Nachricht "Server close the connection" steht
Beim GF gibts das doch auch... /logoutall oder so. Oder /logoutpl =(Logoutplayer)
und was passiert dann? wird dann gta einfach geschlossen von dem spieler der ausgeloggt wird?
wie gesagt: man muss ihn kicken, aussehen lassen als wenn er sich ausloggt ist kein problem, jedoch wird er gekickt.
Ich habe nämlich ein Problem.
Die Daten vom Spieler werden beim Restart ohne Kick nicht gesaved. Desswegen muss ich den Spieler entweder kicken lassen oder ausloggen :\
ähm mir ist gerade eingefallen das es den cmd /q gibt. eventuell kann man diesem cmd senden, ich weiß nur net obs klappt, und ich glaube nicht.
wo willst du ihn denn ausloggen?
wenn du es könntest, könntest du ihn dort auch saven oder?
Bei OnPlayerDisconnect einfach die Daten nochmal speichern
Könntest du mir vielleicht mal sagen wie das aussehen sollte?
Vielleicht so:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAnAdmin(playerid,5))
{
QuitAll();
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,WEIß,"AdmCmd: Du bist kein Admin.");
}
return 1;
}
}
du kannst ihn wieder ins login menu setzen, das ist möglich.
wenn man conected wird halt das login menu (falls vorhanden) geöffnet und er muss pw etc eingeben. wenn alles richtig eingegeben wurde, wird er eingeloggt und ggf. ne variable auf 1 gestellt. mit dem command kannst du die variable wieder auf 0 setzen und das menu neu öffnen.
aber ausloggen in diesem sinne, das sein gta geschlossen wird geht nicht.
so:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAnAdmin(playerid,5))
{
for(new i = 0; i <MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
OnPlayerDisconnect(i);
}
}
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,WEIß,"AdmCmd: Du bist kein Admin.");
}
return 1;
}
}
Edit: so wirds nicht funktionieren. Habs nochmal überarbetiete, siehe Oben
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAnAdmin(playerid,5))
{
//hier account saven
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,WEIß,"AdmCmd: Du bist kein Admin.");
}
return 1;
}
}
warum nicht einfach so?
MfG
Siehe oben, hab meins nochmal überarbeitet
dann wird bei jedem cmd gesaved, abfragen ob der cmd "gmx" ist. aber ich glaube das ist nicht das was er will..
Danke vielmals für eure schnellen Antworten!
Ist sowas dann richtig?
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAnAdmin(playerid,5))
{
SpielerSpeichern(playerid);
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,WEIß,"AdmCmd: Du bist kein Admin.");
}
return 1;
}
nein,
da savst du nur dich
#define foreachEx(%1) for(new %1;%1<MAX_PLAYERS;%1++)
oben ins Script
und dann
eben
if(strcmp(cmdtext,"/restart",true)==0)
{
if(IsPlayerAnAdmin(playerid,5))
{
foreachEx(i)
{
SpielerSpeichern(i);
}
SendRconCommand("gmx");
return 1;
}
else
{
SendClientMessage(playerid,WEIß,"AdmCmd: Du bist kein Admin.");
}
return 1;
}
z.B.
Ja, wenn die public SpielerSpeichern(playerid); vorhanden ist schon :>
Versuchs mal mit meinem, sollte klappen, wenn die SPieldaten bei OnPlayerDisconecct gespeichert werden.
MfG