hey,
ich habe probleme mit IsPlayerInArea
ich habe des gleiche wie aus den gangzone eingefügt (obwolh das auch bug manachmal den zeigt er alles ihn der farbe blos wo das ist bleibt es weiß) kann mir jemand ne tut geben/senden wie man das macht?
IsPlayerInArea
- Modder112
- 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
-
-
Wie bitte?
Kannst Du das bitte nochmal formulieren. Geht dein IsPlayerInArea stock nicht, oder was ist dein Problem? Hab es leider nicht ganz verstanden.
-
ich weiß nicht wie ich isplayerinarea benutzten soll.
-
Erstmal der Stock:
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
}Und den stock benutzt Du z.B so:
if(strcmp(cmdtext,"/hallo",true)==0)
{
if(IsPlayerInArea(playerid,minX,minY,maxX,maxY))
{
// blabla
}
else
{
// blabla
}
} -
des wes ich ja
habe ich alles gemacht bin ihn den gebit und nichts passirt
-
Schick die Zeile
-
public OnPlayerUpdate(playerid)
{
if(IsPlayerInArea(playerid,-84.8909,2710.7996,507.2017,2350.0823))
{
GameTextForPlayer(playerid,"Flughafen",4,1);
}
return 1;
}
stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
{
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
else return 0;
} -
Versuchs so:
Bei OnPlayerConnect:
SetTimer("CheckFlughafen",5000,true); // ein Timer überprüft alle 5 Sekundne ob der Spieler sich im Flughafen aufhältEin public irgendwo im Script erstellen:
forward CheckFlughafen();
public CheckFlughafen()
{
for (new i = 0; i < MAX_PLAYERS; i++) // oder GetMaxPlayers wenn du paar Ressourcen sparen möchtest, damit bekommen wir jeden Spieler
{
if(IsPlayerInArea(i,-84.8909,2710.7996,507.2017,2350.0823))
{
GameTextForPlayer(i,"Flughafen",4000,1);
}
}
return 1;
}Halt einen Timer starten, welcher alle 5 Sekunden überprüft, ob der Spieler sich am Flughafen befindet
-
ne geht immer noch nicht
edit: es hat bei mir noch nier functonirt
edit2: kenst keiner eine tut bei youtube? -
Versuch es mal so:
if(!IsPlayerInArea(i,-84.8909,2710.7996,507.2017,2350.0823))
Bei mir klappt das immer -
den ezigt er es immer an auch wen ich dortrüber bin
edit: ich habe4 die ganzone ausgebaut wiel die gebagt hat aber das isplayerinarea geht immer nochnicht woran liegt das
-
breadfish.de
Hat das Thema geschlossen.