IsPlayerInArea - Dummer Fehler oder einfach unmöglich?

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
  • Guten Abend zusammen!


    Ich habe eben ein bisschen gebastelt und brauche dafür eine Zone (,in der später Leben abgezogen wird.)
    Nun wollte ich das per IsPlayerInArea und einem Timer überprüfen. Die Anzeige per GangZone geht ohne Probleme.


    Hier der Code:

    public OnGameModeInit()
    {
    SetTimer("Verstrahlt",1000,1);
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnPlayerConnect(playerid)
    {


    verstrahlt = GangZoneCreate(2981.3528,-2969.7791,299.8548,368.8643);
    return 1;
    }


    public Verstrahlt(playerid)
    {
    if(IsPlayerInArea(playerid,814.5726,451.9735,2835.3679,-2693.2822))
    {
    GameTextForPlayer(playerid,"~r~~r~Todeszone",3000,1);
    GangZoneFlashForPlayer(playerid,verstrahlt,0xFF0000C7);
    }
    SendClientMessage(playerid,COLOR,"test");
    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;
    }



    Ich habe einiges ruasgeschnitten, also wunder euch nicht, wenn etwas nicht definiert ist. ^^


    Bitte helft mir es ist dringend. Kein Thread&Tutorial hat mir geholfen.


    MfG

  • SetTimer("verstahlt",1000,1);
    public Verstrahlt()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInArea(i,814.5726,451.9735,2835.3679,-2693.2822))
    {
    GameTextForPlayer(i,"~r~~r~Todeszone",3000,1);
    GangZoneFlashForPlayer(i,verstrahlt,0xFF0000C7);
    }
    }
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Also am Timer kann es ja dann nicht liegen also muss es an IsPlayerInArea liegen :/


    PlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:tmp_x,Float:tmp_y,Float:tmp_z;
    GetPlayerPos(playerid,tmp_x,tmp_y,tmp_z);
    if(tmp_x < maxX && tmp_x > minX && tmp_y < maxY && tmp_y > minY){return true;}else{return false;}
    }


    Bei mir sieht sie so aus

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen