Fegyverek lekéréseEzt a kódot nem teszteltem, csak megírtam, de szerintem muködni fog. A lényege annyi, hogy lekéri a játékos fegyvereit, és visszaadja egy karakterláncban(1. függvény), vagy beírja egy célkarakterláncba.(2. függvény). Mutatok egy példát, hogy írja be:
Fegyver neve(loszer),Fegyver neve(Loszer)...
Ha nem talál fegyvereket, mindketto -1 értéket ad vissza.
stock GetPlayerWeapons(playerid) {
// Tárolók létrehozása
new weaponid=0,
ammo=0,
slot,
name[24],
dest[256];
// Lefuttatunk egy ciklust, ezzel végigmegyünk a fegyvereken
for(slot=0; slot<11; slot++) {
// A játékos fegyveradatainak tárolása
GetPlayerWeaponData(playerid,slot,weaponid,ammo);
// Ha az értékek megváltoztak (van fegyvere), folytatjuk, ellenkezo
// esetben nem teszünk semmit
if((weaponid != 0) && (ammo != 0)) {
// A fegyver nevének tárolása
GetWeaponName(weaponid,name,sizeof(name));
// Hozzáadás a célkarakterlánchoz
format(dest,sizeof dest,\"%s,%s(%d)\",dest,name,ammo);
// Értékek alaphelyzetbe állítása
weaponid = 0;
ammo = 0;
} else { }
}
// Ha a sztring üres (nem talált fegyvert), visszatérés -1 értékkel,
// ellenkezo esetben visszatérés a célsztringgel
return strlen(dest) ? dest[0] : -1;
}
stock GetPlayerWeaponsAsString(playerid,dest[],len) {
// Tárolók létrehozása
new weaponid=0,
ammo=0,
slot,
name[24];
// Lefuttatunk egy ciklust, ezzel végigmegyünk a fegyvereken
for(slot=0; slot<11; slot++) {
// A játékos fegyveradatainak tárolása
GetPlayerWeaponData(playerid,slot,weaponid,ammo);
// Ha az értékek megváltoztak (van fegyvere), folytatjuk, ellenkezo
// esetben nem teszünk semmit
if((weaponid != 0) && (ammo != 0)) {
// A fegyver nevének tárolása
GetWeaponName(weaponid,name,sizeof(name));
// Hozzáadás a karakterlánchoz
format(dest,len,\"%s,%s(%d)\",dest,name,ammo);
// Értékek alaphelyzetbe állítása
weaponid = 0;
ammo = 0;
} else { }
}
// Ha a célsztring üres, visszatérés -1 értékkel, ellenkezo értékben
// pedig 1 értékkel
return strlen(dest) ? 1 : (-1);
}