|
ninjaboy
Membru
Membru din: Lun Aug 24, 2015 2:50 pm Mesaje: 1407 Localitate: Romania
Skype ID: Nu am!
Yahoo ID: laurentiuciorogar@ya
Server Preferat: Zm.Playcs.ro
Detinator Server: Fost Owner Respawn.
|
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; }
|