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

zp_extra_item_SPAS12 helpp..!!


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Gustagustavo
Junior Member
Join Date: Jun 2014
Location: ML_NOT_FOUND
Old 09-19-2014 , 13:52   zp_extra_item_SPAS12 helpp..!!
Reply With Quote #1

hi guys,
I need help on zp_extra_item_SPAS12.
the problem is the "e"
I would like to change it to right mouse
please help


this mod download link:

snip


























#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>

#define ENG_NULLENT -1
#define EV_INT_WEAPONKEY EV_INT_impulse
#define spas12_WEAPONKEY 683
#define MAX_PLAYERS 32
#define IsValidUser(%1) (1 <= %1 <= g_MaxPlayers)

const USE_STOPPED = 0
const OFFSET_ACTIVE_ITEM = 373
const OFFSET_WEAPONOWNER = 41
const OFFSET_LINUX = 5
const OFFSET_LINUX_WEAPONS = 4

#define WEAP_LINUX_XTRA_OFF 4
#define m_fKnown 44
#define m_flNextPrimaryAttack 46
#define m_flTimeWeaponIdle 48
#define m_iClip 51
#define m_fInReload 54
#define PLAYER_LINUX_XTRA_OFF 5
#define m_flNextAttack 83
#define write_coord_f(%1) engfunc(EngFunc_WriteCoord,%1)
#define m_pPlayer 41
#define XTRA_OFS_PLAYER 5
#define XTRA_OFS_WEAPON 4

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_M3)
new const WEAPONENTNAMES[][] = { "weapon_m3" }
static Float:iSpeed
new const Fire_Sounds[][] = { "weapons/spas12-1.wav" }
new const GUNSHOT_DECALS[] = { 41, 42, 43, 44, 45 }
new spas12_V_MODEL1[64] = "models/zm/v1_spas12.mdl"
new spas12_V_MODEL2[64] = "models/zm/v2_spas12.mdl"
new spas12_P_MODEL[64] = "models/zm/p_spas12.mdl"
new spas12_W_MODEL[64] = "models/zm/w_spas12.mdl"

new g_spas12
new g_has_spas12[33]
new Trie:g_tClassNames
new g_hamczbots, cvar_botquota
new Float:cl_pushangle[MAX_PLAYERS + 1][3], m_iBlood[2]
new g_MaxPlayers, g_orig_event_spas12, g_IsInPrimaryAttack, g_clip_ammo[33], Float:g_last_postframe[33]
new cvar_dmg1_spas12, cvar_dmg2_spas12, cvar_recoil_spas12, cvar_clip_spas12, cvar_spas12_ammo, cvar_spas_spd1, cvar_spas_spd2
new g_mode[33], g_mode2[33]
new gmsgWeaponList

public plugin_init()
{
register_plugin("Franchi SPAS-12" , "1.2", "Crock - main code. Prog - remake to shootgun and add 2Xmode")
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
register_event("CurWeapon","CurrentWeapon","b e","1=1")
RegisterHam(Ham_Item_AddToPlayer, "weapon_m3", "fw_spas12_AddToPlayer")
RegisterHam(Ham_Item_PostFrame, "weapon_m3", "fw_M3_PostFrame")
RegisterHam(Ham_Use, "func_tank", "fw_UseStationary_Post", 1)
RegisterHam(Ham_Use, "func_tankmortar", "fw_UseStationary_Post", 1)
RegisterHam(Ham_Use, "func_tankrocket", "fw_UseStationary_Post", 1)
RegisterHam(Ham_Use, "func_tanklaser", "fw_UseStationary_Post", 1)
for (new i = 1; i < sizeof WEAPONENTNAMES; i++)
if (WEAPONENTNAMES[i][0]) RegisterHam(Ham_Item_Deploy, WEAPONENTNAMES[i], "fw_Item_Deploy_Post", 1)
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m3", "fw_spas12_PrimaryAttack")
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_m3", "fw_spas12_PrimaryAttack_Post", 1)
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

register_forward(FM_CmdStart, "fw_CmdStart")
register_forward(FM_Spawn, "fw_Spawn_Post", 1)
register_forward(FM_SetModel, "fw_SetModel")
register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
register_forward(FM_PlaybackEvent, "fwPlaybackEvent")

cvar_dmg1_spas12 = register_cvar("spas12_dmg", "1.2")
cvar_dmg2_spas12 = register_cvar("spas12_dmg", "1.6")
cvar_recoil_spas12 = register_cvar("spas12_recoil", "1.7")
cvar_clip_spas12 = register_cvar("spas12_clip", "8")
cvar_spas12_ammo = register_cvar("spas12_ammo", "40")
cvar_spas_spd1 = register_cvar("spas12_spd1", "1.2")
cvar_spas_spd2 = register_cvar("spas12_spd2", "0.4")


cvar_botquota = get_cvar_pointer("bot_quota")

g_MaxPlayers = get_maxplayers()

g_spas12 = zp_register_extra_item("ML_SPASEX", 0, ZP_TEAM_HUMAN)
gmsgWeaponList = get_user_msgid("WeaponList")
}

