Hallo Community!
Ich wollte mal fragen wie das ist ich möchte ein Timeban gerade machen aber ich möchte nicht immer Sekunden angeben,
kann ich das so machen zb /timeban [playerid/name] [minuten] [grund]....
Also das ist nicht bei minuten zb 60 = Sekunden = 1Minute machen muss sondern zb 10 = 10Minuten?
Möglichkeit Timerzeit in Minuten anzugeben?
- Pascal.
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
-
Ja udn wie schreibe ich es für ein Timeban? Die Sekunden/Minuten sollen nicht vorgeschrieben sein sondern frei wählbar.
Habe das bis jetzt so.ocmd:timeban(playerid,params[])
{
if(IsAdmin(playerid, 1))
{
new zeit, grund[64], string[128];
if(sscanf(params,"uis",zeit,grund))return SendClientMessage(playerid,GRAU,"Verwendung: /timeban [playerid/name] [zeit (Minute)] [grund]");
for(new i=0; i<MAX_PLAYERS; i++)
{
SetTimer("Timeban",zeit,false);
format(string,sizeof(string),"AmdCmd: %s wurde von %s für %d Minuten Gebannt. Grund: %s",SpielerName(i),SpielerName(playerid),zeit,grund);
SendClientMessageToAll(CROT,string);
Ban(i);
return 1;
}
}
else
{
SendClientMessage(playerid,GRAU,"Fehler: Du bist nicht befugt diesen Befehl zu nutzen!");
}
return 1;
} -
indem du
SetTimer("Timeban",zeit*60000,false);machst mfg
-
-
Okay teste ich mal.
-
*6000 ist falsch -
Getestet, aber ein Fehler:
Wenn ich als zeit zb 10nehme beim Befehl, sagt er mir wurde für 1Minute gebannt obwohl ich 10Minuten eingegeben habe. -
hast du es mit 6000 gemacht?
oder mit 60000?6000 ist klar das es nur eine minute ist da der intervall in ms eingetragen wird bzw berechnet wird somit wären das 6 sekundnen *10 = 1 minute
-
Habe es schon mit 60000 gemacht.
-
hm dann ist iwo anders der fehler der rest stimmt soweit
-
Habe das bis jetzt so:
ocmd:timeban(playerid,params[])
{
if(IsAdmin(playerid, 1))
{
new pID, zeit, grund[64], string[128];
if(sscanf(params,"uis",pID,zeit,grund))return SendClientMessage(playerid,GRAU,"Verwendung: /timeban [playerid/name] [zeit (Minute)] [grund]");
for(new i=0; i<MAX_PLAYERS; i++)
{
zeit = SetTimer("Timeban",zeit*60000,false);
format(string,sizeof(string),"AmdCmd: %s wurde von %s für %d Minuten gebannt. Grund: %s",SpielerName(i),SpielerName(playerid),zeit,grund);
SendClientMessageToAll(CROT,string);
Ban(i);
SetPVarInt(i,"Timeban",zeit);
SetPVarInt(i,"Banned",1);
SaveSpieler(i);
return 1;
}
}
else
{
SendClientMessage(playerid,GRAU,"Fehler: Du bist nicht befugt diesen Befehl zu nutzen!");
}
return 1;
} -
du musst auch überall die zeit anpassen und nicht nur ,zeit, hinschreiben
//edit zeit= übersehen
-
Anstatt mit dem Timer unnötig zu machen mach es so:
Anstatt:
zeit = SetTimer("Timeban",zeit*60000,false);
mach es so
zeit = zeit*60000; -
for(new i=0; i<MAX_PLAYERS; i++)
{
SetTimer("Timeban",zeit,false);
format(string,sizeof(string),"AmdCmd: %s wurde von %s für %d Minuten Gebannt. Grund: %s",SpielerName(i),SpielerName(playerid),zeit,grund);
SendClientMessageToAll(CROT,string);
Ban(i);
return 1;
Damit gehst du alle Spieler durch -> Es werden alle Spieler auf dem Server gebannt. -
ups
//EDIT: Ich rechne einfach mal zeit*1 zb ich gebe 2Minuten ein dann kommt das auch
Und ich habe nun in der for schleife MAX_PLAYER_NAME rein geschrieben.
Müsste so gehen.Und wie wird er automatisch wieder entbannt?
-
//EDIT: Ich rechne einfach mal zeit*1 zb ich gebe 2Minuten ein dann kommt das auch
Und ich habe nun in der for schleife MAX_PLAYER_NAME rein geschrieben.
Müsste so gehen.Und wie wird er automatisch wieder entbannt?
Bei einem normalen Timeban, der einen bestimmten Spieler bannen soll, bist du mit einer Schleife falsch am Start.
Du brauchst dazu lediglich eine Variable für den Spieler, der gebannt werden soll, und eine sscanf Abfrage.
Dann setzt du eben die SpielerVarible für Ban auf 1, z.bSpielerInfo[pID -> Je nachdem, wie du die Variable deklariert hast][Banned] = 1;
-
breadfish.de
Hat das Thema geschlossen.