SA-MP Forums Archive
Tazer - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Tazer (/showthread.php?tid=521124)



Tazer - ShoortyFl - 21.06.2014

I'm wondering how can i create in this function when i shoot the player he wont loose any health ?


Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
{
	if (playerid != INVALID_PLAYER_ID && damagedid != INVALID_PLAYER_ID)
	{
		if (weaponid == 23 && TazerHand[playerid] == 1)
		{
		    if(ReloadingTazer[playerid] > 0)
		    {
		        SCM(playerid, TOMATO, " (info) {FFFFFF}Reloading!");
		        return 1;
			}
		    if(!PlayerTazed[damagedid])
		    {
		    	new string[128];
				PlayerPlaySoundInArea(playerid, 6003);

				PlayerTazed[damagedid] = 1;
				TogglePlayerControllable(damagedid, 0);
				TazerTimer[damagedid] = 10;

				for (new i = 0; i < 3; i ++)
				{
     				ApplyAnimation(damagedid, "PED", "FLOOR_hit_f", 4.0, 1, 0, 0, 0, 0);
				}

				ReloadingTazer[playerid] = 1;
			}
		}
	}
	return 1;
}



Re: Tazer - Campbell- - 21.06.2014

You can't prevent that the player looses health, you can just give the health back. You can also set the players in the same team beforehand and handle the complete damage-management yourself.


Re: Tazer - GeekSiMo - 21.06.2014

You can, Add Get Player health on top of OnPlayerGiveDamage and Add Setplayerhealth after if (weaponid == 23 && TazerHand[playerid] == 1)


Re: Tazer - Campbell- - 21.06.2014

Quote:
Originally Posted by GeekSiMo
Посмотреть сообщение
You can, Add Get Player health on top of OnPlayerGiveDamage and Add Setplayerhealth after if (weaponid == 23 && TazerHand[playerid] == 1)
Seems like you didn't finish reading my post.


Re: Tazer - GeekSiMo - 21.06.2014

Yeah! i read it Now !


Re: Tazer - Juvanii - 21.06.2014

Quote:
Originally Posted by GeekSiMo
Посмотреть сообщение
You can, Add Get Player health on top of OnPlayerGiveDamage and Add Setplayerhealth after if (weaponid == 23 && TazerHand[playerid] == 1)
pawn Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
{
    if (playerid != INVALID_PLAYER_ID && damagedid != INVALID_PLAYER_ID)
    {
        if (weaponid == 23 && TazerHand[playerid] == 1)
        {
            new Float:health;
            GetPlayerHealth(damagedid, health);
            if(ReloadingTazer[playerid] > 0)
            {
                SCM(playerid, TOMATO, " (info) {FFFFFF}Reloading!");
                return 1;
            }
            if(!PlayerTazed[damagedid])
            {
                new string[128];

                SetPlayerHealth(damagedid, health);
                PlayerPlaySoundInArea(playerid, 6003);

                PlayerTazed[damagedid] = 1;
                TogglePlayerControllable(damagedid, 0);
                TazerTimer[damagedid] = 10;

                for (new i = 0; i < 3; i ++)
                {
                    ApplyAnimation(damagedid, "PED", "FLOOR_hit_f", 4.0, 1, 0, 0, 0, 0);
                }

                ReloadingTazer[playerid] = 1;
            }
        }
    }
    return 1;
}