Problem mit Drogensystem [Bitte um Hilfe]

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, ich habe den Wert drogen oben definiert und so sieht nun mein befehl aus damit er die gekauften rohstoffe trocknen kann und seine getrocknete ware dafür bekommt und er sie speichert. aber ich möcht nicht das der wert drogen nur auf 100 gesetzt wird, sondern das er +100 in die Datei eingespeichert wird, ist das machbar?


    if (strcmp("/trocknen", cmdtext, true, 10) == 0)
    {
    if(drogenkaufen[playerid]==1)
    if(PlayerToPoint(2.0,playerid,-270.7978,-2166.6992,28.7234))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast 100g Cannabis getrocknet.");
    GivePlayerMoney(playerid,15000);
    drogenkaufen[playerid]=0;
    pInfo[playerid][drogen] = 100;
    dini_IntSet(Datei(playerid),"Drogen",100);
    }
    else if(drogenkaufen[playerid]==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keine Drogen die du trocknen kannst!");
    }
    return 1;
    }



    Das ist die betroffene Stelle, wo es nun um +100 abgespeichert werden soll
    pInfo[playerid][drogen] = 100;
    dini_IntSet(Datei(playerid),"Drogen",100);
    Brauche dringend Ratschläge :)



    LG
    BoB

  • Danke für die antworten, doch leider bekomme ich error.


    habs so gemacht wie du gesagt hast:
    if (strcmp("/trocknen", cmdtext, true, 10) == 0)
    {
    if(drogenkaufen[playerid]==1)
    if(PlayerToPoint(2.0,playerid,-270.7978,-2166.6992,28.7234))
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast 100g Cannabis getrocknet.");
    GivePlayerMoney(playerid,15000);
    drogenkaufen[playerid]=0;
    pInfo[playerid][drogen] += 100;
    dini_IntSet(Datei(playerid),"Drogen",+100); //Nicht ganz sicher arbeite nicht mit dini
    }
    else if(drogenkaufen[playerid]==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast keine Drogen die du trocknen kannst!");
    }
    return 1;
    }


    und bekomme in der zeile:
    dini_IntSet(Datei(playerid),"Drogen",+100); //Nicht ganz sicher arbeite nicht mit dini


    Diese Erros:
    C:\Users\Patrick\Desktop\San Andreas Server\gamemodes\Patricksreallife.pwn(1866) : error 029: invalid expression, assumed zero
    C:\Users\Patrick\Desktop\San Andreas Server\gamemodes\Patricksreallife.pwn(1866) : warning 215: expression has no effect
    C:\Users\Patrick\Desktop\San Andreas Server\gamemodes\Patricksreallife.pwn(1866) : error 001: expected token: ";", but found ")"
    C:\Users\Patrick\Desktop\San Andreas Server\gamemodes\Patricksreallife.pwn(1866) : error 029: invalid expression, assumed zero
    C:\Users\Patrick\Desktop\San Andreas Server\gamemodes\Patricksreallife.pwn(1866) : fatal error 107: too many error messages on one line


    LG
    Bob

  • ja ich hatte auch schon geschaut, leider auch nichts passendes gefunden, ich könnt das gut gebrauchen da ich das dann auch gut in andere befehle einbauen kann wie zb: Führerscheinpunkte und Wanteds


    LG
    Bob

  • probier es mal mit:


    pInfo[playerid][drogen] += 100;
    dini_IntSet(Datei(playerid),"Drogen",pInfo[playerid][drogen]); //Nicht ganz sicher arbeite nicht mit dini

  • Ich weiß ja nicht, inwiefern sich dini von mysql unterscheidet, aber theoretisch
    reicht es, beim Disconnect alles abzuspeichern, da die Drogen bereits definiert sind und somit
    eingetragen werden.
    Sprich.
    dini_IntSet(path, "Drogen", pInfo[playerid][Drogen]);
    Teste es einfach mal. Bin mir sicher, dass das geht.
    Man braucht übrigens nicht immer alles direkt abzuspeichern. Beim Disconnect alles speichern zu
    lassen genügt.

  • ne es hat schon funkioniert :), also wenn ich drugs kaufe und sie dann trockne werden sie in der spielerdatei +100 angerechnet das heisst bei 6mal trocknen hat die Spielerdatei 600 gramm gespeichert, ich pfeil grad nurnoch an einem befehl um sie an andere spieler zu verkaufen^^


    danke dir schonmal für die anwort


    LG
    Bob