Problem With Weapons
#1

I have that code:
Код:
stock GiveWeapon(PlayerId,WeaponId,Ammunition)
{
	for(new W = 0; W < 13; W++)
	{
	    GetPlayerWeaponData(PlayerId,W,PlayerWeapon[PlayerId][W],PlayerAmmunition[PlayerId][W]);
	}
	PlayerWeapon[PlayerId][GetWeaponSlot(WeaponId)] = WeaponId;
	PlayerAmmunition[PlayerId][GetWeaponSlot(WeaponId)] = Ammunition;
	GivePlayerWeapon(PlayerId,WeaponId,Ammunition);
	SetPlayerAmmo(PlayerId,GetWeaponSlot(WeaponId),PlayerAmmunition[PlayerId][GetWeaponSlot(WeaponId)]);
	SetPlayerArmedWeapon(PlayerId,WeaponId);
	return 1;
}

stock ResetWeapon(PlayerId,WeaponId)
{
	PlayerWeapon[PlayerId][GetWeaponSlot(WeaponId)] = 0;
	PlayerAmmunition[PlayerId][GetWeaponSlot(WeaponId)] = 0;
	SetPlayerAmmo(PlayerId,GetWeaponSlot(WeaponId),0);
 	ResetPlayerWeapons(PlayerId);
	for(new W = 0; W < 13; W++)
	{
		GivePlayerWeapon(PlayerId,PlayerWeapon[PlayerId][W],PlayerAmmunition[PlayerId][W]);
	}
	SetPlayerArmedWeapon(PlayerId,0);
	return 1;
}

stock ResetWeapons(PlayerId)
{
	for(new W = 0; W < 13; W++)
	{
	    PlayerWeapon[PlayerId][W] = 0;
		PlayerAmmunition[PlayerId][W] = 0;
		SetPlayerAmmo(PlayerId,W,0);
	}
	ResetPlayerWeapons(PlayerId);
	SetPlayerArmedWeapon(PlayerId,0);
	return 1;
}

stock GetWeaponSlot(WeaponId)
{
	switch(WeaponId)
	{
	    case 0,1: return 0;
	    case 2..9: return 1;
	    case 10..15: return 10;
	    case 16..18,39: return 8;
	    case 22..24: return 2;
	    case 25..27: return 3;
	    case 28,29,32: return 4;
	    case 30,31: return 5;
	    case 33,34: return 6;
	    case 35..38: return 7;
	    case 40: return 12;
	    case 41..43: return 9;
	    case 44..46: return 11;
	}
	return -1;
}
I get weapon,
Код:
public OnPlayerSpawn(playerid)
{
	PlayerSpawned[playerid] = 1;
	ResetWeapons(playerid);
	if(PlayerLevel[playerid] == 0)
	{
	    GiveWeapon(playerid,23,500);
	    GiveWeapon(playerid,46,1);
	}
But if i shot,
Код:
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
	if(newkeys & KEY_FIRE && PlayerWeapon[playerid][GetWeaponSlot(GetPlayerWeapon(playerid))] != GetPlayerWeapon(playerid)) ResetWeapon(playerid,GetPlayerWeapon(playerid));
	return 1;
}
I lose the weapon [silenced pistol], why?
Reply
#2

Looks like you're only giving 1 ammo?
Reply
#3

1 ammo to parachute, 500 to pistol.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)