25.01.2015, 11:13
how to set here anti team killing with head shot
Код:
//Credit By ALEXANDRO //Please Do not remove the Credits #include <OPSP> #include <a_samp> #pragma tabsize 0 #define COLOR_RED 0xFC3535FF #define SERVER_MAX_PLAYERS 500 new RecentlyShot[SERVER_MAX_PLAYERS]; public OnFilterScriptInit() { return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerSpawn(playerid) { RecentlyShot[playerid] = 0; return 1; } public OnPlayerUpdate(playerid) { return 1; } public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_FIRE && newkeys & KEY_HANDBRAKE) { if(RecentlyShot[playerid] == 0) { RecentlyShot[playerid] = 1; SetTimerEx("AntiSpam", 1000, false, "d", playerid); if(GetPlayerWeapon(playerid) == 22 || GetPlayerWeapon(playerid) == 23 || GetPlayerWeapon(playerid) == 24 || GetPlayerWeapon(playerid) == 25 || GetPlayerWeapon(playerid) == 26 || GetPlayerWeapon(playerid) == 27 || GetPlayerWeapon(playerid) == 28 || GetPlayerWeapon(playerid) == 29 || GetPlayerWeapon(playerid) == 30 || GetPlayerWeapon(playerid) == 31 || GetPlayerWeapon(playerid) == 32 || GetPlayerWeapon(playerid) == 33 || GetPlayerWeapon(playerid) == 34 || GetPlayerWeapon(playerid) == 38) { new Float:blahx, Float:blahy, Float:blahz; HeadshotCheck(playerid, blahx, blahy, blahz); return 1; } return 1; } return 1; } return 1; } forward AntiSpam(playerid); public AntiSpam(playerid) { RecentlyShot[playerid] = 0; return 1; } stock PlayerName(playerid) { new name[24]; GetPlayerName(playerid, name, sizeof(name)); return name; } stock HeadshotCheck(playerid, &Float:x, &Float:y, &Float:z) { new Float:fx,Float:fy,Float:fz; GetPlayerCameraFrontVector(playerid, fx, fy, fz); new Float:cx,Float:cy,Float:cz; GetPlayerCameraPos(playerid, cx, cy, cz); for(new Float:i = 0.0; i < 50; i = i + 0.5) { x = fx * i + cx; y = fy * i + cy; z = fz * i + cz; #if defined SHOWPATH CreatePickup(1239, 4, x, y, z, -1); #endif for(new player = 0; player < SERVER_MAX_PLAYERS; player ++) { if(IsPlayerConnected(playerid)) { if(player != playerid) { if(GetPlayerSpecialAction(player) == SPECIAL_ACTION_DUCK) { if(IsPlayerInRangeOfPoint(player, 0.3, x, y, z)) { GameTextForPlayer(player, "~r~Head Shot!", 2000, 2); SetPlayerHealth(player, 0.0); CallRemoteFunction("OnPlayerDeath", "ddd", player, playerid, 34); } } else { if(IsPlayerInRangeOfPoint(player, 0.3, x, y, z - 0.7)) { GameTextForPlayer(player, "~r~Head Shot!", 2000, 2); SetPlayerHealth(player, 0.0); CallRemoteFunction("OnPlayerDeath", "ddd", player, playerid, 34); } } } } } } return 1; }