Raised This Month: $ Target: $400
 0% 

Can you fix a little bug in this plugin? (plugin can't save the cfg file)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
cs1.7
Senior Member
Join Date: Oct 2008
Old 06-06-2010 , 13:59   Can you fix a little bug in this plugin? (plugin can't save the cfg file)
Reply With Quote #1

Hi,

the plugin won't save the config file. Something must be wrong with the "save()" function. Can someone fix it?

Thx!


PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

//ent name
#define wp_ent "weapon_entity"

//ent values
#define WP_Type pev_iuser4
#define WP_Left pev_iuser3
#define WP_Max  pev_iuser2

//primary and secondary weapons
#define PRIMARY_WEAPONS ((1<<CSW_SCOUT) | (1<<CSW_XM1014) | (1<<CSW_MAC10) | (1<<CSW_AUG) | (1<<CSW_UMP45) | (1<<CSW_SG550) | (1<<CSW_GALIL) | (1<<CSW_FAMAS) | (1<<CSW_AWP) | (1<<CSW_MP5NAVY) | (1<<CSW_M249) | (1<<CSW_M3) | (1<<CSW_M4A1) | (1<<CSW_TMP) | (1<<CSW_G3SG1) | (1<<CSW_SG552) | (1<<CSW_AK47) | (1<<CSW_P90))
#define SECONDARY_WEAPONS ((1<<CSW_P228) | (1<<CSW_ELITE) | (1<<CSW_FIVESEVEN) | (1<<CSW_USP) | (1<<CSW_GLOCK18) | (1<<CSW_DEAGLE))

//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 linuxdiff        5

//ammo for each gun
#define AMMO_P228    52
#define AMMO_SCOUT    90
#define AMMO_Xm1014    32
#define AMMO_Mac10    100
#define AMMO_Aug    90
#define AMMO_Elite    120
#define AMMO_Fiveseven    100
#define AMMO_Ump45    100
#define AMMO_Sg550    90
#define AMMO_Galil    90
#define AMMO_Famas    90
#define AMMO_Usp    100
#define AMMO_Glock18    120
#define AMMO_Awp    30
#define AMMO_Mp5navy    120
#define AMMO_M249    200
#define AMMO_M3        32
#define AMMO_M4a1     90
#define AMMO_Tmp    120
#define AMMO_G3sg1    90
#define AMMO_Deagle    35
#define AMMO_Sg552    90
#define AMMO_Ak47    90
#define AMMO_P90    100

//array whit primary and secondary weapons
new const Secondary[] = {CSW_P228CSW_ELITECSW_FIVESEVENCSW_USPCSW_GLOCK18CSW_DEAGLE};
new const 
Primary[]={CSW_SCOUT,CSW_XM1014,CSW_MAC10,CSW_AUG,CSW_UMP45,CSW_SG550,CSW_GALIL,CSW_FAMAS,CSW_AWP,CSW_MP5NAVY,CSW_M249,CSW_M3,CSW_M4A1,CSW_TMP,CSW_G3SG1,CSW_SG552,CSW_AK47,CSW_P90}            

//will store the weapon id after picking it on menu
new Selected[33]
new 
pcvar,Float:Time

public plugin_init()
{
    
register_plugin("Weapon Spawner""1.3""Fxfighter")
    
    
register_clcmd("ws_menu","Menu")
    
    
pcvar register_cvar("ws_auto_remove","1")
    if(
get_pcvar_num(pcvar))remove_normal()
    
    
pcvar =    register_cvar("ws_auto_load","1")
    if(
get_pcvar_num(pcvar))load()
    
    
//regisetr reset cvar and get its value
    
pcvar =    register_cvar("ws_reset_round","1")
    if(
get_pcvar_num(pcvar))
    {
        
register_logevent("reset"2"1=Round_End"
        
register_event("TextMsg""reset""a""2=#Game_will_restart_in")
    }
    
pcvar =    register_cvar("ws_reset_gun","1")
    if(
get_pcvar_num(pcvar))
    {
        
register_forward(FM_Think"Forward_Think")
        
        
pcvar register_cvar("ws_reset_gun_time","10")
        
Time get_pcvar_float(pcvar)
        
        
pcvar =    register_cvar("ws_reset_gun_amount","10")
        
pcvar get_pcvar_num(pcvar)
    }
    
    
register_forward(FM_Touch,"Equip")
}
public 
Equip(id,weapon)
{
    if(!
pev_valid(weapon) || !pev_valid(id) )return
    static 
classname[20]
    
pev(weaponpev_classnameclassname,19)    
    if(!
equal(classname,wp_ent))return
    
    static 
left,type,i
    left 
pev(weapon,WP_Left)
    if(!
left)return
    
type pev(weapon,WP_Type)
    
    
//check if its a primary
    
if(PRIMARY_WEAPONS & ( << type))
    {
        for (
0sizeof Primary; ++i)
        {
            
//cant have more then 1 primary
            
if(user_has_weapon(id,Primary[i]))return
        }
    }
    
//check if its secondary
    
else if(SECONDARY_WEAPONS & ( << type))
    {
        for (
0sizeof Secondary; ++i)
        {
            
//cant have more then 2 secondary
            
if(user_has_weapon(id,Secondary[i]))return
        }
    }
    
//if its armor
    
else if(type == 31||type==32)
    {
        
//cant have moret hen 100 in armor
        
if(pev(id,pev_armorvalue) == 100.0)return
    }
    
//if its granade or knife and he already got one
    
else if(user_has_weapon(id,type))return
    
    
//give weapon and ammo
    
switch(type)
    {
        case 
:
        {
            
fm_give_item(id,"weapon_p228")
            
set_pdata_int(id,OFFSET_P228_AMMO,AMMO_P228,linuxdiff)
        }
        case 
:fm_give_item(id,"weapon_shield")
        case 
:
        {
            
fm_give_item(id,"weapon_scout")
            
set_pdata_int(id,OFFSET_SCOUT_AMMO,AMMO_SCOUT,linuxdiff)
        }
        case 
:
        {
            
fm_give_item(id,"weapon_hegrenade")
            
//set_pdata_int(id,OFFSET_HE_AMMO,amount,linuxdiff)
        
}
        case 
:
        {
            
fm_give_item(id,"weapon_xm1014")
            
set_pdata_int(id,OFFSET_M3_AMMO,AMMO_Xm1014,linuxdiff)
        }
        case 
:
        {
            
fm_give_item(id,"weapon_mac10")
            
set_pdata_int(id,OFFSET_USP_AMMO,AMMO_Mac10,linuxdiff)
        }
        case 
:
        {
            
fm_give_item(id,"weapon_aug")
            
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Aug,linuxdiff)
        }
        case 
:
        {
            
fm_give_item(id,"weapon_smokegrenade")
            
//set_pdata_int(id,OFFSET_SMOKE_AMMO,amount,linuxdiff)
        
}
            
        case 
10:
        {
            
fm_give_item(id,"weapon_elite")
            
set_pdata_int(id,OFFSET_GLOCK_AMMO,AMMO_Elite,linuxdiff)
        }
        case 
11:
        {
            
fm_give_item(id,"weapon_fiveseven")
            
set_pdata_int(id,OFFSET_FIVESEVEN_AMMO,AMMO_Fiveseven,linuxdiff)
        }
        case 
12:
        {
            
fm_give_item(id,"weapon_ump45")
            
set_pdata_int(id,OFFSET_USP_AMMO,AMMO_Ump45,linuxdiff)
        }
        case 
13:
        {
            
fm_give_item(id,"weapon_sg550")
            
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Sg550,linuxdiff)
        }
        case 
14:
        {
            
fm_give_item(id,"weapon_galil")
            
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Galil,linuxdiff)
        }
        case 
15:
        {
            
fm_give_item(id,"weapon_famas")
            
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Famas,linuxdiff)
        }
        case 
16:
        {
            
fm_give_item(id,"weapon_usp")
            
set_pdata_int(id,OFFSET_USP_AMMO,AMMO_Usp,linuxdiff)
        }
        case 
17:
        {
            
fm_give_item(id,"weapon_glock18")
            
set_pdata_int(id,OFFSET_GLOCK_AMMO,AMMO_Glock18,linuxdiff)
        }
        case 
18:
        {
            
fm_give_item(id,"weapon_awp")
            
set_pdata_int(id,OFFSET_AWM_AMMO,AMMO_Awp,linuxdiff)
        }
        case 
19:
        {
            
fm_give_item(id,"weapon_mp5navy")
            
set_pdata_int(id,OFFSET_GLOCK_AMMO,AMMO_Mp5navy,linuxdiff)
        }
        case 
20:
        {
            
fm_give_item(id,"weapon_m249")
            
set_pdata_int(id,OFFSET_PARA_AMMO,AMMO_M249,linuxdiff)
        }
        case 
21:
        {
            
fm_give_item(id,"weapon_m3")
            
set_pdata_int(id,OFFSET_M3_AMMO,AMMO_M3,linuxdiff)
        }
        case 
22:
        {
            
fm_give_item(id,"weapon_m4a1")
            
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_M4a1,linuxdiff)
        }
        case 
