HSA-Multi - Tutorial
Ein Tutorial zum Include von Hauke M.
Sehr geehrte Scripter, lieber Magic,Ein Tutorial zum Include von Hauke M.
hier ist das für dich entworfene Tutorial! Es handelt sich dabei um das von Hauke M. entwickelte Include "HSA-Multi" (forum.sa-mp.de/san-andreas-mul…chnell-speichern-v-2-1-1/). Ich möchte erklären wie es zu verwenden ist, wie man es explizit benutzt und ganz einfach ein paar kleine Funktionen darstellen - ich hoffe dir, Magic, ist geholfen - aber auch all' den anderen Nutzern dieser Include.
HSA ist, sofern ich verstehe, um einiges schneller als DINI und könnte rein technisch DINI ersetzen.
Ich möchte einfach mal, zum Verständnis, DINI und HSA "übersetzen".
Beispiel Nr. 1 dini_Int/getInt:
Mit DINI würden wir folgendes machen um Beispielsweise an die Geldsumme vom Spieler zu kommen sofern man mit PVar's arbeitet:
[pwn]new Name[MAX_PLAYER_NAME],
Pfad[50];
GetPlayerName(playerid, Name, sizeof(Name)); // Name getten
format(Pfad, sizeof(Pfad), "Spieleraccounts/%s", Name); // Dateipfad formatieren
SetPVarInt(playerid, "Geld", dini_Int(Pfad, "Geld")); // letztendlich aus der Datei (Beispiel) "Vincent_Petritz" den Wert "Geld" auslesen[/pwn]
Das würde sich mit HSA wie folgt erledigen lassen:
[pwn]new Name[MAX_PLAYER_NAME],
Pfad[50];
GetPlayerName(playerid, Name, sizeof(Name)); // Name getten
format(Pfad, sizeof(Pfad), "Spieleraccounts/%s", Name); // Pfad formatieren
SetPVarInt(playerid, "Geld", getInt:Pfad("Geld")); //Wert aus Pfad-formatierter-Datei holen[/pwn]
Kein großer Unterschied, zumindest scripttechnisch, das würde man auch an allen anderen Varianten sehen.

Beispiel Nr. 2 dini_Get/getString:
Mit DINI würde ein String aus einer Datei wie folgt aussehen (ich nehme als Beispiel jetzt mal einen Ehepartner).
[pwn]new Name[MAX_PLAYER_NAME],
Pfad[50];
GetPlayerName(playerid, Name, sizeof(Name)); //Name getten
format(Pfad, sizeof(Pfad), "Spieleraccounts/%s", Name); // Pfad formatieren
SetPVarInt(playerid, "Geld", dini_Get(Pfad, "Ehepartner")); // Den String "Ehepartner" aus der formatieren Datei holen[/pwn]
Mit der HSA wie folgt:
[pwn]new Name[MAX_PLAYER_NAME],
Pfad[50];
GetPlayerName(playerid, Name, sizeof(Name)); // Name getten
format(Pfad, sizeof(Pfad), "Spieleraccounts/%s", Name); // Pfad formatieren
SetPVarInt(playerid, "Geld", getString:Pfad("Ehepartner")); // String aus der formatieren Datei holen[/pwn]
Beispiel Nr. 3 dini_IntSet/setInt:
Ich möchte nun auch schon mein letztes Beispiel geben, da es doch quasi "immer das gleiche" ist.

[pwn]new Name[MAX_PLAYER_NAME],
Pfad[50];
GetPlayerName(playerid, Name, sizeof(Name)); // Name getten
format(Pfad, sizeof(Pfad), "Spieleraccounts/%s", Name); // Pfad formatieren
dini_IntSet(Pfad, GetPVarInt(playerid, "Geld")); // Wert 1337 in die formatierte Datei "stecken"[/pwn]
[pwn]new Name[MAX_PLAYER_NAME],
Pfad[50];
GetPlayerName(playerid, Name, sizeof(Name)); // Name getten
format(Pfad, sizeof(Pfad), "Spieleraccounts/%s", Name); // Pfad formatieren
setInt:Pfad("Geld", GetPVarInt(playerid, "Geld")); // Wert 1337 in die formatierte Datei "stecken"[/pwn]
Ich denke man merkt das Prinzip ist fast immer gleich.

Ich kann es nur leider nicht testen, da ich kein GTA mehr installiert habe - darum bitte ich um Verbesserungen falls etwas falsch ist.
Was gibt es noch zu sagen?
Im Prinzip nicht viel, von meiner Seite aus, im Anhang noch das Include & bei Fragen oder weiteren Wünsche / Fortsetzung dieses Tutorials - schreibt drunter!