public plugin_precache()
{
precache_model(spas12_V_MODEL1)
precache_model(spas12_V_MODEL2)
precache_model(spas12_P_MODEL)
precache_model(spas12_W_MODEL)

precache_sound("weapons/spas12_draw.wav")
precache_sound("weapons/spas12_insert.wav")
precache_sound("weapons/spas12_reload.wav")
precache_sound("weapons/spas12ex_change1.wav")
precache_sound("weapons/spas12ex_change2.wav")
precache_sound("weapons/spas12ex-1.wav")
for(new i = 0; i < sizeof Fire_Sounds; i++)
precache_sound(Fire_Sounds[i])
m_iBlood[0] = precache_model("sprites/blood.spr")
m_iBlood[1] = precache_model("sprites/bloodspray.spr")
precache_generic("sprites/weapon_spas12ex.txt")
precache_generic("sprites/weapon_spas12exs.txt")
precache_generic("sprites/zm/640hud38.spr")
precache_generic("sprites/640hud7.spr")

register_forward(FM_PrecacheEvent, "fwPrecacheEvent_Post", 1)

register_clcmd("weapon_spas12ex", "weapon_hook")
register_clcmd("weapon_spas12exs", "weapon_hook")

g_tClassNames = TrieCreate()

RegisterHam(Ham_TraceAttack, "worldspawn", "fw_TraceAttack", 1) ///////////////////////////////////////////////////////////
RegisterHam(Ham_TraceAttack, "func_breakable", "fw_TraceAttack", 1) // Plugin Make //
RegisterHam(Ham_TraceAttack, "func_wall", "fw_TraceAttack", 1) // Prog //
RegisterHam(Ham_TraceAttack, "func_door", "fw_TraceAttack", 1) // specially for cs-massacre.in.ua //
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)

TrieSetCell(g_tClassNames, "worldspawn", 1)
TrieSetCell(g_tClassNames, "func_breakable", 1)
TrieSetCell(g_tClassNames, "func_wall", 1)
TrieSetCell(g_tClassNames, "func_door", 1)
TrieSetCell(g_tClassNames, "func_door_rotating", 1)
TrieSetCell(g_tClassNames, "func_plat", 1)
TrieSetCell(g_tClassNames, "func_rotating", 1)

}

public weapon_hook(id)
{
engclient_cmd(id, "weapon_m3")
return PLUGIN_HANDLED
}

public Sprite(id)
{
message_begin(MSG_ONE, get_user_msgid("WeaponList"), {0,0,0}, id)
write_string("weapon_spas12ex")
write_byte(5)
write_byte(32)
write_byte(-1)
write_byte(-1)
write_byte(0)
write_byte(5)
write_byte(21)
write_byte(0)
message_end()
}

