Prison mit Checkpoints keine Idee

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 wollte mein Prison System mit Checkpoints machen.
    Zum Beispiel /prison Tony 10 SDM, dann kommt Tony in den Prison und muss 10 Checkpoints ablaufen...
    Wie mache ich das? Mein Befehl sieht derzeit so aus
    ocmd:prison(playerid,params[])
    {
    if(!IstSpielerEinAdmin(playerid,3))return SendClientMessage(playerid,Grau,"Zugriff verweigert. Benötigter Rang: {4600FF}Administrator");
    new pID,Checkpoints,string[128],string2[128],Grund[128];
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht online.");
    if(sscanf(params,"uds",pID,Checkpoints,Grund))return SendClientMessage(playerid,Grau,"Benutze: /prison [ID/Teilname] [Checkpoints] [Grund]");
    return 1;
    }


    Need Help, MFG


  • Wo erstellst du denn die Checkpoints?
    Und wieso soll der 10 CP's ablaufen? was passiert dann?

  • Wo erstellst du denn die Checkpoints?
    Und wieso soll der 10 CP's ablaufen? was passiert dann?


    Ja ich weiß nicht wie ich die Checkpoints erstellen, soll ich habe es mir so gedacht.
    Die Checkpoints die er ablaufen muss werden in der PVarInt des Spielers gespeichert, sobald der Spieler einen Checkpoint abläuft verringert sich die Variable also der PVarInt, sobald er bei 0 ist soll er respawnen.

  • Einfach im Befehl mit der Funktion SetPlayerRaceCheckpoint einen ersten Checkpoint erstellen und nachfolgend beim Callback OnPlayerRaceCheckpoint den alten entfernen und einen neuen hinzufügen.
    Wie das ungefähr aussieht, hat Nrs ja gerade gezeigt ^^


    Eine Frage:


    Benutzt du ein GF oder ein Selfmade ?
    Bräuchte deine Variable fürs Jail.
    Wenn du ein GF nutzt dann hat sich die Frage erledigt.


    Nein Selfmade.

  • Nur mal so am Rande, ich weiß nicht ob es richtig ist, jedenfalls ist es bei mir so:



    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht online.");
    if(sscanf(params,"uds",pID,Checkpoints,Grund))return SendClientMessage(playerid,Grau,"Benutze: /prison [ID/Teilname] [Checkpoints] [Grund]");


    Würde ich tauschen, da sonst, wenn keine ID 0 auf dem Server ist, dort die ganze Zeit stehen würde: "Der angegebene Spieler ist nicht online."
    Also am besten andersrum:


    if(sscanf(params,"uds",pID,Checkpoints,Grund))return SendClientMessage(playerid,Grau,"Benutze: /prison [ID/Teilname] [Checkpoints] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,Grau,"Der angegebene Spieler ist nicht online.");