26.06.2011, 15:25
Hello everyone, well, I have a headshot system here, but it only gives headshot with the sniper.
Here is the code:
As you can see, this part of code I tried to set the weapons to headshot:
But it did not work, just keeps giving headshot with the sniper, the other weapons do not work.
The code that I downloaded, unique in this part of the ids of arms, has only an id, which is the sniper:
It is the id of the sniper, I tried to add more ids of arms, but still only giving sniper headshot, I've also tried with the tag & & it did not work as well.
How do I get? Please help me, I'm trying to fix this month!
Thank you so much already.
Here is the code:
pawn Код:
#include <a_samp>
#define SERVER_MAX_PLAYERS 500
new RecentlyShot[SERVER_MAX_PLAYERS];
public OnFilterScriptInit()
{
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
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(playerid, "~r~HEADSHOT!", 2000, 6);
GameTextForPlayer(player, "~r~HEADSHOT!", 2000, 6);
SetPlayerHealth(player, 0.0);
CallRemoteFunction("OnPlayerDeath", "ddd", player, playerid, 34);
}
}
else
{
if(IsPlayerInRangeOfPoint(player, 0.3, x, y, z - 0.7))
{
GameTextForPlayer(playerid, "~r~HEADSHOT!", 2000, 6);
GameTextForPlayer(player, "~r~HEADSHOT!", 2000, 6);
SetPlayerHealth(player, 0.0);
CallRemoteFunction("OnPlayerDeath", "ddd", player, playerid, 34);
}
}
}
}
}
}
return 1;
}
pawn Код:
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)
The code that I downloaded, unique in this part of the ids of arms, has only an id, which is the sniper:
pawn Код:
if(GetPlayerWeapon(playerid) == 34)
How do I get? Please help me, I'm trying to fix this month!
Thank you so much already.