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

Show Money


Post New Thread Reply   
 
Thread Tools Display Modes
Napoleon_be
Veteran Member
Join Date: Jul 2011
Location: Belgium
Old 06-28-2016 , 14:34   Re: Show Money
Reply With Quote #21

try again
PHP Code:
/****************************
 * HnS: Cash Mod - V0.0.7
 * by ReCon aka NiQu
 * 
 * Based Of Version: 0.0.6
 * 
 * Do not try to add items/abilities/skills without
 * the knowledge of how to do it.
 *
 * Original CashMod made by ReCon aka NiQu.
 *
 *
 * Thanks to TandborsteN for laserbeam.
 ****************************/

native add_user_immuneiPlayer );
native remove_user_immuneiPlayer );

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <nvault>

#define PLUGIN "HnS: Cash Mod"
#define VERSION "0.0.7"
#define AUTHOR "ReCon"
#define PREFIX "[MoneyMod]"

#define XTRA_OFS_PLAYER            5
#define m_flNextAttack            83
#define m_afButtonPressed        246
#define m_iFOV                    363

const MAX_CLIENTS 32;

new 
g_first_time[32];

enum _:g_iWeapCount
{
    
WEAPON_FS,
    
WEAPON_DEAGLE,
    
WEAPON_AWP,
    
SPACE,
    
HE_GRENADE,
    
SPACE,
    
BULLET_FS,
    
BULLET_DEAGLE,
    
BULLET_AWP
}

new const 
g_iWeapons[g_iWeapCount][] =
{
    
"Five Seven",
    
"Deagle",
    
"AWP",
    
"",
    
"HE Grenade",
    
"",
    
"Five Seven Bullet",
    
"Deagle Bullet",
    
"AWP Bullet"
}

new const 
g_iFirstWCost[g_iWeapCount] =
{
    
750//Cost of first level of Five Seven
    
1000//Cost of first level of Deagle
    
1500//Cost of first level of AWP
    
1,
    
200//Cost of first level of HE Grenade
    
1,
    
5500//Cost of first level of Five Seven Bullet
    
8800//Cost of first level of Deagle Bullet
    
12500 //Cost of first level of AWP Bullet
}

new const 
g_iWeapShort[g_iWeapCount][] =
{
    
"%",
    
"%",
    
"%",
    
"",
    
"%",
    
"",
    
" Bullets",
    
" Bullets",
    
" Bullets"
}

new const 
g_iWeapMaxVal[g_iWeapCount] =
{
    
50,
    
50,
    
25,
    
1,
    
80,
    
1,
    
2,
    
1,
    
2
}

new 
g_iWeapMaxLevel[g_iWeapCount] =
{
    
5,
    
5,
    
5,
    
1,
    
4,
    
1,
    
2,
    
1,
    
2
}

new 
g_iWeapClass[g_iWeapCount] =
{
    
CSW_FIVESEVEN,
    
CSW_DEAGLE,
    
CSW_AWP,
    
2//Space,
    
CSW_HEGRENADE,
    
2//Space
    
1//Bullet
    
1//Bullet
    
//Bullet
}

new 
g_iWeapName[g_iWeapCount][] =
{
    
"weapon_fiveseven",
    
"weapon_deagle",
    
"weapon_awp",
    
"",
    
"weapon_hegrenade",
    
"",
    
"",
    
"",
    
""
}

enum _:g_iItemCount
{
    
HEALTH,
    
ARMOR,
    
RESPAWN_CHANCE,
    
FALL_DMG_REDUCE,
    
STEALTH,
    
FASTER_RUNNING,
    
EXTRA_DAMAGE,
    
NO_FOOTSTEPS,
    
NO_FLASH,
    
SCOPE,
    
NO_PAIN,
    
UNDER_COVER_SUITE,
    
ANTI_FROSTNADE,
    
Laserbeam,
    
Heatseek_HE
}

new const 
g_iItems[g_iItemCount][] =
{
    
"Extra Health",
    
"Extra Armor",
    
"Respawn Chance",
    
"Fall Damage Reducer",
    
"Stealth",
    
"Faster Running",
    
"Extra Damage",
    
"No Footsteps",
    
"No Flash",
    
"Deagle Scope",
    
"No Pain Shock",
    
"Camofluage",
    
"Anti-Frostnade",
    
"LaserBeam",
    
"Heatseeking Grenade"
}

new const 
g_iFirstCost[g_iItemCount] =
{
    
550//Cost of first level of Health
    
750//Cost of first level of Armor
    
2500//Cost of first level of Respawn Chance
    
1000//Cost of first level of Fall Damage Reducer
    
2000//Cost of first level of Stealth
    
3000//Cost of first level of Faster Running
    
4000//Cost of first level of Extra Damage
    
1500//Cost of No Footsteps
    
20000//Cost of No Flash
    
50000//Cost of Deagle Scope
    
30000//Cost of No Pain Shock
    
45000//Cost of Camofluage
    
40000//Cost of Anti Frostnade
    
28500//Cost of first level of LaserBeam
    
22500 //Cost of Heatseeking Grenade
}

new const 
g_iItemShort[g_iItemCount][] =
{
    
" HP",
    
" AP",
    
"%",
    
"%",
    
"%",
    
"%",
    
" DMG",
    
"CT Only",
    
"CT Only",
    
"CT & T",
    
"CT & T",
    
"%",
    
"CT & T",
    
"CT & T",
    
"CT & T"
}

new const 
g_iItemMaxVal[g_iItemCount] =
{
    
150,
    
150,
    
60,
    
50,
    
60,
    
8,
    
45,
    
1,
    
1,
    
1,
    
1,
    
1,
    
1,
    
2,
    
1
}

new const 
g_iItemMaxLevel[g_iItemCount] =
{
    
6,
    
6,
    
6,
    
5,
    
6,
    
4,
    
5,
    
1,
    
1,
    
1,
    
1,
    
1,
    
1,
    
3,
    
1
}

new 
g_iCash[MAX_CLIENTS 1];
new 
g_iItemLevel[MAX_CLIENTS 1][g_iItemCount];
new 
g_iWeapLevel[MAX_CLIENTS 1][g_iWeapCount];
new 
g_iAuthID[33][36];
new 
bool:g_iRevivedOnce[32];
new 
Float:g_gametime;
new 
Float:g_gametime2;
new 
grenade[32];
new 
bool:g_track[33];
new 
bool:g_track_enemy;
new 
g_vault;
new 
g_msgScreenFade;
new 
g_sync_check_data;
new 
last;
new 
g_Admin[33];
new 
g_LoggedIn[32];
new 
g_serverType;
new 
sLaserShooterUsed[32];
new 
sLaserNextUse[33];
new 
hook_to[33][3];
new const 
sShootSound[] = "weapons/rocketfire1.wav";
new 
beamsprite;
new 
bool:gHasHe[33];

public 
plugin_precache()
{
    
beamsprite precache_model("sprites/dot.spr");
    
precache_soundsShootSound );
}

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
//Register Spawn
    
