[INC] easy_ini 0.2

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

  • Vorwort:


    Ich habe mir mal etwas Überlegt mit dem man das normale Abspeichern von Daten in .ini oder sonst irgendwelchen Datentypen zu erleichtern.
    Dabei ist etwas entstanden das sehr hilfreich ist und genauso schnell auf dem Server ist wie die Herkömmliche variante die zum Beispiel im GF verwendet wird.


    Die Funktionen:

    • Funktionen bei 0.2:

      native PwWrong(file[],Key[],&savepasswort[],passwort[]);//key = Key1
      native ClosePw();
      native ReadFilePw();
      native ..
      native WriteFile(file[]);
      native StopWrite();
      native ReadFile(file[]);
      native StopRead();
      native ..
      native Save(Key[],params);//key = Key2
      native SaveInt(Key[],initger);//key = Key1
      native SaveFloat(Key[],Float);//key = Key1
      native SaveString(Key[],string[]);//key = Key1
      native ..
      native LoadInt(Key[],&Int);//key = Key1
      native LoadFloat(Key[],&Float);//key = Key1
      native LoadString(Key[],&String[]);//key = Key1

      file[] = Fileadresse die man Öffnen will zB: "user/USERNAME.ini"
      Key1 = wie bei dini auch der Key zB: "Geld"
      Key2 = wie bei dem Herkömmlichen GF Speichersystem zB: "Geld=%d\n" oder "Passwort=%s\n" oder "Spawnx=%.1f\n"
      params[] = die variable die man einspeichern will.(aber immer mit der richtigen Key2 verwenden!!)
      &savepasswort[] = die variable in der man das Userpasswort speichern will.
      passwort[] = die variable die der User eingegeben hat um sich Einzuloggen.



    Anwendung Beispiele:

    • Beispiel Für OnPlayerLogin(playerid,password[]):
      Spoiler anzeigen

      public OnPlayerLogin(playerid,passwort[])
      {
      new file[60];
      format(file,60,"23.ini");
      PwWrong(file,"PW",PlayerInfo[playerid][pPasswort],passwort);
      {
      Kick(playerid);
      return 1;
      }
      ClosePw();
      ReadFile(file);
      {
      key = ini_GetKey(Data);//<------Wichtig!! (bei 0.3 KKKEEEYYY = ini_GetKey(DDDAAATTTAAA);)
      LoadString("PW",PlayerInfo[playerid][pPasswort]);
      LoadFloat("Spawnx",PlayerInfo[playerid][pSpawnx]);
      LoadInt("Level",PlayerInfo[playerid][pLevel]);
      }
      StopRead();
      return 1;
      }
      //zweite art:
      public OnPlayerLogin(playerid,passwort[])
      {
      new file[60];
      format(file,60,"23.ini");
      PwWrong(file,"PW",PlayerInfo[playerid][pPasswort],passwort);
      {
      Kick(playerid);
      return 1;
      }
      WriteFilePw();//<-------Wichtig
      {
      key = ini_GetKey(Data);//<------Wichtig!! (bei 0.3 KKKEEEYYY = ini_GetKey(DDDAAATTTAAA);)
      LoadString("PW",PlayerInfo[playerid][pPasswort]);
      LoadFloat("Spawnx",PlayerInfo[playerid][pSpawnx]);
      LoadInt("Level",PlayerInfo[playerid][pLevel]);
      }
      StopRead();
      return 1;
      }


    • Beispiel Für OnPlayerRegister(playerid,password[])oder auch PlayerUpdate(playerid):
      Spoiler anzeigen

      public PlayerUpdate(playerid)
      {
      new file[60];
      format(file,60,"23.ini");
      WriteFile(file);
      {
      SaveString("PW",PlayerInfo[playerid][pPasswort]);
      SaveFloat("Spawnx",PlayerInfo[playerid][pSpawnx]);
      SaveInt("Level",PlayerInfo[playerid][pLevel]);
      // oder:
      Save("PW=%s\n",PlayerInfo[playerid][pPasswort]);
      Save("Spawnx=%.1f\n",PlayerInfo[playerid][pSpawnx]);
      Save("Level=%d",PlayerInfo[playerid][pLevel]);
      //oder auch mixen ist egal
      }
      StopWrite();
      return 1;
      }



      Bitte beachtet das man nicht OnPlayerUpdate benutzt um Acc's zu Speichern!!
      Hier ein Post dazu: Godfather - onplayerupdate - massiv Performance steigern! unbedingt LESEN !



    easy_ini hat folgende vorteile:

    • easy_ini ist genauso schnell in der Ausführung wie das herkömmliche(GF) Speichern in ini
    • esay_ini ist einfach und schnell Einsetzbar.
    • esay_ini ist vielseitig nutzbar.


    easy_ini hat folgende nachteile: man hat die gleichen nachteile wie bei einem herkömlichen Speicher system(bei GF)

    • Man muss immer alle gleichzeitig einspeichern


    Changelog:


    Download:
    0.2:

    http://pastebin.com/nhz8JXke
    0.3 beta:


    Fragen Anregungen?? bitte per PN an mich.

    I'm Sorry For Your Mistake!
    but it's yours

    18 Mal editiert, zuletzt von mari0_DE ()