Добовляем рандомный звук при инфецировании

Тема в разделе "Zombie:Reloaded", создана пользователем Roberto Sourcequadnet, 26 мар 2014.

  1. Roberto Sourcequadnet

    Roberto Sourcequadnet

    Сообщения:
    23
    Симпатии:
    14
    Делаем несколько звуков при заражении

    Открываем файл zr/soundeffect/zombiesounds.inc

    Добовляем сверху
    PHP:
    #define SOUND_INF_PATH "sourcequad/zombie/zmsound/infect%d.wav" //путь к звуку где %d это порядковый номер звука из которых будет выбираться рандом. Тоесть звуки должны называться infect1, infect2, infect3 и т.д
    #define SOUND_INF_MIN 1
    #define SOUND_INF_MAX 5 //это число звуков для рандома

    Немного ниже находим и добовляем строку,
    PHP:
    enum ZombieSounds
    {
        
    Moan/** Zombie's moan periodically */
        
    Groan/** When zombie is hurt */
        
    Death/** When a zombie is killed */
        
    Infect,  // добовляем свою группу звуков для рандома
    }

    Идём еще ниже, находим
    PHP:
     switch(soundtype)
        {
            
    // Find moan sound.
            
    case Moan:
            {
                
    // Copy min and max
                
    soundmin SOUND_MOAN_MIN;
                
    soundmax SOUND_MOAN_MAX;
                
                
    // Copy path
                
    strcopy(soundpathsizeof(soundpath), SOUND_MOAN_PATH);
            }
            
    // Find groan sound. (zombie shot)
            
    case Groan:
            {
                
    // Copy min and max
                
    soundmin SOUND_GROAN_MIN;
                
    soundmax SOUND_GROAN_MAX;
                
                
    // Copy path
                
    strcopy(soundpathsizeof(soundpath), SOUND_GROAN_PATH);
            }
            
    // Find death sound.
            
    case Death:
            {
                
    // Copy min and max
                
    soundmin SOUND_DEATH_MIN;
                
    soundmax SOUND_DEATH_MAX;
                
                
    // Copy path
                
    strcopy(soundpathsizeof(soundpath), SOUND_DEATH_PATH);
            }
            
    // Invalid case given.
            
    default:
            {
                
    // No handled case was given.
                
    return false;
            }

    Добовляем ближе к концу,
    PHP:
             case Infect:
            {
                
    // Copy min and max
                
    soundmin SOUND_INF_MIN;
                
    soundmax SOUND_INF_MAX;
                
                
    // Copy path
                
    strcopy(soundpathsizeof(soundpath), SOUND_INF_PATH);
            }
    И последний шаг, находим
    PHP:
    ZombieSoundsScream(client)
    {
        
    decl String:sound[PLATFORM_MAX_PATH];
        
    GetConVarString(g_hCvarsList[CVAR_INFECT_SOUND], soundsizeof(sound));
        
        
    // If cvar contains path, then continue.
        
    if (sound[0])
        {
            
    // Emit infect sound from infected client.
            
    SEffectsEmitSoundFromClient(clientsoundSNDLEVEL_SCREAMING);
        }
    }

    Заменяем всё на,
    PHP:
    ZombieSoundsScream(client)
    {
        
    // Get random moan sound.
        
    decl String:sound[SOUND_MAX_PATH];
        
    ZombieSoundsGetRandomSound(soundInfect);
        
        
    // Emit sound from client.
        
    SEffectsEmitSoundFromClient(clientsoundSNDLEVEL_SCREAMING);
    }
    Вот и всё, если что пропустил поправлю.
     
    Последнее редактирование: 27 мар 2014
    ★Сириус★, pokypka20, acik и ещё 1-му нравится это.