Happy Easter AlliedModders! 0-0
I'm trying the plugin on 1 bot test server and not work!
Code:
#include <amxmodx>
#include <fakemeta_util>
#include <engine>
#include <hamsandwich>
#include <cstrike>
#pragma compress 1
new bool:Has[33], Trail, cvar_bullets
#define weapon_goldak47 "weapon_ak47"
#define modelGold_v "models/akgold/v_ak47.mdl"
#define modelGold_p "models/akgold/p_ak47.mdl"
#define modelGold_w "models/akgold/w_ak47.mdl"
#define key 10606
public plugin_init()
{
register_plugin("GoldAk47", "0.1.0", "SweetMilitary")
register_forward(FM_SetModel, "fw_SetModel")
RegisterHam(Ham_Spawn,"player","Spawn", 1)
RegisterHam(Ham_Item_AddToPlayer, weapon_goldak47, "Ak47Add")
RegisterHam(Ham_Item_Deploy, weapon_goldak47, "Deploy", 1)
RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "func_door_rotating", "fw_TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "func_plat", "fw_TraceAttack", 1)
RegisterHam(Ham_TraceAttack, "func_rotating", "fw_TraceAttack", 1)
RegisterHam(Ham_TakeDamage, "player", "Damage")
cvar_bullets = register_cvar("cvar_goldbullets", "1")
}
public plugin_precache()
{
precache_model(modelGold_v)
precache_model(modelGold_p)
precache_model(modelGold_w)
Trail = precache_model("sprites/goldak_spr/laserbeam.spr")
}
public fw_SetModel(entity, model[])
{
if(!is_valid_ent(entity))
return FMRES_IGNORED
static szClassName[33]
entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
if(!equal(szClassName, "weaponbox"))
return FMRES_IGNORED
static id
id = entity_get_edict(entity, EV_ENT_owner)
if(equal(model, "models/w_ak47.mdl"))
{
static ID
ID = find_ent_by_owner(-1, weapon_goldak47, entity)
if(!is_valid_ent(ID))
return FMRES_IGNORED
if(Has[id])
{
entity_set_int(ID, EV_INT_impulse, key)
Has[id] = false
entity_set_model(entity, modelGold_w)
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}
return FMRES_IGNORED
}
public Damage(Vic, inflictor, Att, Float:damage, damage_bits) if(is_user_alive(Att) && damage_bits & DMG_BULLET) SetHamParamFloat(4, damage + random_float(1.0, 6.0))
public fw_TraceAttack(iEnt, Attack, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
if(!is_user_alive(Attack) || get_pcvar_num(cvar_bullets) == 0)
return HAM_IGNORED
static Float:VEC[3]
get_tr2(ptr, TR_vecEndPos, VEC)
if(get_user_weapon(Attack) == CSW_AK47 && Has[Attack] == true)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte (TE_BEAMENTPOINT)
write_short(Attack | 0x1000)
engfunc(EngFunc_WriteCoord, VEC[0])
engfunc(EngFunc_WriteCoord, VEC[1])
engfunc(EngFunc_WriteCoord, VEC[2])
write_short(Trail)
write_byte(1)
write_byte(15)
write_byte(1)
write_byte(14)
write_byte(0)
write_byte(255)
write_byte(255)
write_byte(0)
write_byte(255)
write_byte(255)
message_end()
}
return HAM_IGNORED
}
public Deploy(Ent)
{
static id; id = get_pdata_cbase(Ent, 41, 4)
if(Has[id] == true)
{
set_pev(id, pev_viewmodel2, modelGold_v)
set_pev(id, pev_weaponmodel2, modelGold_p)
}
}
public Spawn(id)
{
new random; random = random_num(1,10)
if(cs_get_user_team(id) == CS_TEAM_T && random == 1) Has[id] = true
else Has[id] = false
}
public Ak47Add(weapon, id)
{
if(!is_valid_ent(weapon))
return HAM_IGNORED
if(entity_get_int(weapon, EV_INT_impulse) == key) Has[id] = true
return HAM_IGNORED
}
I think need code for connect player no?
if ( !is_user_alive ( id ) )
logs error:
04/23/2022 - 06:25:03: Info (map "zm_ice_attack3") (file "addons/amxmodx/logs/error_20220423.log")
L 04/23/2022 - 06:25:03: [CSTRIKE] Invalid player 3 (not in-game)
L 04/23/2022 - 06:25:03: [AMXX] Displaying debug trace (plugin "Goldak.amxx", version "0.1.0")
L 04/23/2022 - 06:25:03: [AMXX] Run time error 10: native error (native "cs_get_user_team")
L 04/23/2022 - 06:25:03: [AMXX] [0] Goldak.sma::Spawn (line 106)