Jump to content

[Tutorial] Schimbarea sunetelor originale cu altele !


Recommended Posts

Posted
Nume Tutorial : Schimbarea sunetelor originale cu altele..
# Autorul : -
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;
}

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...