stock LoadAccount Problem

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 leuts!
    Ich habe ein Problem bei einem Stock, aber ich kanns einfach nicht finden 8|



    stock LoadPlayer(playerid)
    {
    new SD[64],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SD,sizeof(SD),"/SpielerAccounts/%s.txt",name);
    // === SpielerCharaktere === //
    sChar[playerid][Char1] = dini_Int(SD,"Char1"); // <
    sChar[playerid][Name_Char1] = dini_Set(SD,"Name_Char1"); // <
    sChar[playerid][Stufe_Char1] = dini_IntSet(SD,"Stufe_Char1"); // <

    sChar[playerid][Char2] = dini_Int(SD,"Char2"); // <
    sChar[playerid][Name_Char2] = dini_Set(SD,"Name_Char2"); // <
    sChar[playerid][Stufe_Char2] = dini_IntSet(SD,"Stufe_Char2"); // <

    sChar[playerid][Char3] = dini_Int(SD,"Char3"); // <
    sChar[playerid][Name_Char3] = dini_Set(SD,"Name_Char3"); // <
    sChar[playerid][Stufe_Char3] = dini_IntSet(SD,"Stufe_Char3"); // <

    sChar[playerid][Char4] = dini_Int(SD,"Char4");
    sChar[playerid][Name_Char4] = dini_Set(SD,"Name_Char4");
    sChar[playerid][Stufe_Char4] = dini_IntSet(SD,"Stufe_Char4");

    sChar[playerid][Char5] = dini_Int(SD,"Char5"); // <
    sChar[playerid][Name_Char5] = dini_Set(SD,"Name_Char5"); // <
    sChar[playerid][Stufe_Char5] = dini_IntSet(SD,"Stufe_Char5"); // <
    return 1;
    }


    Bei jeden spuckt der Compiler das hier aus



    number of arguments does not match definition

  • also ueberall bekommst du die warnings?

    Jap.
    Hier mal das Enum:



    enum SpielerCharaktere
    {
    Char1,
    Stufe_Char1,
    Name_Char1,
    Char2,
    Stufe_Char2,
    Name_Char2,
    Char3,
    Stufe_Char3,
    Name_Char3,
    Char4,
    Stufe_Char4,
    Name_Char4,
    Char5,
    Stufe_Char5,
    Name_Char5
    }
    new sChar[MAX_PLAYERS][SpielerCharaktere];


  • Namen sind Strings...

    enum SpielerCharaktere
    {
    Char1,
    Stufe_Char1,
    Name_Char1[32],
    Char2,
    Stufe_Char2,
    Name_Char2[32],
    Char3,
    Stufe_Char3,
    Name_Char3[32],
    Char4,
    Stufe_Char4,
    Name_Char4[32],
    Char5,
    Stufe_Char5,
    Name_Char5[32]
    };

  • Klappt immernoch nicht.
    Und ich denke das hat damit nichts zu tuen.


    Doch, hat es, da es ein String ist und kein Integer!
    lass das so und versuch das mal:
    Achja, beim Loaden musst du es getten, nicht setten!
    format(sChar[playerid][Name_Char1],32,"%s",dini_Get(SD,"Name_Char1"));
    und das mit jedem "Name_CharX"

  • Danke.
    Aber es liegt nicht an den Namen sondern auch an den anderen.
    Ich habs jetzt so:



    stock LoadPlayer(playerid)
    {
    new SD[64],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(SD,sizeof(SD),"/SpielerAccounts/%s.txt",name);
    // === SpielerCharaktere === //
    sChar[playerid][Char1] = dini_Get(SD,"Char1"); // Warning
    format(sChar[playerid][Name_Char1],32,"%s",dini_Get(SD,"Name_Char1"));
    sChar[playerid][Stufe_Char1] = dini_Get(SD,"Stufe_Char1"); // Warning

    sChar[playerid][Char2] = dini_Get(SD,"Char2"); // Warning
    format(sChar[playerid][Name_Char1],32,"%s",dini_Get(SD,"Name_Char2"));
    sChar[playerid][Stufe_Char2] = dini_Get(SD,"Stufe_Char2"); // Warning

    sChar[playerid][Char3] = dini_Get(SD,"Char3"); // Warning
    format(sChar[playerid][Name_Char1],32,"%s",dini_Get(SD,"Name_Char3"));
    sChar[playerid][Stufe_Char3] = dini_Get(SD,"Stufe_Char3"); // Warning

    sChar[playerid][Char4] = dini_Get(SD,"Char4"); // Warning
    format(sChar[playerid][Name_Char1],32,"%s",dini_Get(SD,"Name_Char4"));
    sChar[playerid][Stufe_Char4] = dini_Get(SD,"Stufe_Char4"); // Warning

    sChar[playerid][Char5] = dini_Get(SD,"Char5"); // Warning
    format(sChar[playerid][Name_Char1],32,"%s",dini_Get(SD,"Name_Char5"));
    sChar[playerid][Stufe_Char5] = dini_Get(SD,"Stufe_Char5"); // Warning
    return 1;
    }


    Warning immernoch:



    must be assigned to an array

  • dini_Get ist für Strings (z.B. Namen)!
    Für Integer (Zahlen) brauchst du dini_Int!
    Die Parameter sind gleich.