17.03.2011, 21:02
You dont need to be advanced scripter to create timers -.-
EDIT:
X,Y,Z are Floats. So..
AND use ProxDetector
pawn Код:
// at the top
forward Tazed(playerid);
pawn Код:
public OnPlayerShootPlayer(shooter,target,Float:damage)
{
if(GetPlayerWeapon(shooter) == 23)
{
if(IsACop[shooter] == 1 && OnDuty[shooter] == 1)
{
if(IsACop[target] == 1 && OnDuty[target] == 1)
{
SendClientMessage(shooter, COLOR_GREY, " You can't taze cops.");
return 1;
}
new otherplayer = target;
new Float:Pos[3];
GetPlayerPos(otherplayer, Pos[0], Pos[1], Pos[2]);
if(!IsPlayerConnected(otherplayer)) return SendClientMessage(shooter,COLOR_RED," Bad Playerid.");
new string[256], name[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
GetPlayerName(shooter, name, sizeof(name));
GetPlayerName(otherplayer, name2, sizeof(name2));
if(IsPlayerInRangeOfPoint(shooter, 10, Pos[0], Pos[1], Pos[2]))
{
format(string, sizeof(string), "* You were Tazed by %s.", name);
SendClientMessage(otherplayer, COLOR_WHITE, string);
format(string, sizeof(string), "* You Tazed %s.", name2);
SendClientMessage(shooter, COLOR_WHITE, string);
format(string, sizeof(string), "* %s shoots with his Tazer at %s and tazed him.", name ,name2);
ProxDetector(30.0, shooter, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(otherplayer, "~r~Tazed", 2500, 3);
TogglePlayerControllable(otherplayer, 0);
LoopingAnim(otherplayer, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
SetTimerEx("Tazed",8*1000,true,"i",playerid);
}
else
{
SendClientMessage(shooter, COLOR_YELLOW, " The player you want to taze is too far away.");
}
}
else
{
SendClientMessage(shooter, COLOR_GREY, " You must be a LEO 'On Duty' to taze someone.");
}
return 1;
}
return 1;
}
pawn Код:
//somewhere not in a function/callback
public Tazed(playerid)
{
TogglePlayerControllable(playerid,1);
ClearAnimations(playerid);
SendClientMessage(playerid,color,"You are now un-tazed!");
return 1;
}
Quote:
pawn Код:
|
pawn Код:
new Float:X, Float:Y, Float:Z;