PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
new const Version[] = "0.2";
#define MAX_PLAYERS 32
enum KillData
{
kdWeaponID,
bool:kdIsHeadshot
}
new const WeaponMoney[] =
{
0,
50, //P228
0,
50, //SCOUT
50, //Grenade
50, //XM1014
0, //C4
50, //Mac10
50, //Aug
0, //Smoke
50, //Elites
50, //FiveSeven
50, //Ump45
50, //SG550
50, //Galil
50, //Famas
50, //USP
50, //Glock
50, //Awp
50, //MP5Navy
50, //M249
50, //M3
50, //M4A1
50, //Tmp
50, //G3SG1
0, //Flashbang
50, //Deagle
50, //SG552
50, //AK47
50, //Knife
50 //P90
};
const m_iAccount = 115;
const Default_Kill_Money = 300;
const HeadShot_Bonus = 0;
new g_kdKillData[ MAX_PLAYERS + 1 ][ KillData ];
public plugin_init()
{
register_plugin( "Kill Money by Weapon" , Version , "bugsy" );
register_event( "DeathMsg" , "Event_DeathMsg" , "a" , "1>0" );
register_message( get_user_msgid( "Money" ) , "Message_Money" );
}
public Event_DeathMsg()
{
new szWeapon[ 13 ];
new iKiller = read_data( 1 );
new iVictim = read_data( 2 );
if ( ( iKiller != iVictim ) && is_user_connected( iKiller ) && ( cs_get_user_team( iKiller ) != cs_get_user_team( iVictim ) ) )
{
read_data( 4 , szWeapon , charsmax( szWeapon ) );
g_kdKillData[ iKiller ][ kdWeaponID ] = equal( szWeapon , "grenade" ) ? CSW_HEGRENADE : get_user_weapon( iKiller );
g_kdKillData[ iKiller ][ kdIsHeadshot ] = bool:read_data( 3 );
}
}
public Message_Money( iMsgId , iMsgDest , id )
{
if ( g_kdKillData[ id ][ kdWeaponID ] )
{
new iNewMoney = clamp( ( get_pdata_int( id , m_iAccount ) - Default_Kill_Money ) + ( WeaponMoney[ g_kdKillData[ id ][ kdWeaponID ] ] + ( _:g_kdKillData[ id ][ kdIsHeadshot ] ? HeadShot_Bonus : 0 ) ) , 0 , 16000 );
set_pdata_int( id , m_iAccount , iNewMoney );
set_msg_arg_int( 1 , ARG_LONG , iNewMoney );
set_msg_arg_int( 2 , ARG_BYTE , 1 );
g_kdKillData[ id ][ kdWeaponID ] = 0;
}
}