23:
        {
            
fm_give_item(id,"weapon_tmp")
            
set_pdata_int(id,OFFSET_GLOCK_AMMO,AMMO_Tmp,linuxdiff)
        }
        case 
24:
        {
            
fm_give_item(id,"weapon_g3sg1")
            
set_pdata_int(id,OFFSET_SCOUT_AMMO,AMMO_G3sg1,linuxdiff)
        }
        case 
25:
        {
            
fm_give_item(id,"weapon_flashbang")
            
//set_pdata_int(id,OFFSET_FLASH_AMMO,amount,linuxdiff)
        
}
        case 
26:
        {
            
fm_give_item(id,"weapon_deagle")
            
set_pdata_int(id,OFFSET_DEAGLE_AMMO,AMMO_Deagle,linuxdiff)
        }
        case 
27:
        {
            
fm_give_item(id,"weapon_sg552")
            
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Sg552,linuxdiff)
        }
        case 
28:
        {
            
fm_give_item(id,"weapon_ak47")
            
set_pdata_int(id,OFFSET_SCOUT_AMMO,AMMO_Ak47,linuxdiff)
        }
        case 
29:fm_give_item(id,"weapon_knife")
        case 
30:
        {
            
fm_give_item(id,"weapon_p90")
            
set_pdata_int(id,OFFSET_FIVESEVEN_AMMO,AMMO_P90,linuxdiff)
        }
        case 
