fith sound

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Ку, подскажите, использую данный плагин для звуков броска гранат
Код:
#include <amxmodx>
#include <amxmisc>
#include <reapi>

//#define CUSTOM_FITH_SOUNDS    // Using custom sounds instead "Fire in the hole!"

#if defined CUSTOM_FITH_SOUNDS
    #define MAX_SOUND_PATH_LENGTH    32
    #define MAX_SOUNDS                3
    
    new const g_szHEGrenadeSounds[MAX_SOUNDS][MAX_SOUND_PATH_LENGTH] = {
        "radio/fith/hegrenade1.wav",
        "radio/fith/hegrenade2.wav",
        "radio/fith/hegrenade3.wav"
    }
    
    new const g_szSmokeGrenadeSounds[MAX_SOUNDS][MAX_SOUND_PATH_LENGTH] = {
        "radio/fith/smokegrenade1.wav",
        "radio/fith/smokegrenade2.wav",
        "radio/fith/smokegrenade3.wav"
    }
    
    new const g_szFlashBangSounds[MAX_SOUNDS][MAX_SOUND_PATH_LENGTH] = {
        "radio/fith/flashbang1.wav",
        "radio/fith/flashbang2.wav",
        "radio/fith/flashbang3.wav"
    }
    
    public plugin_precache() {
        for(new i; i < MAX_SOUNDS; i++) {
            precache_sound(g_szHEGrenadeSounds[i])
            precache_sound(g_szSmokeGrenadeSounds[i])
            precache_sound(g_szFlashBangSounds[i])
        }
    }
#endif

public plugin_init() {
    register_plugin("Colored FITH ReAPI", "1.2", "CHEL74")
    
    register_dictionary("colored_fith.txt")
    
    RegisterHookChain(RG_CBasePlayer_Radio, "Radio_Pre")
}

public Radio_Pre(pSender, szMsgID[], szMsgVerbose[]) {
    if(szMsgVerbose[0] == EOS || !equal(szMsgVerbose, "#Fire_in_the_hole")) {
        return HC_CONTINUE
    }
    
    new pPlayers[MAX_PLAYERS], iNum, pReceiver, iReceiverTeam
    new iSenderTeam = get_member(pSender, m_iTeam)
    new WeaponIdType:pGrenade = rg_get_user_weapon(pSender)
    #if defined CUSTOM_FITH_SOUNDS
        new szSound[MAX_SOUND_PATH_LENGTH]
    #endif
    
    get_players_ex(pPlayers, iNum, GetPlayers_ExcludeBots)
    
    for(new i; i < iNum; i++) {
        pReceiver = pPlayers[i]
        
        if(get_member(pReceiver, m_bIgnoreRadio)) {
            continue
        }
        
        iReceiverTeam = get_member(pReceiver, m_iTeam)
        
        if(iReceiverTeam != iSenderTeam && any:iReceiverTeam != TEAM_SPECTATOR) {
            continue
        }
        
        switch(pGrenade) {
            case WEAPON_HEGRENADE: {
                client_print_color(pReceiver, print_team_red, "%l", "CFITH_HEGRENADE", pSender)
                
                #if defined CUSTOM_FITH_SOUNDS
                    szSound = g_szHEGrenadeSounds[random(sizeof(g_szHEGrenadeSounds))]
                #endif
            }
            case WEAPON_SMOKEGRENADE: {
                client_print_color(pReceiver, print_team_default, "%l", "CFITH_SMOKEGRENADE", pSender)
                
                #if defined CUSTOM_FITH_SOUNDS
                    szSound = g_szSmokeGrenadeSounds[random(sizeof(g_szSmokeGrenadeSounds))]
                #endif
            }
            case WEAPON_FLASHBANG: {
                client_print_color(pReceiver, print_team_grey, "%l", "CFITH_FLASHBANG", pSender)
                
                #if defined CUSTOM_FITH_SOUNDS
                    szSound = g_szFlashBangSounds[random(sizeof(g_szFlashBangSounds))]
                #endif
            }
            default: {
                return HC_CONTINUE
            }
        }
        
        #if defined CUSTOM_FITH_SOUNDS
            rg_send_audio(pReceiver, szSound)
        #else
            rg_send_audio(pReceiver, "radio/ct_fireinhole.wav")
        #endif
    }
    
    return HC_SUPERCEDE
}

stock WeaponIdType:rg_get_user_weapon(const pPlayer) {
    new pWeapon = get_member(pPlayer, m_pActiveItem)
    
    if(!is_nullent(pWeapon)) {
        return get_member(pWeapon, m_iId)
    }
    
    return WEAPON_NONE
}
хочу добавить туда же и молотов от медузы, но особо не понял как нужно, делал как записано в
Код:
RegisterHookChain(RG_CBasePlayer_ThrowGrenade, "CBasePlayer_ThrowGrenade_Pre", false);
а именно g_szGrenadeSounds, но думаю неверно
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Schokk, добовлял и в сам, по верхнему примеру исходника, но начинает работать только на хаешке, то есть распознает Grenade как обычную хаешку но не молотов
 
Сообщения
45
Реакции
24
Diaz, добавляете в плагин молотова
вверху
Код:
new const g_fith_sound[] = "sound.wav"
далее в прекэш
Код:
precache_sound(g_fith_sound)
далее в public CBasePlayer_ThrowGrenade_Pre
Код:
emit_sound(id, CHAN_STATIC, g_fith_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
Готово!
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
exxxclusive, спасибо
а вот id, это же только я буду слышать звук?
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
а как что бы только рядом кто слышал? как в оригинальных бросках
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
Diaz, в оригинале слышит вся команда, вне зависимости от расстояния
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Nordic Warrior, подскажите, а как от рассьояния сделать, тоесть слышат все но зависит от расстояния, чем дальше игроки тем тише слышат, если очень далеко то не слышат уже
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Nordic Warrior, эксклюзив написал выше да, но меня смущает
Код:
emit_sound(id
id же будет слышать только игрок который бросает, или с emit по другому работает как мне нужно?
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
Diaz, здесь указывается тот, от кого исходит звук
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Nordic Warrior, то есть кто рядом услышат верно?
 
Сообщения
71
Реакции
6
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу