![]() |
Показать все 3 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Скорость стрельбы от клика мышки (https://hlfx.ru/forum/showthread.php?threadid=3873)
Скорость стрельбы от клика мышки
Вообщем хочу чтобы глок в хл1 стрелял как пистол из кс 1.6, или скажем как глок из БМ:С. Как бы чем быстрее кликаешь мышкой - быстрее скорость стрельбы. Есть такой код?
1 | #include "extdll.h" |
2 | #include "util.h" |
3 | #include "cbase.h" |
4 | #include "monsters.h" |
5 | #include "weapons.h" |
6 | #include "nodes.h" |
7 | #include "player.h" |
8 | #include "soundent.h" |
9 | #include "gamerules.h" |
10 |
11 |
12 | LINK_ENTITY_TO_CLASS( weapon_usp, CUSP ); |
13 |
14 |
15 | enum usp_e |
16 | { |
17 | USP_IDLE = 0, |
18 | USP_SHOOT1, |
19 | USP_SHOOT2, |
20 | USP_SHOOT3, |
21 | USP_SHOOTLAST, |
22 | USP_RELOAD, |
23 | USP_DRAW, |
24 | USP_ADD_SILENCER, |
25 | USP_IDLE_UNSIL, |
26 | USP_SHOOT1_UNSIL, |
27 | USP_SHOOT2_UNSIL, |
28 | USP_SHOOT3_UNSIL, |
29 | USP_SHOOTLAST_UNSIL, |
30 | USP_RELOAD_UNSIL, |
31 | USP_DRAW_UNSIL, |
32 | USP_DETACH_SILENCER |
33 | }; |
34 |
35 |
36 | void CUSP::Spawn( ) |
37 | { |
38 | pev->classname = MAKE_STRING("weapon_usp"); |
39 | Precache( ); |
40 | SET_MODEL(ENT(pev), "models/weapons/usp/w_usp.mdl"); |
41 | m_iId = WEAPON_USP; |
42 | m_iDefaultAmmo = 112; |
43 | FallInit(); |
44 |
45 | unsil = true; |
46 |
47 | wepspread_s.MaxSpreadX = 5; |
48 | wepspread_s.MaxSpreadY = 5; |
49 |
50 | wepspread_s.SpreadX = 2; |
51 | wepspread_s.SpreadY = 2; |
52 | } |
53 |
54 | void CUSP::Precache( void ) |
55 | { |
56 | PRECACHE_MODEL("models/weapons/usp/v_usp.mdl"); |
57 | PRECACHE_MODEL("models/weapons/usp/p_usp.mdl"); |
58 | PRECACHE_MODEL("models/weapons/usp/w_usp.mdl"); |
59 |
60 | m_iShell = PRECACHE_MODEL( "models/pshell.mdl" ); |
61 |
62 | PRECACHE_SOUND ("weapons/usp1.wav"); |
63 | PRECACHE_SOUND ("weapons/usp_unsil-1.wav"); |
64 |
65 | m_event = PRECACHE_EVENT( 1, "events/usp.sc" ); |
66 | } |
67 |
68 | int CUSP::GetItemInfo(ItemInfo *p) |
69 | { |
70 | p->pszName = STRING(pev->classname); |
71 | p->pszAmmo1 = "ammo_usp"; // The type of ammo it uses |
72 | p->iMaxAmmo1 = 100; // Max ammo the player can carry |
73 | p->pszAmmo2 = NULL; // No secondary ammo |
74 | p->iMaxAmmo2 = -1; |
75 | p->iMaxClip = 12; // The clip size |
76 | p->iSlot = 1; // The number in the HUD |
77 | p->iPosition = 0; // The position in a HUD slot |
78 | p->iFlags = ITEM_FLAG_NOAUTOSWITCHEMPTY | ITEM_FLAG_SELECTONEMPTY; |
79 | p->iId = m_iId = WEAPON_USP; // The weapon id |
80 | p->iWeight = 5; // for autoswitching |
81 |
82 | return 1; |
83 | } |
84 |
85 | int CUSP::AddToPlayer( CBasePlayer *pPlayer ) |
86 | { |
87 | if ( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) |
88 | { |
89 | MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); |
90 | WRITE_BYTE( m_iId ); |
91 | MESSAGE_END(); |
92 | return TRUE; |
93 | } |
94 |
95 | return FALSE; |
96 | } |
97 |
98 | BOOL CUSP::Deploy( ) |
99 | { |
100 | g_engfuncs.pfnSetClientMaxspeed(m_pPlayer->edict(), 250 ); |
101 |
102 | if( unsil ) |
103 | return DefaultDeploy("models/weapons/usp/v_usp.mdl", "models/weapons/usp/p_usp.mdl", USP_DRAW_UNSIL,"onehanded"); |
104 | else |
105 | return DefaultDeploy("models/weapons/usp/v_usp.mdl", "models/weapons/usp/p_usp.mdl", USP_DRAW,"onehanded"); |
106 | } |
107 |
108 |
109 |
110 | void CUSP::PrimaryAttack() |
111 | { |
112 | if(! ( m_pPlayer->m_afButtonPressed & IN_ATTACK )) |
113 | return; |
114 |
115 | if( unsil ) |
116 | DefaultFire( m_pPlayer, 1, wepspread_s, 30, USP_SHOOT1_UNSIL, "weapons/usp_unsil-1.wav", m_event, 20 ); |
117 | else |
118 | DefaultFire( m_pPlayer, 1, wepspread_s, 30, USP_SHOOT1, "weapons/usp1.wav", m_event, 10 ); |
119 |
120 | m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.085; |
121 | m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + UTIL_SharedRandomFloat(m_pPlayer->random_seed, 1.085,2.085); |
122 | } |
123 |
124 | void CUSP::SecondaryAttack( void ) |
125 | { |
126 | if( unsil ) |
127 | SendWeaponAnim( USP_ADD_SILENCER ); |
128 | else |
129 | SendWeaponAnim( USP_DETACH_SILENCER ); |
130 | unsil = !unsil; |
131 |
132 | m_flNextSecondaryAttack = UTIL_WeaponTimeBase() + 3.0; |
133 | m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 3.0; |
134 | m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 3.0; |
135 | } |
136 |
137 | void CUSP::Reload( void ) |
138 | { |
139 | if( unsil ) |
140 | { |
141 | DefaultReload( 12, USP_RELOAD_UNSIL, 2.7 ); |
142 | } |
143 | else |
144 | { |
145 | DefaultReload( 12, USP_RELOAD, 2.7 ); |
146 | } |
147 | } |
148 |
149 | void CUSP::WeaponIdle( void ) |
150 | { |
151 | ResetEmptySound( ); |
152 |
153 | m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES ); |
154 |
155 | if (m_flTimeWeaponIdle > UTIL_WeaponTimeBase()) |
156 | return; |
157 | if( unsil ) |
158 | { |
159 | SendWeaponAnim( USP_IDLE_UNSIL ); |
160 | } |
161 | else |
162 | { |
163 | SendWeaponAnim( USP_IDLE ); |
164 | } |
165 |
166 | m_flTimeWeaponIdle = UTIL_SharedRandomFloat(m_pPlayer->random_seed, 10, 15); |
167 | } |
if(! ( m_pPlayer->m_afButtonPressed & IN_ATTACK )) |
return; |
А я просто чаще на клавишу нажимаю
__________________
ㅤ
Временная зона GMT. Текущее время 23:55. | Показать все 3 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024