26.05.2018, 17:25
I need a headshot codes, in onplayertakedamage, Not a fs, pls gimme a working and kindly tell is this correct section to ask for a script?
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
// check if there was a shooter, weaponID was 34(Sniper) and bodypart was 9(Head)
if(issuerid != INVALID_PLAYER_ID && weaponid == 34 && bodypart == 9)
{
// checks if both players have same team, except NO_TEAM. if not procced, otherwise send error message
//*A edit by our genius friend sickattack
if(GetPlayerTeam(issuerid) | GetPlayerTeam(playerid) == NO_TEAM || GetPlayerTeam(issuerid) != GetPlayerTeam(playerid))
{
//check if player is dead... if not proceed(by Gammix)
if (GetPlayerState(playerid) != PLAYER_STATE_WASTED)
{
//variables, first one to format the message, second and third contain player names.
new headmsg[128], dead[24], killer[24];
//on player's screen we show him a message for 3 seconds "HeadShot"
GameTextForPlayer(playerid, "~r~Headshoted! ~n~~Y~TASTE ~B~YOUR ~G~ASS",3000,4);
// same to issuer's screen
GameTextForPlayer(issuerid, "~r~Headshot!",3000,4);
// we get the victims name with this function and store it into our previously made variable "dead";
GetPlayerName(playerid, dead, sizeof(dead));
// we get the victims name with this function and store it into our previously made variable "killer";
GetPlayerName(issuerid, killer, sizeof(killer));
//format the message, means we put that text into "headmsg".
format(headmsg, sizeof(headmsg), "[News] {FFDC2E}%s(%i) has been killed in a headshot by %s(%i) and got +200$!",dead, playerid, killer,issuerid);
// once we've formatted the message we're ready to send the message to all players!
SendClientMessageToAll(0xAA3333AA, headmsg);
// Give him so money as a reward
GivePlayerMoney(issuerid,200);
//kill the player
SetPlayerHealth(playerid, 0.0);
//and tell the server that he's dead!
}
}
else
SendClientMessage(issuerid, 0xf8f8f8fff, "ERROR: {FFFFFF}That player is in your team!");
}
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
return 1;
}
PHP код:
|
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID) // Check if the player taking the damage didn't just take damage from other sources
{
if(bodypart == 9 && weaponid == 34) // Check if it was the head that was shot and he was also shot with a sniper.. change 34 to weapon of ur choice
{
if(GetPlayerState(playerid) == PLAYER_STATE_SPAWNED) // Check if the player is actually spawned..
{
SetPlayerHealth(playerid, 0.00); // Kill the player
GameTextForPlayer(playerid, "HEAD SHOT!", 1000, 2); // Just aesthetics
GameTextForPlayer(issuerid, "HEAD SHOT!", 1000, 2); // Just aesthetics
}
}
}
}
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(issuerid != INVALID_PLAYER_ID && (weaponid == 24 || weaponid == 34) && bodypart == 9)
{
new string[100], headshota[24], pname[24];
GetPlayerName(playerid, headshota, sizeof(headshota));
GetPlayerName(issuerid, pname, sizeof(pname));
format(string, sizeof(string), "%s(%i) was shoot to the head by %s(%i)", headshota,playerid, pname);
SendClientMessageToAll(COLOR_SILVER,string);
GameTextForPlayer(issuerid,"~r~Headshot",2000,3);
PlayerPlaySound(issuerid, 17802, 0.0, 0.0, 0.0);
GameTextForPlayer(playerid,"~r~Headshot",2000,3);
PlayerPlaySound(playerid, 17802, 0.0, 0.0, 0.0);
SetPlayerHealth(playerid, 0.0);
}
return 1;
}