Personalausweis 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
  • Hallo ich habe ein bisschen gescriptet und stoße nun auf ein Paar Probleme die ich nicht lösen kann.
    ich möchte das Scheine System anfangen(mit dem Perso fange ich an)
    nun kommen wir mal zum code:


    if (CurrentMenu == stadthallemenu)
    {
    switch(row)
    {
    case 0: //Personalausweis
    {
    SendClientMessage(playerid, GRÜN,"Du hast deinen Personalausweis Erhalten.");
    SetPVarInt(playerid,"Perso",1);
    SpielerSpeichern(playerid);
    }
    }
    }


    und zum Speichern und lesen:
    SetPVarInt(playerid,"Perso",dini_Int(pfad,"Perso"));


    dini_IntSet(pfad,"Perso",GetPVarInt(playerid,"Perso"));


    und der Command.


    Wie kann ich das machen das er anzeigt "Bestanden oder Nicht Bestanden"?


    ocmd:scheine(playerid)
    {
    new string[200];
    format(string,sizeof(string),"Personalausweis: %s"),GetPVarInt(playerid,"Perso");
    SendClientMessage(playerid,-1,string);
    return 1;
    }


    /e Problem 2


    Es wird nix im Dialog angezeigt.



    stadthallemenu = CreateMenu("Stadthalle", 200.0, 100.0, 150.0, 150.0);
    AddMenuItem(stadthallemenu, 1, "Personalausweis");
    AddMenuItem(stadthallemenu, 1, "Berufe");
    AddMenuItem(stadthallemenu, 1, "Führerscheine");
    return 1;

  • Gibt verschiedene Möglichkeiten


    //perso = var für personalausweis
    SendClientMessage(playerid , -1, (perso[playerid] == 0) ? ("Personalausweis: Nein") : ("Personalausweis: Ja"));




    stadthallemenu = CreateMenu("Stadthalle",2, 200.0, 100.0, 150.0, 150.0);
    AddMenuItem(stadthallemenu, 1, "Personalausweis");
    AddMenuItem(stadthallemenu, 1, "Berufe");
    AddMenuItem(stadthallemenu, 1, "Führerscheine");


    Dir hat der Parameter für die Angabe der Spalten gefehlt.
    http://wiki.sa-mp.com/wiki/CreateMenu

  • Um speicherplatz zu sparen würde es sich bei einem Schein System anbieten in die Binäre Ebene einzutauchen, so kannst du in einer Variable 30 Scheine Speichern und verbrauchst nicht so viel Speicherplatz.


  • Erstmal von den "200" runterkommen.
    Rechne doch mal aus.
    Personalausweis hat 15 Buchstaben.
    Inklusive den Doppelpunkt sind das 16.
    Das Leerzeichen dann 17.
    Und dann Bestanden = 9 Zeichen, oder Nicht Bestanden = 15 Zeichen.


    17 + 15 = 32.
    Also kannst du schonmal: new string[32]; machen.
    Dann brauchst du auch kein Format wenn du nur 2 Nachrichten hast die nur "ja" oder "nein" betragen.


    Am einfachsten ist es halt wenn man es so machen würde:

    ocmd:scheine(playerid)
    {
    new string[32];
    if(GetPVarInt(playerid, "Perso") == 0)strcat(string, "Personalausweis: Nicht vorhanden");
    else strcat(string, "Personalausweis: Vorhanden");
    SendClientMessage(playerid, -1, string);
    return 1;
    }


    Das war es eigentlich. ^^

  • Du kannst dir den String auch komplett sparen und einfach simpel arbeiten :p


    ocmd:scheine (playerid) {
    if (!GetPVarInt(playerid, "Perso")) return SendClientMessage(playerid, -1, "Personalausweis: Nicht bestanden");
    return SendClientMessage(playerid, -1, "Personalausweis: Bestanden");
    }
    fertig :p


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Ja, komm, klugscheißern wir rum: es geht NOCH KÜRZER :p


    SendClientMessage(playerid, -1, (!perso[playerid]) ? ("Perso: Nein") : ("Perso: Ja"));
    :P


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Beitrag von Slash™ ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.