public Sprite1(id)
{
message_begin(MSG_ONE, get_user_msgid("WeaponList"), {0,0,0}, id)
write_string("weapon_spas12exs")
write_byte(5)
write_byte(32)
write_byte(-1)
write_byte(-1)
write_byte(0)
write_byte(5)
write_byte(21)
write_byte(0)
message_end()
}

public fw_CmdStart(id, uc_handle, seed)
{
if(id > 0 && id < 33)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if((get_user_weapon(id) == CSW_M3 && g_has_spas12[id]) || (get_user_weapon(id) == CSW_XM1014 && g_has_spas12[id]))
{
if((get_uc(uc_handle, UC_Buttons) & IN_USE) && !(pev(id, pev_oldbuttons) & IN_USE) && g_mode2[id] == 0)
{
new szClip, szAmmo
new szWeapID = get_user_weapon(id, szClip, szAmmo)
if((szWeapID == CSW_M3 && g_has_spas12[id]) || (szWeapID == CSW_XM1014 && g_has_spas12[id]))
{
if(g_mode[id] == 0) make_mode2(id)
if(g_mode[id] == 2) make_mode1(id)
}
}
}
return HAM_SUPERCEDE;
}
return PLUGIN_HANDLED
}

public make_mode2(id)
{
set_task(2.0,"mode_new2",id)
g_mode2[id] = 1
UTIL_PlayWeaponAnimation(id, 7)
set_pdata_float(id, m_flNextAttack, 2.0, PLAYER_LINUX_XTRA_OFF)
emit_sound(id, CHAN_WEAPON, "weapons/spas12ex_change2.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
iSpeed = 0.0
}

public make_mode1(id)
{
set_task(2.0,"mode_new1",id)
g_mode2[id] = 1
UTIL_PlayWeaponAnimation(id, 7)
set_pdata_float(id, m_flNextAttack, 2.0, PLAYER_LINUX_XTRA_OFF)
emit_sound(id, CHAN_WEAPON, "weapons/spas12ex_change1.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
iSpeed = 0.0
}

public mode_new2(id)
{
if(g_mode2[id] == 1 && is_user_alive(id))
{
g_mode2[id] = 0
g_mode[id] = 2
Sprite1(id)
replace_weapon_models(id, CSW_M3)
UTIL_PlayWeaponAnimation(id, 0)
client_print(id,print_center,"")
}
}

public mode_new1(id)
{
if(g_mode2[id] == 1 && is_user_alive(id))
{
g_mode2[id] = 0
g_mode[id] = 0
Sprite(id)
replace_weapon_models(id, CSW_M3)
UTIL_PlayWeaponAnimation(id, 0)
client_print(id,print_center,"")
}
}

public fwPrecacheEvent_Post(type, const name[])
{
if (equal("events/m3.sc", name))
{
g_orig_event_spas12 = get_orig_retval()
return FMRES_HANDLED
}
return FMRES_IGNORED
}

public client_putinserver(id)
{
if(is_user_bot(id) && !g_hamczbots && cvar_botquota) set_task(0.1, "register_ham_czbots", id)
}

public register_ham_czbots(id)
{
if (g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota)) return

RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage")

g_hamczbots = true
}

public client_connect(id)
{
g_has_spas12[id] = false
}

public client_disconnect(id)
{
g_has_spas12[id] = false
}

public zp_user_infected_post(id)
{
if (zp_get_user_zombie(id))
{
g_has_spas12[id] = false
}
}

public fw_Spawn_Post(iEnt)
{
if(pev_valid(iEnt))
{
static szClassName[32]
pev(iEnt, pev_classname, szClassName, charsmax(szClassName))
if(!TrieKeyExists(g_tClassNames, szClassName))
{
RegisterHam(Ham_TraceAttack, szClassName, "TraceAttack", 1)
TrieSetCell(g_tClassNames, szClassName, 1)
}
}
}

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 iOwner

iOwner = entity_get_edict(entity, EV_ENT_owner)

if(equal(model, "models/w_m3.mdl"))
{
static iStoredSVDID

iStoredSVDID = find_ent_by_owner(ENG_NULLENT, "weapon_m3", entity)

if(!is_valid_ent(iStoredSVDID))
return FMRES_IGNORED;

if(g_has_spas12[iOwner])
{
entity_set_int(iStoredSVDID, EV_INT_WEAPONKEY, spas12_WEAPONKEY)

g_has_spas12[iOwner] = false
iSpeed = 0.0
entity_set_model(entity, spas12_W_MODEL)

return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}

public zp_extra_item_selected(id, itemid)
{
if(itemid == g_spas12)
{
drop_weapons(id, 1);
new iWep1 = give_item(id, "weapon_m3")
if( iWep1 > 0 )
{
cs_set_weapon_ammo(iWep1, get_pcvar_num(cvar_clip_spas12))
cs_set_user_bpammo(id, CSW_M3, get_pcvar_num(cvar_spas12_ammo))
}
g_has_spas12[id] = true;
g_mode[id] = 0
iSpeed = 0.0
Sprite(id)
}
}

public fw_spas12_AddToPlayer(spas12, id)
{
if(!is_valid_ent(spas12) || !is_user_connected(id))
return HAM_IGNORED;

if(entity_get_int(spas12, EV_INT_WEAPONKEY) == spas12_WEAPONKEY)
{
g_has_spas12[id] = true

entity_set_int(spas12, EV_INT_WEAPONKEY, 0)

return HAM_HANDLED;
}

return HAM_IGNORED;
}

public fw_UseStationary_Post(entity, caller, activator, use_type)
{
if (use_type == USE_STOPPED && is_user_connected(caller))
replace_weapon_models(caller, get_user_weapon(caller))
}

public fw_Item_Deploy_Post(weapon_ent)
{
static owner
owner = fm_cs_get_weapon_ent_owner(weapon_ent)

static weaponid
weaponid = cs_get_weapon_id(weapon_ent)

replace_weapon_models(owner, weaponid)
}

public CurrentWeapon(id)
{
static iWeapon; iWeapon = read_data(2)

replace_weapon_models(id, read_data(2))

static weapon[32], iEnt
get_weaponname(iWeapon, weapon, 31)
iEnt = find_ent_by_owner(-1, weapon, id)
if(iEnt)
{
static Floatelay, Float:M_Delay


if(iWeapon == CSW_M3 && g_has_spas12[id])
{
if (g_mode[id] == 0)
{
iSpeed = get_pcvar_float(cvar_spas_spd1)
}
if (g_mode[id] == 2)
{
iSpeed = get_pcvar_float(cvar_spas_spd2)
}
Delay = get_pdata_float(iEnt, 46, 4) * iSpeed
M_Delay = get_pdata_float(iEnt, 47, 4) * iSpeed
if (Delay > 0.0)
{
set_pdata_float(iEnt, 46, Delay, 4)
set_pdata_float(iEnt, 47, M_Delay, 4)
}
}
}
}

replace_weapon_models(id, weaponid)
{
switch (weaponid)
{
case CSW_M3:
{
if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
return;

if(g_has_spas12[id])
{
if(g_mode[id] == 0) set_pev(id, pev_viewmodel2, spas12_V_MODEL1)
if(g_mode[id] == 2) set_pev(id, pev_viewmodel2, spas12_V_MODEL2)
set_pev(id, pev_weaponmodel2, spas12_P_MODEL)
}
}
}
}

public fw_UpdateClientData_Post(Player, SendWeapons, CD_Handle)
{
if(!is_user_alive(Player) || (get_user_weapon(Player) != CSW_M3) || (get_user_weapon(Player) == CSW_M3 && !g_has_spas12[Player]))
return FMRES_IGNORED

set_cd(CD_Handle, CD_flNextAttack, halflife_time () + 0.001)
return FMRES_HANDLED
}

public fw_spas12_PrimaryAttack(Weapon)
{
new Player = get_pdata_cbase(Weapon, 41, 5)

if (!g_has_spas12[Player])
return;

g_IsInPrimaryAttack = 1
pev(Player,pev_punchangle,cl_pushangle[Player])

g_clip_ammo[Player] = cs_get_weapon_ammo(Weapon)
}

public fwPlaybackEvent(flags, invoker, eventid, Float:delay, Floatrigin[3], Float:angles[3], Float:fparam1, Float:fparam2, iParam1, iParam2, bParam1, bParam2)
{
if ((eventid != g_orig_event_spas12 && eventid) || !g_IsInPrimaryAttack)
return FMRES_IGNORED
if (!(1 <= invoker <= g_MaxPlayers))
return FMRES_IGNORED

playback_event(flags | FEV_HOSTONLY, invoker, eventid, delay, origin, angles, fparam1, fparam2, iParam1, iParam2, bParam1, bParam2)
return FMRES_SUPERCEDE
}

public fw_spas12_PrimaryAttack_Post(Weapon)
{
g_IsInPrimaryAttack = 0
new Player = get_pdata_cbase(Weapon, 41, 5)

if(g_has_spas12[Player])
{
new Float:push[3]
pev(Player,pev_punchangle,push)
xs_vec_sub(push,cl_pushangle[Player],push)

xs_vec_mul_scalar(push,get_pcvar_float(cvar_r ecoil_spas12),push)
xs_vec_add(push,cl_pushangle[Player],push)
set_pev(Player,pev_punchangle,push)

if (!g_clip_ammo[Player])
return

if(g_mode[Player] == 0)
{
emit_sound(Player, CHAN_WEAPON, Fire_Sounds[0], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
switch(random_num(1,2))
{
case 1:
UTIL_PlayWeaponAnimation(Player, 1)
case 2:
UTIL_PlayWeaponAnimation(Player, 2)
}
}
if(g_mode[Player] == 2)
{
emit_sound(Player, CHAN_WEAPON, "weapons/spas12ex-1.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
switch(random_num(1,2))
{
case 1:
UTIL_PlayWeaponAnimation(Player, 1)
case 2:
UTIL_PlayWeaponAnimation(Player, 2)
}
}

make_blood_and_bulletholes(Player)
}
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
if (victim != attacker && is_user_connected(attacker))
{
if(get_user_weapon(attacker) == CSW_M3)
{
if(g_has_spas12[attacker])
{
if(g_mode[attacker] == 0) SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg1_spas12))
if(g_mode[attacker] == 2) SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmg2_spas12))
}
}
}
}