RegisterHamHam_Spawn"player""FwdPlayerSpawn");
    
    
//Open MainMenu
    
new command[]            = "Cash_StartMenu";
    
register_clcmd"say /mm"command );
    
register_clcmd"say /money"command );
    
register_clcmd"say /moneymod"command );
    
register_clcmd"say /hnsm"command );
    
register_clcmd"say /hnsmoney"command );
    
    
//Register Death
    
register_event"DeathMsg""Event_DeathMsg""a" );
    
    
//Register Round Start
    
register_logevent"eRound_start"2"1=Round_Start" );
    
    
//Register Kill
    
RegisterHam(Ham_Killed"player""FwdPlayerDeath"1);
    
    
//Register Take Damage
    
RegisterHam(Ham_TakeDamage"player""FwdPlayerTakeDMG"1);
    
    
//Register PostThink for scope
    
RegisterHam(Ham_Player_PostThink"player""Player_PostThink");
    
    
//Register PreThink
    
RegisterHam(Ham_Player_PreThink"player""Player_PreThink");
    
    
//Register Weapon Switch
    
register_event"CurWeapon" "fw_EvCurWeapon" "be" "1=1" );
    
    
register_forward(FM_Think"fwdThink"0);
    
    
//Get user screenfade
    
g_msgScreenFade get_user_msgid("ScreenFade");
    
    
//Register ScreenFade
    
register_event("ScreenFade""eventFlash""be""4=255""5=255""6=255""7>199");
    
    
//Registers two different TextMSG
    
register_event("TextMsg""fire_in_the_hole""b""2&#Game_radio""4&#Fire_in_the_hole");
    
register_event("TextMsg""fire_in_the_hole2""b""3&#Game_radio""5&#Fire_in_the_hole");
    
    
//Register when someone/something throws grenade
    
register_event("99""grenade_throw2""b");
    
    
//Register Commands
    
register_concmd("cm_givecash""CmdGiveCash"ADMIN_RCON"<nick, #userid, authid> <cash>");
    
register_concmd("cm_removecash""CmdRemoveCash"ADMIN_RCON"<nick, #userid, authid> <cash>");
    
    
//Open nvault
    
g_vault nvault_open("cashmod_recon");
    
    if( 
g_vault == INVALID_HANDLE )
    {
        
set_fail_state"Error opening nVault" );
    }
}

public 
plugin_end()
{
    
nvault_close(g_vault);
}

public 
plugin_natives()
{
    
register_library("cashmod");
    
    
register_native("cm_get_user_cash""_get_cash");
    
register_native("cm_set_user_cash""_set_cash");
    
register_native("cm_get_user_admin""_get_user_admin");
    
register_native("cm_save""_save");
    
register_native("cm_load""_load");
    
register_native("cm_first_time""_first_time");
    
register_native("cm_has_user_nofrost""_has_user_nofrost");
}

public 
_has_user_nofrost(iPluginiParams)
{
    new 
client get_param(1);
    if(
g_iItemLevel[client][ANTI_FROSTNADE] != 0)
    {
        return 
true;
    }
    else{
        return 
false;
    }
    return 
PLUGIN_CONTINUE;    
}
public 
_get_health_level(iPluginiParams)
{
    return 
g_iItemLevel[get_param(1)][HEALTH];
}

public 
_first_time(iPluginiParams)
{
    return 
g_first_time[get_param(1)];
}

public 
_save(iPluginiParams)
{
    
Save(get_param(1));
}

public 
_load(iPluginiParams)
{
    
Load(get_param(1));
}

public 
_set_server_type(iPluginiParams)
{    
    
g_serverType max(0get_param(1));
    return 
g_serverType;
}

public 
_get_server_type(iPluginiParams)
{
    return 
g_serverType;
}

public 
_set_cash(iPluginiParams)
{        
    new 
iPlayer get_param(1);
    if( !
iPlayer )
        return 
PLUGIN_CONTINUE;
    
    
g_iCash[iPlayer] = max(0get_param(2));
    return 
g_iCash[iPlayer];
}

public 
_get_cash(iPluginiParams)
{
    return 
g_iCash[get_param(1)];
}

public 
_set_user_status(iPluginiParams)
{
    new 
iPlayer get_param(1);
    if( !
iPlayer )
        return 
PLUGIN_CONTINUE;
        
    
g_LoggedIn[iPlayer] = max(0get_param(2));
    return 
g_LoggedIn[iPlayer];
}

public 
_get_user_status(iPluginiParams)
{
    return 
g_LoggedIn[get_param(1)];
}

public 
_get_user_admin(iPluginiParams)
{
    return 
g_Admin[get_param(1)];
}

public 
Player_PostThink(id)
{
    
DoZoom2(id);
}

public 
fwdThink(entid)
{
    static 
szClassname[33];
    
pev(entidpev_classnameszClassname32);
    
    static 
szModel[23];
    
pev(entidpev_modelszModel22);
    
    if( 
equali(szClassname"grenade"0)
    && 
equali(szModel"models/w_hegrenade.mdl"0) &&
    
g_iItemLevel[pev(entidpev_owner)][Heatseek_HE] >= 1)
    {
        static 
Float:vOrigin[3];
        
pev(entidpev_originvOrigin);
        
        
set_pev(entidpev_renderfxkRenderFxGlowShell);
        
set_pev(entidpev_rendercolor, {148.00.0211.0});
        
set_pev(entidpev_rendermodekRenderNormal);
        
set_pev(entidpev_renderamt100);
        
        static 
player;
        
player 0;
        static 
Float:vClosest[3];
        
vClosest Float:{4096.04096.04096.0};
        while( (
player engfunc(EngFunc_FindEntityInSphereplayervOrigin512.0)) )
        {
            if( !
is_user_alive(player) )
            {
                continue;
            }
                
            
pev(playerpev_classnameszClassname6);
            if( 
equali(szClassname"player"0) )
            {
                if( 
get_user_team(player) != get_user_team(pev(entidpev_owner)) )
                {
                    static 
Float:vOrigin2[3];
                    
pev(playerpev_originvOrigin2);
                    
                    static 
hitplayer;
                    
hitplayer fnTraceLine(entidvOriginvOrigin2);
                    
                    if( 
vector_distance(vOriginvOrigin2)
                    <
                    
vector_distance(vOriginvClosest)
                    && 
hitplayer == player )
                    {
                        
vClosest vOrigin2;
                    }
                }
            }
        }
        if( 
vClosest[0] != 4096.0 )
        {
            
entity_set_follow_origin(entidvClosest350.0);
        }
    }
}

fnTraceLine(ignoreEnt, const Float:vStart[3], const Float:vEnd[3], Float:vReturn[3]={0.00.00.0})
{
    
engfunc(EngFunc_TraceLinevStartvEndignoreEnt == -0ignoreEnt);
    
    new 
ent global_get(glb_trace_ent);
    
global_get(glb_trace_endposvReturn);

    return 
pev_valid(ent) ? ent 0;
}

stock entity_set_follow_origin(entityFloat:Origin[3], Float:speed)
{
    if(!
pev_valid(entity)) return 0;
    
    new 
Float:entity_origin[3];
    
pev(entitypev_originentity_origin);
    
    new 
Float:diff[3];
    
diff[0] = Origin[0] - entity_origin[0];
    
diff[1] = Origin[1] - entity_origin[1];
    
diff[2] = Origin[2] - entity_origin[2];
    
    new 
Float:length floatsqroot(floatpower(diff[0], 2.0) + floatpower(diff[1], 2.0) + floatpower(diff[2], 2.0));
    
    new 
Float:Velocity[3];
    
Velocity[0] = diff[0] * (speed length);
    
Velocity[1] = diff[1] * (speed length);
    
Velocity[2] = diff[2] * (speed length);
    
    
set_pev(entitypev_velocityVelocity);
    
    return 
1;
}

public 
Player_PreThink(id)
{
    new 
nbut pev(idpev_button);
    new 
obut pev(idpev_oldbuttons);
    if((
nbut IN_RELOAD) && !(obut IN_RELOAD))
    {
        if( 
sLaserShooterUsed[id] != && is_user_alive(id) && sLaserNextUse[id])
        {
            
hook_to[id][0]=999999;
            new 
playerbody;
            
get_user_aiming(idplayerbody);
            if(
is_user_connected(id) && is_user_connected(player))
            {
                
sLaserShooterUsed[id] -= 1;
                    
                
//Get Id's origin
                
static origin1[3];
                
get_user_origin(id,origin1);
                
                if(
hook_to[id][0]==999999)
                {
                    static 
origin2[3];
                    
get_user_origin(id,origin2,3);
                    
hook_to[id][0]=origin2[0];
                    
hook_to[id][1]=origin2[1];
                    
hook_to[id][2]=origin2[2];
                }
                
//Create RED beam
                
message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
                
write_byte(1);        //TE_BEAMENTPOINT
                
write_short(id);    // start entity
                
write_coord(hook_to[id][0]);
                
write_coord(hook_to[id][1]);
                
write_coord(hook_to[id][2]);
                
write_short(beamsprite);
                
write_byte(1);        // framestart
                
write_byte(1);        // framerate
                
write_byte(2);        // life in 0.1's
                
write_byte(40);        // width
                
write_byte(0);        // noise
                
write_byte(255);    // red
                
write_byte(0);        // green
                
write_byte(0);        // blue
                
write_byte(200);    // brightness
                
write_byte(40);        // speed
                
message_end();
                new 
CurrentHealth[32];
                
CurrentHealth[player] = get_user_health(player);
                new 
Randnum random_num(4599);
                new 
TakenHealth CurrentHealth[player] - Randnum;
                new 
AttackerName[33];
                
get_user_name(idAttackerName31);
                
emit_soundidCHAN_BODYsShootSoundVOL_NORMATTN_NORM0PITCH_NORM );
                
sLaserNextUse[id] = false;
                
set_task(0.5"tskLaserNextUse"10000 id);
                if(
is_user_alive(player))
                {
                    if( 
CurrentHealth[player] < Randnum)
                    {
                        new 
GivenFrags get_user_frags(id) + 1;
                        
set_user_frags(idGivenFrags);
                        
g_iCash[id] += 40;
                        
                        Print(
id"^x03 You have been given^x04 20^x03$ for killing^x04 '%s'^x03 with a^x04 Laserbeam!"player);
                        Print(
player"^x01 You have been killed by %s with a laserbeam!"AttackerName);
                        
make_deathmsg(idplayer0"Laser Beam");
                        
user_silentkill(player);
                    }
                    else{
                        
set_user_health(playerTakenHealth);
                        Print(
player"^x03 You have been hurted for^x04 %i HP^x03 from^x04 %s's^x03 Laserbeam!"RandnumAttackerName);
                        Print(
id"^x04 You have hurted %s for ^x04 %i HP"playerRandnum);
                    }
                }
            }
        }
    }
}

public 
tskLaserNextUse(id)
{
    
id -= 10000;
    
    
sLaserNextUse[id] = true;
}

public 
client_authorizediPlayer )
{
    
get_user_authid(iPlayerg_iAuthIDiPlayer ] , charsmaxg_iAuthID[] ) );
    
Load(iPlayer);
    
    if ( 
access(iPlayerADMIN_LEVEL_A) )
        
g_Admin[iPlayer] = true;
}

public 
client_disconnectiPlayer )
{    
    
Save(iPlayer);
}

public 
Load(iPlayer)
{
    static 
data[256], timestamp;
    if( 
nvault_lookup(g_vaultg_iAuthID[iPlayer], datasizeof(data) - 1timestamp) )
    {
        
ParseLoadData(iPlayerdata);
    }
    else
    {
        
NewUser(iPlayer);
    }
}

public 
NewUser(iPlayer)
{
    
g_first_time[iPlayer] = 1;
    
    
g_iCash[iPlayer] = 200;
    
    for( new 
iItem 0iItem g_iItemCountiItem++ )
    {
        
g_iItemLevel[iPlayer][iItem] = 0;
    }
    for( new 
iWeap 0iWeap g_iWeapCountiWeap++ )
    {
        
g_iWeapLevel[iPlayer][iWeap] = 0;
    }
}

ParseLoadData(iPlayerdata[256])
{
    static 
num[6];
    
strbreak(datanumsizeof(num) - 1datasizeof(data) - 1);
    
    
g_iCash[iPlayer] = str_to_num(num);
    
    for( new 
iItem 0iItem g_iItemCountiItem++ )
    {
        
strbreak(datanumsizeof(num) - 1datasizeof(data) - 1);
        
g_iItemLevel[iPlayer][iItem] = clamp(str_to_num(num), 0g_iItemMaxLevel[iItem]);
    }
    
    for( new 
iWeap 0iWeap g_iWeapCountiWeap++ )
    {
        
strbreak(datanumsizeof(num) - 1datasizeof(data) - 1);
        
g_iWeapLevel[iPlayer][iWeap] = clamp(str_to_num(num), 0g_iWeapMaxLevel[iWeap]);
    }
}

public 
Save(iPlayer)
{
    static 
data[256];
    new 
len formatex(datasizeof(data) - 1"%i"g_iCash[iPlayer]);
    
    for( new 
iItem 0iItem g_iItemCountiItem++ )
    {
        
len += formatex(data[len], sizeof(data) - len 1" %i"g_iItemLevel[iPlayer][iItem]);
    }
    
    for( new 
iWeap 0iWeap g_iWeapCountiWeap++ )
    {
        
len += formatex(data[len], sizeof(data) - len 1" %i"g_iWeapLevel[iPlayer][iWeap]);
    }
    
    
nvault_set(g_vaultg_iAuthIDiPlayer ], data);
}

public 
fw_EvCurWeaponiPlayer )
{
    
//If player bought faster running
    
if( g_iItemLevel[iPlayer][FASTER_RUNNING] >= )
    {
        
//Call a function to set speed
        
Set_Speed(iPlayer);
    }
}

