Waffenkauf != Munitionskauf

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 möchte meinem Waffenkaufsystem etwas "Innovation" einhauchen, und habe mir gedacht, dass man sich ja eine Waffe vorher kaufen muss, bevor man Munition verballern kann, oder eben keine 50 Waffen kaufen kann nur um mehr Munition zu haben.
    Jetzt stellt sich die Frage, wie ich das am besten speicher. Es stehen 18 Waffen zum Kauf zur Verfügung, also habe ich mir gedacht, ich baller sowas hier in die SpielerInfo.


    enum PlayerInfo
    {
    bool:pWeaponsPurchased[18],
    //...
    }


    Auf diese Art und Weise könnte ich jeder Variable eine Waffe zuweisen.
    Wenn der Spieler z.B. ein Messer kauft, wird pWeaponPurchased[0] auf true gesetzt, sodass bei jedem weiterem Kauf dann gecheckt wird, ob die Waffe schon vorhanden ist und nur Munition gekauft wird.


    Jetzt zur Speicherung... y_ini.
    INI_WriteBool(file, "PurchasedWeapons", pInfo[playerid][pWeaponsPurchased]);
    ... ich hab in erster Linie kp, ob das überhaupt so geht.
    Kann ich das so in einer Zeile machen, oder muss ich jede einzelne boolean Variable einzeln abspeichern?

  • for(new i,string[64];i<18;i++)
    {
    format(string,sizeof string,"PurchasedWeapons_%d",i);
    INI_WriteBool(file,string,pInfo[playerid][pWeaponsPurchased[i]];
    }
    Wenn ich mich nicht täusche, sollte die Speicherung so funktionieren.


    So musst du allerdings 18 PurchasedWeapons in der Datei haben.
    Sprich PurchasedWeapons_0, PurchasedWeapons_1, usw.