jeudi 21 juillet 2016

[FilterScript] Custom Damage System - Knockout/Shock

Let's block ads! (Why?)



[FilterScript] Custom Damage System - Knockout/Shock

Big Clucker

 

Join Date: Jan 2016

Posts: 190

Reputation: 16

DefaultCustom Damage System - Knockout/Shock

Simple Custom Damage/Knockout/Shock system

Hello everybody, I decided to share my filterscript with ya all, didn't release anything since I joined so I decided to spare some change 0.0.

  • Custom Damage for shots
  • Shock system - It sets your drunk level to 8000 for XXX seconds(Depends on the gun), and keeps moving the screen.
  • Message when you get shot
  • Knockout system - When you get pushed by a melee gun, you get knocked on the ground with a special animation for 30 secs, and won't be able to move

Alright, custom damage system is simple and useful aswell, here's the damages for the guns:

Code:

Assault Machines (M4-AK47) | -20 Damage + Shock for ten haundred seconds.
Glock 49. (9mm) | -45 Damage + Shock for ten haundred seconds.
Glock. 47 D-E S. (Deagle) | -40 Damage + Shock for ten haundred seconds.
Sniper Rifle | Kills you or injuries you, depends on your script.
Katana | -60 Damage + Knockout for thirty seconds + Shock for ten haundred seconds.
Baseball Bat | -40 Damage + Knockout for twenty seconds + Shock for fifty seconds.
Baton (Nitestick) | -50 Damage + Knockout for fifty seconds + ten haundred and fifty seconds.
Cane/Knife/Golf Club/Shovel/Pool Cue | -30 Damage + Knockout for five seconds.
Remington 97. Sawnoff (Sawnoff Shotgun) | -10 Damage/x2-4 + Shock for two haundred seconds.
Armor Damages:

Code:

Sniper Rifle | Removes all the armour.
Katana | -30 Armour Damage.
Cane/Knife/Golf Club/Shovel/Pool Cue | -10 Armour Damage.

And finally here's the code.

Code:

#include <a_samp>
forward Knocked(playerid);
public Knocked(playerid)
{
    SendClientMessage(playerid, -1, "You are able to move now");
    TogglePlayerControllable(playerid, 1);
    return 1;
}
forward ClearShock(playerid);
public ClearShock(playerid)
{
    SetPlayerDrunkLevel(playerid, 0);
    return 1;
}
public OnFilterScriptInit()
{
    print("\n--------------------------------------");
    print(" Custom Damage System has been loaded succesfully, congratulations mate!");
    print("--------------------------------------\n");
    return 1;
}
public OnFilterScriptExit()
{
    return 1;
}


