Raised This Month: $32 Target: $400
 8% 

Help with my plugin


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
larito
Veteran Member
Join Date: Nov 2008
Location: Argentina- Mendoza
Old 05-09-2009 , 16:13   Help with my plugin
Reply With Quote #1

I´m working in this plugin, the plugin is done, but something is wrong.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <cstrike>

//offsets
#define OFFSET_AWM_AMMO        377 
#define OFFSET_SCOUT_AMMO    378
#define OFFSET_PARA_AMMO    379
#define OFFSET_FAMAS_AMMO     380
#define OFFSET_M3_AMMO        381
#define OFFSET_USP_AMMO        382
#define OFFSET_FIVESEVEN_AMMO    383
#define OFFSET_DEAGLE_AMMO    384
#define OFFSET_P228_AMMO    385
#define OFFSET_GLOCK_AMMO    386
#define OFFSET_FLASH_AMMO    387
#define OFFSET_HE_AMMO        388
#define OFFSET_SMOKE_AMMO    389
#define OFFSET_C4_AMMO        390
#define OFFSET_LINUX        5


#define class_awp "ammo_awp"
#define class_aug "ammo_aug"
#define class_scout "ammo_scout"

/* Bpammo for Weapon*/
#define ammo_awp    30
#define ammo_aug    90
#define ammo_scout    90


/* Code by Fxfighter*/
#define wp_max        pev_iuser2
#define wp_left        pev_iuser3
new amountTime

// Cvars
new hl_reset_timehl_reset_amount


public plugin_init()
{
    
register_plugin("Ammo Spawner""1.0[beta]""Darckbaston")
    
register_forward(FM_Touch"touch_weapon")
    
register_forward(FM_Think"fm_think")
    
    
register_clcmd("hl_menu","hl_menu")
    
// cvar
    
hl_reset_time register_cvar("hl_reset_gun_time","3")
    
hl_reset_amount =register_cvar("hl_reset_gun_amount","10")
    
amount get_pcvar_num(hl_reset_amount)
    
Time get_pcvar_num(hl_reset_time)
}

public 
hl_menu(id)
{
    new 
menu menu_create("\y Spawn Ammo Menu""menu_handler")
    
menu_additem(menu"\w Aug Ammo    ""1"0)
    
menu_additem(menu"\w Scout Ammo""2"0)
    
menu_additem(menu"\w Awp Ammo     ""3"0)
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
menu_display(idmenu0)
}

public 
menu_handler(idmenuitem)
{
    
    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:
        {
            new 
Float:origin[3]
            
pev(id,pev_origin,origin)
            
origin[2]+=30.0
            set_pev
(id,pev_origin,origin)
            
origin[2]-=30.0
            aug
(1origin)
        }
        case 
2:
        {
            new 
Float:origin[3]
            
pev(id,pev_origin,origin)
            
origin[2]+=30.0
            set_pev
(id,pev_origin,origin)
            
origin[2]-=30.0
            scout
(1origin)
        }
        case 
3:
        {
            new 
Float:origin[3]
            
pev(id,pev_origin,origin)
            
origin[2]+=30.0
            set_pev
(id,pev_origin,origin)
            
origin[2]-=30.0
            awp
(,origin)
        }
    }
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}


/*    Create Weapon    */
public scout(countFloat:origin[])
{
    new 
weapon engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"func_wall"))
    
set_pev(weapon,pev_classnameclass_scout)
    
    
engfunc(EngFunc_SetModelweapon"models/w_scout.mdl")
    
engfunc(EngFunc_SetSizeweapon, {-1.0,-1.0,-1.0},{1.01.01.0})
    
set_pev(weapon,pev_solid,2)
    
set_pev(weapon,pev_origin,origin)
    
engfunc(EngFunc_DropToFloorweapon)
    
set_pev(weapon,wp_left,count)
    
set_pev(weapon,wp_max,count)
}

public 
aug(countFloat:origin[])
{
    new 
weapon engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"func_wall"))
    
set_pev(weapon,pev_classnameclass_aug)
    
    
engfunc(EngFunc_SetModelweapon"models/w_aug.mdl")
    
engfunc(EngFunc_SetSizeweapon, {-1.0,-1.0,-1.0},{1.01.01.0})
    
set_pev(weapon,pev_solid,2)
    
set_pev(weapon,pev_origin,origin)
    
engfunc(EngFunc_DropToFloorweapon)
    
set_pev(weapon,wp_left,count)
    
