IsPlayerInArea bugt

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 Morgen leute,


    mein Problem heute:
    Eine Abfrage wo sich ein Spieler befindet um ihn dann ins jeweilige Krankenhaus zu schicken
    if(IsPlayerInArea(playerid,1588.191, -9942.825, 9999.999, 618.9274)){SetPlayerPos(playerid,2036.8186,-1412.5883,16.9922);printf("LS KH1");}
    else if(IsPlayerInArea(playerid,-794.0955, -9942.825, 1588.191, 618.9274)){SetPlayerPos(playerid,1176.6805,-1323.6921,14.0333);printf("LS KH2");}
    else if(IsPlayerInArea(playerid,-794.0955, 618.9274, 9999.999, 9999.999)){SetPlayerPos(playerid,1608.3463,1820.8060,10.8280);printf("LV KH");}
    else if(IsPlayerInArea(playerid,-9999.999, -9942.825, -794.0955, 9999.999)){SetPlayerPos(playerid,-2661.9617,632.5511,14.4531);printf("SFKH");}
    Die Spielerpositionen stimmen und auch die Zonen der Krankenhäuser (Gefrüft duch farbige Gangzonen) jedes Krankenhaus hat sein eigenes Gebiet trotzdem
    spawnen die Spieler IMMER am LS KH2 LosSantos Krankenhaus 2
    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;
    }
    Hier die Funktion aber bei den Gangzonen der verschiedenen Gangs gibt es keine Probleme mit dieser Funktion

  • Unter OnPlayerSpawn nachdem er von den Toten auferstanden ist


    if(Spieler[playerid][Todeszeit] == 1)
    {
    for(new i = 0;i < MAX_PLAYERS;i++)//kannste ignorieren, ist das der spieler wieder ausgeraubt werden kann
    {
    robbed[playerid][i] = 0;
    }
    Spieler[playerid][Todeszeit] --;
    if(IsPlayerInArea(playerid,1588.191, -9942.825, 9999.999, 618.9274)){SetPlayerPos(playerid,2036.8186,-1412.5883,16.9922);printf("K");}
    else if(IsPlayerInArea(playerid,-794.0955, -9942.825, 1588.191, 618.9274)){SetPlayerPos(playerid,1176.6805,-1323.6921,14.0333);printf("l");}
    else if(IsPlayerInArea(playerid,-794.0955, 618.9274, 9999.999, 9999.999)){SetPlayerPos(playerid,1608.3463,1820.8060,10.8280);printf("g");}
    else if(IsPlayerInArea(playerid,-9999.999, -9942.825, -794.0955, 9999.999)){SetPlayerPos(playerid,-2661.9617,632.5511,14.4531);printf("a");}
    KillTimer(sterbetimer[playerid]);//der timer ist nur dafür da, dass die todeszeit verringert wird.
    }


    Argh fehler gefunden, mim 2. sieht man besser.
    //EDIT:Verdammt doch nicht, immernoch das selbe man spawnt in ls habs eben getestet

    Einmal editiert, zuletzt von carlos1710 ()

  • darkshadow, ja das dacht ich auch ,dass es an der position liegt, das tuts nicht eben getestet und ausm code raus genommen
    //EDIT: Fehler gefunden, wenn ein Spieler eine Animation ausführt hat er keine eigene Position (0,0,0)
    darum konnte diese auch nicht ermittelt werden und der spieler befad sich bei position 0,0,0 in der zone von kh 2, hab nun die position mein sterben genommen nun gehts

    2 Mal editiert, zuletzt von carlos1710 ()