Job-DialogSystem

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, liebe Scripter & Brotfischer unter euch. ;)


    Ich bin es wieder und habe folgende Frage bzw folgenden Wunsch.


    Ich benötige ein Job-System das in einem Dialogmenü ablaufen wird,
    wobei man in dieses "i" geht, "/job" eingibt und sich das Dialogmenü Öffnet.
    Den rest könnte ich gerne Umschreiben ggf. Umstellen,
    falls es etwas viel Aufwand entspricht.


    Zudem hätte ich noch gerne,
    einen Befehl (/stadtplan) worin man alle Eingezeichneten Orte aufrufen kann,
    quasi wie ein Stadtplan.
    Nachdem man ein Ort auswählt, schließt sich das Dialogmenü und es wird ein Marker
    gesetzt
    , an dem Ort wo man hin will/wollte.
    Der erste Ort den ich dann hätte,
    wäre das Jobcenter. xD


    -2170.2046,252.1460,35.3340 //Jobcenter San Fierro


    Ich hoffe man kann es genau verstehen,
    wie ich es inetwa meine.


    Mit freundlichen Grüßen
    Ray_Johnson.

  • Jobcenter:
    ShowPlayerDialog im DIALOG_STYLE_LIST
    Füge 1-2 Listpunkte hinzu
    OnDialogResponse und dort das ganze abfangen, Jobvariable auf 1,2,3,4 beliebig stellen



    Navi:
    SetPlayerCheckpoint oder so.

  • Also so ungefähr?

    #define DIALOG_JOBCENTER 6


    //Edit:


    Bemerke gerade, dass ich ein /stats befehl im Script eingebaut habe,
    könnte man den nicht ungefähr so umschreiben?
    Aber dann wäre es ziemlich falsch oder?





    if(strcmp(cmdtext,"/jobs",true)==0)
    {
    new string[128];
    new sendername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(string,sizeof(string),"[Name: %s]",sendername);
    SendClientMessage(playerid,WEISS,"Wählen Sie einen Job aus.");
    ShowPlayerDialog(playerid,DIALOG_JOBCENTER,DIALOG_STYLE_LIST,"Jobcenter San Fierro","Detektiv\n...","Auswählen","Abbruch");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,GELB,"Sie müssen mindestens 15 Minuten warten um einen neuen Job auswählen zu dürfen.");
    }


    Gibt es keine genauere "Anleitung"? xD

  • Ich habe es jetzt so gemacht bei OnDialogResponse:



    if(dialogid==DIALOG_JOBCENTER)//Arbeitsamt San Fierro
    {
    if(response)
    switch(listitem)
    {
    case 0:// Detektiv
    {
    {
    }
    }
    case 1://Busfahrer
    {
    {
    }
    }
    case 2://Taxifahrer
    {
    {
    }
    }
    case 3://Pilot
    {
    {
    }
    }
    }


    Aber was kann ich machen,
    um die Jobs wirklich zu bekommen bzw habe ich nichtmal ein genaues JobSystem.^^


    //edit Mensch, bei der Pwn Verschieben sich einige Klammern...

  • Hast du den überhaupt schon ein Login & Register System welches über ein enum läuft womit du dann auch später alle Abfragen z.B. per pInfo... machen kannst ?

  • Hast du den überhaupt schon ein Login & Register System welches über ein enum läuft womit du dann auch später alle Abfragen z.B. per pInfo... machen kannst ?


    Jo, hab ich.
    u.a.



    enum SInfo
    {
    Passwort[256],
    alvl,
    Geld,
    Level,
    Wanteds,
    Tode,
    Kills,
    Banned,
    Reason[256],
    IP[128]
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];


  • enum SInfo
    {
    Passwort[256],
    alvl,
    Geld,
    Level,
    Wanteds,
    Tode,
    Kills,
    Banned,
    Reason[256],
    IP[128],
    Job
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];


    So hast du schonmal einen Job drinne, jedoch ohne jegliche Funktionen o.a. .
    Jetzt kannst du z.B. bei deinem Dialog einfügen das der Spieler den Job 1 bekommt und er dann z.B. auf Job 1 ein Mechaniker ist.
    Dann kannst du die Funktionen immer wieder ganz leicht per SpielerInfo[playerid][Job] == 1 abfragen.


  • Könntest du mir möglicherweise es Zusammengefasst geben,
    da bei mir entweder Fehler oder falsche Eingaben heraus kommen...

  • Was für Fehler oder falsche EIngaben ?


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_JOBCENTER)//Arbeitsamt San Fierro
    {
    if(response)
    switch(listitem)
    {
    case 0:// Detektiv
    {


    {
    }
    }
    case 1://Busfahrer
    {
    {
    }
    }
    case 2://Taxifahrer
    {
    {
    }
    }
    case 3://Pilot
    {
    {
    }


    }
    }



    Nachdem ich das eingefügt habe, bekomme ich folgende Error's:




    //Edit:
    Davor tat ich kurz ein Filterscript rein, welches jetzt wieder raus ist.

  • if(dialogid==DIALOG_JOBCENTER)//Arbeitsamt San Fierro
    {
    if(response)
    {//Die fehlte
    switch(listitem)
    {
    case 0:// Detektiv
    {
    //Hier waren Klammern zu viel
    }
    case 1://Busfahrer
    {
    //Hier waren Klammern zu viel
    }
    case 2://Taxifahrer
    {
    //Hier waren Klammern zu viel
    }
    case 3://Pilot
    {
    //Hier waren Klammern zu viel
    }
    }//Die fehlte
    }//Die fehlte
    }