Wieso kann ich bei diesem Code als Zivilist das Tor öffnen?
ocmd:mv(playerid,params[])
{
static bool:isOpen;
if(!isOpen)
{
//LSPD Tor
if(!isPlayerInFrakt(playerid,1))
if(!IsPlayerInRangeOfPoint(playerid,7,1535.5193,-1628.6432,13.1630)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
isOpen = true;
MoveObject(tor[0],1539.50000000,-1627.69995117,8.69999981,7);
}
else
{
isOpen = false;
MoveObject(tor[0],1539.50000000,-1627.69995117,14.69999981,7);
}
return 1;
}
Problem mit Tor
- [PeL]Smiley
- 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
-
-
Der Aufbau ist falsch.
Die Booleansche Variable muss außerhalb des Befehls stehen, da er immer, wenn der Command eingegeben wird, auf "False" gesetzt wird.Hinter deiner Fraktionsabfrage fehlt etwas. Entweder eine Klammer oder ein "return".
-
PHP
Alles anzeigennew isOpen; ocmd:mv(playerid,params[]) { if(!isOpen) { //LSPD Tor if(!isPlayerInFrakt(playerid,1)) return 1; if(!IsPlayerInRangeOfPoint(playerid,7,1535.5193,-1628.6432,13.1630)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!"); isOpen = true; MoveObject(tor[0],1539.50000000,-1627.69995117,8.69999981,7); } else { isOpen = false; MoveObject(tor[0],1539.50000000,-1627.69995117,14.69999981,7); } return 1; }
-
Eigentlich wollte ich vermeiden, dass man ihm den Code vor die Nase setzt.
Zumal du bei deinem Code "bool" verwenden solltest. -
Ich habs jetzt verstanden,aber warum sollte ich bool verwenden?
-
aber warum sollte ich bool verwenden?
Das war wohl auf [GSR]Kaito-sensei's Post bezogen, da er
new isOpen;
geschrieben hat. Dort fehlt der "bool:" Tag. -
new isOpen;
ocmd:mv(playerid,params[])
{
if(!isOpen)
{
//LSPD Tor
if(!isPlayerInFrakt(playerid,1)) return 1;
if(!IsPlayerInRangeOfPoint(playerid,7,1535.5193,-1628.6432,13.1630)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
isOpen = true;
MoveObject(tor[0],1539.50000000,-1627.69995117,8.69999981,7);
}
else
{
isOpen = false;
MoveObject(tor[0],1539.50000000,-1627.69995117,14.69999981,7);
}
return 1;
}so wie das jetzt ist kann jeder das tor schließen, egal wie weit weg er ist
die abfragen müssen vor isOpen
new bool:isOpen;
ocmd:mv(playerid,params[])
{
if(!isPlayerInFrakt(playerid,1)) return 1;
if(!IsPlayerInRangeOfPoint(playerid,7,1535.5193,-1628.6432,13.1630)) return SendClientMessage(playerid,Rot,"Du bist nicht in der Nähe!");
if(!isOpen)
{
//LSPD Tor
isOpen = true;
MoveObject(tor[0],1539.50000000,-1627.69995117,8.69999981,7);
}
else
{
isOpen = false;
MoveObject(tor[0],1539.50000000,-1627.69995117,14.69999981,7);
}
return 1;
} -
breadfish.de
Hat das Thema geschlossen.