[ROZWIĄZANE] Wolne strzelanie
adif11 23.12.2013
Witam czy mógł by ktoś powiedzieć dlaczego kod poniżej po ulepszeniu glocka broń strzela jak deagle?
#include <amxmodx> #include <fakemeta> #include <hamsandwich> #include <xs> #include <gunxpmod> #include <engine> #include <cstrike> new PLUGIN_NAME[] = "UNLOCK : Colt Trooper mk. III" new PLUGIN_AUTHOR[] = "xbatista" new PLUGIN_VERSION[] = "1.0" new const WEAPON_V_MDL[] = "models/gunxpmod/v_glock18.mdl"; #define WEAPON_CSW CSW_GLOCK18 new const weapon_n[] = "weapon_glock18"; const m_pPlayer = 41; const m_flPrimaryAttack = 46; #define IsPlayer(%1) ( 1 <= %1 <= g_maxplayers ) new g_hasZoom[33]; new damage_weapon, pCvarRof, weapon_recoil; new g_maxplayers; new bool:g_Weapon[33]; new szClip, szAmmo; new Float:cl_pushangle[33][3]; public plugin_init() { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR) register_gxm_item("Colt mk. III", "+Aim -Rate +Power +Scope ( GLOCK18 )", 25) damage_weapon = register_cvar("gxm_damage_dg","3.5"); // damage multiplier pCvarRof = register_cvar( "dg_rof", "0.700" ); // weapon rof , 0.090 - fast weapon_recoil = register_cvar( "dg_recoil", "0.8" ); // weapon recoil register_event("CurWeapon", "Event_CurWeapon", "be", "1=1"); RegisterHam( Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPost" , 1 ); RegisterHam( Ham_Weapon_PrimaryAttack, weapon_n, "Fwd_AttackSpeedPre"); RegisterHam( Ham_Item_Deploy , weapon_n, "Fwd_AttackSpeedPost", 1 ); RegisterHam(Ham_TakeDamage, "player", "Ham_DamageWeapon"); register_forward( FM_CmdStart, "Fwd_CmdStart" ); g_maxplayers = get_maxplayers(); } public gxm_item_enabled(id) { g_Weapon[id] = true; } public client_connect(id) { g_Weapon[id] = false; } public plugin_precache() { engfunc(EngFunc_PrecacheModel, WEAPON_V_MDL); } public Fwd_AttackSpeedPre(Ent) { new id = pev(Ent,pev_owner); entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]); } public Fwd_AttackSpeedPost( const Entity ) { static id ; id = get_pdata_cbase(Entity, m_pPlayer, 4) if (g_Weapon[id] && IsPlayer(id) ) { set_pdata_float( Entity, m_flPrimaryAttack, get_pcvar_float( pCvarRof ), 4 ); new Float:push[3]; entity_get_vector( id, EV_VEC_punchangle, cl_pushangle[id]); xs_vec_sub( push, cl_pushangle[id], push); xs_vec_mul_scalar( push, get_pcvar_float( weapon_recoil ), push); xs_vec_add( push, cl_pushangle[id], push); entity_set_vector( id, EV_VEC_punchangle, push); } } public Ham_DamageWeapon(id, inflictor, attacker, Float:damage, damagebits) { if ( !IsPlayer(attacker) || !g_Weapon[attacker] ) return HAM_IGNORED; new weapon2 = get_user_weapon(attacker, _, _); if( weapon2 == WEAPON_CSW) { SetHamParamFloat(4, damage * get_pcvar_float(damage_weapon)); return HAM_HANDLED; } return HAM_IGNORED; } public Event_CurWeapon(id) { if ( !g_Weapon[id] || !is_user_alive(id) ) return PLUGIN_CONTINUE; new Gun = read_data(2) if( Gun == WEAPON_CSW) { entity_set_string(id, EV_SZ_viewmodel, WEAPON_V_MDL) } return PLUGIN_CONTINUE; } public Fwd_CmdStart( id, uc_handle, seed ) { if( !is_user_alive( id ) || !g_Weapon[id] ) return FMRES_IGNORED; if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) ) { new szWeapID = get_user_weapon( id, szClip, szAmmo ) if( szWeapID == WEAPON_CSW && !g_hasZoom[ id ]) { g_hasZoom[ id ] = true cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 1 ) } else { if( g_hasZoom[ id ] ) { g_hasZoom[ id ] = false cs_set_user_zoom( id, CS_RESET_ZOOM, 0 ) } } return FMRES_HANDLED; } return FMRES_IGNORED; }
R3D BuLL
23.12.2013
Byc moze to ta linijka
pCvarRof = register_cvar( "dg_rof", "0.700" ); // weapon rof , 0.090 - fastZmien wartosc tego cvaru tutaj jezel nie nie masz cvarow w amxx.cfg i skompiluj.
Fili:P
23.12.2013
Zamień:
set_pdata_float( Entity, m_flPrimaryAttack, get_pcvar_float( pCvarRof ), 4 );
Na:
set_pdata_float( Entity, m_flPrimaryAttack, get_pdata_float( Ent, 46, 4) * get_pcvar_float( pCvarRof ), 4 ); set_pdata_float(Ent, 47, get_pdata_float( Ent, 47, 4) * get_pcvar_float( pCvarRof ), 4);
Fili:P
24.12.2013
set_pdata_float( Entity, m_flPrimaryAttack, get_pdata_float( Entity, 46, 4) * get_pcvar_float( pCvarRof ), 4 );set_pdata_float( Entity, 47, ( get_pdata_float( Entity, 47, 4) * get_pcvar_float( pCvarRof ) ), 4);Teraz w cvarze podajesz mnożnik delayu między strzałami. Im mniejszy tym szybciej strzelamy.
sebul
25.12.2013
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL