Script soll erkennen, ob der Spieler eintritt oder austritt (aus einem Interior)

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 Tag,
    Ich habe mir eine for-Schleife erstellt, mit welcher ein Spieler ein Gebäude betreten bzw. austreten kann.
    Allerdings habe Ich da ein klitze kleines Problem:
    Ich habe mir die Taste "Enter" ausgesucht, um in ein Gebäude rein bzw. rauszukommen.
    Leider weiß Ich irgendwie nicht, wie man am besten & schnellsten eine Überprüfung machen kann, ob der Spieler in der Nähe vom Enter-/Exit-Pickup ist. Theoretisch könnte Ich das, aber da dies eine For-Schleife ist, wollte Ich wissen, wie das am schnellsten geht.


    Bisjetzt habe Ich gescriptet:



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    for(new i=1; i<sizeof(fInfo); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 2, fInfo[i][Pickup_Enter_X], fInfo[i][Pickup_Enter_Y], fInfo[i][Pickup_Enter_Z]))continue;
    if(!IsPlayerInFrakt(playerid, i))continue;
    SetPlayerPos(playerid, fInfo[i][Enter_X], fInfo[i][Enter_Y], fInfo[i][Enter_Z]);
    SetPlayerInterior(playerid, fInfo[i][Fraktion_Interior]);
    return 1;
    }
    }
    return 1;
    }

  • Frag einfach die Interior ab wenn sie nicht 0 ist dann betritt er ein Interior wenn es 0 ist verlässt er ein Interior

    Es gibt aber auch Gebäude die haben Interior 0 ...

  • Die Namen dieser Variablen. Ist das für Außen oder Innen ?

    Also das sind die für außen, sprich die Pickups stehen nicht in einem Interior, sondern halt draußen :)

  • Gut, entsprechend für Innen auch noch Variablen Namen ?
    fInfo[i][Enter_X], fInfo[i][Enter_Y], fInfo[i][Enter_Z]
    Sind das die für Innen ?

    Das sind die Spawnpunkte, wenn man beim Pickup Enter drückt.