Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Музыка когда не хватает денег
59kg
Дата: Суббота, 05.01.2013, 16:33 | Сообщение # 1
офлайн

  • Сообщения: 4
  • Награды: 0
  • Замечания:
 
Как сделать? Музыка когда не хватает денег купить что то в шопменю и разные цвета шопменю когда хватает желтый цвет когда нет то серый? Заранее спасибо!
 
LBR-810
Дата: Воскресенье, 06.01.2013, 12:42 | Сообщение # 2
офлайн

  • Сообщения: 62
  • Награды: 2
  • Замечания:
 
Цитата (59kg)
разные цвета шопменю когда хватает желтый цвет когда нет то серый? Заранее спасибо!

вот тема про цвета шопменю
http://perfect-soft.su/forum/56-1151-1

Добавлено (06.01.2013, 12:42)
---------------------------------------------
А вот ответ "Как сделать звук если не хватает денег на предмет?"
Шаг 1.
Открываем items.inl
Ищем функцию public ITEM_CanBuy( idUser, iItem )
Находим:
Код
// User doesn't have the money
         if ( SHARED_GetUserMoney( idUser ) < ITEM_Cost( idUser, iItem ) )
         {
          client_print( idUser, print_center, "%L", LANG_PLAYER, "INSUFFICIENT_FUNDS" );

          return false;
         }

И добавляем строку:
Код
emit_sound( idUser, CHAN_STATIC, g_szSounds[SOUND_FEWMONEY], 1.0, ATTN_NORM, 0, PITCH_NORM );

Теперь должно выглядеть так:
Код
       if ( SHARED_GetUserMoney( idUser ) < ITEM_Cost( idUser, iItem ) )
         {
          emit_sound( idUser, CHAN_STATIC, g_szSounds[SOUND_FEWMONEY], 1.0, ATTN_NORM, 0, PITCH_NORM );

          client_print( idUser, print_center, "%L", LANG_PLAYER, "INSUFFICIENT_FUNDS" );

          return false;
         }

Шаг 2.
Заходим в constants.inl.
Ищем почти в самом конце:
Код
// SOUNDS
#define MAX_SOUNDS    29

new g_szSounds[MAX_SOUNDS][64];

#define SOUND_VENGEANCE   0
#define SOUND_SUICIDE   1
#define SOUND_BANISH   2
#define SOUND_LOCUSTSWARM  3
#define SOUND_SHADOWSTRIKE  4
#define SOUND_CARRION   5
#define SOUND_IMPALE   6
#define SOUND_VOODOO   7
#define SOUND_FLAMESTRIKE  8
#define SOUND_ENTANGLING  9
#define SOUND_LIGHTNING   10
#define SOUND_TELEPORT   11
#define SOUND_BLINK    12
#define SOUND_ANNIHILATION  13
#define SOUND_CONCOCTION_CAST    14
#define SOUND_CONCOCTION_HIT    15
#define SOUND_HEX    16
#define SOUND_IMMOLATE   17
#define SOUND_IMMOLATE_BURNING    18
#define SOUND_LEVELUP   19
#define SOUND_PICKUPITEM  20
#define SOUND_TOME    21
#define SOUND_ULTIMATESCAN  22
#define SOUND_ULTIMATEREADY  23
#define SOUND_REINCARNATION  24
#define SOUND_ANTEND   25
#define SOUND_ERROR    26
#define SOUND_DISPELL   27
#define SOUND_SPELLSHIELD  28

Меняем MAX_SOUNDS с 29 на 30 и в конце добавляем:
Код
#define SOUND_FEWMONEY 29

Должно получиться так:
Код
// SOUNDS
#define MAX_SOUNDS    30

new g_szSounds[MAX_SOUNDS][64];

#define SOUND_VENGEANCE   0
#define SOUND_SUICIDE   1
#define SOUND_BANISH   2
#define SOUND_LOCUSTSWARM  3
#define SOUND_SHADOWSTRIKE  4
#define SOUND_CARRION   5
#define SOUND_IMPALE   6
#define SOUND_VOODOO   7
#define SOUND_FLAMESTRIKE  8
#define SOUND_ENTANGLING  9
#define SOUND_LIGHTNING   10
#define SOUND_TELEPORT   11
#define SOUND_BLINK    12
#define SOUND_ANNIHILATION  13
#define SOUND_CONCOCTION_CAST    14
#define SOUND_CONCOCTION_HIT    15
#define SOUND_HEX    16
#define SOUND_IMMOLATE   17
#define SOUND_IMMOLATE_BURNING    18
#define SOUND_LEVELUP   19
#define SOUND_PICKUPITEM  20
#define SOUND_TOME    21
#define SOUND_ULTIMATESCAN  22
#define SOUND_ULTIMATEREADY  23
#define SOUND_REINCARNATION  24
#define SOUND_ANTEND   25
#define SOUND_ERROR    26
#define SOUND_DISPELL   27
#define SOUND_SPELLSHIELD  28
#define SOUND_FEWMONEY 29