public 
FwdPlayerTakeDMG(iPlayerinflictorattackerFloat:damagedamagebits)
{
    
//If player is alive and the damage is done by falling
    
if(is_user_alive(iPlayer) && (damagebits DMG_FALL) )
    {
        
//If player is either ct or T
        
new CsTeams:team cs_get_user_team(iPlayer);
        if( 
team == CS_TEAM_CT || team == CS_TEAM_T 
        {    
            
//Percentage Calculation
            
new iPercent g_iItemMaxVal[FALL_DMG_REDUCE] * g_iItemLevel[iPlayer][FALL_DMG_REDUCE] / g_iItemMaxLevel[FALL_DMG_REDUCE];
            
            
//Fall Damage Reducer
            
SetHamParamFloat(4damage * (1.0 - (float(iPercent) / 100.0)));
        }
    }
    
    if( ( 
<= attacker <= get_maxplayers() && iPlayer != attacker ) )
    {
        new 
Float:fMultiplier g_iItemLevel[iPlayer][EXTRA_DAMAGE] * 0.10 1.0;
        
SetHamParamFloat4damage fMultiplier );
    }
    
    if( 
g_iItemLevel[iPlayer][NO_PAIN] >= )
    {
        
set_pdata_float(iPlayer1081.0);
    }
    return 
HAM_HANDLED;
}

public 
FwdPlayerDeath(iPlayerKillerShouldgib)
{
    
//If the player hasnt already been respawned
    
if( !g_iRevivedOnce[iPlayer] )
    {
        
//If player is either ct or t
        
new CsTeams:team cs_get_user_team(iPlayer);
        if( 
team == CS_TEAM_T || team == CS_TEAM_CT )
        {
            
//Percentage Calculation
            
new iPercent g_iItemMaxVal[RESPAWN_CHANCE] * g_iItemLevel[iPlayer][RESPAWN_CHANCE] / g_iItemMaxLevel[RESPAWN_CHANCE];
            
            
//Percentage Usage
            
if( random_num(1100) <= iPercent )
            {
                
//Set respwan in 1 second
                
set_task(1.0"Task_Respawn"iPlayer);
            }
        }
    }
}

public 
Task_Respawn(iPlayer)
{
    
//Respawn Player
    
ExecuteHamB(Ham_CS_RoundRespawniPlayer);
    
    
//Print to the player that he/she got respawned
    
Print(iPlayer"^x03You got respawned!");
    
    
//Disable respawn until next round
    
g_iRevivedOnce[iPlayer] = true;
}

public 
eRound_start()
{
    
//Bunc of variables
    
new iPlayers[32], iNumiPid;
    
    
//Get all players
    
get_playersiPlayersiNum"a" );
    
    
//Browse through all players
    
for( new iiNumi++ )
    {
        
iPid iPlayers[i];
        
        
//Enable respawn
        
g_iRevivedOnce[iPid] = false;
    }
}


public 
Event_DeathMsg()
{
    
//Get the killer
    
new killer read_data(1);
    
    
//Get the victim + a variable
    
new victim read_data(2);
    new 
vic_name[128];
    new 
format_text[128];
    
get_user_name(victimvic_name127);
    
    
    
//Make sure that the killer exists
    
if( <= killer <= get_maxplayers() )
    {
        
//If victim is not killer
        
if( victim != killer )
        {
            
//If victim is not a teammate of killer
            
if( cs_get_user_teamvictim ) != cs_get_user_teamkiller ) )
            {
                
//If killer is still alive
                
if( is_user_alivekiller ) )
                {
                    
//Add cash to the killer
                    
if( g_Admin[killer] && g_iCash[killer] < 99938 )
                    {
                        
g_iCash[killer] += 40;
                        
formatex(format_textsizeof(format_text) - 1"^x03You recieved 40$ for killing^x04 %s"vic_name);
                    }
                    else
                    {
                        
g_iCash[killer] += 40;
                        
formatex(format_textsizeof(format_text) - 1"^x03You recieved 40$ for killing^x04 %s"vic_name);
                    }
                    
//Get the victims name
                    
get_user_name(victimvic_name127);
                    
                    
//Print out" to the player that he/she got cash
                    
Print(killerformat_textvic_name);
                }
                
            }
            
        }
        
    }
    
}

public 
Cash_StartMenu(iPlayer)
{
    
//Menu Title
    
new title[512]; formatex(titlesizeof(title) - 1"\r%s \w- \yMain Menu \w- \yModified by \rETTAN ^nYour Money: %i"PREFIXg_iCash[iPlayer]);
    
    
//Create the menu
    
new menu menu_create(title"StartMenu_Handle");
    
    
//Create Items Menu
    
menu_additem(menu"\wInfo""1"0);
    
menu_additem(menu"\wPlayer Info""2"0);
    
menu_addblank(menu0);
    
menu_additem(menu"\wWeapon Shop""3"0);
    
menu_additem(menu"\wItem Shop""4"0);
    
menu_addblank(menu1);
    
menu_addblank(menu1);
    
menu_addblank(menu1);
    
    
//Display the menu
    
menu_display(iPlayermenu0);
}

public 
StartMenu_Handle(iPlayermenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
key str_to_num(data);
    switch(
key)
    {
        case 
1:
        {
            
show_motd(iPlayer"cashmod/info.motd""CashMod Info");
        }
        case 
2:
        {
            
Cash_PlayerMenu(iPlayer);
        }
        case 
3:
        {
            
Cash_WeaponMenu(iPlayer);
        }
        case 
4:
        {
            
Cash_MainMenu(iPlayer);
        }
    }
    return 
PLUGIN_HANDLED;
}

public 
Cash_PlayerMenu(iPlayer)
{
    new 
title[170]; formatex(titlesizeof(title) - 1"\r%s - \w \yPlayer Menu"PREFIX);
    new 
menu menu_create(title"Cash_PlayerHandle");
    
    new 
players[32], pnumtempid;
    new 
szName[32], szTempid[10];
    
    
get_players(playerspnum);
    
    for( new 
ii<pnumi++ )
    {
        
tempid players[i];
        
        
get_user_name(tempidszName31);
        
num_to_str(tempidszTempid9);
        
        
menu_additem(menuszNameszTempid0);
    }
    
    
menu_display(iPlayermenu0);
}

public 
Cash_PlayerHandle(iPlayermenuitem)
{
    if( 
item == MENU_EXIT )
    {
        
menu_destroy(menu);
        
Cash_StartMenu(iPlayer);
        return 
PLUGIN_HANDLED;
    }
    
    new 
data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
tempid str_to_num(data);
    new 
tempname[32]; get_user_name(tempidtempname31);
    
    static 
motd[2500];
    new 
len formatex(motdsizeof(motd) - 1,    "<html>");
    
len += format(motd[len], sizeof(motd) - len 1,    "<body style=^"background-color:#030303; color:#FF8F00^">");
    
len += format(motd[len], sizeof(motd) - len 1,    "<p align=^"center^">");
    
len += format(motd[len], sizeof(motd) - len 1,    "Player Info for %s.<br><br>"tempname);
    
len += format(motd[len], sizeof(motd) - len 1,    "Player Money: %i.<br><br>"g_iCash[tempid]);
    
len += format(motd[len], sizeof(motd) - len 1,    "<b>Weapon Chance</b>:<br>");
    for( new 
iWeap 0iWeap g_iWeapCountiWeap++ )
    {
        if( 
g_iWeapClass[iWeap] != )
        {
            
len += format(motd[len], sizeof(motd) - len 1,    "%s  -  Level: %i/%i <br>"g_iWeapons[iWeap], g_iWeapLevel[tempid][iWeap], g_iWeapMaxLevel[iWeap]);
        }
    }
    
    
len += format(motd[len], sizeof(motd) - len 1,    "<br><br><b>Other Items:</b><br>");
    for( new 
iItem 0iItem g_iItemCountiItem++ )
    {
        
len += format(motd[len], sizeof(motd) - len 1,    "%s  -  Level: %i/%i <br>"g_iItems[iItem], g_iItemLevel[tempid][iItem], g_iItemMaxLevel[iItem]);
    }
    
len += format(motd[len], sizeof(motd) - len 1,    "</p>");
    
len += format(motd[len], sizeof(motd) - len 1,    "</body>");
    
len += format(motd[len], sizeof(motd) - len 1,    "</html>");
    
    
show_motd(iPlayermotd"Player Info");
    
    
menu_destroy(menu);
    return 
PLUGIN_HANDLED;
}

public 
Cash_WeaponMenu(iPlayer)
{
    
//Menu Title
    
new title[170]; formatex(titlesizeof(title) - 1"\r%s \w- \yWeapon Menu \w- \yBy \rReCon ^nYour Money: %i"PREFIXg_iCash[iPlayer]);
    
    
//Create the menu
    
new menu menu_create(title"WeaponMenu_Handle");
    new 
iNumber[5], iCostszOption[80], AmountLevelLevel2;
    
    
    
//Browse through all menu items
    
for( new iWeap 0iWeap g_iWeapCountiWeap++ )
    {
        
//Bunch of variables
        
num_to_str(iWeapiNumber4);
        
Level g_iWeapLevel[iPlayer][iWeap];
        
Level2 g_iWeapLevel[iPlayer][iWeap] + 1;
        
iCost g_iFirstWCost[iWeap] * (<< (Level2 1));
        
Amount g_iWeapMaxVal[iWeap] * g_iWeapLevel[iPlayer][iWeap] / g_iWeapMaxLevel[iWeap];
        
        
//If the player already have maxlevel
        
if( g_iWeapLevel[iPlayer][iWeap] >= g_iWeapMaxLevel[iWeap] )
        {
            if( 
g_iWeapClass[iWeap] == )
            {
                
formatex(szOption79"");
            }
            else
            {
                
formatex(szOption79"\y%s: \wLevel %i \r(%i%s)"g_iWeapons[iWeap], LevelAmountg_iWeapShort[iWeap]);
            }
        }
        
//If the player cant afford the item
        
else if( g_iCash[iPlayer] < iCost )
        {
            if( 
g_iWeapClass[iWeap] == )
            {
                
formatex(szOption79"");
            }
            else
            {
                
formatex(szOption79"\d%s: \wLevel %i \r(%i%s) \y%i $"g_iWeapons[iWeap], LevelAmountg_iWeapShort[iWeap], iCost);
            }
        }
        
//If the player has not maxed out the item
        
else if( g_iWeapLevel[iPlayer][iWeap] < g_iWeapMaxLevel[iWeap] )
        {
            if( 
g_iWeapClass[iWeap] == )
            {
                
formatex(szOption79"");
            }
            else
            {
                
formatex(szOption79"\r%s: \wLevel %i \r(%i%s) \y%i $"g_iWeapons[iWeap], LevelAmountg_iWeapShort[iWeap], iCost);
            }
        }
        
        
//Add all the menu items
        
if( g_iWeapClass[iWeap] == )
        {
            
menu_addblank(menu0);
        }
        else
        {
            
menu_additem(menuszOptioniNumber);
        }
    }
    
    
//Display the menu
    
menu_display(iPlayermenu0);
}

public 
WeaponMenu_Handle(iPlayermenuitem)
{
    
//Get the menu data
    
if( item == MENU_EXIT )
    {
        
menu_destroy(menu);
        
Cash_StartMenu(iPlayer);
        return 
PLUGIN_HANDLED;
    }
    
    
//Bunc of variables
    
new data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
iWeap str_to_numdata ), iCostLevel;
    
Level g_iWeapLevel[iPlayer][iWeap] + 1;
    
iCost g_iFirstWCost[iWeap] * (<< (Level 1));
    
    if( 
iWeap == BULLET_FS && g_iWeapLevel[iPlayer][WEAPON_FS] <= || iWeap == BULLET_DEAGLE && g_iWeapLevel[iPlayer][WEAPON_DEAGLE] <= || iWeap == BULLET_AWP && g_iWeapLevel[iPlayer][WEAPON_AWP] <= )
    {
        Print(
iPlayer"^x03You don't have this weapons!");
        
Cash_WeaponMenu(iPlayer);
        return 
PLUGIN_HANDLED;
    }
    
    
//If player has maxed out the item
    
if( g_iWeapLevel[iPlayer][iWeap] == g_iWeapMaxLevel[iWeap] )
    {
        Print(
iPlayer"^x03You have the max level of %s!"g_iWeapons[iWeap]);
    }
    
//If the player cant afford the item
    
else if( g_iCash[iPlayer] < iCost )
    {
        Print(
iPlayer"^x03You dont have enough Money to buy %s Level: %i"g_iWeapons[iWeap], Level);
    }
    
//Take Cash, Print and give level
    
else
    {
        
//Take cash
        
g_iCash[iPlayer] -= iCost;
        
        
//Give a level
        
g_iWeapLevel[iPlayer][iWeap] += 1;
        
        
//Print out to the player that he/she bought an item with corresponding level
        
Print(iPlayer"^x03You bought %s Level: %i"g_iWeapons[iWeap], Level);
    }
    
    
Cash_WeaponMenu(iPlayer);
    return 
PLUGIN_HANDLED;
}

public 
Cash_MainMenu(iPlayer)
{
    
//Menu Title
    
new title[70]; formatex(titlesizeof(title) - 1"\r%s \w- \yMain Menu \w- \yBy \rReCon^nYour Money: %i"PREFIXg_iCash[iPlayer]);
    
    
//Create the menu
    
new menu menu_create(title"MainMenu_Handle");
    new 
iNumber[5], iCostszOption[80], AmountLevelLevel2;
    
    
    
//Browse through all menu items
    
for( new iItem 0iItem g_iItemCountiItem++ )
    {
        
//Bunch of variables
        
num_to_str(iItemiNumber4);
        
Level g_iItemLevel[iPlayer][iItem];
        
Level2 g_iItemLevel[iPlayer][iItem] + 1;
        
iCost g_iFirstCost[iItem] * (<< (Level2 1));
        
Amount g_iItemMaxVal[iItem] * g_iItemLevel[iPlayer][iItem] / g_iItemMaxLevel[iItem];
        
        if( 
iItem == EXTRA_DAMAGE && g_serverType == )
        {
            return 
PLUGIN_CONTINUE;
        }
        
        
//If the player already have maxlevel
        
if( g_iItemLevel[iPlayer][iItem] >= g_iItemMaxLevel[iItem] )
        {
            if( 
iItem == NO_FOOTSTEPS || iItem == NO_FLASH || iItem == SCOPE || iItem == NO_PAIN || iItem == ANTI_FROSTNADE || iItem == Laserbeam )
            {
                
formatex(szOption79"\y%s: \dLevel %i \r(%s)"g_iItems[iItem], Levelg_iItemShort[iItem]);
            }
            else
            {
                
formatex(szOption79"\y%s: \dLevel %i \r(%i%s)"g_iItems[iItem], LevelAmountg_iItemShort[iItem]);
            }
        }
        
//If the player cant afford the item
        
else if( g_iCash[iPlayer] < iCost )
        {
            if( 
iItem == NO_FOOTSTEPS || iItem == NO_FLASH || iItem == SCOPE || iItem == NO_PAIN || iItem == ANTI_FROSTNADE || iItem == Laserbeam )
            {
                
formatex(szOption79"\d%s: \wLevel %i \r(%s) \y%i $"g_iItems[iItem], Levelg_iItemShort[iItem], iCost);
            }
            else
            {
                
formatex(szOption79"\d%s: \wLevel %i \r(%i%s) \y%i $"g_iItems[iItem], LevelAmountg_iItemShort[iItem], iCost);
            }
        }
        
//If the player has not maxed out the item
        
else if( g_iItemLevel[iPlayer][iItem] < g_iItemMaxLevel[iItem] )
        {
            if( 
iItem == NO_FOOTSTEPS || iItem == NO_FLASH || iItem == SCOPE || iItem == NO_PAIN || iItem == ANTI_FROSTNADE || iItem == Laserbeam )
            {
                
formatex(szOption79"\r%s: \wLevel %i \r(%s) \y%i $"g_iItems[iItem], Levelg_iItemShort[iItem], iCost);
            }
            else
            {
                
formatex(szOption79"\r%s: \wLevel %i \r(%i%s) \y%i $"g_iItems[iItem], LevelAmountg_iItemShort[iItem], iCost);
            }
        }
        
        
//Add all the menu items
        
menu_additem(menuszOptioniNumber);
    }
    
    
//Display the menu
    
menu_display(iPlayermenu0);
    
    return 
PLUGIN_HANDLED;
}

public 
MainMenu_Handle(iPlayermenuitem)
{
    
//Get the menu data
    
if( item == MENU_EXIT )
    {
        
menu_destroy(menu);
        
Cash_StartMenu(iPlayer);
        return 
PLUGIN_HANDLED;
    }
    
    
//Bunc of variables
    
new data[6], iName[64];
    new 
accesscallback;
    
menu_item_getinfo(menuitemaccessdata,5iName63callback);
    
    new 
iItem str_to_numdata ), iCostLevel;
    
Level g_iItemLevel[iPlayer][iItem] + 1;
    
iCost g_iFirstCost[iItem] * (<< (Level 1));
    
    
//If player has maxed out the item
    
if( g_iItemLevel[iPlayer][iItem] == g_iItemMaxLevel[iItem] )
    {
        Print(
iPlayer"^x03You have the max level of %s!"g_iItems[iItem]);
    }
    
//If the player cant afford the item
    
else if( g_iCash[iPlayer] < iCost )
    {
        Print(
iPlayer"^x03You dont have enough Money to buy %s Level: %i"g_iItems[iItem], Level);
    }
    
//Take Cash, Print and give level
    
else
    {
        
//Take cash
        
g_iCash[iPlayer] -= iCost;
        
        
//Give a level
        
g_iItemLevel[iPlayer][iItem] += 1;
        
        
//Print out to the player that he/she bought an item with corresponding level
        
Print(iPlayer"^x03You bought %s Level: %i"g_iItems[iItem], Level);
    }
    
    
Cash_MainMenu(iPlayer);
    return 
PLUGIN_HANDLED;
}

public 
FwdPlayerSpawn(iPlayer)
{
    
//If player is alive when spawned
    
if( is_user_alive(iPlayer) )
    {
        
updateMoney(iPlayer)

        
//If player has bought extra health
        
if( g_iItemLevel[iPlayer][HEALTH] >= )
        {
            
//Set health to its self and add the extra health
            
set_user_health(iPlayerget_user_health(iPlayer) + g_iItemMaxVal[HEALTH] * g_iItemLevel[iPlayer][HEALTH] / g_iItemMaxLevel[HEALTH]);
        }
        
//If player has bought extra armor
        
if( g_iItemLevel[iPlayer][ARMOR] >= )
        {
            
//Set armor to its self and add the extra armor
            
set_user_armor(iPlayerg_iItemMaxVal[ARMOR] * g_iItemLevel[iPlayer][ARMOR] / g_iItemMaxLevel[ARMOR]);
        }
        
//If player has bought stealth
        
if( g_iItemLevel[iPlayer][STEALTH] >= )
        {
            
//Call a function to set stealth
            
Set_Stealth(iPlayer);
                
        }
        
//If player has bought faster running
        
if( g_iItemLevel[iPlayer][FASTER_RUNNING] >= )
        {
        
//Call a function to set speed
            
Set_Speed(iPlayer);
        }            
        
//If player has bought no footsteps
        
if( g_iItemLevel[iPlayer][NO_FOOTSTEPS] >= )
        {
            
set_user_footsteps(iPlayer1);
        }
        
//If player has bought undercover suite
        
if( g_iItemLevel[iPlayer][UNDER_COVER_SUITE] >= )
        {
            
remove_task(iPlayer);
            
set_task(9.0"Set_Undercover"iPlayer);
        }
        
//If player has bought Antifrost nade
        
if( g_iItemLevel[iPlayer][ANTI_FROSTNADE] >= )
        {
            
add_user_immune(iPlayer)
        }
        else
        {
            
remove_user_immune(iPlayer);
        }
        
//If player has bought Laserbeam
        
if( g_iItemLevel[iPlayer][Laserbeam] >= )
        {
            
sLaserShooterUsed[iPlayer] = g_iItemLevel[iPlayer][Laserbeam];
            
sLaserNextUse[iPlayer] = true;
        }
            
        
//Give weapons, the check if the player bought is in the function
        
remove_task(iPlayer);
        
set_task(10.0"Set_Weapons"iPlayer);
    }
}

