|
|
| |
| ZASOBY |
| |
| |
|
|
|
| |
|
| NASZ BUTTON |
|
|
| |
|
|
| |
|
| |
|
TUTORIALE - CODING
|
[ Dodaj ]
|
|
Burst fire w MP5 Mefi'ego (potrójny strzał)
| [ 2007-05-18 03:56:04 Dodał:
sobieh Wyświetleń: 1960 Komentarzy: 1 ]
|
|
Witam.
Czytając dziś tutorial Mefi'ego zauważyłem że nie jest jeszcze opisane jak dodać SecondaryAttack jako BURST (potrójny strzał) do danej broni. Postanowiłem więc napisać swój pierwszy Tutorial.
Przechodząc do rzeczy ...
Co nam jest potrzebne :
a. Wszystko to co opisał Mefi w swoim Tutorialu o dodawaniu MP5
b. Pliki dołączone do tego Tutoriala (dodatkowy dźwięk i skrypt)
c. 15 minut czasu i chęci
Modyfikacja :
1. Pobieramy pliki dołączone do Tutoriala i wypakowujemy do folderu Moda
2. Odpalamy VisualC++ i ładujemy projekt SDK
3. Otwieramy wcześniej już stworzony plik server_hl2 \ Source Files \ HL2 DLL \ weapon_mp5.cpp
4. Szukamy w nim frazy
void CWeaponMP5::SecondaryAttack( void )
{
//może kiedyś coś tu dodam
} |
i zamieniamy całą znalezioną frazę na :
// Metoda: MP5 Secondary Attack (BURST FIRE)
void CWeaponMP5::SecondaryAttack( void )
{
// Pobieramy gracza
CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );
// Jesli nie ma gracza
if ( !pPlayer )
{
// To nie robimy nic
return;
}
// Sprawdzamy czy w magazyku sa przynajmniej 3 naboje
if ( m_iClip1 < 3 )
{
if ( !m_bFireOnEmpty )
{
// Jesli nie ma to przeladowujemy
Reload();
}
else
{
// Jesli nie ma juz zapasowych magazykow to
// odtwarzamy dzwiek pustego strzalu
WeaponSound( EMPTY );
// Bron nie wystrzelila wiec ustawiamy czas
// kolejnego wystrzalu na "0.1"
m_flNextPrimaryAttack = 0.1;
}
return;
}
// Ustawiamy tryb ognia na BURST czyli 3 strzaly naraz
WeaponSound( BURST );
// Dodajemy blysk wystrzalu broni
pPlayer->DoMuzzleFlash();
// Ustawiamy animacje modelu broni na Primary Attack
SendWeaponAnim( SendWeaponAnim( ACT_VM_PRIMARYATTACK ) );
// Ustawiamy animacje modelu gracza na Attack 1
pPlayer->SetAnimation( PLAYER_ATTACK1 );
// Ustawiamy czas kolejnego strzalu 3 razy dluzszy niz zwyklego strzalu
m_flNextPrimaryAttack = gpGlobals->curtime + 0.15;
// To samo robimy dla Secondary Attack czyli naszego "BURST"
m_flNextSecondaryAttack = gpGlobals->curtime + 0.15;
// Zabieramy 3 naboje z magazynka
m_iClip1 -= 3;
// Pobieramy wektor pozycji strzalu
Vector vecSrc = pPlayer->Weapon_ShootPosition();
// Ustawiamy celnosc broni
Vector vecAiming = pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );
// Pierwszy parametr "3" oznacza ilosc wystrzeliwanych pociskow
// w tym przypadku 3
pPlayer->FireBullets( 3, vecSrc, vecAiming, vec3_origin, 8000, m_iPrimaryAmmoType, 0 );
// Dodajemy odrzut przy wystrzale
AddViewKick();
// Dodajemy dzwiek strzalu
CSoundEnt::InsertSound( SOUND_COMBAT, GetAbsOrigin(), 600, 0.2, GetOwner() );
// Jesli skonczyla sie amunicja
if ( !m_iClip1 && pPlayer->GetAmmoCount( m_iPrimaryAmmoType ) <= 0 )
{
// To informujemy o tym HEV Suit
pPlayer->SetSuitUpdate( "!HEV_AMO0", FALSE, 0 );
}
}
|
5. Otwieramy plik ...SteamApps\SourceMods\\scripts\game_sounds_weapons.txt
i ponownie dopisujemy w nim na samym końcu coś takiego :
"Weapon_MP5Navy.Burst"
{
"channel" "CHAN_WEAPON"
"volume" "1.0"
"CompatibilityAttenuation" "0.64"
"pitch" "PITCH_NORM"
"wave" "weapons/mp5navy/mp5-2.wav"
}
|
To poinformuje silnik o dźwięku przypisanym do Weapon_MP5Navy.Burst
6. Uruchamiamy Moda
7. Jeśli nie działa ... to znaczy że coś skopałem i będę musiał poprawić
Testowałem MP5 po tej modyfikacji i wydaje się działać prawidłowo.
Jeśli z tym Tutorialem jest nie tak to piszcie.
W kodzie c++ nie ma polskich znaków z wiadomych przyczyn.
DOŁĄCZONE PLIKI: MP5_BURST_PATCH.ZIP ( 67 KB )
|
|
|
| |
| KOMENTARZE |
|
| [ 2007-05-20 03:40:17 Dodał:
sobieh ]
|
|
|
|
Gdyby ktoś to testował to byłbym wdzięczny za komentarz czy działa i czy wszystko było jasno opisane. |
|
|
|
|
|
| |
|
|
| |
| SHOUTBOX |
|
Tracha: Royal Sperm <3 |
|
MoonBlaze: uwaga wirus |
|
Elektryk: Link |
|
MoonBlaze: btw to nie wiedziałem, że tusk i palikot są razem, po palicocie bym się spodziewał, ale po matole to nie :( |
|
pulka103: Ja was też <3 moi mili ; *** |
|
MoonBlaze: ty prowokancie ;* |
|
Dabu: Tusk i Palikot <3 |
|
Tracha: Link Yep |
|
MoonBlaze: &Palicot |
|
Tracha: Fuck Tusk |
|
| |
|
|
|