Hallo liebe Breadfish Community,
Ich möchte wissen wie man abfragen kann wenn ein spieler im pinken gebiet steht.
MfG
Hallo liebe Breadfish Community,
Ich möchte wissen wie man abfragen kann wenn ein spieler im pinken gebiet steht.
MfG
Du könntest dir die Koordinaten der Ecken besorgen und dann eine Funktion wie IsPlayerInArea verwenden.
Falls du das Gebiet nun noch farbig auf der Karte anzeigen lassen willst, schau dir mal GangZones an.
Ich habe die koordinaten aber ich weiss nicht genau wie ich das mit IsPlayerInArea anstellen soll. In der Zone sollte man dann das befehl /startwar befehl abrufen können.
Das könnte dein isPlayerInArea sein:
IsPlayerInArea(playerid, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(X >= MinX && X <= MaxX && Y >= MinY && Y <= MaxY)
{
return 1;
}
return 0;
}
Und dann brauchst du nur noch die jeweiligen Koordinaten in deinem Command über die Funktion abfragen... Theoretisch.
Ob die Funktion funktioniert, kann ich dir nicht zu 100% garantieren
nicht genau wie ich das mit IsPlayerInArea anstellen soll
Da siehst du eine gute Information im Wiki zu (auch wenn es eine andere Funktion ist): https://sampwiki.blast.hk/wiki/GangZoneCreate
Also brauchst du nur diese zwei diagonalen X und Y Koordinaten (Z ist Höhe und somit irrelevant)
In der Zone sollte man dann das befehl /startwar befehl abrufen können.
Dann kannst du die Funktion einfach im Befehl aufrufen, zurückkriegst du 1 oder 0, je nachdem ob der Spieler drin ist oder nicht.
Dies einfach in eine if-Abfrage und fertig ist das Ganze wunderwerk
Oder könntet ihr das für mich kurz erledigen wenn ich mein script kurz hochlade... ich kriege das irgendwie nicht hin....
Also, was ich jetzt rausgesehen habe bei deinem Script,
1. Setze die gangzone1 auch einen Wert
2. Für deine Abfrage brauchst du die min und max werte von einer Zone also diese
GangZoneCreate(1053.1774,-1416.4441, 782.6472,-1638.3611);
Vor erst sollte es eigentlich dann so aussehen
(Laut Wiki //GangZoneCreate(minX, minY, maxX, maxY);)
minX
minY
maxX
maxY
GangZoneCreate(782.6472,-1638.3611,1053.1774,-1416.4441);
Diese werte setzt du nun in die Abfrage ein:
if(IsPlayerInArea(playerid, 782.6472,-1638.3611,1053.1774,-1416.4441))
{
//Wenn in der Zone
}
else
{
//wenn nicht
}
Soweit hoffe ich, dass dir dies deine Frage beantwortet.
(Ich würde dir aber gleich empfehlen auf Enum anzupassen, das wird dann eig. Übersichtlicher und einfacher.)
Danke hat sich erledigt