public message_DeathMsg(msg_id, msg_dest, id)
{
static szTruncatedWeapon[33], iAttacker, iVictim

get_msg_arg_string(4, szTruncatedWeapon, charsmax(szTruncatedWeapon))

iAttacker = get_msg_arg_int(1)
iVictim = get_msg_arg_int(2)

if(!is_user_connected(iAttacker) || iAttacker == iVictim)
return PLUGIN_CONTINUE

if(equal(szTruncatedWeapon, "m3") && get_user_weapon(iAttacker) == CSW_M3)
{
if(g_has_spas12[iAttacker])
set_msg_arg_string(4, "spas12")
}

return PLUGIN_CONTINUE
}

stock fm_cs_get_current_weapon_ent(id)
{
return get_pdata_cbase(id, OFFSET_ACTIVE_ITEM, OFFSET_LINUX);
}

stock fm_cs_get_weapon_ent_owner(ent)
{
return get_pdata_cbase(ent, OFFSET_WEAPONOWNER, OFFSET_LINUX_WEAPONS);
}

stock UTIL_PlayWeaponAnimation(const Player, const Sequence)
{
set_pev(Player, pev_weaponanim, Sequence)

message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = Player)
write_byte(Sequence)
write_byte(pev(Player, pev_body))
message_end()
}

