Not sure but this may work:
local tazerTimers = {};
addEventHandler("onPlayerDamage", getRootElement(), function (attacker, weapon, _, loss)
if (isElement(attacker) and getElementType(attacker) == "player" and weapon and attacker ~= source) then
if (not getPlayerTeam(attacker)) then return; end
if (getPlayerWantedLevel(source) >= 1) then
if (weapon == 23) then
if (getPlayerTeam(attacker) and lawTeam[getTeamName(getPlayerTeam(attacker))]) then
toggleAllControls(source, false);
setPedAnimation(source, "ped", "KO_shot_stom");
triggerClientEvent(root, "onStartTaserSound", root, attacker);
tazerTimers[source] = setTimer(teaser, 2500, 1, source);
triggerClientEvent(root, "destroySound", root);
end
end
end
end
end);
function teaser(player)
if isElement(player) then
if isTimer(tazerTimers[player]) then
local left = getTimerDetails(tazerTimers[player]);
killTimer(tazerTimers[player]);
tazerTimers[player] = setTimer(teaser, left+2500, 1, player);
return;
end
tazerTimers[player] = nil;
setPedAnimation(player);
toggleAllControls(player, true);
end
end