Daten des Personalausweis als Wort wiedergeben (Zahl als Wort wiedergeben)

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
  • Ich bin grade dabei ein perso system zu erstellen allerdings hab ich in den dinis nur zahlen für die jobs etc. stehen.
    Weil ich sowas noch nie gemacht hab weiß ich leider nicht wie ich eine zahl als wort wiedergeben kann.


    momentan hab ich das:
    if (strcmp(cmd, "/perso", true)==0)
    {


    new tmp[256];
    new zielplayer;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /perso [ID]");
    return 1;
    }
    zielplayer = strval(tmp);


    if(IsPlayerConnected(zielplayer))
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast jemanden deinen Personalausweis gegeben!");
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    format(string, sizeof(string), "Personalausweis von: %s", PlayerName(playerid));
    SendClientMessage(zielplayer, COLOR_GREEN, string);
    format(string, sizeof(string),"Führerscheinklasse: %d ",dUserINT(PlayerName(playerid)).("fschein"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    format(string, sizeof(string),"JobID: %d",dUserINT(PlayerName(playerid)).("job"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");


    } else {
    SendClientMessage(playerid,COLOR_RED,"Ungültige SpielerID");
    }


    return 1;
    }


    Ich habe 8 Jobs
    und 6 Führerscheinklassen

  • new text[50];
    text = "Unbekannt";
    if(zahl == 1) text = "Polizei";
    if(zahl == 2) text = "Blubb";
    format(string,sizeof(string),"Beruf: %s",text);

  • und was bringt das dann?
    ich habe ja 8 jobs und 6 fsklassen und wenn ich dann für jedes definiere bringt das ja nichts denn die fsklassen beginnen mit 0 und die jobs auch
    das muss man doch irgendwie andersmachen.
    irgendwie abfragen wenn bei job 1 steht das dann polizei rauskommt und wenn da 0 steht das der arbeitslos ist


    edit:ah NeoPhoenix aka ArgonX5s war noch nicht da

  • z.B.

    new x = SpielerInfo[playerid][Job],text[50];
    if(x == 1) { text = "Polizei; }
    else if (x == 2) { text = "Blubb; }
    else { text = "Arbeitslos"; }
    format(string,sizeof(string),"Job: %s",text);
    SendClientMessage(ziel,FARBE,string);

  • sry aber irgendwie rall ich das jetzt nicht.


    könntest du das in verbindung damit mal zeigen?


    if (strcmp(cmd, "/perso", true)==0)
    {
    new tmp[256];
    new zielplayer;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /perso [ID]");
    return 1;
    }
    zielplayer = strval(tmp);


    if(IsPlayerConnected(zielplayer))
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast jemanden deinen Personalausweis gegeben!");
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    format(string, sizeof(string), "Personalausweis von: %s", PlayerName(playerid));
    SendClientMessage(zielplayer, COLOR_GREEN, string);
    format(string, sizeof(string),"Führerscheinklasse: %d ",dUserINT(PlayerName(playerid)).("fschein"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    format(string, sizeof(string),"Beruf: %d",dUserINT(PlayerName(playerid)).("job"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    } else {
    SendClientMessage(playerid,COLOR_RED,"Ungültige SpielerID");
    }


    return 1;
    }

  • So ich hab jetzt nochmal alles was mit den jobs zu tun hat raus gesucht vielleicht kann mir ja damit jemand helfen.


    ganz oben:
    #define MAX_BERUFE 9
    da drunter:
    new beruf[MAX_PLAYERS];
    auch dadrunter:
    new berufe[MAX_BERUFE][256] = {
    {"Arbeitslos"},
    {"Polizist"},
    {"Mechaniker"},
    {"Fahrschullehrer"},
    {"Autoverkäufer"},
    {"Spediteur"},
    {"Kellner"},
    {"Gebrauchtwagenhändler"},
    {"Sanitäter"}
    };



    So funktioniert der /job befehl also womit mit man jobs vergibt(falls das hilft)
    if (strcmp(cmd, "/job", true)==0)
    {
    if(IsPlayerAdmin(playerid))
    {
    new tmp[256];
    new zielplayer,jobid;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /job [ID] [JobID]");
    return 1;
    }
    zielplayer = strval(tmp);


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /job [ID] [JobID]");
    return 1;
    }
    jobid = strval(tmp);



    if(IsPlayerConnected(zielplayer))
    {


    beruf[zielplayer] = jobid;


    dUserSetINT(PlayerName(zielplayer)).("job",jobid);


    format(tmpstring,sizeof(tmpstring),"Der neue Job von %s ist %s",PlayerName(zielplayer),berufe[jobid]);
    SendClientMessage(playerid,COLOR_GREEN,tmpstring);
    format(tmpstring,sizeof(tmpstring),"Dein neuer Job ist %s",berufe[jobid]);
    SendClientMessage(zielplayer,COLOR_GREEN,tmpstring);


    } else {
    SendClientMessage(playerid,COLOR_RED,"Ungültige SpielerID");
    }
    }
    return 1;
    }


    So und jetzt nochmal wofür ich da haben wollte:
    if (strcmp(cmd, "/perso", true)==0)
    {
    new tmp[256];
    new zielplayer;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /perso [ID]");
    return 1;
    }
    zielplayer = strval(tmp);
    if(IsPlayerConnected(zielplayer))
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast jemanden deinen Personalausweis gegeben!");
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    format(string, sizeof(string), "Personalausweis von: %s", PlayerName(playerid));
    SendClientMessage(zielplayer, COLOR_GREEN, string);
    format(string, sizeof(string),"Führerscheinklasse: %d",dUserINT(PlayerName(playerid)).("fschein"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    format(string, sizeof(string),"Beruf: %s",dUserINT(PlayerName(playerid)).("job"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    } else {
    SendClientMessage(playerid,COLOR_RED,"Ungültige SpielerID");
    }


    return 1;
    }

  • Also ich persönlich mache es immer passend es ist viel übersichtlicher am ende ;)

  • Dazu fehlt mir die nötige Erfahrung mit Godfather

  • Naja, oder wie es oben Beschrieben wurde:
    Ne Variable nehmen und der Variable nen Text zuweisen.
    Sprich:


    new jobtext[50]//---50 ist die Anzahl der Zeichen
    if(SpielerInfo[playerid][job]==1) { jobtext="Jobname"; }
    if(SpielerInfo[playerid][job]==2) { jobtext="jobname2"; }
    //----- Und So weiter^^


    Zum Schluss halt:
    format(string, sizeof(string),"Beruf: %s",jobtext);



    MfG Firer

  • ah ok danke werds gleich mal testen
    edit:


    new jobtext[50]//---50 ist die Anzahl der Zeichen
    if(SpielerInfo[playerid][job]==1) { jobtext="Jobname"; }
    if(SpielerInfo[playerid][job]==2) { jobtext="jobname2"; }//muss das nicht eigentlich verstauscht werden? also };
    //----- Und So weiter^^


    So aber ein Problem gibts da noch ich habe nicht sowas wie SpielerInfo
    Es wurd bis jetzt immer die datei direkt aufgerufen und was hinzugefügt, beschreiben, geändert
    kann man das nicht irgendwei anders machen?


    edit2:
    und ich hab noch folgende errors:

  • Wie liest du denn den Jobnamen aus?
    Musst SpielerInfo... mit deiner Methode ersetzen.
    Beim GF ist es PlayerInfo[playerid][pJob]
    usw.


    MfG Firer



    Michi:
    Wieso zum teufel pFraktion?!
    Woher weist du überhaupt das er GF nutzt oder woher willst du wissen, wie er Job definiert hat?!

  • Also ich benutze ja kein GF.


    Ich lese das so aus:
    if (strcmp(cmd, "/perso", true)==0)
    {
    new tmp[256];
    new zielplayer;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /perso [ID]");
    return 1;
    }
    zielplayer = strval(tmp);
    if(IsPlayerConnected(zielplayer))
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast jemanden deinen Personalausweis gegeben!");
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    format(string, sizeof(string), "Personalausweis von: %s", PlayerName(playerid));
    SendClientMessage(zielplayer, COLOR_GREEN, string);
    format(string, sizeof(string),"Führerscheinklasse: %d",dUserINT(PlayerName(playerid)).("fschein"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    format(string, sizeof(string),"Beruf: %s",dUserINT(PlayerName(playerid)).("job"));
    SendClientMessage(zielplayer, COLOR_WHITE, string);
    SendClientMessage(zielplayer,COLOR_SEAGREEN,"=================================================");
    } else {
    SendClientMessage(playerid,COLOR_RED,"Ungültige SpielerID");
    }


    return 1;
    }


    Es wird halt die Datei geöffnet wie der Spieler heißt der das command benutzt und dann wird geguckt was unter job steht