AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Adding ammo (https://forums.alliedmods.net/showthread.php?t=140731)

FragOwn 10-16-2010 04:46

Adding ammo
 
Can someone help me on how to add ammo. I'm noob.

PHP Code:

#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>

#define is_valid_player(%1) (1 <= %1 <= 32)

new M4_V_MODEL[64] = "models/v_m4a1_1.mdl"
new M4_P_MODEL[64] = "models/p_m4a1_1.mdl"

/* Pcvars */
new cvar_dmgmultipliercvar_goldbullets,  cvar_custommodelcvar_uclipcvar_cost

new bool:g_HasM4[33]

new 
bullets33 ]

// Sprite
new m_spriteTexture

const Wep_m4a1 = ((1<<CSW_M4A1))

public 
plugin_init()
{
    
    
/* CVARS */
    
cvar_dmgmultiplier register_cvar("m4_dmg_multiplier""6")
    
cvar_custommodel register_cvar("m4_custom_model""1")
    
cvar_goldbullets register_cvar("m4_gold_bullets""0")
    
cvar_uclip register_cvar("m4_unlimited_clip""0")
    
cvar_cost register_cvar("m4_cost""6000")

    
// Register The Buy Cmd
    
register_clcmd("say /buy_m4""CmdBuyM4")
    
register_clcmd("say_team /buy_m4""CmdBuyM4")
    
    
// Register The Plugin
    
register_plugin("? ?""1.0""? ?")
    
// Death Msg
    
register_event("DeathMsg""Death""a")
    
// Weapon Pick Up
    
register_event("WeapPickup","checkModel","b","1=19")
    
// Current Weapon Event
    
register_event("CurWeapon","checkWeapon","be","1=1")
    
register_event("CurWeapon""make_tracer""be""1=1""3>0")
    
// Ham TakeDamage
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
}

public 
client_connect(id)
{
    
g_HasM4[id] = false
}

public 
client_disconnect(id)
{
    
g_HasM4[id] = false
}

public 
Death()
{
    
g_HasM4[read_data(2)] = false
}

public 
fwHamPlayerSpawnPost(id)
{
    
g_HasM4[id] = false
}

public 
plugin_precache()
{
    
precache_model(M4_V_MODEL)
    
precache_model(M4_P_MODEL)
    
m_spriteTexture precache_model("sprites/dot.spr")
    
precache_sound("weapons/zoom.wav")
}

public 
checkModel(id)
{
    
    new 
szWeapID read_data(2)
    
    if ( 
szWeapID == CSW_M4A1 && g_HasM4[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        
set_pev(idpev_viewmodel2M4_V_MODEL)
        
set_pev(idpev_weaponmodel2M4_P_MODEL)
    }
    return 
PLUGIN_HANDLED
}

public 
checkWeapon(id)
{
    new 
plrClipplrAmmoplrWeap[32]
    new 
plrWeapId
    
    plrWeapId 
get_user_weapon(idplrClip plrAmmo)
    
    if (
plrWeapId == CSW_M4A1 && g_HasM4[id])
    {
        
checkModel(id)
    }
    else 
    {
        return 
PLUGIN_CONTINUE
    
}
    
    if (
plrClip == && get_pcvar_num(cvar_uclip))
    {
        
// If the user is out of ammo..
        
get_weaponname(plrWeapIdplrWeap31)
        
// Get the name of their weapon
        
give_item(idplrWeap)
        
engclient_cmd(idplrWeap
        
engclient_cmd(idplrWeap)
        
engclient_cmd(idplrWeap)
    }
    return 
PLUGIN_HANDLED
}



public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if ( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_M4A1 && g_HasM4[attacker] )
    {
        
SetHamParamFloat(4damage get_pcvar_floatcvar_dmgmultiplier ) )
    }
}

public 
make_tracer(id)
{
    if (
get_pcvar_num(cvar_goldbullets))
    {
        new 
clip,ammo
        
new wpnid get_user_weapon(id,clip,ammo)
        new 
pteam[16]
        
        
get_user_team(idpteam15)
        
        if ((
bullets[id] > clip) && (wpnid == CSW_M4A1) && g_HasM4[id]) 
        {
            new 
vec1[3], vec2[3]
            
get_user_origin(idvec11// origin; your camera point.
            
get_user_origin(idvec24// termina; where your bullet goes (4 is cs-only)
            
            
            //BEAMENTPOINTS
            
message_beginMSG_BROADCAST,SVC_TEMPENTITY)
            
write_byte (0)     //TE_BEAMENTPOINTS 0
            
write_coord(vec1[0])
            
write_coord(vec1[1])
            
write_coord(vec1[2])
            
write_coord(vec2[0])
            
write_coord(vec2[1])
            
write_coord(vec2[2])
            
write_shortm_spriteTexture )
            
write_byte(1// framestart
            
write_byte(5// framerate
            
write_byte(2// life
            
write_byte(10// width
            
write_byte(0// noise
            
write_byte255 )     // r, g, b
            
write_byte215 )       // r, g, b
            
write_byte)       // r, g, b
            
write_byte(200// brightness
            
write_byte(150// speed
            
message_end()
        }
    
        
bullets[id] = clip
    
}
    
}

public 
CmdBuyM4(id)
{
    if ( !
is_user_alive(id) )
    {
        return 
PLUGIN_HANDLED
    
}
    
    new 
money cs_get_user_money(id)
    
    if (
money >= get_pcvar_num(cvar_cost))
    {
        
cs_set_user_money(idmoney get_pcvar_num(cvar_cost))
        
give_item(id"weapon_m4a1")
        
g_HasM4[id] = true
    
}
    return 
PLUGIN_HANDLED
}


stock drop_prim(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
Wep_m4a1 & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }



zirualas 10-16-2010 06:42

Re: Adding ammo
 
cs_set_user_bpammo(id, CSW_DEAGLE, 200)
cs_set_user_bpammo(index, weaponname, how much bullets)

FragOwn 10-16-2010 06:53

Re: Adding ammo
 
no need the weapon's ammo name? 556nato?

zirualas 10-16-2010 06:57

Re: Adding ammo
 
No.
etc.
give_item(id, "weapon_deagle)
cs_set_user_bpammo(id, CSW_DEAGLE, 200)


All times are GMT -4. The time now is 10:27.

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