31:fm_give_item(id,"item_kevlar")
        case 
32:fm_give_item(id,"item_assaultsuit")
    }
    
//lower the weapons number whit 1
    
left-=1
    set_pev
(weapon,WP_Left,left)
    
    
//set refill
    
if(pcvar != 0)set_pev(weaponpev_nextthinkget_gametime() + Time)
    
    
//if nothing left make invisiable
    
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)
    }
}
public 
Forward_Think(ent)
{
    if(!
pev_valid(ent))return
    
    static 
classname[32]
    
pev(entpev_classnameclassname31)
    
    
//not our weapon
    
if(!equal(classnamewp_ent))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] +=pcvar
    
    
//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 
Menu(id,nr)
{
    
//not havign kick flag
    
if(!(get_user_flags(id0) & ADMIN_KICK))return PLUGIN_CONTINUE
    
    
new menu
    
switch(nr)
    {
        
//pages
        
case 1:
        {
            
menu menu_create("\rSpawn A Weapon""handler")
            
menu_additem(menu"Rifles""110" 0)
            
menu_additem(menu"Pistols""111" 0)
            
menu_additem(menu"Others""112" 0)
        }
        case 
2:
        {
            
menu menu_create("\rRifles""handler")
            
menu_additem(menu"Scout","3" 0)
            
menu_additem(menu"Autoshotgun","5" 0)
            
menu_additem(menu"Mac10","7" 0)
            
menu_additem(menu"Bullpup","8" 0)
            
menu_additem(menu"Ump45","12" 0)
            
menu_additem(menu"Krieg550","13" 0)
            
menu_additem(menu"Defender","14" 0)
            
menu_additem(menu"Clarion","15" 0)
            
menu_additem(menu"Awp","18" 0)
            
menu_additem(menu"Mp5","19"0)
            
menu_additem(menu"M249","20" 0)
            
menu_additem(menu"M3","21" 0)
            
menu_additem(menu"M4A1","22" 0)
            
menu_additem(menu"TMP","23"0)
            
menu_additem(menu"G3SG1","24" 0)
            
menu_additem(menu"sg552","27" 0)
            
menu_additem(menu"ak47","28" 0)
            
menu_additem(menu"P90","30"0)
        }
        case 
3:
        {
            
menu menu_create("\rPistols""handler")
            
menu_additem(menu"228compact","1",0)
            
menu_additem(menu"fiveseven""11" 0)
            
menu_additem(menu"usp""16" 0)
            
menu_additem(menu"glock ""17" 0)
            
menu_additem(menu"deagle""26" 0)
            
menu_additem(menu"elite""10" 0)
        }
        case 
4:
        {
            
menu menu_create("\rOthers""handler")
            
menu_additem(menu"hegrenade","4" 0)
            
menu_additem(menu"smokegrenade","9" 0)
            
menu_additem(menu"flashbang","25" 0)
            
menu_additem(menu"knife","29" 0)
            
menu_additem(menu"kevlar","31" 0)
            
menu_additem(menu"assaultsuit","32" 0)
        }
        case 
5:
        {
            
menu menu_create("\rNumber of Weapons""handler")
            
menu_additem(menu"1""105" 0)
            
menu_additem(menu"2""105" 0)
            
menu_additem(menu"3""105" 0)
            
menu_additem(menu"4""105" 0)
            
menu_additem(menu"5""105" 0)
            
menu_additem(menu"10""105" 0)
            
menu_additem(menu"15""105" 0)
            
menu_additem(menu"20""105" 0)
            
menu_additem(menu"30""105" 0)
            
menu_additem(menu"40""105" 0)
            
menu_additem(menu"50""105" 0)
            
menu_additem(menu"75""105" 0)
            
menu_additem(menu"100","105" 0)
            
menu_additem(menu"200","105" 0)
        }
        default:{
            
menu menu_create("\rWeapon Spawner""handler")
            
menu_additem(menu"Create A Spawn","100"0)
            
menu_additem(menu"Save Spawns","101"0)
            
menu_additem(menu"Load Spawns","102"0)
            
menu_additem(menu"Remove all normal Spawns","103"0)
            
menu_additem(menu"Remove all costum Spawns","104"0)
        }
    }
    
//show menu
    
menu_setprop(menu MPROP_EXIT MEXIT_ALL)
    
menu_display(id menu 0)
    return 
PLUGIN_HANDLED
}
public 
handler(idmenuitem)
{
    
//if hes dead or he choiced exit close
    
if(item == MENU_EXIT||!is_user_alive(id))
    {
        
menu_destroy(menu)
        return
    }
    
//get info
    
new data[5], iName[11]
    new 
accesscallback
    menu_item_getinfo
(menuitemaccessdata,4iName10callback)
    
    
data[0] = str_to_num(data)
    switch(
data[0])
    {
        case 
1..32:
        {
            
            
Selected[id] = data[0]
            
Menu(id,5)
        }
        case 
100:Menu(id,1)
        case 
110:Menu(id,2)
        case 
111:Menu(id,3)
        case 
112:Menu(id,4)
        case 
101:
        {
            
save()
            
Menu(id,0)
            
client_print(id,print_chat,"[WS] All costum spawns have been saved")
        }
        case 
102:
        {
            
load()
            
Menu(id,0)
            
client_print(id,print_chat,"[WS] All costum spawns have been loaded")
        }
        case 
103:
        {
            
Menu(id,0)
            
remove_normal()
            
client_print(id,print_chat,"[WS] All normal spawns have been removed")
        }
        case 
104:
        {
            
Menu(id,0)    
            
remove_costum()
            
client_print(id,print_chat,"[WS] All costum spawns have been removed")
        }
        case 
105:
        {
            
Menu(id,0)
            new 
Float:origin[3]
            
pev(id,pev_origin,origin)
            
origin[2]+=30.0
            set_pev
(id,pev_origin,origin)
            
origin[2]-=30.0
            create_weapon
(Selected[id],str_to_num(iName),origin)
            
client_print(id,print_chat,"[WS] You have created a new spawn")
        }
    }
    
menu_destroy(menu)
}
public 
remove_normal()
{
    new 
weapon
    
    
while((weapon engfunc(EngFunc_FindEntityByStringweapon"classname""armoury_entity")) != 0)if(!pev(weapon,WP_Type))engfunc(EngFunc_RemoveEntity,weapon)
}
public 
remove_costum()
{
    new 
weapon
    
while((weapon engfunc(EngFunc_FindEntityByStringweapon"classname"wp_ent)) != 0)if(pev(weapon,WP_Type)!= 0)engfunc(EngFunc_RemoveEntity,weapon)
}
public 
load()
{
    new 
config[50],Info[41],map[30],data[5][11],Float:origin[3]
    
get_configsdir(config,29)
    
get_mapname(map,29)
    
formatex(config,49,"%s/ws/%s.ini",config,map)
    if(!
file_exists(config))return
    
    new 
File fopen(config,"r")
    if(
File)
    {
        while(
fgets(File,Info,40))
        {
            
parse(Infodata[0], 5data[1], 5,data[2], 10data[3], 10data[4], 10)
            
            if(!
data[0][0])data[0][0] = 48
            origin
[0] = str_to_float(data[2])
            
origin[1] = str_to_float(data[3])
            
origin[2] = str_to_float(data[4])
            
            
create_weapon(str_to_num(data[0]),str_to_num(data[1]),origin)
        }
    }
    
fclose(File)
}
public 
reset()
{
    new 
value,weapon
    
while((weapon engfunc(EngFunc_FindEntityByStringweapon"classname"wp_ent)) != 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)
        
    }
}

public 
save()
{
    new 
config[50],Info[41],map[30],Float:origin[3]
    
get_configsdir(config,29)
    
get_mapname(map,29)
    
formatex(config,49,"%s/ws/%s.ini",config,map)
    if(
file_exists(config))delete_file(config)
    
    new 
File fopen(config,"w")
    if(
File)
    {
        
        new 
weapon
        
while((weapon engfunc(EngFunc_FindEntityByStringweapon"classname"wp_ent)) != 0)
        {
            
            
pev(weapon,pev_origin,origin)
            
formatex(Info,40,"%i %i %.2f %.2f %.2f",pev(weapon,WP_Type),pev(weapon,WP_Max),origin[0],origin[1],origin[2])
            
write_file(config,Info,-1)
        }    
    }
    
fclose(File)
}
public 
create_weapon(wid,count,Float:origin[])
{
    new 
weapon engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"func_wall"))
    
set_pev(weapon,pev_classnamewp_ent)
    switch(
wid)
    {
        case 
1:engfunc(EngFunc_SetModelweapon"models/w_p228.mdl")
        case 
2:engfunc(EngFunc_SetModelweapon"models/w_shield.mdl")
        case 
3:engfunc(EngFunc_SetModelweapon"models/w_scout.mdl")
        case 
4:engfunc(EngFunc_SetModelweapon"models/w_hegrenade.mdl")
        case 
5:engfunc(EngFunc_SetModelweapon"models/w_xm1014.mdl")
        case 
7:engfunc(EngFunc_SetModelweapon"models/w_mac10.mdl")
        case 
8:engfunc(EngFunc_SetModelweapon"models/w_aug.mdl")
        case 
9:engfunc(EngFunc_SetModelweapon"models/w_smokegrenade.mdl")
        case 
10:engfunc(EngFunc_SetModelweapon"models/w_elite.mdl")
        case 
11:engfunc(EngFunc_SetModelweapon"models/w_fiveseven.mdl")
        case 
12:engfunc(EngFunc_SetModelweapon"models/w_ump45.mdl")
        case 
13:engfunc(EngFunc_SetModelweapon"models/w_sg550.mdl")
        case 
14:engfunc(EngFunc_SetModelweapon"models/w_galil.mdl")
        case 
15:engfunc(EngFunc_SetModelweapon"models/w_famas.mdl")
        case 
16:engfunc(EngFunc_SetModelweapon"models/w_usp.mdl")
        case 
17:engfunc(EngFunc_SetModelweapon"models/w_glock18.mdl")
        case 
18:engfunc(EngFunc_SetModelweapon"models/w_awp.mdl")
        case 
19:engfunc(EngFunc_SetModelweapon"models/w_mp5.mdl")
        case 
20:engfunc(EngFunc_SetModelweapon"models/w_m249.mdl")
        case 
21:engfunc(EngFunc_SetModelweapon"models/w_m3.mdl")
        case 
22:engfunc(EngFunc_SetModelweapon"models/w_m4a1.mdl")
        case 
23:engfunc(EngFunc_SetModelweapon"models/w_tmp.mdl")
        case 
24:engfunc(EngFunc_SetModelweapon"models/w_g3sg1.mdl")
        case 
25:engfunc(EngFunc_SetModelweapon"models/w_flashbang.mdl")
        case 
26:engfunc(EngFunc_SetModelweapon"models/w_deagle.mdl")
        case 
27:engfunc(EngFunc_SetModelweapon"models/w_sg552.mdl")
        case 
28:engfunc(EngFunc_SetModelweapon"models/w_ak47.mdl")
        case 
29:engfunc(EngFunc_SetModelweapon"models/w_knife.mdl")
        case 
30:engfunc(EngFunc_SetModelweapon"models/w_p90.mdl")
        case 
31:engfunc(EngFunc_SetModelweapon"models/w_kevlar.mdl")    
        case 
32:engfunc(EngFunc_SetModelweapon"models/w_assault.mdl")
    }
    