stock make_blood_and_bulletholes(id)
{
new aimOrigin[3], target, body
get_user_origin(id, aimOrigin, 3)
get_user_aiming(id, target, body)

if(target > 0 && target <= g_MaxPlayers && zp_get_user_zombie(target))
{
new Float:fStart[3], Float:fEnd[3], Float:fRes[3], Float:fVel[3]
pev(id, pev_origin, fStart)

velocity_by_aim(id, 64, fVel)

fStart[0] = float(aimOrigin[0])
fStart[1] = float(aimOrigin[1])
fStart[2] = float(aimOrigin[2])
fEnd[0] = fStart[0]+fVel[0]
fEnd[1] = fStart[1]+fVel[1]
fEnd[2] = fStart[2]+fVel[2]

new res
engfunc(EngFunc_TraceLine, fStart, fEnd, 0, target, res)
get_tr2(res, TR_vecEndPos, fRes)

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BLOODSPRITE)
write_coord(floatround(fStart[0]))
write_coord(floatround(fStart[1]))
write_coord(floatround(fStart[2]))
write_short( m_iBlood [ 1 ])
write_short( m_iBlood [ 0 ] )
write_byte(70)
write_byte(random_num(1,2))
message_end()


}
else if(!is_user_connected(target))
{
if(target)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_DECAL)
write_coord(aimOrigin[0])
write_coord(aimOrigin[1])
write_coord(aimOrigin[2])
write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
write_short(target)
message_end()
}
else
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
write_coord(aimOrigin[0])
write_coord(aimOrigin[1])
write_coord(aimOrigin[2])
write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
message_end()
}

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_GUNSHOTDECAL)
write_coord(aimOrigin[0])
write_coord(aimOrigin[1])
write_coord(aimOrigin[2])
write_short(id)
write_byte(GUNSHOT_DECALS[random_num ( 0, sizeof GUNSHOT_DECALS -1 ) ] )
message_end()
}
}

stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}

public fw_TraceAttack(iEnt, iAttacker, Float:flDamage, Float:fDir[3], ptr, iDamageType)
{
if(get_user_weapon(iAttacker) != CSW_M3) return

if((user_has_weapon(iAttacker, CSW_M3) && !g_has_spas12[iAttacker])) return

static Float:flEnd[3]
get_tr2(ptr, TR_vecEndPos, flEnd)

if(iEnt)
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_DECAL)
write_coord_f(flEnd[0])
write_coord_f(flEnd[1])
write_coord_f(flEnd[2])
write_byte(GUNSHOT_DECALS[random_num(0, sizeof GUNSHOT_DECALS -1)])
write_short(iEnt)
message_end()
}
else
{
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_WORLDDECAL)
write_coord_f(flEnd[0])
write_coord_f(flEnd[1])
write_coord_f(flEnd[2])
write_byte(GUNSHOT_DECALS[random_num(0, sizeof GUNSHOT_DECALS -1)])
message_end()
}

message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_GUNSHOTDECAL)
write_coord_f(flEnd[0])
write_coord_f(flEnd[1])
write_coord_f(flEnd[2])
write_short(iAttacker)
write_byte(GUNSHOT_DECALS[random_num(0, sizeof GUNSHOT_DECALS -1)])
message_end()
}

public fw_M3_PostFrame(ent)
{
static id
id = pev(ent, pev_owner)

if(!is_user_alive(id) || !is_user_connected(id))
return HAM_IGNORED
//if(zp_get_user_zombie(iAttacker))
// return FMRES_IGNORED
if(get_user_weapon(id) != CSW_M3 || !g_has_spas12[id])
return HAM_IGNORED

static spas12
spas12 = fm_find_ent_by_owner(-1, "weapon_m3", id)

if(get_pdata_int(spas12, 55, 4) == 1)
{
static Float:CurTime
CurTime = get_gametime()

if(CurTime - 0.4 > g_last_postframe[id])
{
UTIL_PlayWeaponAnimation(id, 3)
g_last_postframe[id] = CurTime
}
}

return HAM_HANDLED
}
Attached Files
File Type: sma Get Plugin or Get Source (zp_weapon_spas12.sma - 920 views - 19.9 KB)

