Detaljan opis problema: Najobicnija prodavnica me koci ceo dan. Pokusavam da dam igracu emku, ali pre toga da proverim da li ima nesto na tom slotu, ako ima da mu to oruzje obrise.
Dio skripte:
OnPlayerDialogResponse --->
case 6: // M4A1
{
if(IsMoneyHack(playerid))
return 1;
if(pInfo < COST_MAFIA_M4A1)
{
SendErrorMessage(playerid, "You don't have enough money to buy m4a1.");
return 1;
}
if(IsPlayerUsingWeapon(playerid, 31)) // Ovo mi pravi probleme.
{
SendErrorMessage(playerid, "You already have m4a1.");
return 1;
}
pInfo -= COST_MAFIA_M4A1
LevelMoney(playerid);
GivePlayerWeapon(playerid, 31, 300);
SendInfoMessage(playerid, "You bought m4a1.");
}
IsPlayerUsingWeapon ---->
IsPlayerUsingWeapon(playerid, _weaponid)
{
const MAX_WEAPONS_SLOTS = 13;
static ammo, weaponid;
for (new i; i != MAX_WEAPONS_SLOTS; i++)
{
if (GetPlayerWeaponData(playerid, i, weaponid, ammo) == 0)
{
return 0;
}
if(weaponid && weaponid != _weaponid)
{
RemovePlayerWeapon(playerid, weaponid);
return 0;
}
if (weaponid == _weaponid && ammo > 0) // you already have...
{
return 1;
}
if(weaponid == _weaponid && ammo < 1) // Give selected weapon
{
return 0;
}
}
return 0;
}
RemovePlayerWeapon ---->
RemovePlayerWeapon(playerid, weaponid)
{
new plyWeapons;
new plyAmmo;
for(new slot = 0; slot != 12; slot++)
{
new wep, ammo;
GetPlayerWeaponData(playerid, slot, wep, ammo);
if(wep != weaponid)
{
GetPlayerWeaponData(playerid, slot, plyWeapons, plyAmmo);
}
}
ResetPlayerWeapons(playerid);
for(new slot = 0; slot != 12; slot++)
{
GivePlayerWeapon(playerid, plyWeapons, plyAmmo);
}
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
