[Tutorial] Schimbarea sunetelor originale cu altele

#1
Nume Tutorial: Schimbarea sunetelor originale cu altele
Descriere: Schimbarea sunetelor originale cu altele
Download:
Autor: Anonim
Sursa (Link-ul oficial): Propria parere: Enjoy!
Tutorialul:

Pasul 1: Intai includem fisierele.inc corespunzatoare in sursa:

#include < amxmodx >
#include < fakemeta >


Pasul 2: Creem o variabila globala falsa:

new bool:bUserHasAk47[ 33 ];


Pasul 3: Acum enumeram sunetele originale ale armei intr-o constanta:

new const OriginalAK47Sounds[ ][ ] = {

"weapons/ak47-1.wav",
"weapons/ak47-2.wav",
"weapons/ak47_boltpull.wav",
"weapons/ak47_clipin.wav",
"weapons/ak47_clipout.wav"
};


Pasul 4: Acum enumeram sunetele pe care vrem sa le inlocuim:

new const GoldAK47_SoundList[ ][ ] = {

"newAK/GoldAk47-1.wav",
"newAK/GoldAk47-2.wav",
"newAK/GoldAk47_boltpull.wav",
"newAK/GoldAk47_clipin.wav",
"newAK/GoldAk47_clipout.wav"
};


Pasul 5: La plugin_init adaugam un forward:

register_forward( FM_EmitSound, "fw_EmitSounds" );


Pasul 6: Pentru ca vom folosi sunete, le vom adauga la plugin_prechace pentru a rula corespunzator:

public plugin_precache( ) {

static i;
for( i = 0; i <= charsmax( GoldAK47_SoundList ); i++ )
precache_sound( GoldAK47_SoundList[ i ] );
}


Pasul 7: Acum creem publicul cu constantele:

public fw_EmitSounds( const id, const channel, const sample[ ] ) {


Pasul 8: Apoi:

if( is_user_alive( id ) ) { // Verificam daca user-ul este in viata:

if( bUserHasAk47[ id ] ) { // "Aducem" variabila globala, in acest moment, adevarata

for( new i = 0; i < sizeof GoldAK47_SoundList; i++ ) { // Stocarea sunetelor

if( equal( sample, OriginalAK47Sounds[ i ] ) ) { // Sunetele originale "sunt chemate"...

emit_sound( id, channel, GoldAK47_SoundList[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM ); // Aici le inlocuim cu cele pe care le vrem noi
return FMRES_SUPERCEDE;
}
}
}
}

return FMRES_IGNORED;
}


Pasul 9: In final iese:

#include < amxmodx >
#include < fakemeta >

#pragma semicolon 1

#define PLUGIN "[TuT] Change Sounds"
#define VERSION "0.1"

new const GoldAK47_SoundList[ ][ ] = {

"newAK/GoldAk47-1.wav",
"newAK/GoldAk47-2.wav",
"newAK/GoldAk47_boltpull.wav",
"newAK/GoldAk47_clipin.wav",
"newAK/GoldAk47_clipout.wav"
};

new const OriginalAK47Sounds[ ][ ] = {

"weapons/ak47-1.wav",
"weapons/ak47-2.wav",
"weapons/ak47_boltpull.wav",
"weapons/ak47_clipin.wav",
"weapons/ak47_clipout.wav"
};

new bool:bUserHasAk47[ 33 ];

public plugin_init( ) {

register_plugin( PLUGIN, VERSION, "YONTU" );

register_forward( FM_EmitSound, "fw_EmitSounds" );

}

public plugin_precache( ) {

static i;
for( i = 0; i <= charsmax( GoldAK47_SoundList ); i++ )
precache_sound( GoldAK47_SoundList[ i ] );
}

public client_putinserver( id ) {

bUserHasAk47[ id ] = false;
}

public client_disconnect( id ) {

bUserHasAk47[ id ] = false;
}

public fw_EmitSounds( const id, const channel, const sample[ ] ) {

if( is_user_alive( id ) ) {

if( bUserHasAk47[ id ] ) {

for( new i = 0; i < sizeof GoldAK47_SoundList; i++ ) {

if( equal( sample, OriginalAK47Sounds[ i ] ) ) {

emit_sound( id, channel, GoldAK47_SoundList[ i ], 1.0, ATTN_NORM, 0, PITCH_NORM );
return FMRES_SUPERCEDE;
}
}
}
}

return FMRES_IGNORED;
}

Înapoi la “Tutoriale Counter Strike 1.6”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 0 vizitatori