Last edited by YamiKaitou; 09-30-2014 at 10:16.
Gustagustavo is offline
RateX
Veteran Member
Join Date: Jun 2012
Location: 0o. SEA .o0
Old 09-19-2014 , 15:55   Re: zp_extra_item_SPAS12 helpp..!!
Reply With Quote #2

Put the source code in php or code tag next time you post. It's very annoying to see the lines stretching through the page like that.
About the problem, search IN_USE and replace it with IN_ATTACK2
RateX is offline
cr0w
Senior Member
Join Date: Mar 2014
Location: middle east
Old 09-21-2014 , 01:34   Re: zp_extra_item_SPAS12 helpp..!!
Reply With Quote #3

the problem is the "e"
what do you mean ?
by pressing E whats happening ?
__________________
the city is no fun
there is no sun
and its so dark
cr0w is offline
Send a message via Yahoo to cr0w Send a message via Skype™ to cr0w
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 09-21-2014 , 09:34   Re: zp_extra_item_SPAS12 helpp..!!
Reply With Quote #4

Just change this code:
PHP Code:
public fw_CmdStart(iduc_handleseed)
{
    if(
id && id 33)
    {
        if(!
is_user_alive(id))
            return 
PLUGIN_HANDLED
            
        
if((get_user_weapon(id) == CSW_M3 && g_has_spas12[id]) || (get_user_weapon(id) == CSW_XM1014 && g_has_spas12[id]))
        {
            if((
get_uc(uc_handleUC_Buttons) & IN_USE) && !(pev(idpev_oldbuttons) & IN_USE) && g_mode2[id] == 0)
            {
                new 
szClipszAmmo
                
new szWeapID get_user_weapon(idszClipszAmmo)
                if((
szWeapID == CSW_M3 && g_has_spas12[id]) || (szWeapID == CSW_XM1014 && g_has_spas12[id]))
                {
                    if(
g_mode[id] == 0make_mode2(id)
                    if(
g_mode[id] == 2make_mode1(id)
                }
            }
        }
        return 
HAM_SUPERCEDE;
    }
    return 
PLUGIN_HANDLED

--->
PHP Code:
public fw_CmdStart(iduc_handleseed)
{
    if(
id && id 33)
    {
        if(!
is_user_alive(id))
            return 
PLUGIN_HANDLED
            
        
if((get_user_weapon(id) == CSW_M3 && g_has_spas12[id]) || (get_user_weapon(id) == CSW_XM1014 && g_has_spas12[id]))
        {
            if((
get_uc(uc_handleUC_Buttons) & IN_ATTACK2) && !(pev(idpev_oldbuttons) & IN_ATTACK2) && g_mode2[id] == 0)
            {
                new 
szClipszAmmo
                
new szWeapID get_user_weapon(idszClipszAmmo)
                if((
szWeapID == CSW_M3 && g_has_spas12[id]) || (szWeapID == CSW_XM1014 && g_has_spas12[id]))
                {
                    if(
g_mode[id] == 0make_mode2(id)
                    if(
g_mode[id] == 2make_mode1(id)
                }
            }
        }
        return 
HAM_SUPERCEDE;
    }
    return 
PLUGIN_HANDLED

zmd94 is offline
YamiKaitou
Has a lovely bunch of coconuts
Join Date: Apr 2006
Location: Texas
Old 09-30-2014 , 10:17   Re: zp_extra_item_SPAS12 helpp..!!
Reply With Quote #5

Do not upload AMXX files....
Linked removed for containing an AMXX file
__________________
ProjectYami Laboratories

I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).
YamiKaitou is offline
AGoodGuy
Member
Join Date: Sep 2014
Old 10-02-2014 , 12:12   Re: zp_extra_item_SPAS12 helpp..!!
Reply With Quote #6

- Find : IN_USE --> IN_ATTACK2
- Use PHP code tag for your code!
__________________
Without Passion Life Is Nothing

Quote:
“If you can't fly then run, if you can't run then walk, if you can't walk then crawl, but whatever you do, you have to keep moving forward.”― Martin Luther King Jr.
AGoodGuy 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 22:26.


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