Veteran Member
Join Date: Jan 2010
Location: God is with us...
|
05-05-2010
, 01:56
Re: [ZP] Extra Item: CSO REX CV-47 60R
|
#10
|
Quote:
Originally Posted by ConnorMcLeod
You are supposed to check before release ;)
|
well, the first time i tried it worked properly.
but, when i tried again and restarted server it moved back to regular ak-47 and reload gave back 30 instead of 60????? when its out of ammo it goes back to 90 when i buy????? what the hell??!?!
ok, i tried to change stuff in the .sma :
PHP Code:
// [ZP] Extra Item: CSO REX CV-47 60R // By jc980 and the JeproKs Productions Team
#include <amxmodx> #include <engine> #include <fakemeta> #include <fun> #include <hamsandwich> #include <cstrike> #include <zombieplague>
#define is_valid_player(%1) (1 <= %1 <= 32) #define ENG_NULLENT -1 #define EV_INT_WEAPONKEY EV_INT_impulse #define CV_WEAPONKEY 666 #define FIRE_CV47 "sound/zombie_plague/cv47-1.wav"
new const g_CVEnt[] = "weapon_ak47"
// cvar crap new cvar_dmgmultiplier, cvar_custommodel
// Item ID new g_itemid
new bool:g_HasAk[33]
new g_hasZoom[ 33 ]
const weap_ak47 = ((1<<CSW_AK47))
public plugin_init() { // fucking CVARs cvar_dmgmultiplier = register_cvar("zp_cv47_dmg_multiplier", "5") cvar_custommodel = register_cvar("zp_cv47_custom_model", "1") // Register The Fucking Plugin register_plugin("[ZP] Extra Item: CSO REX CV-47 60R", "1.0", "jc980") // Register Zombie Plague 4.3 extra shit item g_itemid = zp_register_extra_item("CSO REX CV-47 60R", 10, ZP_TEAM_HUMAN) // Death Message shit register_event("DeathMsg", "Death", "a") // Weapon Pick Up thing register_event("WeapPickup","checkModel","b","1=19") // Current Weapon Event bla bla bla register_event("CurWeapon","checkWeapon","be","1=1") // Ham TakeDamage stuff RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") register_forward( FM_CmdStart, "fw_CmdStart" ) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) RegisterHam(Ham_Item_AddToPlayer, g_CVEnt, "fw_CV47AddToPlayer") // world model shit register_forward(FM_SetModel, "fw_SetModel") // custom sound shit register_forward(FM_EmitSound,"fw_emitsound") }
public client_connect(id) { g_HasAk[id] = false }
public client_disconnect(id) { g_HasAk[id] = false }
public Death() { g_HasAk[read_data(2)] = false }
public fwHamPlayerSpawnPost(id) { g_HasAk[id] = false }
public plugin_precache() { precache_model("models/zombie_plague/v_cv47.mdl") precache_model("models/zombie_plague/p_cv47.mdl") precache_model("models/zombie_plague/w_cv47.mdl") precache_sound("weapons/zoom.wav") precache_sound(FIRE_CV47) }
public zp_user_infected_post(id) { if (zp_get_user_zombie(id)) { g_HasAk[id] = false } }
public checkModel(id) { if ( zp_get_user_zombie(id) ) return PLUGIN_HANDLED new szWeapID = read_data(2) if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(cvar_custommodel) ) { set_pev(id, pev_viewmodel2, "models/zombie_plague/v_cv47.mdl") set_pev(id, pev_weaponmodel2, "models/zombie_plague/p_cv47.mdl") } return PLUGIN_HANDLED }
public fw_SetModel(entity, model[]) { // check if its a valid entity or else we'll get shitty errors if(!is_valid_ent(entity)) return FMRES_IGNORED // checks if it's the crappy model we want to change if(!equali(model, "w_ak47.mdl")) return FMRES_IGNORED new className[33] entity_get_string(entity, EV_SZ_classname, className, 32) // world model crap if(equal(className, "weaponbox")) { // set's the world model (what you see on the shitty ground) entity_set_model(entity, "models/zombie_plague/w_cv47.mdl") return FMRES_SUPERCEDE } return FMRES_IGNORED }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage) { if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker] ) { SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) ) } }
public fw_CmdStart( id, uc_handle, seed ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) ) { new szClip, szAmmo new szWeapID = get_user_weapon( id, szClip, szAmmo ) if( szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true) { g_hasZoom[id] = true cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 ) emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 ) } else if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id]) { g_hasZoom[ id ] = false cs_set_user_zoom( id, CS_RESET_ZOOM, 0 ) } } return PLUGIN_HANDLED }
public fw_emitsoundound(entity,channel,sample[],Float:volume,Float:attenuation,fFlags,pitch) { // if it is our extra shit item firing sound if(equali(sample,"sound/weapons/ak47-1.wav")) { emit_sound(entity,channel,FIRE_CV47,volume,attenuation,fFlags,pitch); // play our custom one return FMRES_SUPERCEDE; // stop this original from playing } return FMRES_IGNORED; }
public zp_extra_item_selected(player, itemid) { if ( itemid == g_itemid ) { if ( user_has_weapon(player, CSW_AK47) ) { drop_prim(player) } // bpammo and weapon clip shit new iWep = give_item(player, "weapon_ak47") if( iWep > 0 ) { cs_set_weapon_ammo( iWep, 60 ) cs_set_user_bpammo( player, CSW_AK47, 180 ) } client_print(player, print_chat, "[ZP] You bought CSO REX CV-47 60R") g_HasAk[player] = true; } }
// More scripting Shit (thanks to the scripting help forums) public fw_CV47AddToPlayer (CV47, id) { // Make sure that this is M79 (making it dont collide to Nihilanth's m79 plugin) if( is_valid_ent(CV47) && is_user_connected(id) && entity_get_int(CV47, EV_INT_WEAPONKEY) == CV_WEAPONKEY) { // Update shit g_HasAk[id] = true // Reset weapon bullshit entity_set_int(CV47, EV_INT_WEAPONKEY, 0) return HAM_HANDLED } return HAM_IGNORED }
stock drop_prim(id) { new weapons[32], num get_user_weapons(id, weapons, num) for (new i = 0; i < num; i++) { if (weap_ak47 & (1<<weapons[i])) { static wname[32] get_weaponname(weapons[i], wname, sizeof wname - 1) engclient_cmd(id, "drop", wname) } } }
please stand by, fixing wrong code. (please do not delete thread)
__________________
Last edited by jc980; 05-05-2010 at 04:54.
|
|