Hallo liebe Breadfish User,
da mich einige danach gefragt haben , möchte ich euch heute zeigen , wie man ganz simple Waffen speichert und beim Login wieder ausliest.
Es sind 4 ganz simple Schritte, die jeder kann..
Für dieses Tutorial ist es nötig, dass ihr die Include 'dudb' habt und sie oben im Script mit '#include <dudb>' ladet.
Schritt 1(Waffen laden lassen)
Um eure Waffen zu laden benötigt ihr folgenden Code. Diesen Code müsst ihr einfach am Ende des Scriptes erstellen.
stock LadeWaffen(playerid)
{
new pname[MAX_PLAYER_NAME];
if(!GetPlayerName(playerid, pname, MAX_PLAYER_NAME)) return false; // liest den Namen des Spielers aus
if(!udb_Exists(pname)) udb_Create(pname, ""); //Erstellt, falls nicht vorhanden , die benötigte Datei zum Speichern
for(new wep[8], amm[6], i; i < 13; i++) //Definiert die Waffen und Munitions Slot auf der Variable 'i'
{
format(amm, sizeof amm, "Munition%d", i);// Liest die Waffen ...
format(wep, sizeof wep, "Waffe%d", i);//... und die Munition aus der Datei ...
GivePlayerWeapon(playerid, dUserINT(pname).(wep), dUserINT(pname).(amm)); // und gibt sie dem Spieler
}
return true;
}
Schritt 2(Waffen speichern lassen)
Damit die Waffen gespeichert werden müsst ihr den folgenden Code erstellen.
stock SpeicherWaffen(playerid)
{
new pname[MAX_PLAYER_NAME];
if(!GetPlayerName(playerid, pname, MAX_PLAYER_NAME)) return false; // Liest den Namen aus.
if(!udb_Exists(pname)) udb_Create(pname, ""); // Prüft , ob Datei vorhanden , falls nicht, wird sie hierdurch erstellt
for(new wep[8], amm[6], i, cwep, camm; i < 13; i++) // hier sieht man wieder die Variable für die Slots der Waffen und Munition.
{
format(amm, sizeof amm, "Munition%d", i);// Speichert die Waffen...
format(wep, sizeof wep, "Waffe%d", i);// ...und Munition in einem String
GetPlayerWeaponData(playerid, i, cwep, camm); // Läd alle Slots von Munition und Waffen des Spielers und speichert sie in den Variablen
dUserSetINT(pname).(amm, camm); // hier werden Munition...
dUserSetINT(pname).(wep, cwep);// und Waffen in der Datei gespeichert
}
return true;
}
Schritt 3
Im Schritt 3 müssen die Waffen beim einloggen geladen und vergeben werden. Dazu einfach dort am besten unter OnPlayerSpawn(playerid) LadeWaffen(playerid); schreiben. Dies befehligt das Script den 'stock LadeWaffen(playerid)' auszuführen.
Schritt 4
Als letzten Schritt müsst ihr nur noch irgendwie das Script dazu bringen , die Waffen beim ausloggen des Spielers zu speichern.
Dies tut ihr unter 'OnPlayerDisconnect(playerid, reason)' mit SpeicherWaffen(playerid);
______________________________________________________________________________________________________
Das war es auch schon.
Schon werden eure Waffen gespeichert.
Support gibts wie immer bei mir per ICQ;)