set_pev(weapon,wp_max,count)
}

public 
awp(countFloat:origin[])
{
    new 
weapon engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"func_wall"))
    
set_pev(weapon,pev_classnameclass_awp)
    
    
engfunc(EngFunc_SetModelweapon"models/w_awp.mdl")
    
engfunc(EngFunc_SetSizeweapon, {-1.0,-1.0,-1.0},{1.01.01.0})
    
set_pev(weapon,pev_solid,2)
    
set_pev(weapon,pev_origin,origin)
    
engfunc(EngFunc_DropToFloorweapon)
    
set_pev(weapon,wp_left,count)
    
set_pev(weapon,wp_max,count)
}

/* Touch Weapon*/
public touch_weapon(idweapon)
{
    if(!
pev_valid(weapon) || !pev_valid(id) )return
    static 
classname[20]
    
pev(weaponpev_classnameclassname,19)        
    
    if(
equal(classname,class_aug))  cs_set_user_bpammo(idCSW_AUGammo_aug)
    if(
equal(classname,class_awp))  cs_set_user_bpammo(idCSW_AWPammo_awp)
    if(
equal(classnameclass_scout)) cs_set_user_bpammo(idCSW_SCOUT,ammo_scout)

     
/*Code by Fxfighter*/
    // Setea para que solo este en el suelo una carga en el piso y
    
static left ;left pev(weapon,wp_left)
    
left-=1
    set_pev
(weapon,wp_left,left)    
    
    
// Setea para que aparescan de nuevo en un tiempo determinado
    
if(amount != 0)set_pev(weaponpev_nextthinkget_gametime() + Time)
    
    
    
// Setea para que no sea visible cuando no hay cargas en el suelo
    
if(!left)
    {
        
set_pev(weaponpev_renderfxkRenderFxNone)
        
set_pev(weaponpev_rendercolor, {0.0,0.0,0.0})
        
set_pev(weaponpev_rendermodekRenderTransAlpha)
        
set_pev(weaponpev_renderamt0.0)
    }

    
/* Finish */
}


/*     Reset Ammo    */
public fm_think(ent)
{
    if(!
pev_valid(ent))return
        
    static 
classname[32]
    
pev(entpev_classnameclassname31)
    
    
//not our weapon
    
if(!equal(classnameclass_aug) || !equal(classnameclass_scout) || !equal(classnameclass_awp) )return

    
    
//get values
    
classname[0] = pev(ent,wp_max)
    
classname[1] = pev(ent,wp_left)
    
    
//if its full return
    
if(classname[1] == classname[0])return
    
    
//if invisiable
    
if(!classname[1])
    {
        
set_pev(entpev_renderfxkRenderNormal)
        
set_pev(entpev_rendercolor, {255.0,255.0,255.0})
        
set_pev(entpev_rendermodekRenderTransAlpha)
        
set_pev(entpev_renderamt255.0)
    }
    
    
//add
    
classname[1] +=amount
    
    
//set it
    
if(classname[1] > classname[0])set_pev(ent,wp_left,classname[0])
    else 
set_pev(ent,wp_left,classname[1])
    
    if(
classname[1] != classname[0]) set_pev(entpev_nextthinkget_gametime() + Time)
}

public 
reset()
{
    new 
value,weapon
    
while((weapon engfunc(EngFunc_FindEntityByStringweapon"classname"class_aug)) != 0)
    {
        
value=pev(weapon,wp_left)
        if(!
value)
        {
            
set_pev(weaponpev_renderfxkRenderNormal)
            
set_pev(weaponpev_rendercolor, {255.0,255.0,255.0})
            
set_pev(weaponpev_rendermodekRenderTransAlpha)
            
set_pev(weaponpev_renderamt255.0)
            
        }
        
value=pev(weapon,wp_max)
        
set_pev(weapon,wp_left,value)
        
    }
    while((
weapon engfunc(EngFunc_FindEntityByStringweapon"classname"class_awp)) != 0)
    {
        
value=pev(weapon,wp_left)
        if(!
value)
        {
            
set_pev(weaponpev_renderfxkRenderNormal)
            
set_pev(weaponpev_rendercolor, {255.0,255.0,255.0})
            
set_pev(weaponpev_rendermodekRenderTransAlpha)
            
set_pev(weaponpev_renderamt255.0)
            
        }
        
value=pev(weapon,wp_max)
        
set_pev(weapon,wp_left,value)
        
    }
    while((
weapon engfunc(EngFunc_FindEntityByStringweapon"classname"class_scout)) != 0)
    {
        
value=pev(weapon,wp_left)
        if(!
value)
        {
            
set_pev(weaponpev_renderfxkRenderNormal)
            
set_pev(weaponpev_rendercolor, {255.0,255.0,255.0})
            
set_pev(weaponpev_rendermodekRenderTransAlpha)
            
set_pev(weaponpev_renderamt255.0)
            
        }
        
value=pev(weapon,wp_max)
        
set_pev(weapon,wp_left,value)
        
    }
}

