Hilfe mit Checkpoints

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
  • Hey Leute. So habe folgendes Problem.


    Ich hab mir nen Checkpoint Streamer von Luxorious geladen. Ich brauche den zum Betreten und Verlassen von Gebäuden (interiors). Ich will es so haben das jefalls nur ein checkpoint vor dem interior zum Betreten und ein checkpoint in dem Interior zum verlassen dient. Ausserdem möchte ich, das Der Player der den Checkpoint vor dem Interior benutzt zu dem Checkpoint (der zum verlassen dient) im Interior teleportiert wird. Das Problem ist sobald das passiert, wird de Spieler sofort wieder hinaus teleportiert und dann sofort wierder rein und raus und rein etc, weil man beim teleportieren immerwieder auf dem Checkpoint landet (aber das will ich ja so) nur es soll nicht passieren das der Spieler sofort wieder teleportiert wird, erst nachdem der Checkpoint 1 mal verlassen und wieder betreten worden ist! Ich hoffe ihr habt mich soweit verstanden.


    Ich hab das schon mit hilfe einer Globalen Variable und Timer versucht. Das klappt aber nicht so ganz. Ich wüsste auch nicht wie ich dem Timer sagen soll, welche Playerid er beim ausführen der funktion weiterleiten soll. Ich habs auch schon mit Onplayerleavecheckpoint versucht (ist ein spezial in dem streamer) funzt auch net gut. Wird immer wieder sofort teleportiert. Weis einer rat? bisher habe ich es so gemacht:


    new EnterExit[MAX_PLAYERS];


    public LCS_OnPlayerEnterCheckpoint(playerid,checkpointid)



    if(checkpointid == Bankentrance)
    {
    if(EnterExit[playerid] != 1)
    {
    EnterExit[playerid] = 1;
    ResetEnterExit(playerid);
    SetPlayerInterior(playerid,1);
    SetPlayerPos(playerid,-2159.122802,641.517517,1052.381713);
    SetPlayerFacingAngle(playerid, 180);
    return 1;
    }
    else if(EnterExit[playerid] == 1)
    {
    return 0;
    }
    }
    if(checkpointid == Bankexit)
    {
    if(EnterExit[playerid] != 1)
    {
    SetTimer(ResetEnterExit(playerid), 2000, 0);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,-1581.1720,866.7291,7.6953);
    SetPlayerFacingAngle(playerid, 180);
    return 1;
    }
    else if(EnterExit[playerid] == 1)
    {
    return 0;
    }
    }



    // Beispiel 1 per OnPlayerLeaveChckpoint //funzte net richtig


    public LCS_OnPlayerLeaveCheckpoint(playerid,checkpointid)
    {
    if(checkpointid == Bankexit)
    {
    EnterExit[playerid] = 0;
    return 1;
    } //etc etc
    }


    // Beispiel 2 per Timer wuste nicht richtig wie es geht


    Hilfe ;(

  • mhm ich sehe keinen Feher probier mal n paar klammern anderst

  • Oneill89 bitte vermeide Doppel Posts.
    Zu deinem Problem : Ich sehe da auch grade keinen Fehler, die einfachste Lösung währe ja ihn einfach genau vor dem Checkpoint erscheinen zulassen.


    MFG Fiddle

    Gegen willkürliche administrative Zensur!
    Gegen den Diktator!


    Folgendes Zitat wurde zur Information und Aufklärung der User von sa-mp.de in die Signatur aufgenommen :

    @Jamatitec
    Sagmal, sonst gehts noch? Deine kisten sind unsicher ^10, mit öffentlichen exploits exploitbar, deine scripts sind kaputt ^10, aber hauptsache du bietest hosting an? Hast kein plan von nichts, speicherst personenbezogene daten wie IPs, und bringst mit deiner Unfähigkeit User in gefahr?


    Hm , wir nehmen einfach Jamatitec und schieben ihn woanders hin ?