Get Player Weapon -
StrikerZ - 03.10.2016
Hey there. I'm making headshot system. I need to know how to check if a player is having gun. I'm making the headshot for every weapon. So i think getplayerweapon won't help me. Like, if he won't have any gun then headshot will not occur. For now i made this. Is it correct?
Код:
if(GetPlayerWeapon(playerid) && ScopeEnabled == 1))
{
new Float:blahx, Float:blahy, Float:blahz;
HeadshotCheck(playerid, blahx, blahy, blahz);
}
Re: Get Player Weapon -
CarRamper - 03.10.2016
Headshot Is Mainly Mean Through Sniper
Re: Get Player Weapon -
CarRamper - 03.10.2016
If You Want it for Sniper Then Try This
Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
if(GetPlayerTeam(issuerid) != GetPlayerTeam(playerid))
{
if(weaponid == 34 && bodypart == 9)
{
SetPlayerHealth(playerid, 0.0);
GameTextForPlayer(playerid, "~n~~n~~r~HEADSHOT", 5000, 3);
GameTextForPlayer(issuerid, "~n~~n~~g~HEADSHOT", 5000, 3);
GivePlayerScore(issuerid, 2);
new str[1500];
format(str,sizeof(str),"Good Job!You Killed %s and got 2+ score for {FF0000}HEADSHOT!", PlayerName1(playerid));
SendClientMessage(issuerid, 0x00FF00FF, str);
}
}
return 1;
}
Like This Keep Changing The 34 In Line if(weaponid == 34 && bodypart == 9) To THe Weapon Id U Want Using Else
Re: Get Player Weapon -
StrikerZ - 03.10.2016
I want it for every weapon.
Re: Get Player Weapon -
CarRamper - 03.10.2016
Wait
Re: Get Player Weapon -
CarRamper - 03.10.2016
If U Want For All Guns Try This
Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart)
{
new weaponid = GetPlayerWeapon(playerid);
if(GetPlayerTeam(issuerid) != GetPlayerTeam(playerid))
{
if(weaponid == 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 38 && bodypart == 9)
{
SetPlayerHealth(playerid, 0.0);
GameTextForPlayer(playerid, "~n~~n~~r~HEADSHOT", 5000, 3);
GameTextForPlayer(issuerid, "~n~~n~~g~HEADSHOT", 5000, 3);
GivePlayerScore(issuerid, 2);
new str[1500];
format(str,sizeof(str),"Good Job!You Killed %s and got 2+ score for {FF0000}HEADSHOT!", PlayerName1(playerid));
SendClientMessage(issuerid, 0x00FF00FF, str);
}
}
return 1;
Re: Get Player Weapon -
StrikerZ - 03.10.2016
Thanks!. Now how can i make a bleeding system. Like a player got shot only 1 time. Now his health will decrease by 10 every 5 seconds. Any idea?
Re: Get Player Weapon -
CarRamper - 03.10.2016
On Top Of The Script Type This
Код:
new decreaser[MAX_PLAYERS];
forward DecreaseHealth(playerid);
Rest Code
Код:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new giveplayerid;
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFFFFFFFF, "Player is no Longer connected.");
decreaser[giveplayerid] = SetTimerEx("DecreaseHealth", 5000, true, "i", giveplayerid);
SetPlayerHealth(giveplayerid, GetPlayerHealth(giveplayerid) - 10.0);
return 1;
}
public DecreaseHealth(playerid) SetPlayerHealth(playerid, GetPlayerHealth(playerid) - 10.0);
public OnPlayerDeath(playerid, killerid, reason)
{
KillTimer(decreaser[playerid]);
return 1;
}
Re: Get Player Weapon -
StrikerZ - 03.10.2016
I'm having errors with OnPlayerWeaponShot
Код:
pwn(4355) : warning 219: local variable "fX" shadows a variable at a preceding level
pwn(4355) : warning 219: local variable "fY" shadows a variable at a preceding level
.pwn(4355) : warning 219: local variable "fZ" shadows a variable at a preceding level
.pwn(4360) : warning 202: number of arguments does not match definition
.pwn(4364) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
7 Warnings.
Код:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)//4355
{
new giveplayerid;
if(giveplayerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFFFFFFFF, "Player is no Longer connected.");
decreaser[giveplayerid] = SetTimerEx("DecreaseHealth", 5000, true, "i", giveplayerid);
SetPlayerHealth(giveplayerid, GetPlayerHealth(giveplayerid) - 10.0);//4360
return 1;
}
public DecreaseHealth(playerid) SetPlayerHealth(playerid, GetPlayerHealth(playerid) - 10.0);//4364
Forward code i used
Код:
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ);