|
Junior Member
|

04-24-2022
, 04:00
Re: I need help!
|
#1
|
Quote:
#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_TakeDamage, "player", "player_hurt")
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_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
}
hook.Add("PlayerHurt", "traitortest", function(victim, attacker)
if (inuse) and IsValid(attacker:GetActiveWeapon()) and attacker:GetActiveWeapon():GetClass() == "weapon_ttt_oneshot" then
if victim:GetRole() == ROLE_TRAITOR then
victim:TakeDamage(200, attacker, self)
elseif victim:GetRole() != ROLE_TRAITOR then
attacker:TakeDamage(200, attacker, self)
end
end
end)
|
|
|