В начало скрипта
PHP код:
new
bool:recentlyThrowed[MAX_PLAYERS char],
grenadeObject[MAX_PLAYERS],
Float: gX,
Float: gY,
Float: gZ
;
В OnPlayerConnect(playerid)
PHP код:
recentlyThrowed{playerid} = false;
В OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP код:
new
playerState = GetPlayerState(playerid),
weaponid,
ammo,
Float: X,
Float: Y,
Float: Z
;
GetPlayerWeaponData(playerid, 8, weaponid, ammo);
if((((newkeys & (KEY_FIRE)) == (KEY_FIRE)) && ((oldkeys & (KEY_FIRE)) != (KEY_FIRE)))
&& (playerState == PLAYER_STATE_DRIVER || PLAYER_STATE_PASSENGER)
&& recentlyThrowed{playerid} == false && weaponid == WEAPON_GRENADE && ammo > 0){
GetPlayerPos(playerid, X, Y, Z);
gX = X, gY = Y-5, gZ = Z;
grenadeObject[playerid] = CreateObject(342, gX, gY, gZ, 0.0, 0.0, 0.0, 10.0);
SetTimer("explodeGrenade", 900, false);
recentlyThrowed{playerid} = true;
GivePlayerWeapon(playerid, WEAPON_GRENADE, -1);
}
else if(recentlyThrowed{playerid} == true)
return 0;
else if(weaponid == WEAPON_GRENADE && ammo == 0)
return 0;
В конец скрипта
PHP код:
forward explodeGrenade(playerid);
public explodeGrenade(playerid){
CreateExplosion(gX, gY, gZ, 0, 5.0);
DestroyObject(grenadeObject[playerid]);
recentlyThrowed{playerid} = false;
return 1;
}
Скриншоты
Автор: Cannary2048