Get Player Weapon
#1

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);
		}
Reply
#2

Headshot Is Mainly Mean Through Sniper
Reply
#3

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
Reply
#4

I want it for every weapon.
Reply
#5

Wait
Reply
#6

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;
Reply
#7

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?
Reply
#8

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;
}
Reply
#9

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);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)