Hab das Adminscript mal kurz überflogen.Wie nicht anders zu erwarten benutzt du hier auch OnPlayerUpdate().
Das brauchst du 100% nicht.
Es reicht völlig aus,beim verlassen des Server die Spielerdaten zu speichern.Denn beim nächsten betreten des Servers soll ja alles so gespeichert werden,wie es war als man den Server verlassen hat.
Das ist nur sinnlose Belastung für den Server dafür OnPlayerUpdate() zu benutzten.
Ich würde dir auch raten,beim einloggen diese Zeile zu entfernen:
UpdateTimer = SetTimer("OnPlayerUpdate", 2000, 1);
Mehr als Schrott.Das würde immer wenn sich jemand einloggt einen neuen Timer erstellen.Angenommen du hast bisher 10 Spieler die sich eingeloggt haben,dann hast du diesen Timer quasi 10x.Der würde allerdings OnPlayerUpdate() immer für playerid 0 aufrufen,ganz egal ob der Connectet ist oder nicht.
Lösch es am besten und lass die Finger von OnPlayerUpdate() :\.
Zitat
//Dieses Admin Script steht unter dem Copyright von dem "Pro Racing Team - Clan"
/kick & /ban sind aus dem Tutorial übernommen,dafür Copyright zu nehmen ... lol.
//Edit:
Den Command versteh ich auch nicht so ganz.Wozu soviel in der Schleife?
dcmd_kickall(playerid,params[])
{
#pragma unused params
if(SpielerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
for(new i =0; i < MAX_PLAYERS;i++) {
if(IsPlayerConnected(i)) {
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
Kick(i);
}
}
}
else {
SendClientMessage(playerid,rot,KEINADMIN);//hier anstatt playerid ein "i"?
return 1;
}
return 1;
}
Das reicht auch:
dcmd_kickall(playerid,params[])
{
#pragma unused params
if(SpielerInfo[playerid][admin]>=5 || IsPlayerAdmin(playerid)) {
SendClientMessageToAll(rot,"Alle wurden vom Server gekickt.");
for(new i =0; i < MAX_PLAYERS;i++) {
Kick(i);
}
}
else {
SendClientMessage(playerid,rot,KEINADMIN);//hier anstatt playerid ein "i"?
return 1;
}
return 1;
}