View Single Post
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 01-24-2012 , 17:53   Re: Replace FITH sound
Reply With Quote #14

Arg 1 is the player index the sound comes from, have consequence to show one the radar.

PHP Code:
#include <amxmodx>
#include <fakemeta>

#define VERSION "0.1.0"
#define PLUGIN "FITH Replacement."

new const FITH_TE[] = "buttons/blip1.wav"
new const FITH_CT[] = "vox/grenade.wav"

enum // http://wiki.amxmodx.org/Half-Life_1_Game_Events#SendAudio
{
    
SendAudio_SenderID 1// byte
    
SendAudio_AudioCode// string
    
SendAudio_Pitch // short
}

#define NumToString(%0,%1,%2)    formatex(%1, %2, "%d", %0)

const XO_PLAYER 5
const m_iTeam 114
const m_szLocation 597*4

const TEAM_T 1

const PRINT_RADIO 5
new gmsgTextMsg

public plugin_init()
{
    
register_plugin(PLUGINVERSION"ConnorMcLeod")
    
register_message(get_user_msgid("SendAudio"), "Message_SendAudio")
    
gmsgTextMsg get_user_msgid("TextMsg")
}

public 
plugin_precache()
{
    
precache_sound(FITH_TE)
    
precache_sound(FITH_CT)
}

public 
Message_SendAudio(iMsgIdiMsgDestid)
{
    if( 
id )
    {
        static 
audioCode[18// "%!MRAD_FIREINHOLE"
        
get_msg_arg_string(SendAudio_AudioCodeaudioCodecharsmax(audioCode))
        if( 
equal(audioCode"%!MRAD_FIREINHOLE") )
        {
            new 
sender get_msg_arg_int(SendAudio_SenderID)
            if( 
is_user_connected(sender) ) // who knows
            
{
                new 
iTeam get_pdata_int(senderm_iTeamXO_PLAYER)
                new 
weapName[32], senderName[32], szLocation[32], szId[3], szMessage[128]
                
get_user_name(sendersenderNamecharsmax(senderName))
                
get_weaponname(get_user_weapon(sender), weapNamecharsmax(weapName))
                
ucfirst(weapName[7])
                
get_pdata_string(senderm_szLocationszLocationcharsmax(szLocation), 0XO_PLAYER)
                
NumToString(senderszIdcharsmax(szId))

                
message_begin(MSG_ONE_UNRELIABLEgmsgTextMsg, .player=id)
                {
                    
write_byte(PRINT_RADIO)
                    
write_string(szId)
                    if(
szLocation[0])
                    {
                        
formatex(szMessagecharsmax(szMessage), "^3%%s1 ^4@ %%s2^1(RADIO): ^4%s ^1%%s3"weapName[7])
                        
//ewrite_string("#Game_radio_location")
                        
write_string(szMessage)
                        
write_string(senderName)
                        
write_string(szLocation)
                    }
                    else
                    {
                        
formatex(szMessagecharsmax(szMessage), "^3%%s1 ^1(RADIO): ^4%s ^1%%s2"weapName[7])
                        
write_string(szMessage)
                        
write_string(senderName)
                    }
                    
write_string("#Fire_in_the_hole")
                }
                
message_end()

                if( 
get_msg_block(gmsgTextMsg) == BLOCK_NOT )
                {
                    
set_msg_block(gmsgTextMsgBLOCK_ONCE)
                }
                
set_msg_arg_string(SendAudio_AudioCodeiTeam == TEAM_T FITH_TE FITH_CT)
            }
        }
    }

__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 01-25-2012 at 02:48.
ConnorMcLeod is offline