Waffenspeichern

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
  • Hey Leute,


    ich brauche etwas für mein GodFather Server.


    Habe das SoL Script möchte gerne machen


    das sich nach dem Logout die Waffenspeichern iund ich die wieder bekomme bin so weit checke es aber net ;(


    new weapons[13][2];
    for (new i = 0; i < 13; i++)
    {
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    }


    kann mir das einer erklären bitte


    Hoffe ich kriege paar Antworten


    Mfg


    S_T_R_A_T_O.

  • Wenn es dir schwer fällt mit einem array zu arbeiten zu dem bekommt du bei dem array nur den Slot und die Waffenid herraus kannst du dies auch
    einzelnt abfragen Beispiel ob er ein schlagring hat oder ncith GetPlayerWeaponData(playerid,0,Waffe,Ammo); wenn er disconnectet.
    Danach speicherst das in sein account
    und danach wenn der spieler connectet auslesen GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe"),dini_Int(Spielerdatei,"Ammo"));

  • Für eine waffe jedoch solltest du auch weiter denken dies ist kein copy past du kannst es extra speichern oder als account variabel erstellen
    dies was ich dir geschrieben hab ist nun ein kleiner denkanstoß

  • ;( ich kenne mich mit der drecks waffenspeicherung iwie nicht aus ich checke 0 durch...


    new weapons[13][2],
    Pfad[50],
    SlotID[20],
    Munition[20];
    format(Pfad, sizeof(Pfad), "/Accounts/%s.ini", GetName(playerid));
    for (new i = 0; i < 13; i++)
    {
    format(SlotID, sizeof(SlotID), "Slot%dWaffe", i);
    format(Munition, sizeof(Munition), "Slot%dMunition", i);
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    dini_IntSet(Pfad, SlotID, weapons[i][0]);
    dini_IntSet(Pfad, Munition, weapons[i][1]);


    }


    So hab ich es aber sie speichern sicht nicht wen ich wieder connecte habe ich nur die standart waffen ^^

  • Er wird dir jedoch die DAten überschreiben, und speichert nur eine Waffe.


    new weapons[13][2];for (new i = 0; i < 13; i++){ GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);}



    Außerdem ist das hier falsch.

    GivePlayerWeapon(playerid,dini_Int(Spielerdatei,"Waffe"),dini_Int(Spielerdatei,"Ammo"));



    dini_Get sollte es meines Wissens nach sein.


    Du musst die Slots einzeln speichern, dies geht so.


    weapons[0][0]


    weapons[1][0]


    weapons[2][0]


    weapons[3][0]


    weapons[4][0]


    weapons[5][0]


    ..
    ..
    bis 13


    und die Munition dann so


    weapons[0][1]


    weapons[1][1]


    weapons[2][1]


    weapons[3][1]


    weapons[4][1]


    weapons[5][1]

  • new weapons[13][2];for (new i = 0; i < 13; i++){ GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);}


    Das erweitern oder wie?

  • Bei mir werden die Waffen gespeichert aber nicht gegeben :D



    dini_IntSet(Spieler,"Waffe1",weapons[0][0]);
    dini_IntSet(Spieler,"Waffe2",weapons[1][0]);
    dini_IntSet(Spieler,"Waffe3",weapons[2][0]);
    dini_IntSet(Spieler,"Waffe4",weapons[3][0]);
    dini_IntSet(Spieler,"Waffe5",weapons[4][0]);
    dini_IntSet(Spieler,"Waffe6",weapons[5][0]);
    dini_IntSet(Spieler,"Waffe7",weapons[6][0]);
    dini_IntSet(Spieler,"Waffe8",weapons[7][0]);
    dini_IntSet(Spieler,"Waffe9",weapons[8][0]);
    dini_IntSet(Spieler,"Waffe10",weapons[9][0]);
    dini_IntSet(Spieler,"Waffe11",weapons[10][0]);
    dini_IntSet(Spieler,"Waffe12",weapons[11][0]);
    dini_IntSet(Spieler,"Waffe13",weapons[12][0]);
    dini_IntSet(Spieler,"Muni1",weapons[0][1]);
    dini_IntSet(Spieler,"Muni2",weapons[1][1]);
    dini_IntSet(Spieler,"Muni3",weapons[2][1]);
    dini_IntSet(Spieler,"Muni4",weapons[3][1]);
    dini_IntSet(Spieler,"Muni5",weapons[4][1]);
    dini_IntSet(Spieler,"Muni6",weapons[5][1]);
    dini_IntSet(Spieler,"Muni7",weapons[6][1]);
    dini_IntSet(Spieler,"Muni8",weapons[7][1]);
    dini_IntSet(Spieler,"Muni9",weapons[8][1]);
    dini_IntSet(Spieler,"Muni10",weapons[9][1]);
    dini_IntSet(Spieler,"Muni11",weapons[10][1]);
    dini_IntSet(Spieler,"Muni12",weapons[11][1]);
    dini_IntSet(Spieler,"Muni13",weapons[12][1]);


    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe1"),dini_Int(Spieler,"Muni1"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe2"),dini_Int(Spieler,"Muni2"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe3"),dini_Int(Spieler,"Muni3"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe4"),dini_Int(Spieler,"Muni4"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe5"),dini_Int(Spieler,"Muni5"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe6"),dini_Int(Spieler,"Muni6"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe7"),dini_Int(Spieler,"Muni7"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe8"),dini_Int(Spieler,"Muni8"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe9"),dini_Int(Spieler,"Muni9"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe10"),dini_Int(Spieler,"Muni10"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe11"),dini_Int(Spieler,"Muni11"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe12"),dini_Int(Spieler,"Muni12"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe13"),dini_Int(Spieler,"Muni13"));

  • GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe1"),dini_Int(Spieler,"Muni1"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe2"),dini_Int(Spieler,"Muni2"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe3"),dini_Int(Spieler,"Muni3"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe4"),dini_Int(Spieler,"Muni4"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe5"),dini_Int(Spieler,"Muni5"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe6"),dini_Int(Spieler,"Muni6"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe7"),dini_Int(Spieler,"Muni7"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe8"),dini_Int(Spieler,"Muni8"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe9"),dini_Int(Spieler,"Muni9"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe10"),dini_Int(Spieler,"Muni10"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe11"),dini_Int(Spieler,"Muni11"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe12"),dini_Int(Spieler,"Muni12"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe13"),dini_Int(Spieler,"Muni13"));


    Bei onplayerconnectet rein gefügt?

  • Habs nun so:


    new weapons[13][2];for (new i = 0; i < 13; i++){ GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);}
    Pfad[50],
    SlotID[20],
    Munition[20];
    format(Pfad, sizeof(Pfad), "/Accounts/%s.ini", GetName(playerid));
    for (new i = 0; i < 13; i++)
    {
    format(SlotID, sizeof(SlotID), "Slot%dWaffe", i);
    format(Munition, sizeof(Munition), "Slot%dMunition", i);
    GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);
    dini_IntSet(Spieler,"Waffe1",weapons[0][0]);
    dini_IntSet(Spieler,"Waffe2",weapons[1][0]);
    dini_IntSet(Spieler,"Waffe3",weapons[2][0]);
    dini_IntSet(Spieler,"Waffe4",weapons[3][0]);
    dini_IntSet(Spieler,"Waffe5",weapons[4][0]);
    dini_IntSet(Spieler,"Waffe6",weapons[5][0]);
    dini_IntSet(Spieler,"Waffe7",weapons[6][0]);
    dini_IntSet(Spieler,"Waffe8",weapons[7][0]);
    dini_IntSet(Spieler,"Waffe9",weapons[8][0]);
    dini_IntSet(Spieler,"Waffe10",weapons[9][0]);
    dini_IntSet(Spieler,"Waffe11",weapons[10][0]);
    dini_IntSet(Spieler,"Waffe12",weapons[11][0]);
    dini_IntSet(Spieler,"Waffe13",weapons[12][0]);
    dini_IntSet(Spieler,"Muni1",weapons[0][1]);
    dini_IntSet(Spieler,"Muni2",weapons[1][1]);
    dini_IntSet(Spieler,"Muni3",weapons[2][1]);
    dini_IntSet(Spieler,"Muni4",weapons[3][1]);
    dini_IntSet(Spieler,"Muni5",weapons[4][1]);
    dini_IntSet(Spieler,"Muni6",weapons[5][1]);
    dini_IntSet(Spieler,"Muni7",weapons[6][1]);
    dini_IntSet(Spieler,"Muni8",weapons[7][1]);
    dini_IntSet(Spieler,"Muni9",weapons[8][1]);
    dini_IntSet(Spieler,"Muni10",weapons[9][1]);
    dini_IntSet(Spieler,"Muni11",weapons[10][1]);
    dini_IntSet(Spieler,"Muni12",weapons[11][1]);
    dini_IntSet(Spieler,"Muni13",weapons[12][1]);
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe1"),dini_Int(Spieler,"Muni1"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe2"),dini_Int(Spieler,"Muni2"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe3"),dini_Int(Spieler,"Muni3"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe4"),dini_Int(Spieler,"Muni4"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe5"),dini_Int(Spieler,"Muni5"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe6"),dini_Int(Spieler,"Muni6"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe7"),dini_Int(Spieler,"Muni7"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe8"),dini_Int(Spieler,"Muni8"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe9"),dini_Int(Spieler,"Muni9"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe10"),dini_Int(Spieler,"Muni10"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe11"),dini_Int(Spieler,"Muni11"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe12"),dini_Int(Spieler,"Muni12"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe13"),dini_Int(Spieler,"Muni13"));


    }


    Bekomme diese Errors:


    C:\Users\Strato\Desktop\RRP Server\gamemodes\Release.pwn(5596) : error 017: undefined symbol "Pfad"
    C:\Users\Strato\Desktop\RRP Server\gamemodes\Release.pwn(5596) : warning 215: expression has no effect
    C:\Users\Strato\Desktop\RRP Server\gamemodes\Release.pwn(5596) : error 001: expected token: ";", but found "]"
    C:\Users\Strato\Desktop\RRP Server\gamemodes\Release.pwn(5596) : error 029: invalid expression, assumed zero
    C:\Users\Strato\Desktop\RRP Server\gamemodes\Release.pwn(5596) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Schau dir mal deine NEWS an ;)


    kein wunder, das du errors bekommst


    new weapons[13][2],
    Pfad[50],
    SlotID[20],
    Munition[20];
    for (new i = 0; i < 13; i++){ GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]);}


    versuchs mal so ;)