if(strcmp(cmd, "/tazer", true) ==0 || strcmp(cmd, "/ta", true) ==0) { if(IsACop(playerid) || PlayerInfo[playerid][pDuty] == 1) { new weapons[13][2]; for (new i = 0; i < 13; i++) { GetPlayerWeaponData(playerid, i, weapons[i][0], weapons[i][1]); } if(Tazer[playerid] == 0) { if(PlayerInfo[playerid][pTazerBullets] != 0) { new ammo = weapons[2][1]; PreTazerAmmo[playerid] = ammo; SafeGivePlayerWeapon(playerid, 23, PlayerInfo[playerid][pTazerBullets]); Tazer[playerid] = 1; AttachWeaponCorrectly(playerid, 24); SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, 500); OnePlayAnim(playerid,"SWORD","sword_block",50.0,0,1,1,1,1); format(string, sizeof(string), "* %s hostlers his Desert Deagle and Unhostlers his Tazer.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); } else { SendClientMessage(playerid, COLOR_GREY,"* No charges in the tazer!"); return 1; } } else { new ammo = weapons[2][1]; PlayerInfo[playerid][pTazerBullets] = ammo; SafeGivePlayerWeapon(playerid, 24, PreTazerAmmo[playerid]); AttachWeaponCorrectly(playerid, 23); Tazer[playerid] = 0; ClearAnimations(playerid); SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL_SILENCED, PlayerInfo[playerid][pSilenSkill]); format(string, sizeof(string), "* %s hostlers his tazer and Unhostlers his Deagle.", sendername); ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5); } } return 1; }
else if ( PRESSED(KEY_FIRE) ) { if(IsACop(playerid) || GetPlayerWeapon(playerid) == 23 || Tazer[playerid] == 1) { new Float:X,Float:Y,Float:Z,Float:pX,Float:pY,Float:pZ; GetPlayerPos(playerid, pX,pY,pZ); for(new i=0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(IsPlayerInRangeOfPoint(i,60, pX,pY,pZ)) { if(i != playerid) { GetPlayerPos(i, X,Y,Z); new iname[MAX_PLAYER_NAME]; GetPlayerName(i, iname, sizeof(iname)); if(IsPlayerAimingAt(playerid, X,Y,Z,1.5)) { GameTextForPlayer(i,"~r~BEING TAZED",9000,4); GameTextForPlayer(playerid, "~b~USING THE TAZER",2000,4); TogglePlayerControllable(i, 0); TogglePlayerControllable(playerid, 0); ApplyAnimation(i, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); SetTimerEx("Unfreezeply",9000,0,"i",i); ApplyAnimation(playerid,"ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1); SetTimerEx("Unfreezeply",1500,0,"i",playerid); format(string, sizeof(string),"* %s Aims his Tazer at %s and Shoots it",sendername,iname); } else return GameTextForPlayer(playerid, "~b~Missed the Shoot",3750,4); } } } } }
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
if(IsACop(playerid) || GetPlayerWeapon(playerid) == 23 || Tazer[playerid] == 1)
{
new iname[MAX_PLAYER_NAME]
GameTextForPlayer(damageid,"~r~BEING TAZED",9000,4);
GameTextForPlayer(playerid, "~b~USING THE TAZER",2000,4);
TogglePlayerControllable(damageid, 0);
TogglePlayerControllable(playerid, 0);
ApplyAnimation(damageid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
SetTimerEx("Unfreezeply",9000,0,"i",damageid);
ApplyAnimation(playerid,"ped", "ARRESTgun", 4.0, 0, 1, 1, 1, -1);
SetTimerEx("Unfreezeply",1500,0,"i",playerid);
format(string, sizeof(string),"* %s Aims his Tazer at %s and Shoots it",sendername,iname);
//Send the message to near player
}
return 1;
}
for(new i=0; i < MAX_PLAYERS; i++) {
also
Код:
for(new i=0; i < MAX_PLAYERS; i++) { https://sampwiki.blast.hk/wiki/GetMaxPlayers |
Why? There is no point using this. If OnPlayerTakeDamage is a function that is call when someone get shot, it will be only 1 player.
|