public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
    new Float:HP;
    new Float:Armor;
    GetPlayerHealth(playerid, HP);
    GetPlayerArmour(playerid, Armor);
    if(Armor < 1)
    {
        if(weaponid == 31 || weaponid == 30)
        {
            SetPlayerHealth(playerid, HP-(amount*3));
            SendClientMessage(playerid, -1, "You were shot by assault rifle");
            SetPlayerDrunkLevel(playerid, 8000);
            SetTimerEx("ClearShock", 100000, false, "i", playerid);
        }
        else if(weaponid == 22)
        {
            SetPlayerHealth(playerid, HP-45);
            SendClientMessage(playerid, -1, "You were shot by glock.49");
            SetPlayerDrunkLevel(playerid, 8000);
            SetTimerEx("ClearShock", 100000, false, "i", playerid);
        }
        else if(weaponid == 34)
        {
            SetPlayerHealth(playerid, HP-300);
            SendClientMessage(playerid, -1, "You were shot by a sniper rifle");
            SetPlayerDrunkLevel(playerid, 8000);
            SetTimerEx("ClearShock", 100000, false, "i", playerid);
        }
        else if(weaponid == 8)
        {
            SetPlayerHealth(playerid, HP-60);
            SendClientMessage(playerid, -1, "You have been knocked to the floor by a katana.");
            ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,0,0,0,0);
            SetTimerEx("Knocked", 50000, false, "i", playerid);
            TogglePlayerControllable(playerid, 0);
            SetPlayerDrunkLevel(playerid, 8000);
            SetTimerEx("ClearShock", 100000, false, "i", playerid);
        }
        else if(weaponid == 5)
        {
            SetPlayerHealth(playerid, HP-40);
            new hitrand = random(10);
            if(hitrand <= 1)
            {
                SendClientMessage(playerid, -12, " You have been knocked to the floor by a baseball bat.");
                ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,0,0,0,0);
                SetTimerEx("Knocked", 20000, false, "i", playerid);
                TogglePlayerControllable(playerid, 0);
                SetPlayerDrunkLevel(playerid, 8000);
                SetTimerEx("ClearShock", 100000, false, "i", playerid);
            }
        }
        else if(weaponid == 3)
        {
            SetPlayerHealth(playerid, HP-40);
            new hitrand = random(10);
            if(hitrand <= 1)
            {
                SendClientMessage(playerid, -12, " You have been knocked to the floor by an ASP Baton.");
                ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,0,0,0,0);
                SetTimerEx("Knocked", 50000, false, "i", playerid);
                TogglePlayerControllable(playerid, 0);
                SetPlayerDrunkLevel(playerid, 8000);
                SetTimerEx("ClearShock", 100000, false, "i", playerid);
            }
        }
        else if(weaponid == 15 || weaponid == 4 || weaponid == 2 || weaponid == 6 || weaponid == 7)
        {
            SetPlayerHealth(playerid, HP-30);
            SendClientMessage(playerid, -1, "You have been knocked to the floor by a melee gun.");
            ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,0,0,0,0);
            SetTimerEx("Knocked", 10000, false, "i", playerid);
            TogglePlayerControllable(playerid, 0);
            SetPlayerDrunkLevel(playerid, 8000);
            SetTimerEx("ClearShock", 100000, false, "i", playerid);
        }
        else
        {
            if(weaponid != 26)
            {
                SetPlayerHealth(playerid, HP-(amount*1.5));
                SendClientMessage(playerid, -1, "You were shot heavily by remington 92. Sawn.");
                SetPlayerDrunkLevel(playerid, 8000);
                SetTimerEx("ClearShock", 100000, false, "i", playerid);
            }
        }
    }
    if(Armor >= 1)
    {
        if(weaponid == 34)
        {
            SetPlayerArmour(playerid, Armor-150);
            SetPlayerDrunkLevel(playerid, 8000);
            SetTimerEx("ClearShock", 100000, false, "i", playerid);
            SendClientMessage(playerid, -1, "You were shot by a sniper rifle");
        }
        if(Armor >= 30)
        {
            if(weaponid == 8)
            {
                SetPlayerArmour(playerid, Armor-30);
                SetPlayerDrunkLevel(playerid, 8000);
                SetTimerEx("ClearShock", 100000, false, "i", playerid);
            }
        }
        if(Armor >= 20)
        {
            if(weaponid == 5 || weaponid == 15 || weaponid == 3 || weaponid == 4 || weaponid == 2 || weaponid == 6 || weaponid == 7)
            {
                SetPlayerArmour(playerid, Armor-10);
                SetPlayerDrunkLevel(playerid, 8000);
                SetTimerEx("ClearShock", 100000, false, "i", playerid);
            }
        }
    }
    return 1;
}

You can edit how many hits by melee guns until he gets knocked out by adding/editing this:

PHP Code:

new hitrand random(10);
            if(
hitrand <= 1// This, change it to 2 for example, if he got punched 2 times then he'll get knocked out.
            
{
                
SendClientMessage(playerid, -12" You have been knocked to the floor by a baseball bat.");
                
ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,0,0,0,0);
                
SetTimerEx("Knocked"20000false"i"playerid);
                
TogglePlayerControllable(playerid0);
                
SetPlayerDrunkLevel(playerid8000);
                
SetTimerEx("ClearShock"100000false"i"playerid);
            } 


This script is to be updated weekly/monthly, new features that i'm planning to add:
  • Headshot system for sniper.
  • Bleeding system.
  • More, just suggest me what to add, please.

I'd appreciate if someone captured screenshots for me, or wait until I capture few, waiting for my friends to take screenshots with this, I can't capture screenshots alone 0.0

__________________
Who asks for the reputation doesn't deserve it, who doesn't ask for it deserves it.

Aucun commentaire:

Enregistrer un commentaire