change weapons
is there a tut or somthing like that i can change the weapons? i mean for example give a big explosion to a weapon or change the effects. any thing like weaponmod weapons. like this effect.
i have for first this one, but crash :(
PHP Code:
#include <amxmodx> #include <fakemeta>
new P_MODEL[] = "models/p_rpistol.mdl"; new V_MODEL[] = "models/v_rpistol.mdl"; new W_MODEL[] = "models/w_rpistol.mdl";
new RPROCKET_MODEL[] = "models/rpgrocket.mdl" new RPROCKET_SOUND[] = "weapons/rp_shot1.wav"
new s_RELOAD_1[] = "weapons/rp_reload.wav";
#define RELOAD_TIME 2.0 #define REFIRE1_RATE 3.0 #define RPROCKET_SPEED 2000 #define RPROCKET_RADIUS 200.0 #define RPROCKET_DAMAGE 150.5 enum { anim_idle1, anim_idle2, anim_idle3, anim_fire1, anim_fire2, anim_reload, anim_draw, anim_holster, anim_reload2 } new g_wpnid; new g_trail, g_explosion;
public plugin_precache() { precache_model(P_MODEL); precache_model(V_MODEL); precache_model(W_MODEL); precache_sound(s_RELOAD_1);
precache_model(RPROCKET_MODEL) precache_sound(RPROCKET_SOUND)
g_trail = precache_model("sprites/zbeam2.spr") g_explosion = precache_model("sprites/gwave1.spr") }
public plugin_init() { register_plugin("lol", "1", "lol"); register_forward(FM_Touch, "fwd_Touch")
} stock vec_to_angle(Float:vector[3], Float:output[3]) { new Float:angles[3] engfunc(EngFunc_VecToAngles, vector, angles) output[0] = angles[0] output[1] = angles[1] output[2] = angles[2] } public ev_attack1(id) { new g_weapon_speed = get_user_weapon(id, _, _); if(g_weapon_speed && CSW_SCOUT) {
new rocket = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) set_pev(rocket, pev_classname, "rp_rocket") engfunc(EngFunc_SetModel, rocket, RPROCKET_MODEL) set_pev(rocket, pev_owner, id) set_pev(rocket, pev_movetype, MOVETYPE_FLY) set_pev(rocket, pev_solid, SOLID_BBOX) set_pev(rocket, pev_mins, Float:{-1.0, -1.0, -1.0}) set_pev(rocket, pev_maxs, Float:{1.0, 1.0, 1.0}) new Float:fStart[3] set_pev(rocket, pev_origin, fStart) new Float:fVel[3] velocity_by_aim(id, RPROCKET_SPEED, fVel) set_pev(rocket, pev_velocity, fVel) new Float:fAngles[3] vec_to_angle(fVel, fAngles) set_pev(rocket, pev_angles, fAngles) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(rocket) write_short(g_trail) write_byte(25) write_byte(5) write_byte(224) write_byte(225) write_byte(255) write_byte(255) message_end() emit_sound(rocket, CHAN_WEAPON, RPROCKET_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM); return PLUGIN_CONTINUE } }
public fwd_Touch(ptr, ptd) { if(pev_valid(ptr)) { static classname[32]; pev(ptr, pev_classname, classname, 31); new Float:fOrigin[3]; pev(ptr, pev_origin, fOrigin); engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, fOrigin, 0); write_byte(TE_EXPLOSION); engfunc(EngFunc_WriteCoord, fOrigin[0]); engfunc(EngFunc_WriteCoord, fOrigin[1]); engfunc(EngFunc_WriteCoord, fOrigin[2]); write_short(g_explosion); write_byte(30); write_byte(15); write_byte(0); message_end(); } }
</span></span>
|