Шаг 3.
Идем в war3ft.inl
Находим:
Код
        copy( g_szSounds[SOUND_VENGEANCE]  , 63, "warcraft3/MiniSpiritPissed1.wav"    );    // Warden's Ultimate
         copy( g_szSounds[SOUND_SUICIDE]   , 63, "ambience/particle_suck1.wav"     );    // Undead's Ultimate
         copy( g_szSounds[SOUND_BANISH]   , 63, "warcraft3/banishcaster.wav"     );    // Banish
         copy( g_szSounds[SOUND_LOCUSTSWARM]  , 63, "warcraft3/locustswarmloop.wav"    );    // Locust Swarm
         copy( g_szSounds[SOUND_SHADOWSTRIKE]    , 63, "warcraft3/shadowstrikebirth.wav"    );    // Shadow Strike
         copy( g_szSounds[SOUND_CARRION]   , 63, "warcraft3/carrionswarmlaunch1.wav"   );    // Carrion Beetles
         copy( g_szSounds[SOUND_IMPALE]   , 63, "warcraft3/impalehit.wav"      );    // Impale
         copy( g_szSounds[SOUND_VOODOO]   , 63, "warcraft3/divineshield.wav"     );    // Big Bad Voodoo
         copy( g_szSounds[SOUND_FLAMESTRIKE]  , 63, "warcraft3/flamestriketargetwavenonloop1.wav"    );    // Flame Strike
         copy( g_szSounds[SOUND_ENTANGLING]  , 63, "warcraft3/entanglingrootstarget1.wav"  );    // Entangling Roots
         copy( g_szSounds[SOUND_LIGHTNING]  , 63, "warcraft3/lightningbolt.wav"     );    // Chain Lightning
         copy( g_szSounds[SOUND_TELEPORT]  , 63, "warcraft3/massteleporttarget.wav"   );    // Teleport
         copy( g_szSounds[SOUND_BLINK]   , 63, "warcraft3/blinkarrival.wav"     );    // Blink Teleport
         copy( g_szSounds[SOUND_LEVELUP]   , 63, "warcraft3/levelupcaster.wav"     );    // Level up
         copy( g_szSounds[SOUND_PICKUPITEM]  , 63, "warcraft3/pickupitem.wav"     );    // Buy / Pick up item
         copy( g_szSounds[SOUND_TOME]   , 63, "warcraft3/Tomes.wav"       );    // Tome of Experience
         copy( g_szSounds[SOUND_ULTIMATESCAN]    , 63, "turret/tu_ping.wav"       );    // Ultimate Beep
         copy( g_szSounds[SOUND_ULTIMATEREADY]    , 63, "warcraft3/resurrecttarget.wav"    );    // Ultimate Beep
         copy( g_szSounds[SOUND_ANNIHILATION]    , 63, "warcraft3/PurgeTarget1.wav"     );    // Orb of Annihilation
         copy( g_szSounds[SOUND_CONCOCTION_CAST]    , 63, "warcraft3/PossessionMissileLaunch1.wav"  );    // Unstable Concoction Cast
         copy( g_szSounds[SOUND_CONCOCTION_HIT]    , 63, "warcraft3/PossessionMissileHit1.wav"   );    // Unstable Concoction Hit
         copy( g_szSounds[SOUND_HEX]    , 63, "warcraft3/PolymorphDone.wav"     );    // Hex
         copy( g_szSounds[SOUND_IMMOLATE]  , 63, "warcraft3/ImmolationDecay1.wav"    );    // Immolate
         copy( g_szSounds[SOUND_IMMOLATE_BURNING], 63, "ambience/flameburst1.wav"        );    // Immolate Burning

         copy( g_szSounds[SOUND_REINCARNATION]    , 63, "warcraft3/soundpack/reincarnation.wav"  );    // Weapon Reincarnation/Ankh
         copy( g_szSounds[SOUND_ANTEND]   , 63, "warcraft3/antend.wav"      );    // Sound played when you try to shoot a chameleoned teammate         
         copy( g_szSounds[SOUND_ERROR]   , 63, "warcraft3/bonus/Error.wav"     );    // Sound played on errors         

         copy( g_szSounds[SOUND_DISPELL]   , 63, "warcraft3/DispelMagicTarget.wav"    );    // Dispell an ultimate - played on caster
         copy( g_szSounds[SOUND_SPELLSHIELD]  , 63, "warcraft3/SpellShieldImpact1.wav"   );    // Dispell an ultimate - played on blocker

И добавляем строку:
Код
copy( g_szSounds[SOUND_FEWMONEY] , 63, "warcraft3/fewmoney.wav" );

