New Page 1
Ako prerobiť „shotgun“ na ozajstnú „shotgun“???
No jednoducho na pár ďalších riadkoch si povieme ako prerobiť
klasickú brokovnicu aby strieľala ako ozajstná to je viac dier v stene. Ja som použil
50 nábojové broky. Ozajstné majú od jedna po cca 100 brokov v náboji. Otvoríme
hl.dsp a nájdeme shotgun.cpp. Modrou farbou sú
staré veci a červenou nové.
Nájdeme:
#define VECTOR_CONE_DM_SHOTGUN
style="mso-tab-count:1"> Vector( 0.08716, 0.04362, 0.00
style="mso-spacerun:yes"> )// 10 degrees by 5 degrees
#define VECTOR_CONE_DM_DOUBLESHOTGUN Vector(
0.17365, 0.04362, 0.00 ) // 20 degrees by 5 degrees
a pred aby dva riadky doplníme // čím ich zrušíme
a dostaneme:
//#define VECTOR_CONE_DM_SHOTGUN
style="mso-tab-count:1"> Vector(
0.08716, 0.04362, 0.00 )// 10 degrees by 5
degrees
//#define VECTOR_CONE_DM_DOUBLESHOTGUN
Vector( 0.17365, 0.04362, 0.00 ) // 20 degrees by 5 degrees
ďalej nájdeme:
m_usSingleFire = PRECACHE_EVENT( 1,
"events/shotgun1.sc" );
m_usDoubleFire = PRECACHE_EVENT( 1,
"events/shotgun2.sc" );
a opäť doplníme // a dostaneme:
//m_usSingleFire = PRECACHE_EVENT( 1,
"events/shotgun1.sc" );
//m_usDoubleFire = PRECACHE_EVENT( 1,
"events/shotgun2.sc" );
Teraz sa prakticky presunieme ,ja to ďalej budem volať sekcia, do
sekcie void CShotgun::PrimaryAttack() prakticky je to
funkcia a opäť nájdeme:
PLAYBACK_EVENT( 0, m_pPlayer->edict(),
m_usSingleFire );
A doplníme pred neho //:
//PLAYBACK_EVENT( 0, m_pPlayer->edict(),
m_usSingleFire );
keď to doplníme posunieme sa o riadok nižšie a vpíšeme
tam:
EMIT_SOUND(ENT(m_pPlayer->pev),
CHAN_WEAPON, "weapons/dbarrel1.wav", 1.0, ATTN_NORM);
SendWeaponAnim( SHOTGUN_FIRE );
Teraz nájdeme:
if ( g_pGameRules->IsDeathmatch() )
{
kde hneď pod zátvorkou sa nachádza:
m_pPlayer->FireBullets( 4, vecSrc,
vecAiming, VECTOR_CONE_DM_SHOTGUN, 2048, BULLET_PLAYER_BUCKSHOT, 0 );
tento riadok zmažeme a na miesto neho doplníme :
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
a teraz asi o 5 riadkov nižšie sa nachádza:
m_pPlayer->FireBullets( 6, vecSrc,
vecAiming, VECTOR_CONE_10DEGREES, 2048, BULLET_PLAYER_BUCKSHOT, 0 );
ktoré opäť zmažeme a vložíme tam predchádzajúcich 50
riadkov typu:
m_pPlayer->FireBullets (1, vecSrc,
vecAiming, VECTOR_CONE_7DEGREES, 16000, BULLET_PLAYER_9MM, 0.5, 3);
o riadok nižšie je
style="color:blue;
mso-ansi-language:EN-US">}
style="mso-ansi-language:
EN-US"> pod ktorú vpíšeme:
m_pPlayer->pev->punchangle.x -= 6;
V sekcii void CShotgun::SecondaryAttack(
void ) spravíme to iste čo v void
CShotgun::PrimaryAttack() akurát že ten text čo sme tam vkladali 50krát tam vložíme
100 krát a na miesto SendWeaponAnim( SHOTGUN_FIRE );
tam dáme SendWeaponAnim( SHOTGUN_FIRE2 ); a
style="color:red">m_pPlayer->pev->punchangle.x -= 6; môžeme zmeniť na
style="color:red">m_pPlayer->pev->punchangle.x -= 10; No a to by malo byť
všetko ak by niekto niečo nevedel nech sa vykecá na fóre.
|