engfunc(EngFunc_SetSizeweapon, {-2.0,-2.0,-2.0},{2.0,2.0,2.0})
    
set_pev(weapon,pev_solid,2)
    
set_pev(weapon,pev_origin,origin)
    
    
set_pev(weapon,WP_Type,wid)
    
set_pev(weapon,WP_Left,count)
    
set_pev(weapon,WP_Max,count)
    
engfunc(EngFunc_DropToFloorweapon)
}
// based on Basic-Master's set_keyvalue, upgraded version accepts an optional classname (a bit more efficient if it is passed)
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "")
{
    if (
classname[0])set_kvd(0KV_ClassNameclassname)
    else
    {
        new class[
32]
        
pev(entitypev_classname, class, sizeof class - 1)
        
set_kvd(0KV_ClassName, class)
    }
    
    
set_kvd(0KV_KeyNamekey)
    
set_kvd(0KV_Valuevalue)
    
set_kvd(0KV_fHandled0)
    
    return 
dllfunc(DLLFunc_KeyValueentity0)
}
stock fm_give_item(index, const item[])
{
    
    new 
ent =  engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocStringitem))
    if (!
pev_valid(ent))return 0;
    
    new 
Float:origin[3];
    
pev(indexpev_originorigin);
    
set_pev(entpev_originorigin);
    