/*    Stocks     */
stock fm_set_user_bpammo(idweaponamount)
{
    static 
offset
    
    
switch(weapon)
    {
        case 
CSW_AWPoffset OFFSET_AWM_AMMO;
        case 
CSW_SCOUT,CSW_AK47,CSW_G3SG1offset OFFSET_SCOUT_AMMO;
        case 
CSW_M249offset OFFSET_PARA_AMMO;
        case 
CSW_M4A1,CSW_FAMAS,CSW_AUG,CSW_SG550,CSW_GALI,CSW_SG552offset OFFSET_FAMAS_AMMO;
        case 
CSW_M3,CSW_XM1014offset OFFSET_M3_AMMO;
        case 
CSW_USP,CSW_UMP45,CSW_MAC10offset OFFSET_USP_AMMO;
        case 
CSW_FIVESEVEN,CSW_P90offset OFFSET_FIVESEVEN_AMMO;
        case 
CSW_DEAGLEoffset OFFSET_DEAGLE_AMMO;
        case 
CSW_P228offset OFFSET_P228_AMMO;
        case 
CSW_GLOCK18,CSW_MP5NAVY,CSW_TMP,CSW_ELITEoffset OFFSET_GLOCK_AMMO;
        case 
CSW_FLASHBANGoffset OFFSET_FLASH_AMMO;
        case 
CSW_HEGRENADEoffset OFFSET_HE_AMMO;
        case 
CSW_SMOKEGRENADEoffset OFFSET_SMOKE_AMMO;
        case 
CSW_C4offset OFFSET_C4_AMMO;
        default: return;
    }
    
    
set_pdata_int(idoffsetamountOFFSET_LINUX)

Fuction: is very easy , the fuction is equal the plugin weapon_spawner but this spawner bpammo, the problem is what dont respawn after 3 sec.

Can help my plis?

Sorry for my bad english, i´m from Argentina!
Attached Files
File Type: sma Get Plugin or Get Source (spawn_ammo.sma - 106 views - 9.4 KB)
__________________
Facebook: Ariel Berardi

Last edited by larito; 05-10-2009 at 11:18.
larito is offline
Send a message via MSN to larito
-Acid-
Senior Member
Join Date: Feb 2009
Old 05-10-2009 , 01:54   Re: Help with my plugin
Reply With Quote #2

Post your code not the plugin.
__________________
-Acid- is offline
TitANious
Veteran Member
Join Date: Feb 2009
Location: Denmark
Old 05-10-2009 , 02:37   Re: Help with my plugin
Reply With Quote #3

Are you Darckbaston?
__________________
I dislike this.

"A sneeze never comes alone!" <-- Important to remember.
TitANious is offline
Send a message via MSN to TitANious
-Acid-
Senior Member
Join Date: Feb 2009
Old 05-10-2009 , 03:45   Re: Help with my plugin
Reply With Quote #4

me?
__________________
-Acid- is offline
TitANious
Veteran Member
Join Date: Feb 2009
Location: Denmark
Old 05-10-2009 , 03:48   Re: Help with my plugin
Reply With Quote #5

No larito Pls dont bold the all
__________________
I dislike this.

"A sneeze never comes alone!" <-- Important to remember.
TitANious is offline
Send a message via MSN to TitANious
larito
Veteran Member
Join Date: Nov 2008
Location: Argentina- Mendoza
Old 05-10-2009 , 10:10   Re: Help with my plugin
Reply With Quote #6

Quote:
Originally Posted by TitANious View Post
Are you Darckbaston?
Yes, because the question?

@-Acid-
Ok, now post the code

PD: the plugin is my, but 25% the code is the plugin "weapon_spawner"

Sorry for my bad english, I´m from Argentina
__________________
Facebook: Ariel Berardi

Last edited by larito; 05-10-2009 at 11:17.
larito is offline
Send a message via MSN to larito
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 19:03.


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