Neue Jobs im Godfather erstellen

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
  • Hats geholfen? 111

    1. Ja (58) 52%
    2. Naja es lässt noch Fragen offen (32) 29%
    3. Nein (26) 23%
    4. Sowas interresiert mich garnicht (17) 15%

    Besonders bezogen auf den Thread http://samp.breadfish.de/wbb/san-andreas-multiplayer/scripting-base/showroom/3784-müllabfuhr/


    Ich hoffe ihr könnt dieses Tut gebrauchen, hier werdet ihr sehen wie man Jobs ins Godfather hinzufügt
    Das ist garnicht so schwer und geht eingentlich auch schnell:



    Ihr müsst erstmal euren Job einen Namen geben (steht später unter /stats):
    Sucht mal nach dieser Zeile hier:
    else if(PlayerInfo[targetid][pJob] == 16) { jtext = "Trucker"; }


    und jetzt schreibt dadrunter das gleiche nur mit der Zahl 17 (ist logisch!) und mit eurem Namen:


    else if(PlayerInfo[targetid][pJob] == 17) { jtext = "Müllmann"; }


    So wenn der Spieler jetzt den Job Nummer 17 hat steht unter /stats Müllmann.


    Aber man braucht jetzt auch die Stelle wo man den Job annehmen soll:
    Dazu macht ihr jetzt ein neues Pickup mit AddStaticPickup


    AddStaticPickup(1239, 2, -546.9002,-488.6077,25.2961); //Müllmann Pickup
    Jetzt kommt der /join Befehl


    Im eurem Script müsste es sowas geben (Sofern ihr nichts verändert habt):
    else if (GetPlayerState(i) == 1 && PlayerToPoint(2.0, i,-77.7288,-1136.3896,1.0781))
    {
    if(PlayerInfo[i][pJob] > 0 || PlayerInfo[i][pMember] > 0) {}
    else { GameTextForPlayer(i, "~g~Welcome,~n~~y~you can become a ~r~Trucker~y~ here ~n~~w~Type /join if you wish to become one", 5000, 3); }
    }



    Dadrunter setzt ihr einfach das gleiche nur mit eurem Beruf und euren Koordinaten:
    else if (GetPlayerState(i) == 1 && PlayerToPoint(2.0, i,-77.7288,-1136.3896,1.0781))
    {
    if(PlayerInfo[i][pJob] > 0 || PlayerInfo[i][pMember] > 0) {}
    else { GameTextForPlayer(i, "~g~Welcome,~n~~y~you can become a ~r~Trucker~y~ here ~n~~w~Type /join if you wish to become one", 5000, 3); }
    }
    // Müllmann <begin>
    else if (GetPlayerState(i) == 1 && PlayerToPoint(2.0, i,-546.9002,-488.6077,25.2961)) // Das sind nur meine Koordinaten, die müsst ihr ändern.
    {
    if(PlayerInfo[i][pJob] > 0 || PlayerInfo[i][pMember] > 0) {} // Was passiert wenn der Spieler schon einen Job hat oder schon in einer Fraktion ist
    else { GameTextForPlayer(i, "~g~Welcome,~n~~y~hier kannst du den Beruf ~r~Muellmann~y~ bekommen ~n~~w~Tippe /join falls du ihn möchtest", 5000, 3); } // Was passiert wenn du das Pickup betrittst
    }
    // Müllmann <end>


    Jetzt der eigentliche Befehl


    Sucht in eurem Script nach dem Befehl /join
    Da schreibt ihr unter dem Trucker Befehl euren:


    else if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,-77.7288,-1136.3896,1.0781))
    {
    if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pFMember] < 255) { SendClientMessage(playerid, COLOR_GREY, " Families cannot take on this Job !"); return 1; }
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You are about to become a Trucker, and get a 5 hour Contract.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have to forfill this Contract first, if you want to Quit the job later.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* If you are sure to become a Trucker, type /accept job.");
    GettingJob[playerid] = 16;
    }
    // Müllmann Job <begin>
    else if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,/* Eure Koordinaten*/-546.9002,-488.6077,25.2961))
    {
    if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pFMember] < 255) { SendClientMessage(playerid, COLOR_GREY, " Families cannot take on this Job !"); return 1; }
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du bist dabei einen 5 Stunden Vertrag für den Job Müllmann abzuschließen.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Du musst erst den Vertrag erledigen damit du den Job kündigen darfst.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Wenn du sicher bist das du diesen Job willst, tippe /accept job.");
    GettingJob[playerid] = 17; // Eure Job Nummer
    }
    // Müllmann Job <end>


    An dem /accept job Befehl müsst ihr eigentlich nichts hinzufügen oder verändern.





    Jetzt könnt ihr Autos und Befehle für den Beruf machen:
    Das macht man genauso wie mit den Fraktionen mit
    if(PlayerInfo[playerid][pJob] ==1 7){
    Beispiel:


    if (strcmp(cmdtext, "/kill", true)==0) {
    if(PlayerInfo[playerid][pJob] == 17)
    {
    SetPlayerHealth(playerid, 0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Das darfst du nicht!");
    }
    return 1;
    }[/pwn}
    Hier ein /kill Befehl der nur für den neuen Beruf (17) ist, ist der Beruf des Spielers nicht 17, wird die Nachricht "Du darfst das nicht" in rot gesendet.


    Nun können wir noch den anderen Müllmännern die Nachricht schicken das *** sich umgebracht hat, mit
    [pwn]SendJobMessage



    BeispieL:



    if (strcmp(cmdtext, "/kill", true)==0) {
    if(PlayerInfo[playerid][pJob] == 17)
    {
    SetPlayerHealth(playerid, 0);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "**Der Müllmann %s hat sich umgebrahct", sendername);
    SendJobMessage(17, COLOR_RED, string); // Sendet die Nachricht an Job 17 in Farbe Grün
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Das darfst du nicht!");
    }
    return 1;
    }


    So hoffe ihr habt das mit den Befehlen verstanden, und mit den Autos macht ihr das genauso.


    *Edit: Habe Autos hinzugefügt.


    Also ihr erstellt einfach neue Autos (fügt sie einfach in euer script ein), dann steigt ihr ein macht /oldcar schreibt euch die ID auf und macht dann folgendes:


    OnPlayerStateChange:


    if(newcar == /* ID*/ || newcar == /* Vielleicht noch ne ID*/)
    {
    if(PlayerInfo[playerid][pJob] == 17)
    {
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY," Du bist kein Müllmann !");
    RemovePlayerFromVehicle(playerid);
    }
    }


    MFG Alex


    PS. Falls es sowas schon gibt, dann sorry, schiebt es einfach unter mein Filterscript



    *Wäre mal nicht schlecht zu wissen warum ihr Nein ankreutzt?!

  • Frage an Alex und co.:


    Kann man das nit so machen das man bei den Bizzen wie Prods aber halt Müll abholt und ihn dann zur deponie bringt oder so?


    weil so weit ich das gesehen habe hat dein Müllmann keine aufgaben

  • Hallo ich habe mal ne frage und zwar wie kann ich das machen das jeder einen job annehmen kann, ganz egal ob er in einer fragtion ist oder nicht?


    Ich würde mich über antworten freuen

  • Zitat

    Kann man das nit so machen das man bei den Bizzen wie Prods aber halt
    Müll abholt und ihn dann zur deponie bringt oder so?




    weil so weit ich das gesehen habe hat dein Müllmann keine aufgaben

    da hast recht
    50% tut wie ich finde
    ich als anfänger würde jetzt ein müllwagen haben der mir nichts bringt ^^


    mir fehlen als beispiel die checktpoints wie bei den sweeper job in vielen anderen scripten


    alle checkpoints abfahren ,zurück zur deponie und $ kassieren


    könntest du evtl. sowas in der art noch erklären xD
    ansonsten find ich das tut :thumbup: anfänger freundlich .


    mfg