Waffen werden nicht gesaved

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,
    und zwar wollte ich über Dialoge ein kleines System machen,
    in dem man Waffen aussuchen kann und sie gesaved werden
    und jedes mal wieder gegeben werden, wenn man sich ausloggt/abkackt.


    Der Fehler ist aber, dass immer nur eine Waffe gesaved wird....
    Hier mal der PWN Code:

    /// Enums
    enum sInfo
    {
    Deagle,
    M4A1,
    AK47,
    Sniper,
    SDPistole,
    Shotgun,
    Mp5
    }
    new SpielerInfo[MAX_PLAYERS][sInfo];



    /// ONPlayerSpawn
    /// Gibt Waffen
    if(SpielerInfo[playerid][Deagle] == 1)
    {
    GivePlayerWeapon(playerid, 24, 1000);
    }
    if(SpielerInfo[playerid][M4A1] == 1)
    {
    GivePlayerWeapon(playerid, 31, 1000);
    }
    if(SpielerInfo[playerid][AK47] == 1)
    {
    GivePlayerWeapon(playerid, 30, 1000);
    }
    if(SpielerInfo[playerid][Mp5] == 1)
    {
    GivePlayerWeapon(playerid, 29, 1000);
    }
    if(SpielerInfo[playerid][SDPistole] == 1)
    {
    GivePlayerWeapon(playerid, 23, 1000);
    }
    if(SpielerInfo[playerid][Shotgun] == 1)
    {
    GivePlayerWeapon(playerid, 25, 1000);
    }
    if(SpielerInfo[playerid][Sniper] == 1)
    {
    GivePlayerWeapon(playerid, 34, 1000);
    }



    /// DIALOG
    if(dialogid == DIALOG_msg)
    {
    if(listitem == 0)
    {
    GivePlayerWeapon(playerid, 24, 1000);}
    if(listitem == 1)
    {
    GivePlayerWeapon(playerid, 23, 1000);}
    if(listitem == 2)
    {
    GivePlayerWeapon(playerid, 29, 1000);}
    if(listitem == 3)
    {
    GivePlayerWeapon(playerid, 25, 1000);}
    if(listitem == 4)
    {
    GivePlayerWeapon(playerid, 31, 1000);}
    if(listitem == 5)
    {
    GivePlayerWeapon(playerid, 30, 1000);}
    if(listitem == 6)
    {
    GivePlayerWeapon(playerid, 34, 1000);}
    if(response == 1)
    {
    SendClientMessage(playerid, ROT, "Du hast dein Waffenset nicht gespeichert!");
    }
    if(response == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "Dein Waffenset wurde gespeichert.");
    if(GetPlayerWeapon(playerid) == 24)
    {
    SpielerInfo[playerid][Deagle]=1;
    }
    if(GetPlayerWeapon(playerid) == 23)
    {
    SpielerInfo[playerid][SDPistole]=1;
    }
    if(GetPlayerWeapon(playerid) == 29)
    {
    SpielerInfo[playerid][Mp5]=1;
    }
    if(GetPlayerWeapon(playerid) == 25)
    {
    SpielerInfo[playerid][Shotgun]=1;
    }
    if(GetPlayerWeapon(playerid) == 30)
    {
    SpielerInfo[playerid][AK47]=1;
    }
    if(GetPlayerWeapon(playerid) == 31)
    {
    SpielerInfo[playerid][M4A1]=1;
    }
    if(GetPlayerWeapon(playerid) == 34)
    {
    SpielerInfo[playerid][Sniper]=1;
    }
    }
    }



    /// DER BEFEHL
    ocmd:waffen(playerid,params[])
    {
    if(SpielerInfo[playerid][Jail] == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, ROT, "Du darfst den Befehl nicht im Auto benutzen!");
    if(sscanf(params,""))return SendClientMessage(playerid, ROT,"Benutze: /waffen");
    ShowPlayerDialog(playerid,DIALOG_msg,DIALOG_STYLE_LIST,"{00FF00}Stelle deine Waffen zusammen:","Deagle \nSD Pistole \nMp5 \nShotgun \nM4A1 \nAK47 \nSniper","Abbrechen","Fertig");
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du darfst das Waffenmenü nicht benutzen!");
    }
    return 1;
    }



    /// IM DINI SYSTEM


    // Bei Regestrieren stock:
    dini_IntSet(Spielerdatei,"Deagle",0);
    dini_IntSet(Spielerdatei,"SDPistole",0);
    dini_IntSet(Spielerdatei,"Shotgun",0);
    dini_IntSet(Spielerdatei,"Sniper",0);
    dini_IntSet(Spielerdatei,"M4A1",0);
    dini_IntSet(Spielerdatei,"AK47",0);
    dini_IntSet(Spielerdatei,"Mp5",0);



    /// Beim Login stock
    SpielerInfo[playerid][Deagle]=dini_Int(Spielerdatei,"Deagle");
    SpielerInfo[playerid][M4A1]=dini_Int(Spielerdatei,"M4A1");
    SpielerInfo[playerid][Mp5]=dini_Int(Spielerdatei,"Mp5");
    SpielerInfo[playerid][SDPistole]=dini_Int(Spielerdatei,"SDPistole");
    SpielerInfo[playerid][AK47]=dini_Int(Spielerdatei,"AK47");
    SpielerInfo[playerid][Sniper]=dini_Int(Spielerdatei,"Sniper");
    SpielerInfo[playerid][Shotgun]=dini_Int(Spielerdatei,"Shotgun");



    /// Beim speichern stock
    dini_IntSet(Spielerdatei,"Deagle",SpielerInfo[playerid][Deagle]);
    dini_IntSet(Spielerdatei,"Mp5",SpielerInfo[playerid][Mp5]);
    dini_IntSet(Spielerdatei,"M4A1",SpielerInfo[playerid][M4A1]);
    dini_IntSet(Spielerdatei,"AK47",SpielerInfo[playerid][AK47]);
    dini_IntSet(Spielerdatei,"Sniper",SpielerInfo[playerid][Sniper]);
    dini_IntSet(Spielerdatei,"Shotgun",SpielerInfo[playerid][Shotgun]);
    dini_IntSet(Spielerdatei,"SDPistole",SpielerInfo[playerid][SDPistole]);



    Freue mich wenn jemand den Fehler gefunden hat :D


    MfG FaridBangSAMP