Должно получиться так:
Код
        copy( g_szSounds[SOUND_VENGEANCE]  , 63, "warcraft3/MiniSpiritPissed1.wav"    );    // Warden's Ultimate
         copy( g_szSounds[SOUND_SUICIDE]   , 63, "ambience/particle_suck1.wav"     );    // Undead's Ultimate
         copy( g_szSounds[SOUND_BANISH]   , 63, "warcraft3/banishcaster.wav"     );    // Banish
         copy( g_szSounds[SOUND_LOCUSTSWARM]  , 63, "warcraft3/locustswarmloop.wav"    );    // Locust Swarm
         copy( g_szSounds[SOUND_SHADOWSTRIKE]    , 63, "warcraft3/shadowstrikebirth.wav"    );    // Shadow Strike
         copy( g_szSounds[SOUND_CARRION]   , 63, "warcraft3/carrionswarmlaunch1.wav"   );    // Carrion Beetles
         copy( g_szSounds[SOUND_IMPALE]   , 63, "warcraft3/impalehit.wav"      );    // Impale
         copy( g_szSounds[SOUND_VOODOO]   , 63, "warcraft3/divineshield.wav"     );    // Big Bad Voodoo
         copy( g_szSounds[SOUND_FLAMESTRIKE]  , 63, "warcraft3/flamestriketargetwavenonloop1.wav"    );    // Flame Strike
         copy( g_szSounds[SOUND_ENTANGLING]  , 63, "warcraft3/entanglingrootstarget1.wav"  );    // Entangling Roots
         copy( g_szSounds[SOUND_LIGHTNING]  , 63, "warcraft3/lightningbolt.wav"     );    // Chain Lightning
         copy( g_szSounds[SOUND_TELEPORT]  , 63, "warcraft3/massteleporttarget.wav"   );    // Teleport
         copy( g_szSounds[SOUND_BLINK]   , 63, "warcraft3/blinkarrival.wav"     );    // Blink Teleport
         copy( g_szSounds[SOUND_LEVELUP]   , 63, "warcraft3/levelupcaster.wav"     );    // Level up
         copy( g_szSounds[SOUND_PICKUPITEM]  , 63, "warcraft3/pickupitem.wav"     );    // Buy / Pick up item
         copy( g_szSounds[SOUND_TOME]   , 63, "warcraft3/Tomes.wav"       );    // Tome of Experience
         copy( g_szSounds[SOUND_ULTIMATESCAN]    , 63, "turret/tu_ping.wav"       );    // Ultimate Beep
         copy( g_szSounds[SOUND_ULTIMATEREADY]    , 63, "warcraft3/resurrecttarget.wav"    );    // Ultimate Beep
         copy( g_szSounds[SOUND_ANNIHILATION]    , 63, "warcraft3/PurgeTarget1.wav"     );    // Orb of Annihilation
         copy( g_szSounds[SOUND_CONCOCTION_CAST]    , 63, "warcraft3/PossessionMissileLaunch1.wav"  );    // Unstable Concoction Cast
         copy( g_szSounds[SOUND_CONCOCTION_HIT]    , 63, "warcraft3/PossessionMissileHit1.wav"   );    // Unstable Concoction Hit
         copy( g_szSounds[SOUND_HEX]    , 63, "warcraft3/PolymorphDone.wav"     );    // Hex
         copy( g_szSounds[SOUND_IMMOLATE]  , 63, "warcraft3/ImmolationDecay1.wav"    );    // Immolate
         copy( g_szSounds[SOUND_IMMOLATE_BURNING], 63, "ambience/flameburst1.wav"        );    // Immolate Burning

         copy( g_szSounds[SOUND_REINCARNATION]    , 63, "warcraft3/soundpack/reincarnation.wav"  );    // Weapon Reincarnation/Ankh
         copy( g_szSounds[SOUND_ANTEND]   , 63, "warcraft3/antend.wav"      );    // Sound played when you try to shoot a chameleoned teammate         
         copy( g_szSounds[SOUND_ERROR]   , 63, "warcraft3/bonus/Error.wav"     );    // Sound played on errors         

         copy( g_szSounds[SOUND_DISPELL]   , 63, "warcraft3/DispelMagicTarget.wav"    );    // Dispell an ultimate - played on caster
         copy( g_szSounds[SOUND_SPELLSHIELD]  , 63, "warcraft3/SpellShieldImpact1.wav"   );    // Dispell an ultimate - played on blocker
         copy( g_szSounds[SOUND_FEWMONEY] , 63, "warcraft3/fewmoney.wav" );

Шаг 4.
Заходим в папку своего сервера.
В папке cstrike/sound/warcraft3 должен быть звук fewmoney.wav,который проигрывается когда не хватает денег.
Результат:если у вас нехватает денег на вещь вам проигрывается звук fewmoney.wav
P.S Вы можете взять любой звук и переименовать в fewmoney.wav.Без этого звука ваш сервер не запустится!


Встраиваю расы, shopmenu в war3ft, пишу плагины, могу работать с DeathRun
Писать только в лс


Сообщение отредактировал LBR-810 - Воскресенье, 06.01.2013, 13:02
 
  • Страница 1 из 1
  • 1
Поиск: