Raised This Month: $ Target: $400
 0% 

[ZP] Extra Item Buy Limit


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Gasa
Senior Member
Join Date: Sep 2013
Old 11-24-2013 , 07:53   Re: [ZP] Extra Item Buy Limit
Reply With Quote #1

PHP Code:
#include <amxmodx> 
#include <fakemeta> 
#include <zombieplague> 
#include <ColorChat> 
#include <zp50_items> 

/*================================================================================ 
 [Plugin Customization] 
=================================================================================*/ 

new const g_item_name[] = { "Unlimited Clip" 
const 
g_item_cost 10 

/*============================================================================*/ 

// CS Offsets 
#if cellbits == 32 
const OFFSET_CLIPAMMO 51 
#else 
const OFFSET_CLIPAMMO 65 
#endif 
const OFFSET_LINUX_WEAPONS 

// Max Clip for weapons 
new const MAXCLIP[] = { -113, -11017, -1303013020253035251220
            
10301008303020273030, -150 

new 
g_itemid_infammog_has_unlimited_clip[33


public 
plugin_init() 

    
register_plugin("[ZP] Extra: Unlimited Clip""1.0""zp4.3"
     
    
g_itemid_infammo zp_register_extra_item(g_item_nameg_item_costZP_TEAM_HUMAN)     
     
    
register_event("HLTV""event_round_start""a""1=0""2=0"
    
register_message(get_user_msgid("CurWeapon"), "message_cur_weapon"


public 
zp_fw_items_select_pre(iditemid)
{
    if(
itemid != g_has_unlimited_clip[id])
        return 
ZP_ITEM_AVAILABLE
        
    
if (g_has_unlimited_clip[id])
        return 
ZP_ITEM_NOT_AVAILABLE

    
if(zp_get_user_zombie(id))
        return 
ZP_ITEM_DONT_SHOW

    
return ZP_ITEM_AVAILABLE
}

// Player buys our upgrade, set the unlimited ammo flag 
public zp_extra_item_selected(playeritemid

    if (
itemid == g_itemid_infammo
    { 
        
g_has_unlimited_clip[player] = true 
        ColorChat
(playerGREEN"[ZP] ^x01You bought^x04 Unlimited Clip^x01!"
        } 


// Reset flags for all players on newround 
public event_round_start() 

    for (new 
idid <= 32id++) g_has_unlimited_clip[id] = false


// Unlimited clip code 
public message_cur_weapon(msg_idmsg_destmsg_entity

    
// Player doesn't have the unlimited clip upgrade 
    
if (!g_has_unlimited_clip[msg_entity]) 
        return; 
     
    
// Player not alive or not an active weapon 
    
if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1
        return; 
     
    static 
weaponclip 
    weapon 
get_msg_arg_int(2// get weapon ID 
    
clip get_msg_arg_int(3// get weapon clip 
     
    // Unlimited Clip Ammo 
    
if (MAXCLIP[weapon] > 2// skip grenades 
    

        
set_msg_arg_int(3get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time 
         
        
if (clip 2// refill when clip is nearly empty 
        

            
// Get the weapon entity 
            
static wname[32], weapon_ent 
            get_weaponname
(weaponwnamesizeof wname 1
            
weapon_ent fm_find_ent_by_owner(-1wnamemsg_entity
             
            
// Set max clip on weapon 
            
fm_set_weapon_ammo(weapon_entMAXCLIP[weapon]) 
        } 
    } 


// Find entity by its owner (from fakemeta_util) 
stock fm_find_ent_by_owner(entity, const classname[], owner

    while ((
entity engfunc(EngFunc_FindEntityByStringentity"classname"classname)) && pev(entitypev_owner) != owner) {} 
     
    return 
entity


// Set Weapon Clip Ammo 
stock fm_set_weapon_ammo(entityamount

    
set_pdata_int(entityOFFSET_CLIPAMMOamountOFFSET_LINUX_WEAPONS); 

Gasa 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 23:20.


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