Heyho,
ich scripte für ein paar Freunde und mich einen kleinen Fun Server mit /go [ID] (Teleportieren) für jeden Spieler. Das klappt auch wunderbar, jedoch hab ich das Problem, ich will, dass jeder Spieler /go deaktivieren kann, so dass sich kein anderer mehr zu ihm teleportieren kann, das ganze mit dem befehl /gos. Daran scheiter ich leider, ich habs schon mit mehreren methoden geschafft, aber scheiter immer wieder.
Oben hab ich die Variable
new gos[MAX_PLAYERS] = "allowed";
Bei den Befehlen (/go)
if(strcmp(cmd, "/go", true ) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
CmdUsageMessage(playerid, "/go [Spieler]");
return 1;
}
new Float:X, Float:Y, Float:Z;
if(strcmp(gos[playerid], "allowed")) {
if(GetPlayerVehicleID(playerid))
{
GetPlayerPos( strval(tmp), X, Y, Z );
SetVehiclePos( GetPlayerVehicleID(playerid), X+2, Y+2, Z );
new string[128], pname[40];
GetPlayerName(idx, pname, sizeof(pname));
format(string, sizeof(string), "Du hast dich zu %s teleportiert!", pname);
InfoMessage(playerid, string);
return 1;
} else {
GetPlayerPos( strval(tmp), X, Y, Z );
SetPlayerPos( playerid, X+2, Y+2, Z );
new string[128], pname[40];
GetPlayerName(idx, pname, sizeof(pname));
format(string, sizeof(string), "Du hast dich zu %s teleportiert!", pname);
InfoMessage(playerid, string);
return 1;
}
}
else
{
InfoMessage(playerid, "Dieser Spieler hat Teleportation zu ihm deaktiviert!");
return 1;
}
}
Bei /gos
if(strcmp(cmd, "/gos", true) == 0) {
if(strcmp(gos[playerid], "allowed")) {
gos[playerid] = "deny";
InfoMessage(playerid, "Teleportation zu dir wurde für alle Spieler deaktiviert!");
return 1;
} else {
gos[playerid] = "allowed";
InfoMessage(playerid, "Teleportation zu dir wurde für alle Spieler aktiviert!");
return 1;
}
}
Jedoch klappt das nicht so ganz. Ich habs schon so hinbekommen, dass das an und ausschalten klappt, ich habs versucht zurück zu setzen jedoch bin ich da auch gescheitert.
Wie würde es funktionieren? Hab schon bei Google geschaut, hab aber nichts gefunden, entweder gibts da nichts zu oder ich bin zu blöd dazu...
Danke im Vorraus, LG!