Variablen abspeicherung

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 Abend Freunde der Nacht,


    gerne würde ich meinen Prison Grund mit abspeichern. Gefunden habe ich die funktion strmid dazu.


    Habe auch angefangen damit zu Scripten nur es tritt folgender Fehler auf:



    Das ist der Code womit gespeichert werden soll:

    PHP
    strmid(SetPVarInt(pID, "PrisonGrund", Grund, 0, 128, 255);


    Der Fehler dazu:


    PHP
    C:\Users\Oliver\Desktop\Server\gamemodes\Notwendig.pwn(495) : error 035: argument type mismatch (argument 3)
    C:\Users\Oliver\Desktop\Server\gamemodes\Notwendig.pwn(495) : error 035: argument type mismatch (argument 1)


    Hoffe mir kann geholfen werden
    Danke

  • Mit SetPvarInt geht das garnicht... da diese Funktion nur integer (also Zahlen) speichert.
    Wenn musst du den Grund z.B so speichern:


    C
    new PlayerReason[MAX_PLAYERS][100];
    PlayerReason[playerid]="Regelverstoß";

    Und dann kannst du dies auch so abfragen:



    C
    strmid(PlayerReason[playerid], Grund, 128, 255)


    Mit freundlichen Grüßen
    German_ScripterHD

  • okey danke habe es hinbekommen ;)


    weitere Sache ist, wie kann ich jetzt aus dem


    PHP
    strmid("PrisonGrund", Grund, 0, 128, 255);


    das hier in die Spielerdatei speichern :


    So:



    PHP
    dini_IntSet(Spielerdatei, "PrisonGrund", GetPVarInt(playerid, "PrisonGrund"));

    oder hier mit SetPVarString

  • strmid("PrisonGrund", Grund, 0, 128, 255);
    Das macht keinen Sinn, wenn dann so:
    strmid(Grund,"Hier der Grund", 0, 128, 255);


    Einfacher verständlich ist aber für die meisten:
    format(Grund, 64, "Hier der Grund");


    Wenn du es in eine PVar speicherst:
    SetPVarString(playerid,"PrisonGrund","Hier der Grund");



    Für dini, zum speichern:
    new str[64];
    GetPVarString(playerid, "PrisonGrund", str, sizeof(str));
    dini_Set(pfad, "PrisonGrund", str);

  • okey habe das mit SetPVartring gemacht.


    Aber wie frage ich das den jetzt ab ?


    GetPVarString(playerid,..........)

  • Meinst du mit abfragen, den Grund du prüfen?
    Sowas?
    new str[64];
    GetPVarString(playerid, "PrisonGrund", str, sizeof(str));
    if(!strcmp(str, "Cheaten", true))
    {
    //Grund ist Cheaten
    }
    else if(!strcmp(str, "Beleidigung", true))
    {
    //Grund ist Beleidigung
    }
    //...

  • nee in einem stock lade ich den Spieler.


    PHP
    stock SpielerLaden(playerid)


    hier soll dan der Grund geladen werden wen der spiler zum bsp /jailinfo macht


  • Achso.
    Dann so:
    SetPVarString(playerid,"PrisonGrund",dini_Get(pfad, "PrisonGrund"));

    Swoeit klappt alles danke. Nur!


    Sobald ich jetzt abfrage:


    PHP
    format(string, sizeof(string), "Der Grund war: %s ", GetPVarString(playerid, "PrisonGrung"));


    Bekomme ich 2 Fehler.


    C:\Users\Oliver\Desktop\Server\gamemodes\Selfmade.pwn(507) : warning 202: number of arguments does not match definition
    C:\Users\Oliver\Desktop\Server\gamemodes\Selfmade.pwn(507) : warning 202: number of arguments does not match definition