Checkpoints abfahren

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
  • Float:M_fRad unter e_Muell finde ich aber unnötig, da alle 5.0 haben.


    Ansonsten, nice gemacht für welche, dies nicht können.

  • Geiles Tutorial aber ehm wie kann ich eachen das nur die Fraktion 18 (ordnungsamt/müllmänner) damit fahren können weil zurzeit kann ja damit nur if(!Muellmann[playerid][pmi_bAktiv]) {

  • Wie kann ichn jetzt machen, dass wenn man das müllauto verlässt, die mission abbricht? :P

    ___________________
    ComaCrew


    Gamemode: 25% bis zum 1. Release


    MOD'S GESUCHT!
    LEADER GESUCHT!
    ___________________
    _______

  • muss man jetzt nur das???
    public OnPlayerEnterCheckpoint(playerid) {
    new trinkgeld = random(85); // Betrag für das Trinkgeld, lässt sich beliebig ändern! ( Zufalls Betrag )
    new string[256];
    if(Checkpoint[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
    GivePlayerMoney(playerid, trinkgeld);
    format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, -89.2432,-1189.7782,2.3241, 5.0);
    Checkpoint[playerid] = 2;
    }
    else if(Checkpoint[playerid] == 2)
    {
    SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
    GivePlayerMoney(playerid, trinkgeld);
    format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, -63.3734,-1588.5732,3.1782, 5.0);
    Checkpoint[playerid] = 3;
    }
    else if(Checkpoint[playerid] == 3)
    {
    SendClientMessage(playerid, COLOR_RED, "Muell aufgeladen, weiter!");
    GivePlayerMoney(playerid, trinkgeld);
    format(string, sizeof(string), "** Du hast %d$ Trinkgeld bekommen!",trinkgeld);
    SendClientMessage(playerid, COLOR_GREEN, string);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid, 220.8943,-1393.5308,52.1264, 5.0);
    Checkpoint[playerid] = 4;
    }
    else if(Checkpoint[playerid] == 4)
    {
    ...
    }


    oder noch mehr davon?

    **--Adventure-of-San Andreas--**

    ServerIP:
    62.75.210.49:8685
    Teamspeak3IP:
    62.75.210.49:9999
    Besser als Reallife(Neuer Gamemode kommt heute abend :D)
    **--Viel Spaß--**

  • Wovon redest du?
    Dein Satz macht nicht wirklich Sinn :-O!


    Zitat

    Wie kann ichn jetzt machen, dass wenn man das müllauto verlässt, die mission abbricht? :P


    Am besten bei OnPlayerExitVehicle( oder OnPlayerStateChange ) überprüfen ob er die Mission aktiv hatte und ob er im Müllwagen saß.

  • Also mann bekommt ja immer den gleichen betrag bei einem checkpoint das find ich nicht so toll des wegen zeige ich euch wie man einen Random = Zufälligen betrag einfügt


    als erstes gehen wir zu:


    Public OnPlayerEnterCheckpoint


    und suchen die stelle von den checkpoints:


    if(Muellmann[playerid][pmi_bAktiv])
    {
    Muellmann[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new
    playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Strassenfeger_Stationen))
    {
    Muellmann[playerid][pmi_bAktiv]=false;
    // Extra code
    SendClientMessage(playerid,green, "Super Arbeit,du hast die Straße hervorragend gesäubert");
    GivePlayerMoney(playerid,trinkgeld);
    }
    else
    {
    new
    String[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Strassenfeger_Stationen));
    SendClientMessage(playerid,green,String);
    SetPlayerCheckpoint(playerid,Strassenfeger_Stationen[playercp][M_fX],Strassenfeger_Stationen[playercp][M_fY],Strassenfeger_Stationen[playercp][M_fZ],Strassenfeger_Stationen[playercp][M_fRad]);
    }
    return 1;
    }
    return 1;
    }


    gut wen ihr das habt kommt ganz oben über:


    if(Muellmann[playerid][pmi_bAktiv])


    Folgendes:


    new
    arbeitsgeld,
    geldstring[128];//der string ist für die massage kommt noch im unteren teil
    arbeitsgeld = random(85); //85 ist zwischen was der Zufällige betrag liegen darf in dem falle zwischen 1 und 85


    gut wen ihr das ändert ihr folgenedes:


    GivePlayerMoney(playerid,2000); /*zu diesem-->*/ GivePlayerMoney(playerid,arbeitsgeld);


    ok dan wären wir schon fast fertig als nestes muss über der text massages folgendes:


    format(geldstring, sizeof(geldstring), "Du hast %d$ verdient!",arbeitsgeld);


    damit der string auch angezeigt wird muss noch unter der text massages folgendes:


    SendClientMessage(playerid, DEINE_FARBE,geldstring);



    und das ganze müsste dan am ende so aussehen


    new
    arbeitsgeld,
    geldstring[128];
    arbeitsgeld = random(85);
    if(Muellmann[playerid][pmi_bAktiv])
    {
    Muellmann[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new
    playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Strassenfeger_Stationen))
    {
    Muellmann[playerid][pmi_bAktiv]=false;
    // Extra code
    SendClientMessage(playerid,green, "Super Arbeit,du hast die Straße hervorragend gesäubert");
    format(geldstring, sizeof(geldstring), "Du hast %d$ verdient!",arbeitsgeld);
    SendClientMessage(playerid,green,geldstring);
    GivePlayerMoney(playerid,arbeitsgeld);
    }
    else
    {
    new
    String[128];
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Strassenfeger_Stationen));
    SendClientMessage(playerid,green,String);
    SetPlayerCheckpoint(playerid,Strassenfeger_Stationen[playercp][M_fX],Strassenfeger_Stationen[playercp][M_fY],Strassenfeger_Stationen[playercp][M_fZ],Strassenfeger_Stationen[playercp][M_fRad]);
    }
    return 1;
    }
    return 1;
    }



    so das wars auch schon hoffe ich konnte einigen helfen :D


    MFG:


    Xface

    Einmal editiert, zuletzt von xFace ()

  • wie mache ich es das zb bei cp 10/20 eine meldung kommt, fast geschaft und zb bei 18... noch 2 Checkpoints?
    oder wie kann ich eine bustour machen, wobei bei jedem checkpoint eine andere haltestelle angezeigt wird...bsp. SendClientMessage(playerid,ORANGE,"Haltestelle: XYZ LS");
    hier aus meinem script:
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(Praxis[playerid][pmi_bAktiv])
    {
    Praxis[playerid][pmi_Checkpoint]++;
    DisablePlayerCheckpoint(playerid);
    new playercp = Praxis[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Praxis_Punkte))
    {
    Praxis[playerid][pmi_bAktiv]=false;
    SendClientMessage(playerid,GELB,"Bestanden!!!");
    RemovePlayerFromVehicle(FSAutos[playerid]);
    DestroyVehicle(FSAutos[playerid]);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1174.3204,1350.9961,10.9219);
    SetPlayerWorldBounds(playerid,20000,-20000,20000,-20000);
    SetPVarInt(playerid,"Fuehrerschein",1);
    SpielerSpeichern(playerid);
    }
    else
    {



    SetPlayerCheckpoint(playerid,Praxis_Punkte[playercp][P_fX],Praxis_Punkte[playercp][P_fY],Praxis_Punkte[playercp][P_fZ],Praxis_Punkte[playercp][P_fRad]);
    }
    return 1;
    }
    return 1;
    }

    Pessimisten sind Optimisten mit Erfahrung!

  • Nagut , so der Hammer ist es nun auch nicht ist ja auch nicht schwer ein paar
    Checkpoints zu setzen ^^ aber für Neulinge ganz okay

  • Zitat

    Zeile (22) : warning 227: more initiallers than enum fields
    Zeile (22) : Variable wurde falsch definiert (Float,Integer[...])
    Zeile (22) : error 018: initialization data exceeds declared size

    enum e_PlayerMuellInfo {
    bool:pmi_bAktiv,
    pmi_Checkpoint
    }
    new Muellmann[MAX_PLAYERS][e_PlayerMuellInfo];


    enum e_Muell {
    Float:M_fX,
    Float:M_fY,
    Float:M_fZ,
    Float:M_fRad
    }


    new
    Muellabfuhr_Stationen[][e_Muell] = {
    {-90.1880,1211.7122,19.4674,271.4417, 6.0}, //Das ist Zeile 22
    {-157.9125,1226.6169,19.4673,2.5850, 6.0},
    {-184.4689,1229.3806,19.4673,82.9498, 6.0},
    {-224.0284,1056.3608,19.4595,358.4155, 6.0},
    {-304.1485,1019.4240,19.3189,90.8649, 6.0},
    {-139.5459,1075.5541,19.4694,353.9348, 6.0},
    {-154.3133,1117.5219,19.4674,179.8307, 6.0},
    {-86.6396,1124.9000,19.4674,180.9830, 6.0},
    {-157.9125,1226.6169,19.4673,2.5850, 6.0},
    {13.8170,1180.5254,19.1631,99.0181, 6.0},
    {-304.1485,1019.4240,19.3189,90.8649, 6.0}


    };


    Habe mir nun eigene CP's reingestellt, aber der zeigt, fehler und errors an..
    Was mache ich falsch? Oder was macht pawno falsch? xD

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017

  • new
    Muellabfuhr_Stationen[][e_Muell] = {
    {-90.1880/*X*/,1211.712/*Y*/2,19.4674/*Z*/,271.4417/*was das !?*/, 6.0}, //Das ist Zeile 22
    {-157.9125,1226.6169,19.4673,2.5850, 6.0},
    {-184.4689,1229.3806,19.4673,82.9498, 6.0},
    {-224.0284,1056.3608,19.4595,358.4155, 6.0},
    {-304.1485,1019.4240,19.3189,90.8649, 6.0},
    {-139.5459,1075.5541,19.4694,353.9348, 6.0},
    {-154.3133,1117.5219,19.4674,179.8307, 6.0},
    {-86.6396,1124.9000,19.4674,180.9830, 6.0},
    {-157.9125,1226.6169,19.4673,2.5850, 6.0},
    {13.8170,1180.5254,19.1631,99.0181, 6.0},
    {-304.1485,1019.4240,19.3189,90.8649, 6.0}


    };

  • Du hast falsch kopiert.Für Checkpoints nehm Ich in dem Beispiel 4 Werte.
    enum e_Muell {
    Float:M_fX,
    Float:M_fY,
    Float:M_fZ,
    Float:M_fRad
    }


    Bei dir sind es aber 5.

    Zitat

    {-304.1485,1019.4240,19.3189,90.8649, 6.0},


    Der Durchgestrichene Wert ist wahrscheinlich die Blickrichtung, die du aber nicht brauchst.

  • Hallo


    1. Frage: Wie kann ich das machen, dass der Müllwagen automatisch wegspawnt (zu seinem eigentlichen Spawn) nach dem letzten Checkpoint?
    2. Frage: Wie kann ich das machen, dass man nach dem letzten Checkpoint einen Betrag bekommt der variiert?


    Gruß Dario

  • Ich will, dass ich der 1. Checkpoint der "Auflade CP" ist, andem ich etwas an mein heli "attache" (z.b. ein object) es irgendwo hinfliege, und das object in den 2. CP rein "setze".Und immer am 2. soll ich sofort den lohn bekommen.
    Wie geht das?

    Mit freundlichen Grüßen,
    hundi :thumbup:


    "Wuff!, Wuff!"
    hundi, 2017

  • Nettes Tutorial, leider muss ich dazu sagen, dass das nicht jeder Verstehen würde.
    Aber deine Alten Tutorials sind irgendwie vergessen worden oder? Ich meine die nützlichsten werden immer vergessen.

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen