Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Armi scariche
- #include <a_samp>
- #include <streamer>
- #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) // Già definito
- #define KEY_AIM KEY_HANDBRAKE // Non definito di default
- #define AMMO_INFINITE (99999)
- #define MAX_WEAPON_FAIL (3)
- main(){}
- public OnPlayerSpawn(playerid)
- {
- SetPlayerPos(playerid, 244.7393,-50.9366,1.5781);
- SetPlayerSkin(playerid, 25);
- GivePlayerWeapon(playerid, 10, 3);
- GivePlayerWeapon(playerid, 24, 4);
- return 1;
- }
- public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
- {
- if(GetPlayerAmmo(playerid) == 1) GivePlayerWeapon(playerid, weaponid, AMMO_INFINITE), SendClientMessage(playerid, -1, "Arma scarica");
- else if(GetEmptyWeapon(playerid))
- {
- PreventPlayerShoot(playerid, true);
- return 0;
- }
- return 1;
- }
- public OnPlayerShootDynamicObject(playerid, weaponid, STREAMER_TAG_OBJECT:objectid, Float:x, Float:y, Float:z)
- {
- if(GetEmptyWeapon(playerid)) return 0;
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & KEY_AIM) if(GetEmptyWeapon(playerid)) PreventPlayerShoot(playerid);
- return 1;
- }
- GetEmptyWeapon(playerid)
- {
- if(GetPlayerAmmo(playerid) < 0) return 1;
- else return 0;
- }
- stock PreventPlayerShoot(playerid, bool:adding = false)
- {
- new spariFail = GetPVarInt(playerid, "Player_WeaponFail");
- if(spariFail >= MAX_WEAPON_FAIL) SendClientMessage(playerid, -1, "[PreventShoot] Non ti è permesso mirare, hai eseguito troppi FailShot."), SetPlayerArmedWeapon(playerid, 0);
- if(adding == true)
- {
- spariFail++;
- SetPVarInt(playerid, "Player_WeaponFail", spariFail);
- SendClientMessageFormatted(playerid, -1, "[PreventShoot]Stai sparando con un'arma scarica, rischi di farti bloccare la mira ! %d/%d", spariFail, MAX_WEAPON_FAIL);
- SetPlayerArmedWeapon(playerid, 0);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement