#include <a_samp> #define KEY_AIM (128) forward GetClosestPlayer(p1); public GetClosestPlayer(p1) { new x,Float:dis,Float:dis2,player; player = -1; dis = 99999.99; for (x=0;x<MAX_PLAYERS;x++) { if(IsPlayerConnected(x)) { if(x != p1) { dis2 = GetDistanceBetweenPlayers(x,p1); if(dis2 < dis && dis2 != -1.00) { dis = dis2; player = x; } } } } return player; } forward Float:GetDistanceBetweenPlayers(p1,p2); public Float:GetDistanceBetweenPlayers(p1,p2) { new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2; if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2)) { return -1.00; } GetPlayerPos(p1,x1,y1,z1); GetPlayerPos(p2,x2,y2,z2); return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2)); } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { new Float:health; if(newkeys & KEY_AIM) { if(gTeam[playerid] == TEAM_CT) { new victimid = GetClosestPlayer(playerid); GetPlayerHealth(victimid, health); if(gTeam[victimid] == TEAM_T) { if(GetDistanceBetweenPlayers(playerid,victimid) < 2) { SetPlayerHealth(victimid, health - 9.0); SetTimerEx("bite", 3000, false, "is", 1337, ""); GameTextForPlayer(victimid, "~p~YOU BITED A HUMAN !", 1000, 3); PlayerPlaySound(playerid, 1136, 0, 0, 0); PlayerPlaySound(victimid, 1136, 0, 0, 0); } } } } return 1; } forward bite(second, msg[]); public bite(second, msg[]) { printf("%i NOW YOU CAN BITE AGAIN !: %s", second, msg); return 1; }
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new Float:health;
if(newkeys & KEY_AIM)
{
if(gTeam[playerid] == TEAM_CT)
{
new victimid = GetClosestPlayer(playerid);
GetPlayerHealth(victimid, health);
if(gTeam[victimid] == TEAM_T)
{
if(GetDistanceBetweenPlayers(playerid,victimid) < 2)
{
SetPlayerHealth(victimid, health - 9.0);
SetTimerEx("bite", 3000, false, "is", 1337, "");
GameTextForPlayer(victimid, "~r~YOU BITED A HUMAN !", 1000, 3);
PlayerPlaySound(playerid, 1136, 0, 0, 0);
PlayerPlaySound(victimid, 1136, 0, 0, 0);
}
}
}
}
return 1;
}
SetTimerEx("bite", 3000, false, "is", 1337, "");
irei testar, e sim, sou eu e meu amigo que estamos fazendo, Nгo й Br. pois jogamos em um server zombie que й inglкs, e queriamos fazer um parecido.
Obrigado. |