Hallo Leute,
ist es möglich eine Funktion nur für einen bestimmten Spieler auszuführen ?
Im Prinzip geht es darum, dass ich einen /jail (also als cop jemand wegsperren) command gescripted habe. Hierbei gibt man auch die Zeit, die man in der Zelle bleibt, in sekunden an.
Hier meine Codes:
Jail Command:
if(!strcmp(cmd, "/jail", true, 5))
{
if(gTeam[playerid] != TEAM_COPS)
{
SendClientMessage(playerid, ROT, "Only Cops can use this command");
return 1;
}
new tmp[256], str[256],a[256], integer: jailtime, jailedid, jailedname;
tmp = strtok(cmdtext, idx);
jailedid = strval(tmp);
a = strrest(cmdtext, idx);
jailtime = strval(a);
if(strlen(tmp) == 0)
{
SendClientMessage(playerid, GELB, "USAGE: /jail ID TIME(in seconds)");
return 1;
}
if(jailtime > 600)
{
SendClientMessage(playerid, ROT, "Max. jailtime is 600 seconds");
return 1;
}
if((IsPlayerInRangeOfPoint(playerid, 8, 270.0385,77.7446,1001.0391)) && (IsPlayerInRangeOfPoint(jailedid, 8, 270.0385,77.7446,1001.0391)))
{
SetPlayerPos(jailedid, 264.0385, 77.7446,1001.0391);
format(str, sizeof(str),"You have been jailed for %i Seconds", jailtime);
SendClientMessage(jailedid, WEISS, str);
SendClientMessage(playerid, WEISS, "Suspect jailed");
gPlayerjailed[jailedid] = 1;
ResetPlayerWeapons(jailedid);
SetTimer("unjail", jailtime * 1000, false);
return 1;
}
else return SendClientMessage(playerid, ROT, "You or the suspect are not in near of the cell");
return 1;
}
Funktion "unjail":
public unjail(playerid)
{
if(gPlayerjailed[playerid] == 1)
{
SetPlayerPos(playerid, 267.2925,77.7186,1001.0391);
SendClientMessage(playerid, WEISS, "You have been released from the jail. Behave in future.");
gPlayerjailed[playerid] == 0;
return 1;
}
return 1;
}
Das Problem liegt wohl an der playerid. Denn bei diesem Code gilt die Funktion nur für playerid (0 in dem Fall). Wenn ich ne Schleife (i<MAX_PLAYERS) hinzufüge würden ja alle inhaftierten gleichzeitig entlassen werden.
Daher meine Frage, was muss ich hier scripten damit eben nur der entlassen wird, bei dem die Zeit bereits rum ist ?
Danke schonmal