Raised This Month: $51 Target: $400
 12% 

[CS:GO] Damage Mod


Post New Thread Reply   
 
Thread Tools Display Modes
paulo_crash
AlliedModders Donor
Join Date: May 2016
Location: Brazil
Old 01-27-2020 , 15:22   Re: [CS:GO] Damage Mod
Reply With Quote #11

Quote:
Originally Posted by Cruze View Post
PHP Code:
#include <sourcemod>
#include <sdkhooks>

enum WpnID {
    
wpn_none,
    
ConVar:wpn_ak47,
    
ConVar:wpn_aug,
    
ConVar:wpn_awp,
    
ConVar:wpn_bizon,
    
ConVar:wpn_deagle,
    
ConVar:wpn_elite,
    
ConVar:wpn_famas,
    
ConVar:wpn_fiveseven,
    
ConVar:wpn_g3sg1,
    
ConVar:wpn_galilar,
    
ConVar:wpn_glock,
    
ConVar:wpn_hkp2000,
    
ConVar:wpn_knife,
    
ConVar:wpn_m249,
    
ConVar:wpn_m4a1,
    
ConVar:wpn_mac10,
    
ConVar:wpn_mag7,
    
ConVar:wpn_mp7,
    
ConVar:wpn_mp9,
    
ConVar:wpn_negev,
    
ConVar:wpn_nova,
    
ConVar:wpn_p250,
    
ConVar:wpn_p90,
    
ConVar:wpn_sawedoff,
    
ConVar:wpn_scar20,
    
ConVar:wpn_sg556,
    
ConVar:wpn_ssg08,
    
ConVar:wpn_tec9,
    
ConVar:wpn_ump45,
    
ConVar:wpn_xm1014
};

ConVar wpn_damage[WpnID], wpn_damage_flag;
float wpn_damage_value[WpnID];

