IsPlayerInArea Problem

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
  • Ich hab folgendes problem ich versuche eine No-Dm zone zu scripten doch zum teil steht an manchen stellen in der Zone kein No-Dm Zone weshalb? Hier das Script:
    public IsPlayerInNoDMZone()
    {
    for(new i=0; i < MAX_PLAYERS; i++) //This line defines a name for all player, the name is "i"
    {
    if (IsPlayerInArea(i,1165,-963,1230,-866))
    {
    TextDrawShowForPlayer(i, Text:Textd1);
    }
    else
    {
    TextDrawHideForPlayer(i, Text:Textd1);
    }
    }
    return 1;
    }
    Ich hab noch bei OnGameModeInit einen Timer reingemacht der jede halbe sekunde überprüft (500) ob man in der No dm zone ist. Die Zone ist am BSN.
    Danke im vorraus :)
    ~TheSnipesZone =]


    *Wer Rechtschreib- bzw. Gramatikfehler findet darf sie behalten :)*

  • wie meinst du dies an manchen stellen wenn du die größe damit meinst solltest du diese anpassen.


    Jeodch gebe ich dir ein Tipp benutz das streamer plugin um solche zonen zu erstellen dazu gibt es eine nette funktionen und zwei callbacks


    CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1);


    forward OnPlayerEnterDynamicArea(playerid, areaid);
    forward OnPlayerLeaveDynamicArea(playerid, areaid);


    ich vermerke es nochmal damit erstellst du keine Gangzonen die sichtbar sind sondern nur gebiete

  • Sie soll auch nicht sichtbar sein sondern in der Funktion wird dann ein Textdraw sichtbar. Mein problem ist das die Zone so eine art kurve ist weil auf der Straße ist zum teil keine NoDm Zone aber wenn man nach oben läuft dann ist sie wieder da oder wenn man nach links läuft auch. Das ist das seltsame weil es ja eingentlich ein rechteck sein soll die Zone. Ps: Ich versuch es jetzt mal mit einem Streamer :)
    ~TheSnipesZone =]
    //Edit Ist nicht besser hier mal paar screens von meinem Problem: Die Lücke: Dann weiter oben ist wieder no dm zone: und etwas weiter links von der lücke ist auch wieder no dm ich check nicht was ich falsch mache:

  • dein problem ist ganz einfach das du falsche koordinaten verwendest beziehungsweise sie falsch eingfügt hast


    stock IsPlayerInArea(playerid, Float:MaxX, Float:MinX, Float:MaxY, Float:MinY)
    {
    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;
    }
    if (IsPlayerInArea(i,1225.4095,1166.0907,-865.9355,-960.7029))


    hier bin kurz ingame gegangen und hab dies neu erstellt



    deine koords richtig gestellt


    if (IsPlayerInArea(i,1230,1165,-866,-963))

  • Ich hab den Stock auf deinen geändert und deine Kordinaten verwendet hab jedoch immer noch das Problem kann es vlt daran liegen weil der bsn gemappt ist?
    ~TheSnipesZone =]


    hm das ist sehr komisch ich habs nochmal geschrieben


    SetTimer("IsPlayerInNoDMZone",1000,true);



    [pwn] Textdraw0 = TextDrawCreate(497.000000, 112.000000, "NO DM ZONE");
    TextDrawLetterSize(Textdraw0, 0.449999, 1.600000);
    TextDrawTextSize(Textdraw0, 606.500000, -3.062500);
    TextDrawAlignment(Textdraw0, 1);
    TextDrawColor(Textdraw0, -16776961);
    TextDrawUseBox(Textdraw0, true);
    TextDrawBoxColor(Textdraw0, 255);
    TextDrawBackgroundColor(Textdraw0, 51);
    TextDrawFont(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);



    forward IsPlayerInNoDMZone();
    public IsPlayerInNoDMZone()
    {
    for(new i=0; i < MAX_PLAYERS; i++){
    if(IsPlayerInArea(i,1225.4095,1166.0907,-865.9355,-960.7029))TextDrawShowForPlayer(i,Textdraw0);
    else TextDrawHideForPlayer(i,Textdraw0);
    }
    return 1;
    }


    und es geht ohne probleme und ob man den typ dazu anhängt als Tex: ist egal


  • Erstmal sorry für die verspätete antwort war etwas beschäftigt gewesen ^^ So jetzt zum script ich hab jetzt immer noch des gleiche problem hab alles gelöscht und dein Script eingefügt und es ist immer noch der Bug da :/ Würden vlt 2 Areas den bug beheben?
    ~TheSnipesZone