Simple Job Creating

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 Morgen liebe Community,


    in den letzten Tagen, habe ich ein paar Tutorial Threads gelesen und habe gemerkt, dass Leute immernoch Probleme haben mit dem Erstellen von Jobs...
    Aus diesem Grund diese Include, sie bietet eine angenehme und einfache Verwaltung von Jobs:


    [tabmenu]


    [tab='Allgemeine Informationen','http://forum.sa-mp.de/wcf/icon/infoM.png']
    [subtab='Funktionen','http://forum.gamerzhost.de/wcf/icon/codeS.png']
    Es gibt folgende Funktionen:
    (Es sind alle nochmal mit Beispielen im "Beispiel-Sub Tab")


    SetPlayerJob(playerid,jobid); //Setzt den Job für den Spieler
    GetPlayerJob(playerid); //Returnt die Jobid
    SetJobName(jobid,name[]); //Man kann den Namen des Jobs hier einstellen
    GetJobName(jobid,name[],len); //Man kann den Jobnamen abfragen
    CreateJobCar(jobid,model,Float:X,Float:Y,Float:Z,Float:A,c1,c2,respawn=-1); //Man kann ein Job Car erstellen
    GetJobCar(veh); //Returnt die Jobid zu der dieses Auto gehört
    SendJobMessage(jobid,farbe,string[]; //Sendet an alle Spieler mit dieser Jobid eine Nachricht
    CreateJobIcon(jobid,Float:X,Float:Y,Float:Z,text[]); //Erstellt ein Pickup wo man einen Job annehmen kann
    GetJobRange(playerid); //retunrt die jobid von dem Pickup (falls -1) dann ist er nicht in der Nähe von dem Pickup
    SetJobSpawn(jobid,Float:x,Float:y,Float:z,Float:a,interior,world); //Setzt den Spawn für den Job (er wird auch direkt dahin gesetzt)
    [subtab='Beispiele','http://www.damen-eishockey.de/images/lampe.gif']
    //Hier nun einige Beispiele:


    SetPlayerJob(playerid, 1); //Spieler wäre jetzt im Job 1
    GetPlayerJob(playerid); //Würde 1 returnen


    SetJobName(1,"LSPD"); //Wenn der Spieler jetzt in Job 1 wäre, wäre er im LSPD
    new job[64]; // 64 = Maximale Länge des Namens eines Jobs
    GetJobName(1,job,64); //In job würde jetzt als String LSPD stehen
    //Alternative Abfrage:
    GetJobName(GetPlayerJob(playerid),job,64); //In job steht jetzt der Jobname von dem Spieler


    CreateJobCar(1,411,0.0,0.0,0.0,0.0,1,2); //erstellt einen Infernus (411) für den Job 1


    //Unter OnPlayerEnterVehicle z.B. könnte man jetzt folgendes abfragen:
    if(GetPlayerJob(playerid) != GetJobCar(vehicleid) && GetJobCar(vehicleid) > 0) {
    //Hier dürfte playerid das Fahrzeug nicht fahren, da er nicht zu dem Job gehört
    }


    CreateJobIcon(1,1200.0,-2000.0,13.5,"Hier kann du Dedektiv werden, tippe:\n/accept job"); //Hier wird ein Pickup + 3D Text erstellt...


    //Nun zu dem /accept job befehl, das müsste enthalten sein:
    new j = GetJobRange(playerid);
    if(j == -1) return SendClientMessage(playerid,rot,"Du befindest dich nicht in der Nähe eines Jobpickups !");
    //wenn er keinen Job hat
    SetPlayerJob(playerid, j);
    new string[128],job[64];
    GetJobName(j,job,64);
    format(string,128,"Du bist erfolgreich %s geworden !",job);
    SendClientMessage(playerid,blau,string);

    [subtab='Zusätzliche Informationen','http://www.rezepte-guru.de/template/images/icon_stern.gif']
    Man kann momentan maximal 20 Jobs erstellen, aber das kann man so ändern:


    #define MAX_JOBS 25 //Jetzt könnte man 25 Jobs erstellen...
    #include <job>
    [subtab='Download','http://www.projekt-deutsch.de/templates/cback/images/download.gif']
    Source-Code: Pastebin
    Direkter-Download: Mediafire
    [/tabmenu]


    Falls manche von euch sich jetzt fragen, wie man es abspeichert:

    //Hier wäre ein Beispiel mit dini:
    dini_IntSet(Spielerdatei,"Job",GetPlayerJob(playerid));


    Würde mich über ein paar Feedbacks freuen :)


    mfg. :thumbup:


    • Edits:

      SendJobMessage

    • Edits:

      CreateJobIcon + GetJobRange + Neuer Pastebin Link

    • Edits:

      Neue Links

    • Edits:

      Neue Funktion SetJobSpawn

    • Edits:

      Mediafire Direkt Downloadlink

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    5 Mal editiert, zuletzt von Kaliber ()

  • Ich bin auch nicht ueberzeugt von dem Include. Das gleiche kann man mit SetPVarint machen, und durch dein Include ist man schon eingeschränkt.


    Aber vielleicht kann es ja jemand verwenden oder du fügst noch ein paar Funktionen ein;

    • Job Chat
    • Job Raenge
    • ...


    Dann wäre dein Include sehr gut!

  • Job Raenge


    //Edit: Achso Ränge...im Job :huh:


    Job Chat


    Kann man doch so ganz simpel erstellen:


    new string[128],job[64],name[24];
    GetPlayerName(playerid,name,24);
    GetJobName(GetPlayerJob(playerid),job,64);
    format(string,128,"%s %s sagt: %s",job,name,text);
    SendClientMessage(bla,-1,string);


    mfg. :rolleyes:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich persönlich bräuchte das Include nicht, da ich es lieber direkt alles definiere.
    Jedoch ist es für Anfänger schön erklärt und gut erweiterbar.


    Schöne Arbeit, Kaliber ;)


    PS: An den Typen mit der "unnötigen scheisse" -> Dann veröffentlich du doch mal was gutes, täglich bitte :)


    Grüße

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Ja man kann es einfach erstellen


    Also...wie soll es denn noch einfacher gehen :huh:


    aber man kann dein ganzes Include ganz einfach scripten.


    Ehm...naja das ist natürlich relativ, man hat schon einen Nutzen aus dieser Include, auch wenn sie einfach zu erstellen ist...


    Aber ich füge mal die Funktion SendJobMessage(jobid,farbe,string[]); hinzu, dann wird die Nachricht an alle die den selben Job haben wie der Spieler gesendet ;)


    mfg. :thumbup:


    //Edit: Farbe

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Nice Kaliber, haut mich jetzt zwar nich direkt um, aber is doch eigtl. ganz genial :)


    8/10 ;)


    Danke, auch an dich wie an alle anderen habt ihr Verbesserungsvorschläge ? :)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ich habe bis jetzt nicht gesehen das irgendwie nen Job Icon bzw. nen Pickup erstellt wird
    Könntest ja noch einbauen das man nen pickup erstellen kann womit man denn mit ENTER in den Job kommt


    Mhm...achso, ja ich dachte man hat eine Stadthalle und wählt da einfach die Jobs aus :D


    Auf die Idee bin ich natürlich jetzt nicht gekommen, dass man die Jobs verteilt wie in einigen GF's :D


    Ist aber eine Gute Idee, mache ich mal rein, muss man ja nicht nutzen ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Gibt es eigentlich einen Tag, wo du keine unnötige scheiße veröffentlichst?


    Also bitte... Sei doch froh, dass es leute wie kaliber gibt, die sich die mühe machen und euch neue sachen liefern. Ich lese die letzte zeit nur, dass er kritisiert wird. Find ich nicht okay.


    Kaliber? Find ich gut, das was du machst. Lass dich nicht unterkriegen. ;)
    Ich schaue es mir nachher mal genauer an.

  • Müssen tut man halt nichts ;)
    Aber würde ich schon recht cool finden, da (gehe ich mal von aus) nicht alle ne Stadthalle haben werden ^^


    Habe deinen Vorschlag verwirklicht, schau mal bei den neuen Funktionen ;)


    @Rocky
    Danke ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Gefällt mir gut. Simple, aber noch stark ausbaufähig. Du hast mich jedenfalls auf eine Idee für mein neues Script gebracht. ;)
    Nein, ich werde deine INC nicht nutzen oder Codeteile davon, keine Sorge. Die Grundidee gefällt mir aber recht gut.