Merhaba Bazı jail maplerinde bilindiği üzere silah yok silah odası hariç bu da isyan atmayı çok zorlaştırıyor elinde haritaya silah koyma plugini var mı ve silah koyulduktan sonra o map için hep geçerli olucak map değişince de silinmeyecek silah.
Konu
(13-08-2025, 19:00)Lynchk Adlı Kullanıcıdan Alıntı: Merhaba,
https://www.webailesi.com/konu-cs-1-6-we...wner-34441
Bu eklentiyi kullanabilirsiniz.
Evet güzel oldu ama map değişince gidiyor bunu nasıl sağlayalabilirim.
(13-08-2025, 19:26)BurakBy Adlı Kullanıcıdan Alıntı:(13-08-2025, 19:00)Lynchk Adlı Kullanıcıdan Alıntı: Merhaba,
https://www.webailesi.com/konu-cs-1-6-we...wner-34441
Bu eklentiyi kullanabilirsiniz.
Evet güzel oldu ama map değişince gidiyor bunu nasıl sağlayalabilirim.
ve sürekli tekrar swapm atıyor 10 saniyede bi ek olarakta ordan geçerken takılıyor karakter
Son Düzenleme: 13-08-2025, 19:28, Düzenleyen: BurakBy.
Cvarlar/komutları paylaşıyorum;
Aynı roundda 1 kere spawnlanması için;
yapın.
Kaydetmek için silahı yerleştirdikten sonra menüden kayıt etmeniz gerekiyor.
Kod:
Cvars/Cmds
ws_menu - opens the menu
ws_auto_remove 2/1/0 - auto remove weapons when the map have loaded. 1:Removes weapons on those maps you have a configuration file for. 2:removes all, no mather what.
ws_auto_load 1/0 - auto loads configurations
ws_reset_round 1/0 - will reload all guns after a round
ws_reset_gun 1/0 - will allow your guns to respawn on the same round
ws_reset_gun_time - the time it takes for a gun to respawn
ws_reset_gun_amount - the amount that will be respawed each time the time has run out.Kod:
ws_reset_gun 0Kaydetmek için silahı yerleştirdikten sonra menüden kayıt etmeniz gerekiyor.
kayıt ediyorum ancak map değişince tekrar gidiyor hocam dizine baktım içinde ws klasörü içine ini dosyası vardı onuda yaptım ancak kaydetmiyor
formatex(config,49,"%s/ws/%s.ini",config,map)
formatex(config,49,"%s/ws/%s.ini",config,map)
Son Düzenleme: 13-08-2025, 19:43, Düzenleyen: BurakBy.
(13-08-2025, 19:41)BurakBy Adlı Kullanıcıdan Alıntı: kayıt ediyorum ancak map değişince tekrar gidiyor hocam dizine baktım içinde ws klasörü içine ini dosyası vardı onuda yaptım ancak kaydetmiyorDosya içi dolu mu ? Kayıt etmiş mi verileri ?
formatex(config,49,"%s/ws/%s.ini",config,map)
Bu versiyonu deneyin;
PHP Kod:
/* 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_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_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(weapon, pev_classname, classname,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 & ( 1 << type))
{
for (i = 0; i < sizeof Primary; ++i)
{
//cant have more then 1 primary
if(user_has_weapon(id,Primary[i]))return
}
}
//check if its secondary
else if(SECONDARY_WEAPONS & ( 1 << type))
{
for (i = 0; i < sizeof 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 1 :
{
fm_give_item(id,"weapon_p228")
set_pdata_int(id,OFFSET_P228_AMMO,AMMO_P228,linuxdiff)
}
case 2 :fm_give_item(id,"weapon_shield")
case 3 :
{
fm_give_item(id,"weapon_scout")
set_pdata_int(id,OFFSET_SCOUT_AMMO,AMMO_SCOUT,linuxdiff)
}
case 4 :
{
fm_give_item(id,"weapon_hegrenade")
//set_pdata_int(id,OFFSET_HE_AMMO,amount,linuxdiff)
}
case 5 :
{
fm_give_item(id,"weapon_xm1014")
set_pdata_int(id,OFFSET_M3_AMMO,AMMO_Xm1014,linuxdiff)
}
case 7 :
{
fm_give_item(id,"weapon_mac10")
set_pdata_int(id,OFFSET_USP_AMMO,AMMO_Mac10,linuxdiff)
}
case 8 :
{
fm_give_item(id,"weapon_aug")
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Aug,linuxdiff)
}
case 9 :
{
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(weapon, pev_nextthink, get_gametime() + Time)
//if nothing left make invisiable
if(!left)
{
set_pev(weapon, pev_renderfx, kRenderFxNone)
set_pev(weapon, pev_rendercolor, {0.0,0.0,0.0})
set_pev(weapon, pev_rendermode, kRenderTransAlpha)
set_pev(weapon, pev_renderamt, 0.0)
}
}
public Forward_Think(ent)
{
if(!pev_valid(ent))return
static classname[32]
pev(ent, pev_classname, classname, 31)
//not our weapon
if(!equal(classname, wp_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(ent, pev_renderfx, kRenderNormal)
set_pev(ent, pev_rendercolor, {255.0,255.0,255.0})
set_pev(ent, pev_rendermode, kRenderTransAlpha)
set_pev(ent, pev_renderamt, 255.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(ent, pev_nextthink, get_gametime() + Time)
}
public Menu(id,nr)
{
//not havign kick flag
if(!(get_user_flags(id, 0) & 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(id, menu, item)
{
//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 access, callback
menu_item_getinfo(menu, item, access, data,4, iName, 10, callback)
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_FindEntityByString, weapon, "classname", "armoury_entity")) != 0)if(!pev(weapon,WP_Type))engfunc(EngFunc_RemoveEntity,weapon)
}
public remove_costum()
{
new weapon
while((weapon = engfunc(EngFunc_FindEntityByString, weapon, "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(Info, data[0], 5, data[1], 5,data[2], 10, data[3], 10, data[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_FindEntityByString, weapon, "classname", wp_ent)) != 0)
{
value=pev(weapon,WP_Left)
if(!value)
{
set_pev(weapon, pev_renderfx, kRenderNormal)
set_pev(weapon, pev_rendercolor, {255.0,255.0,255.0})
set_pev(weapon, pev_rendermode, kRenderTransAlpha)
set_pev(weapon, pev_renderamt, 255.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_FindEntityByString, weapon, "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_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_wall"))
set_pev(weapon,pev_classname, wp_ent)
switch(wid)
{
case 1:engfunc(EngFunc_SetModel, weapon, "models/w_p228.mdl")
case 2:engfunc(EngFunc_SetModel, weapon, "models/w_shield.mdl")
case 3:engfunc(EngFunc_SetModel, weapon, "models/w_scout.mdl")
case 4:engfunc(EngFunc_SetModel, weapon, "models/w_hegrenade.mdl")
case 5:engfunc(EngFunc_SetModel, weapon, "models/w_xm1014.mdl")
case 7:engfunc(EngFunc_SetModel, weapon, "models/w_mac10.mdl")
case 8:engfunc(EngFunc_SetModel, weapon, "models/w_aug.mdl")
case 9:engfunc(EngFunc_SetModel, weapon, "models/w_smokegrenade.mdl")
case 10:engfunc(EngFunc_SetModel, weapon, "models/w_elite.mdl")
case 11:engfunc(EngFunc_SetModel, weapon, "models/w_fiveseven.mdl")
case 12:engfunc(EngFunc_SetModel, weapon, "models/w_ump45.mdl")
case 13:engfunc(EngFunc_SetModel, weapon, "models/w_sg550.mdl")
case 14:engfunc(EngFunc_SetModel, weapon, "models/w_galil.mdl")
case 15:engfunc(EngFunc_SetModel, weapon, "models/w_famas.mdl")
case 16:engfunc(EngFunc_SetModel, weapon, "models/w_usp.mdl")
case 17:engfunc(EngFunc_SetModel, weapon, "models/w_glock18.mdl")
case 18:engfunc(EngFunc_SetModel, weapon, "models/w_awp.mdl")
case 19:engfunc(EngFunc_SetModel, weapon, "models/w_mp5navy.mdl")
case 20:engfunc(EngFunc_SetModel, weapon, "models/w_m249.mdl")
case 21:engfunc(EngFunc_SetModel, weapon, "models/w_m3.mdl")
case 22:engfunc(EngFunc_SetModel, weapon, "models/w_m4a1.mdl")
case 23:engfunc(EngFunc_SetModel, weapon, "models/w_tmp.mdl")
case 24:engfunc(EngFunc_SetModel, weapon, "models/w_g3sg1.mdl")
case 25:engfunc(EngFunc_SetModel, weapon, "models/w_flashbang.mdl")
case 26:engfunc(EngFunc_SetModel, weapon, "models/w_deagle.mdl")
case 27:engfunc(EngFunc_SetModel, weapon, "models/w_sg552.mdl")
case 28:engfunc(EngFunc_SetModel, weapon, "models/w_ak47.mdl")
case 29:engfunc(EngFunc_SetModel, weapon, "models/w_knife.mdl")
case 30:engfunc(EngFunc_SetModel, weapon, "models/w_p90.mdl")
case 31:engfunc(EngFunc_SetModel, weapon, "models/w_kevlar.mdl")
case 32:engfunc(EngFunc_SetModel, weapon, "models/w_assault.mdl")
}
engfunc(EngFunc_SetSize, weapon, {-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_DropToFloor, weapon)
}
// 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(0, KV_ClassName, classname)
else
{
new class[32]
pev(entity, pev_classname, class, sizeof class - 1)
set_kvd(0, KV_ClassName, class)
}
set_kvd(0, KV_KeyName, key)
set_kvd(0, KV_Value, value)
set_kvd(0, KV_fHandled, 0)
return dllfunc(DLLFunc_KeyValue, entity, 0)
}
stock fm_give_item(index, const item[])
{
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))
if (!pev_valid(ent))return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if(pev(ent, pev_solid) != save)return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
}
(13-08-2025, 22:08)Lynchk Adlı Kullanıcıdan Alıntı: Bu versiyonu deneyin;PHP Kod:/* 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_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_USP, CSW_GLOCK18, CSW_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(weapon, pev_classname, classname,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 & ( 1 << type))
{
for (i = 0; i < sizeof Primary; ++i)
{
//cant have more then 1 primary
if(user_has_weapon(id,Primary[i]))return
}
}
//check if its secondary
else if(SECONDARY_WEAPONS & ( 1 << type))
{
for (i = 0; i < sizeof 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 1 :
{
fm_give_item(id,"weapon_p228")
set_pdata_int(id,OFFSET_P228_AMMO,AMMO_P228,linuxdiff)
}
case 2 :fm_give_item(id,"weapon_shield")
case 3 :
{
fm_give_item(id,"weapon_scout")
set_pdata_int(id,OFFSET_SCOUT_AMMO,AMMO_SCOUT,linuxdiff)
}
case 4 :
{
fm_give_item(id,"weapon_hegrenade")
//set_pdata_int(id,OFFSET_HE_AMMO,amount,linuxdiff)
}
case 5 :
{
fm_give_item(id,"weapon_xm1014")
set_pdata_int(id,OFFSET_M3_AMMO,AMMO_Xm1014,linuxdiff)
}
case 7 :
{
fm_give_item(id,"weapon_mac10")
set_pdata_int(id,OFFSET_USP_AMMO,AMMO_Mac10,linuxdiff)
}
case 8 :
{
fm_give_item(id,"weapon_aug")
set_pdata_int(id,OFFSET_FAMAS_AMMO,AMMO_Aug,linuxdiff)
}
case 9 :
{
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(weapon, pev_nextthink, get_gametime() + Time)
//if nothing left make invisiable
if(!left)
{
set_pev(weapon, pev_renderfx, kRenderFxNone)
set_pev(weapon, pev_rendercolor, {0.0,0.0,0.0})
set_pev(weapon, pev_rendermode, kRenderTransAlpha)
set_pev(weapon, pev_renderamt, 0.0)
}
}
public Forward_Think(ent)
{
if(!pev_valid(ent))return
static classname[32]
pev(ent, pev_classname, classname, 31)
//not our weapon
if(!equal(classname, wp_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(ent, pev_renderfx, kRenderNormal)
set_pev(ent, pev_rendercolor, {255.0,255.0,255.0})
set_pev(ent, pev_rendermode, kRenderTransAlpha)
set_pev(ent, pev_renderamt, 255.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(ent, pev_nextthink, get_gametime() + Time)
}
public Menu(id,nr)
{
//not havign kick flag
if(!(get_user_flags(id, 0) & 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(id, menu, item)
{
//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 access, callback
menu_item_getinfo(menu, item, access, data,4, iName, 10, callback)
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_FindEntityByString, weapon, "classname", "armoury_entity")) != 0)if(!pev(weapon,WP_Type))engfunc(EngFunc_RemoveEntity,weapon)
}
public remove_costum()
{
new weapon
while((weapon = engfunc(EngFunc_FindEntityByString, weapon, "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(Info, data[0], 5, data[1], 5,data[2], 10, data[3], 10, data[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_FindEntityByString, weapon, "classname", wp_ent)) != 0)
{
value=pev(weapon,WP_Left)
if(!value)
{
set_pev(weapon, pev_renderfx, kRenderNormal)
set_pev(weapon, pev_rendercolor, {255.0,255.0,255.0})
set_pev(weapon, pev_rendermode, kRenderTransAlpha)
set_pev(weapon, pev_renderamt, 255.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_FindEntityByString, weapon, "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_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_wall"))
set_pev(weapon,pev_classname, wp_ent)
switch(wid)
{
case 1:engfunc(EngFunc_SetModel, weapon, "models/w_p228.mdl")
case 2:engfunc(EngFunc_SetModel, weapon, "models/w_shield.mdl")
case 3:engfunc(EngFunc_SetModel, weapon, "models/w_scout.mdl")
case 4:engfunc(EngFunc_SetModel, weapon, "models/w_hegrenade.mdl")
case 5:engfunc(EngFunc_SetModel, weapon, "models/w_xm1014.mdl")
case 7:engfunc(EngFunc_SetModel, weapon, "models/w_mac10.mdl")
case 8:engfunc(EngFunc_SetModel, weapon, "models/w_aug.mdl")
case 9:engfunc(EngFunc_SetModel, weapon, "models/w_smokegrenade.mdl")
case 10:engfunc(EngFunc_SetModel, weapon, "models/w_elite.mdl")
case 11:engfunc(EngFunc_SetModel, weapon, "models/w_fiveseven.mdl")
case 12:engfunc(EngFunc_SetModel, weapon, "models/w_ump45.mdl")
case 13:engfunc(EngFunc_SetModel, weapon, "models/w_sg550.mdl")
case 14:engfunc(EngFunc_SetModel, weapon, "models/w_galil.mdl")
case 15:engfunc(EngFunc_SetModel, weapon, "models/w_famas.mdl")
case 16:engfunc(EngFunc_SetModel, weapon, "models/w_usp.mdl")
case 17:engfunc(EngFunc_SetModel, weapon, "models/w_glock18.mdl")
case 18:engfunc(EngFunc_SetModel, weapon, "models/w_awp.mdl")
case 19:engfunc(EngFunc_SetModel, weapon, "models/w_mp5navy.mdl")
case 20:engfunc(EngFunc_SetModel, weapon, "models/w_m249.mdl")
case 21:engfunc(EngFunc_SetModel, weapon, "models/w_m3.mdl")
case 22:engfunc(EngFunc_SetModel, weapon, "models/w_m4a1.mdl")
case 23:engfunc(EngFunc_SetModel, weapon, "models/w_tmp.mdl")
case 24:engfunc(EngFunc_SetModel, weapon, "models/w_g3sg1.mdl")
case 25:engfunc(EngFunc_SetModel, weapon, "models/w_flashbang.mdl")
case 26:engfunc(EngFunc_SetModel, weapon, "models/w_deagle.mdl")
case 27:engfunc(EngFunc_SetModel, weapon, "models/w_sg552.mdl")
case 28:engfunc(EngFunc_SetModel, weapon, "models/w_ak47.mdl")
case 29:engfunc(EngFunc_SetModel, weapon, "models/w_knife.mdl")
case 30:engfunc(EngFunc_SetModel, weapon, "models/w_p90.mdl")
case 31:engfunc(EngFunc_SetModel, weapon, "models/w_kevlar.mdl")
case 32:engfunc(EngFunc_SetModel, weapon, "models/w_assault.mdl")
}
engfunc(EngFunc_SetSize, weapon, {-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_DropToFloor, weapon)
}
// 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(0, KV_ClassName, classname)
else
{
new class[32]
pev(entity, pev_classname, class, sizeof class - 1)
set_kvd(0, KV_ClassName, class)
}
set_kvd(0, KV_KeyName, key)
set_kvd(0, KV_Value, value)
set_kvd(0, KV_fHandled, 0)
return dllfunc(DLLFunc_KeyValue, entity, 0)
}
stock fm_give_item(index, const item[])
{
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item))
if (!pev_valid(ent))return 0;
new Float:origin[3];
pev(index, pev_origin, origin);
set_pev(ent, pev_origin, origin);
set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
dllfunc(DLLFunc_Spawn, ent);
new save = pev(ent, pev_solid);
dllfunc(DLLFunc_Touch, ent, index);
if(pev(ent, pev_solid) != save)return ent;
engfunc(EngFunc_RemoveEntity, ent);
return -1;
}
Yok hocam işe yaramadı maalesef aynı şekilde kaydetmiyor
Yok hocam işe yaramadı maalesef aynı şekilde kaydetmiyor
Son Düzenleme: 13-08-2025, 22:11, Düzenleyen: BurakBy.
Benzer Konular
Yorum
1.100
Okunma
08-02-2026, 13:09
Yorum
1.789
Okunma
18-11-2025, 04:36
)