public 
updateMoney(iPlayer) {
    
set_hudmessage(02122550.010.906.010.0)
    
show_hudmessage(iPlayer"Cash: $%i"g_iCash[iPlayer])
    
    
set_task (10.0"eUpdateMoney"iPlayer )
}

public 
Set_Undercover(iPlayer)
{
    
//Percentage Calculation
    
new iPercent g_iItemMaxVal[UNDER_COVER_SUITE] * g_iItemLevel[iPlayer][UNDER_COVER_SUITE] / g_iItemMaxLevel[UNDER_COVER_SUITE];
    
    
//Get Players Team
    
new CsTeams:team cs_get_user_team(iPlayer);
    
    
//Percentage Usage
    
if( random_num(1100) <= iPercent )
    {
        
//If player is alive
        
if( is_user_alive(iPlayer) )
            {
            if(
team == CS_TEAM_CT)
            {
                
cs_set_user_model(iPlayer"leet");
                Print(
iPlayer"^x03You  look like a Terrorist");
            }
            else if(
team == CS_TEAM_T)
            {
                
cs_set_user_model(iPlayer"gign");
                Print(
iPlayer"^x03You look like a Counter-Terrorist!");
            }
        }
    }
}

public 
Set_Stealth(iPlayer)
{        
    new 
StealthAmt g_iItemLevel[iPlayer][STEALTH] * 25;
    new 
NewStealth 255 StealthAmt;
            
    
set_user_renderingiPlayerkRenderFxNone000kRenderTransAlphaNewStealth );
}

public 
Set_Speed(iPlayer)
{
    
//Percentage Calculation
    
new iPercent g_iItemMaxVal[FASTER_RUNNING] * g_iItemLevel[iPlayer][FASTER_RUNNING] / g_iItemMaxLevel[FASTER_RUNNING];
    
    
//Speed Calculation
    
new iSpeed iPercent 250 100;
    
    
//Set Speed
    
set_user_maxspeed(iPlayer250.0 iSpeed);
}

public 
calc_value(const level, const max_level, const max_value)
{
    return (
max_value level max_level);
}

public 
Set_Weapons(iPlayer)
{
    
//Browse through all menu items
    
new iNumber[5];
    for( new 
iWeap 0iWeap g_iWeapCountiWeap++ )
    {
        
//Bunch of variables
        
num_to_str(iWeapiNumber4);
        
        
//Bullets
        
new iBullets;
        
        if( 
iWeap == WEAPON_FS && g_iWeapLevel[iPlayer][BULLET_FS] >= )
        {
            
iBullets g_iWeapLevel[iPlayer][BULLET_FS] + 1;
        }
        else if( 
iWeap == WEAPON_DEAGLE && g_iWeapLevel[iPlayer][BULLET_DEAGLE] >= )
        {
            
iBullets g_iWeapLevel[iPlayer][BULLET_DEAGLE] + 1;
        }
        else if( 
iWeap == WEAPON_AWP && g_iWeapLevel[iPlayer][BULLET_AWP] >= )
        {
            
iBullets g_iWeapLevel[iPlayer][BULLET_AWP] + 1;
        }
        if( 
iBullets == )
        {
            
iBullets 1;
        }
        
        if( 
g_iWeapLevel[iPlayer][iWeap] >= )
        {
            static 
percent;
            
percent calc_value(g_iWeapLevel[iPlayer][iWeap], g_iWeapMaxLevel[iWeap], g_iWeapMaxVal[iWeap]);
            
            
//new Chance = g_iWeapLevel[iPlayer][iWeap] * g_iWeapMaxVal[iWeap];
            //new randonnumb = random_num(1, 100);
            
            
new message[72];
            
            if(
is_user_connected(iPlayer))
            {
                if( 
percent && (percent == 100 || random_num(1100) <= percent ) )
                {
                    if( 
iWeap == HE_GRENADE && !user_has_weapon(iPlayerg_iWeapClass[HE_GRENADE]) )
                    {    
                        
give_item(iPlayerg_iWeapName[HE_GRENADE]);
                        
formatex(messagesizeof(message) - 1"^x03You recieved a HE Grenade ^x04[%i%%%%]."percent);
                        
                        if(
g_iItemLevel[iPlayer][Heatseek_HE] >= 1)
                        {
                            
gHasHe[iPlayer] = true;
                        }
                    }
                    else
                    {
                        
give_item(iPlayerg_iWeapName[iWeap]);
                        
cs_set_weapon_ammo(find_ent_by_owner(iPlayerg_iWeapName[iWeap], iPlayer), iBullets);
                        
cs_set_user_bpammo(iPlayerg_iWeapClass[iWeap], 0);
                        
formatex(messagesizeof(message) - 1"^x03You recieved a %s with %i bullets ^x04[%i%%%%]."g_iWeapons[iWeap], iBulletspercent);
                    }
                    Print(
iPlayermessage);
                }
            }
        }
    }
    return 
PLUGIN_HANDLED;
}

//The following functions are used to give and remove, dont touch!
public CmdGiveCash(iPlayerlevelcid)
{
    if( !
cmd_access(iPlayerlevelcid3) ) return PLUGIN_HANDLED;
    
    static 
arg[35];
    
read_argv(1argsizeof(arg) - 1);
    
    new 
target cmd_target(iPlayerargCMDTARGET_NO_BOTS);
    if( !
target ) return PLUGIN_HANDLED;
    
    
read_argv(2argsizeof(arg) - 1);
    new 
CASH str_to_num(arg);
    
    if( 
CASH <= )
    {
        
console_print(iPlayer"Not enough Money!");
        if( 
CASH )
        {
            
console_print(iPlayer"Use cm_removecash instead!");
        }
        return 
PLUGIN_HANDLED;
    }
    
    if( 
CASH >= 99999 )
    {
        
console_print(iPlayer"To much Money!");
        return 
PLUGIN_HANDLED;
    }
    
    
g_iCash[target] += CASH;
    
    static 
name[2][32];
    
get_user_name(iPlayername[0], sizeof(name[]) - 1);
    
get_user_name(targetname[1], sizeof(name[]) - 1);
    
    
client_print(iPlayerprint_console"%s You gave %s %i Money!"PREFIXname[1], CASH);
    
    static 
steamid[2][35];
    
get_user_authid(iPlayersteamid[0], sizeof(steamid[]) - 1);
    
get_user_authid(targetsteamid[1], sizeof(steamid[]) - 1);
    
    
log_amx("%s (%s) gave %i XP to %s (%s)"name[0], steamid[0], CASHname[1], steamid[1]);
    
    return 
PLUGIN_HANDLED;
}

public 
CmdRemoveCash(iPlayerlevelcid)
{
    if ( !
cmd_access(iPlayerlevelcid3) ) return PLUGIN_HANDLED;
    
    static 
arg[35];
    
read_argv(1argsizeof(arg) - 1);
    
    new 
target cmd_target(iPlayerargCMDTARGET_OBEY_IMMUNITY|CMDTARGET_NO_BOTS|CMDTARGET_ALLOW_SELF);
    if( !
target ) return PLUGIN_HANDLED;
    
    
read_argv(2argsizeof(arg) - 1);
    new 
Cash str_to_num(arg);
    
    if ( 
Cash <= ) return PLUGIN_HANDLED;
    
g_iCash[target] -= Cash;
    
    new 
t_name[60];
    
get_user_name(targett_name59);

    
client_print(iPlayerprint_console"%s You removed %i Money from %s!"PREFIXCasht_name);
    
    return 
PLUGIN_CONTINUE;
}

