Rauslaufen aus der Zone = Kill

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
  • Hallo..


    Ich versuche zu machen, dass wenn einer aus der Zone käuft, dass er dann gekillt wird, so beit bin ich gekommen:



    public AntiKillZone(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if (dmgegangen == 1)
    {
    if(IsPlayerInArea(playerid, 1296.677368,2099.530517,1398.023193,2199.532958)) //Jeweils die Koordinaten von den Eckpunkten
    {
    KillPlayer(playerid);
    }
    else
    {
    return 0;
    }
    return 1;
    }
    }
    }


    stock IsPlayerInArea(playerid, Float:max_x, Float:min_x, Float:max_y, Float:min_y)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(X <= max_x && X >= min_x && Y <= max_y && Y >= min_y) return 1;
    return 0;
    }


    Es klappt aber nicht..-.-

  • if(IsPlayerInArea(playerid, 1296.677368,2099.530517,1398.023193,2199.532958)) //Jeweils die Koordinaten von den Eckpunkten


    du hast abgefragt ob jemand in der Zone ist, da du es aber umgekehrt wissen willst musst du es mit ! "Verneinen".


    also:


    if(!IsPlayerInArea(playerid, 1296.677368,2099.530517,1398.023193,2199.532958)) //Jeweils die Koordinaten von den Eckpunkten

  • Habe das jetzt so und ich werde in der Zone gekillt....-.-:



  • Also so müsste es funktionieren?
    public AntiKillZone(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if (dmgegangen == 1)
    {
    if(!IsPlayerInArea(playerid, 1296.677368,2099.530517,1398.023193,2199.532958)) //Jeweils die Koordinaten von den Eckpunkten
    {
    SetPlayerHealth(i, 0);
    }
    }
    }
    return 1;
    }

  • Würde auch unter OnPlayerUpdate klappen

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Dir ist hoffentlich bewusst dass


    dmgegangen


    Eine globale Variable ist? D.h. sie gilt für ALLE Spieler. Wenn dann musst du oben dmgegangen so deklarieren:


    new dmgegangen[MAX_PLAYERS];


    Bei dem Command wo der Spieler ins DM gesetzt wird dann


    dmgegangen[playerid] = 1;


    Und bei deiner Areaabfrage


    if (dmgegangen[i] == 1)


    Ansonsten wird jeder Spieler andauernd gekillt weil er nicht in der Nähe ist sobald irgendjemand ins DM geht ^^