Moin Leute, ich arbeite grad an nem kleinen Antiwaffencheat:
stock GivePlayerAnticheatWeapon(playerid,weaponid,ammo)
{
new weapon,lastammo;
new slot = weaponslot[weaponid][0];
GetPlayerWeaponData(playerid,slot,weapon,lastammo);
pweapondata[playerid][slot][0] = weaponid;
GivePlayerWeapon(playerid,weaponid,ammo);
new newammo;
GetPlayerWeaponData(playerid,slot,weapon,newammo);
pweapondata[playerid][slot][1] = newammo;
new string[64];
format(string,sizeof(string),"Slot: %d | Weaponid: %d | Ammo :%d",slot,pweapondata[playerid][slot][0],pweapondata[playerid][slot][1]);
deBug(string,playerid);
}
Wenn ich mir mit der Funktion eine Waffe gebe, wird die Munition in pweapondata[playerid][slot][1] nicht auf die aktuelle Munition gesetzt, die Waffe in [0] hingegen schon. Kann es sein, dass GetPlayerWeaponData kürzlich (siehe Sequenz davor) gegebene Waffen nicht erkennt? Oder liegt der Fehler wo anders?