Need help! Wie speichere ich Sachen in Ini-Dateien ?

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
  • TUTORIAL zu USER.INI

    Oben an den Script fügt ihr das hier ein


    enum pInfo
    {
    pTutorial,
    };
    new PlayerInfo[MAX_PLAYERS][pInfo];


    Wenn ihr ein Register oder Login System habt dann kommt das hier


    public OnPlayerRegister(playerid, password[])
    {
    if(IsPlayerConnected(playerid))
    {
    new string3[36];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
    new var[36];


    format(var, 36, "Tutorial=%d\n",PlayerInfo[playerid][pTutorial]);fwrite(hFile, var);


    public OnPlayerUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid])
    {
    new string3[36];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "%s.ini", playername3);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    new var[36];
    format(var, 36, "Tutorial=%d\n",PlayerInfo[playerid][pTutorial]);fwrite(hFile, var);


    public OnPlayerLogin(playerid,password[])
    {
    new tmp2[256];
    new string2[64];
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    format(string2, sizeof(string2), "%s.ini", playername2);
    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )
    {
    new PassData[256];
    new keytmp[256], valtmp[256];
    fread( UserFile , PassData , sizeof( PassData ) );
    keytmp = ini_GetKey( PassData );
    if( strcmp( keytmp , "Schlüssel" , true ) == 0 )
    {
    valtmp = ini_GetValue( PassData );
    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
    }
    if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
    {
    new key[ 256 ] , val[ 256 ];
    new Data[ 256 ];
    while ( fread( UserFile , Data , sizeof( Data ) ) )
    {
    if( strcmp( key , "Tutorial" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTutorial] = strval( val ); }

  • man kanns aber auch kompliziert machen^^
    das is jetzt nur ein beispiel, um sowas wie texte zu speichern:
    if(strcmp(cmdtext,"/IchMagSchinken",true)==0) {
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"%s mag Schinken",name);
    new File:gla = fopen("NameDesFiles",io_append); fwrite(gla,string); fclose(gla);
    SendClientMessageToAll(farbe,string);
    return 1;
    }

    Einmal editiert, zuletzt von KeksOfDeath ()