Moin,
wie mache ich das wenn die Cops /jail [ID] [Zeit] eingeben das ID dann ins Gefängnis kommt?
Und wenn er reloggt sollte er auch noch drinne sein
Nutze dieses Loginsystem
[ SCRIPTING ] Ein einfaches Register/Login System machen
Danke im vorraus
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
-
-
So du musst natürlich die texte mit deinen farben um ändern hier der code ist ganz ungetestet
und auf die schnelle geschrieben da ich weg muss
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward eingesperrt(playerid);
new jailtimer[MAX_PLAYERS];new tmp[64],tmp2[64];
new zeit[64];
new Minute[MAX_PLAYERS];
new idx;
new SpielerId;
new Text1[64],Text2[64];
cmd = strtok(cmdtext,idx);
if (strcmp(cmd, "/jail", true) ==0 )
{
if(PlayerToPoint(5.0,playerid,x,y,z);//musst du mit deine koordinaten austauschen
{
if(SpielerInfo[playerid][Admin] >= 2)
{
tmp=strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,Grau,"Verwendung : /jail [playerid] [Zeit]");
return 1;
}
SpielerId=strval(tmp);
if(!IsPlayerConnected(SpielerId))
{
SendClientMessage(playerid,Gelb,"Dieser Spieler ist wohl Offline");
return 1;
}
tmp2 = strtok(cmdtext ,idx);
if(!strlen(tmp2))
{
SendClientMessage(playerid,Grau,"Verwendung : /jail [playerid] [zeit]");
return 1;
}
GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
GetPlayerName(playerid,SpielerName2,sizeof(SpielerName2));
format(SpielerDatei,sizeof (SpielerDatei),"/Accounts/%s.ini",SpielerName2);
Minute[SpielerId] = tmp2*60000;
format(Text,sizeof(Text),"Du wurdest von %s für %d minuten eingesperrt",SpielerName,Minute[SpielerId]);
format(Text2,sizeof(Text2),"Du hast %s für %d minuten eingesperrt",SpielerName2,Minute[SpielerId]);
SetPlayerPos(playerid,X,Y,Z);//musst du mit deinen koordinaten für die zellen austauschen
JailTimer[playerid] = SetTimer("eingesperrt",Minute[playerid],1);
}
else
{
SendClientMessage(playerid,Rot,"Du bist nicht autoriesiert um diesen Command zu benutzen");
return 1;
}
}
SendClientMessage(playerid,Rot,"Du bist nicht bei den Zellen");
}
return 1;
}public eingesperrt(playerid)
{
SendClientMessage(playerid,Grün,"Du bist nun frei");
SetPlayerPos(playerid,X,Y,Z);//die Koordinaten wo der spieler spawnt wenn er raus ist
KillTimer(JailTimer[playerid]);
return 1;
}
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
} -
public OnPlayerCommandText(playerid, cmdtext[]) {
dcmd(jail,4,cmdtext);
return false;
}new
pJailTimer[MAX_PLAYERS],
pName[MAX_PLAYER_NAME],
psName[MAX_PLAYER_NAME],
str[128];dcmd_jail(playerid, params[]) {
new
target,
time;
if(sscanf(params,"ud",target,time)) {
return SendClientMessage(playerid, 0xFF0000FF, "Benutzung: /jail [PlayerID/Name] [Zeit]");
}
if(Cop[playerid] == 0) { // Variable musst du selbst anpassen!
return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Cop!");
}
if(!IsPlayerConnected(target)) {
return SendClientMessage(playerid, 0xFF0000FF, "Der angegebene User ist nicht online!");
}
GetPlayerName(playerid, pName, sizeof(pName));
GetPlayerName(target, psName, sizeof(psName));
format(str, sizeof(str), "Du wurdest von Polizist %s für %d Minuten eingesperrt.", pName, time*60000);
SendClientMessage(target, 0xFF0000FF, str);
format(str, sizeof(str), "Du hast den Verbrecher %s für %d Minuten eingesperrt.", psName, time*60000);
SendClientMessage(playerid, 0xFF0000FF, str);
pJailTimer[target] = SetTimerEx("UnJail", time*60000, false, "i", target);
SetPlayerPos(target, x, y, z); // Selbst anpassen
SetPlayerInterior(target, interiorid); // Auch selbst anpassen
return 1;
}forward UnJail(guy);
public UnJail(guy)
{
KillTimer(pJailTimer[guy]);
SetPlayerPos(guy, x, y, z); // Wieder selbst anpassen
SetPlayerInterior(guy, 0); // Er kommt ja frei, Interior 0 also
SendClientMessage(guy, 0xFF00FFFF, "Du bist frei D:");
return 1;
} -
Daaanke schöön