char WeaponClassname[WpnID][] = {
    
"""weapon_ak47""weapon_aug""weapon_awp""weapon_bizon""weapon_deagle""weapon_elite""weapon_famas""weapon_fiveseven""weapon_g3sg1""weapon_galilar""weapon_glock""weapon_hkp2000""weapon_knife""weapon_m249""weapon_m4a1""weapon_mac10""weapon_mag7""weapon_mp7""weapon_mp9""weapon_negev""weapon_nova""weapon_p250""weapon_p90""weapon_sawedoff""weapon_scar20""weapon_sg556""weapon_ssg08""weapon_tec9""weapon_ump45""weapon_xm1014"
};

Handle hWeaponClassTrie INVALID_HANDLE;

stock void InitWeaponClassTrie()
{
    
hWeaponClassTrie CreateTrie();
    for(
int i 0view_as<int>(WpnID); i++)
    {
        
SetTrieValue(hWeaponClassTrieWeaponClassname[view_as<WpnID>(i)], i);
    }
}

stock WpnID WeaponClassToId(const char[] weaponClass)
{
    
WpnID id;
    if(
hWeaponClassTrie == INVALID_HANDLE)
    {
        
InitWeaponClassTrie();
    }
    if(
GetTrieValue(hWeaponClassTrieweaponClassid))
    {
        return 
view_as<WpnID>(id);
    }
    return 
wpn_none;
}

public 
Plugin myinfo =
{
    
name "CS:GO Weapons Damage Mod",
    
author "Accelerator",
    
description "",
    
version "2.1",
    
url "http://core-ss.org"
};

public 
void OnPluginStart()
{
    
wpn_damage[wpn_ak47] = CreateConVar("damage_ak47""1.0");
    
wpn_damage[wpn_aug] = CreateConVar("damage_aug""1.0");
    
wpn_damage[wpn_awp] = CreateConVar("damage_awp""1.0");
    
wpn_damage[wpn_bizon] = CreateConVar("damage_bizon""1.0");
    
wpn_damage[wpn_deagle] = CreateConVar("damage_deagle""1.0""Deagle and Revolver");
    
wpn_damage[wpn_elite] = CreateConVar("damage_elite""1.0");
    
wpn_damage[wpn_famas] = CreateConVar("damage_famas""1.0");
    
wpn_damage[wpn_fiveseven] = CreateConVar("damage_fiveseven""1.0");
    
wpn_damage[wpn_g3sg1] = CreateConVar("damage_g3sg1""1.0");
    
wpn_damage[wpn_galilar] = CreateConVar("damage_galilar""1.0");
    
wpn_damage[wpn_glock] = CreateConVar("damage_glock""1.0");
    
wpn_damage[wpn_hkp2000] = CreateConVar("damage_hkp2000""1.0""HKP2000 and USP Silencer");
    
wpn_damage[wpn_knife] = CreateConVar("damage_knife""1.0");
    
wpn_damage[wpn_m249] = CreateConVar("damage_m249""1.0");
    
wpn_damage[wpn_m4a1] = CreateConVar("damage_m4a1""1.0""M4A1 and M4A1 Silencer");
    
wpn_damage[wpn_mac10] = CreateConVar("damage_mac10""1.0");
    
wpn_damage[wpn_mag7] = CreateConVar("damage_mag7""1.0");
    
wpn_damage[wpn_mp7] = CreateConVar("damage_mp7""1.0");
    
wpn_damage[wpn_mp9] = CreateConVar("damage_mp9""1.0");
    
wpn_damage[wpn_negev] = CreateConVar("damage_negev""1.0");
    
wpn_damage[wpn_nova] = CreateConVar("damage_nova""1.0");
    
wpn_damage[wpn_p250] = CreateConVar("damage_p250""1.0""P250 and CZ75A");
    
wpn_damage[wpn_p90] = CreateConVar("damage_p90""1.0");
    
wpn_damage[wpn_sawedoff] = CreateConVar("damage_sawedoff""1.0");
    
wpn_damage[wpn_scar20] = CreateConVar("damage_scar20""1.0");
    
wpn_damage[wpn_sg556] = CreateConVar("damage_sg556""1.0");
    
wpn_damage[wpn_ssg08] = CreateConVar("damage_ssg08""1.0");
    
wpn_damage[wpn_tec9] = CreateConVar("damage_tec9""1.0");
    
wpn_damage[wpn_ump45] = CreateConVar("damage_ump45""1.0");
    
wpn_damage[wpn_xm1014] = CreateConVar("damage_xm1014""1.0");
    
wpn_damage_flag CreateConVar("damage_flag""a");
    
    for (
int i 1<= MaxClientsi++)
    {
        if (
IsClientInGame(i))
            
OnClientPutInServer(i);
    }
    for(
int i 1view_as<int>(WpnID); i++)
    {
        
wpn_damage_value[i] = wpn_damage[i].FloatValue;
        
HookConVarChange(wpn_damage[i], OnConVarDamageChange);
    }
    
AutoExecConfig(true"damagemod");
}

public 
void OnConVarDamageChange(ConVar cvar, const char[] oldVal, const char[] newVal)
{
    if (
StringToFloat(newVal) == StringToFloat(oldVal))
        return;
    
    for(
int i 1view_as<int>(WpnID); i++)
    {
        if (
cvar == wpn_damage[i])
        {
            
wpn_damage_value[i] = wpn_damage[i].FloatValue;
        }
    }
}

public 
void OnClientPutInServer(int client)
{
    
SDKHook(clientSDKHook_OnTakeDamageOnTakeDamage);
}

public 
Action OnTakeDamage(int victimint &attackerint &inflictorfloat &damageint &damagetypeint &weaponfloat damageForce[3], float damagePosition[3])
{
    
char sBuffer[5];
    
wpn_damage_flag.GetString(sBuffersizeof(sBuffer));
    
    if (
damage <= 0.0 || victim || victim MaxClients || attacker || attacker MaxClients)
        return 
Plugin_Continue;
    
    if (!
IsValidEdict(weapon))
        return 
Plugin_Continue;
    
    if(!
CheckAdminFlags(attackerReadFlagString(sBuffer)))
        return 
Plugin_Continue;
    
    
char clsname[32];
    
GetEdictClassname(weaponclsnamesizeof(clsname));
    
    
WpnID WeaponId;
    if ((
WeaponId WeaponClassToId(clsname)) != wpn_none)
    {
        
damage *= wpn_damage_value[WeaponId];
        return 
Plugin_Changed;
    }
    
    return 
Plugin_Continue;
}

bool CheckAdminFlags(int clientint iFlag)
{
    
int iUserFlags GetUserFlagBits(client);
    return (
iUserFlags ADMFLAG_ROOT || (iUserFlags iFlag) == iFlag);

Untested.
I took the test, apparently all right, thanks!

[EDIT1]
Update, it didn’t work, it isn’t just killing with one shot, both players with privileges and no privileges, there are times when you have to give more than one shot to kill.

Last edited by paulo_crash; 01-27-2020 at 16:05.
paulo_crash is offline
paulo_crash
AlliedModders Donor
Join Date: May 2016
Location: Brazil
Old 01-27-2020 , 16:30   Re: [CS:GO] Damage Mod
Reply With Quote #12

I tested the original version of the plugin, it is also not working, I believe that's it then.
paulo_crash is offline
Ez_Danny
New Member
Join Date: Aug 2019
Old 07-19-2020 , 10:10   Re: [CS:GO] Damage Mod
Reply With Quote #13

I want to do a timer of 10 seconds.
The first 10 seconds, the player donīt give damage (can't harm) and after give damage (can harm).
Can somebody help me?
Sry for my bad english.
Ez_Danny is offline
HerrMagic
Junior Member
Join Date: Oct 2020
Location: Germany
Old 12-14-2020 , 19:12   Re: [CS:GO] Damage Mod
Reply With Quote #14

can someone add the new weapons from csgo to the plugin?
HerrMagic is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:55.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode