Szia!
Van egy ilyen függvény:
GetPlayerWeaponData(playerid, slot, &weapons, &ammo)
Létrehozol változókat(vagy egy tömböt) a fegyver mentéséhez.
new fegyverek[13][2]
A 13 a slotokat jelöli, a 2 pedig a fegyver típusát.
for(new i=0;i<13;i++)
{
GetPlayerWeaponData(playerid, i, fegyverek[0], fegyverek[1]);
}
Itt lekérted egy for ciklussal a játékos fegyvereit a tömbbe. Egy példa:
fegyverek[5][0] = Itt a 0. cella egyenlõ vagy 30-al vagy 31-el, mivel az 5. slot az AK vagy az M4-nek van.
fegyverek[5][1] = Itt az 1. cellában van a lõszer eltárolva.
Ezt a tömböt lemented ahogyan menteni szeretsz(ha szeretnéd tudok írni MySQL példát).
Betöltés:
Nagyon egyszerû. Lekéred a lementett értékeket adatbetöltésnél változókba vagy tömbbe. Ezután mikor a játékos lespawnolt:
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, fegyverid, loszer);
Értelemszerûen a fegyerid-t és a lõszert a saját változóiddal helyettesítsd. A ResetPlayerWeapons lehet, hogy elhagyható, én beleraktam az enyémbe, mivel random kapott néha a játékos lõszereket(máig nem tudom miért, de ez megoldotta)
#include <a_samp>
#include <zcmd>
#include <dini>
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
CMD:elment(playerid)
{
new name[MAX_PLAYER_NAME],string[128],string2[128];
new weapon[13][2];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),\"%s.ini\",name);
if(!dini_Exists(string))
{
dini_Create(string);
for(new i;i<13;i++)
{
GetPlayerWeaponData(playerid, i, weapon[0], weapon[1]);
format(string2,sizeof(string2),\"%d\",weapon[0]);
dini_IntSet(string,string2,weapon[1]);
}
}
else
{
for(new i;i<13;i++)
{
GetPlayerWeaponData(playerid, i, weapon[0], weapon[1]);
format(string2,sizeof(string2),\"%d\",weapon[0]);
dini_IntSet(string,string2,weapon[1]);
}
}
}
CMD:betolt(playerid)
{
new name[MAX_PLAYER_NAME],string[128],string2[12];
new Loszer[100];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),\"%s.ini\",name);
if(dini_Exists(string))
{
for(new i;i<100;i++)
{
format(string2,sizeof(string2),\"%d\",i);
Loszer = dini_Int(string,string2);
if(Loszer == 0) continue;
GivePlayerWeapon(playerid,i,Loszer);
}
}
}
Úgy lesz a fájba hogy ID=Loszer vagyis pl.:
12=4543