public 
bad_fix2() {
    new 
Float:gametime get_gametime();
    if(
gametime g_gametime2 2.5)
        for(new 
032i++)
            
grenade[i] = 0;
}

public 
eventFlashid ) {
    new 
Float:gametime get_gametime();
    if(
gametime != g_gametime) { 
        
g_gametime gametime;
        for(new 
033i++) 
            
g_track[i] = false;
        
g_track_enemy false;
    }    
    if(
g_iItemLevel[id][NO_FLASH] >= 1) {
        
g_track_enemy true;

        
message_begin(MSG_ONEg_msgScreenFade, {0,0,0}, id);
        
write_short(1);
        
write_short(1);
        
write_short(1);
        
write_byte(0);
        
write_byte(0);
        
write_byte(0);
        
write_byte(255);
        
message_end();
    }
}

public 
flash_delay() {
    if(
g_track_enemy == false) {
        for(new 
033i++) {
            if(
g_track[i] == true && is_user_connected(i)) {
                
message_begin(MSG_ONEg_msgScreenFade, {0,0,0}, i) ;
                
write_short(1);
                
write_short(1);
                
write_short(1);
                
write_byte(0);
                
write_byte(0);
                
write_byte(0);
                
write_byte(255);
                
message_end();
            }
        }
    }
}

public 
grenade_throw2() {
    if(
g_sync_check_data == 0)
        return 
PLUGIN_CONTINUE;
    
g_sync_check_data--;
    if(
read_datanum() < 2)
        return 
PLUGIN_HANDLED_MAIN;

    if(
read_data(1) == 11 && (read_data(2) == || read_data(2) == 1))
        
add_grenade_owner(last);

    return 
PLUGIN_CONTINUE;
}

public 
fire_in_the_hole() {
    new 
name[32];
    
read_data(3name31);
    new 
temp_last get_user_index(name);
    new 
junk;
    if((
temp_last == 0) || (!is_user_connected(temp_last)))
        return 
PLUGIN_CONTINUE;
    if(
get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {
        
last temp_last;
        
g_sync_check_data 2
    }
    return 
PLUGIN_CONTINUE;
}

public 
fire_in_the_hole2() {
    new 
name[32];
    
read_data(4name31);
    new 
temp_last get_user_index(name);
    new 
junk;
    if((
temp_last == 0) || (!is_user_connected(temp_last)))
        return 
PLUGIN_CONTINUE;
    if(
get_user_weapon(temp_last,junk,junk) == CSW_FLASHBANG) {    
        
last temp_last;
        
g_sync_check_data 2;
    }
    return 
PLUGIN_CONTINUE;
}

public 
add_grenade_owner(owner)
{
    new 
Float:gametime get_gametime();
    
g_gametime2 gametime;
    for(new 
032i++)
    {
        if(
grenade[i] == 0)
        {
            
grenade[i] = owner;
            return;
        }
    }
}

// from XxAvalanchexX "Flashbang Dynamic Light"
public fw_emitsound(entity,channel,const sample[],Float:volume,Float:attenuation,fFlags,pitch) {
    if(!
equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav"))
        return 
FMRES_IGNORED;

    new 
Float:gametime get_gametime();

    
//in case no one got flashed, the sound happens after all the flashes, same game time
    
if(gametime != g_gametime) {
        return 
FMRES_IGNORED;
    }
    return 
FMRES_IGNORED;
}
// NoFlash Blinding - End

public DoZoom2(id)
{
    
    if(    !
is_user_alive(id)
    ||    
get_pdata_float(idm_flNextAttackXTRA_OFS_PLAYER) >= 0.0
    
||    ~get_pdata_int(idm_afButtonPressedXTRA_OFS_PLAYER) & IN_ATTACK2
    
&&    g_iItemLevel[id][SCOPE] <= )
    {
        return 
0;
    }
    else if(
pev(id,pev_button) & IN_ATTACK2 && get_user_weapon(id) == CSW_DEAGLE && g_iItemLevel[id][SCOPE] >= 1)
    {
        
        new 
iFov
        
switch( get_pdata_int(idm_iFOVXTRA_OFS_PLAYER) )
        {
            case 
40:iFov 15
            
case 15:iFov 0
            
default:iFov 40
        
}
    
        
set_pev(idpev_foviFov)
        
set_pdata_int(idm_iFOViFovXTRA_OFS_PLAYER)
        
        
set_pdata_float(idm_flNextAttack0.25)
        
emit_sound(idCHAN_ITEM"weapons/zoom.wav"0.202.400100)
    }
    return 
PLUGIN_CONTINUE;
}

Print(
iPlayer, const sMsg[], any:...)
{
    static 
iiPlayer iPlayer get_Player();
    if ( !
) return;
    
    new 
sMessage[256];
    new 
len formatex(sMessagesizeof(sMessage) - 1"^x04%s "PREFIX);
    
vformat(sMessage[len], sizeof(sMessage) - lensMsg3);
    
sMessage[192] = '^0';
        
    static 
msgid_SayText;
    if ( !
msgid_SayText msgid_SayText get_user_msgid("SayText");
    
    new const 
team_Names[][] =
    {
        
"",
        
"TERRORIST",
        
"CT",
        
"SPECTATOR"
    
};
        
    new 
sTeam get_user_team(i);
    
    
team_Info(iiPlayerteam_Names[0]);
        
    
message_begin(iPlayer MSG_ONE_UNRELIABLE MSG_BROADCASTmsgid_SayText_iPlayer);
    
write_byte(i);
    
write_string(sMessage);
    
message_end();
        
    
team_Info(iiPlayerteam_Names[sTeam]);
}

team_Info(receiversendersTeam[])
{
    static 
msgid_TeamInfo;
    if ( !
msgid_TeamInfo msgid_TeamInfo get_user_msgid("TeamInfo");
    
    
message_begin(sender MSG_ONE_UNRELIABLE MSG_BROADCASTmsgid_TeamInfo_sender);
    
write_byte(receiver);
    
write_string(sTeam);
    
message_end();
}

get_Player()
{
    for ( new 
iPlayer 1iPlayer <= get_maxplayers(); iPlayer++ )
    {
        return 
iPlayer;
    }
    
    return 
0;

__________________
Napoleon_be is offline
Send a message via Skype™ to Napoleon_be
Groven
AlliedModders Donor
Join Date: Apr 2011
Location: Sweden
Old 06-28-2016 , 15:44   Re: Show Money
Reply With Quote #22

Is it possible for me to add you on Skype?
__________________
Groven 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 05:16.


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