set_pev(entpev_spawnflagspev(entpev_spawnflags) | SF_NORESPAWN);
    
dllfunc(DLLFunc_Spawnent);
    
    new 
save pev(entpev_solid);
    
dllfunc(DLLFunc_Touchentindex);
    if(
pev(entpev_solid) != save)return ent;
    
    
engfunc(EngFunc_RemoveEntityent);
    
    return -
1;

Attached Files
File Type: sma Get Plugin or Get Source (Weapon_Spawner.sma - 647 views - 18.2 KB)
__________________
_____________
/_____\
[° ||| °]
./..............\▓

Last edited by cs1.7; 06-06-2010 at 14:01.
cs1.7 is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 06-06-2010 , 16:40   Re: Can you fix a little bug in this plugin? (plugin can't save the cfg file)
Reply With Quote #2

PHP Code:
            write_file(config,Info,-1

PHP Code:
            fputs(File,Info
__________________
fysiks is offline
cs1.7
Senior Member
Join Date: Oct 2008
Old 06-06-2010 , 17:04   Re: Can you fix a little bug in this plugin? (plugin can't save the cfg file)
Reply With Quote #3

unfortunately your suggestion didn't work!
__________________
_____________
/_____\
[° ||| °]
./..............\▓

Last edited by cs1.7; 06-06-2010 at 17:14.
cs1.7 is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 06-06-2010 , 17:25   Re: Can you fix a little bug in this plugin? (plugin can't save the cfg file)
Reply With Quote #4

Does the file exist?
__________________
fysiks is offline
cs1.7
Senior Member
Join Date: Oct 2008
Old 06-06-2010 , 17:48   Re: Can you fix a little bug in this plugin? (plugin can't save the cfg file)
Reply With Quote #5

no
__________________
_____________
/_____\
[° ||| °]
./..............\▓
cs1.7 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 18:49.


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