Русское сообщество по скриптингу

Ultimate Sound Problem

Scripting help for english speaking users. While not very active, you still have a chance to get help here.
Правила форума
We cannot maintain english version version of our forum rules, but shortly (it's simple) - Don't be a dick. If you really want to know our rules you should check appropriate thread.

Re: Ultimate Sound Problem

Сообщение VenomIvanof » 06 апр 2016, 18:21

RevCrew писал(а):VenomIvanof,

precache_sound("misc/maina31.wav")
precache_sound("misc/maina32.wav")
precache_sound("misc/maina33.wav")


this files has .mp3 dimenshion



how to make the sma file to read .wav and mp3 songs?

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <dhudmessage>

#define VERSION "2.0"

new g_kills[33] = {0,...}
new g_deaths[33] = {0,...}
new g_levels[21] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 40, 45, 50, 55}

new g_roundKills[33], g_top
new g_firstBlood

new bool:g_died[33]

new streakSounds[21][] =
{
"maina/2.wav",
"maina/4.wav",
"maina/6.wav",
"maina/8.wav",
"maina/10.wav",
"maina/12.wav",
"maina/14.wav",
"maina/16.wav",
"maina/18.wav",
"maina/20.wav",
"maina/22.wav",
"maina/24.wav",
"maina/26.wav",
"maina/28.wav",
"maina/30.wav",
"maina/31.wav",
"maina/32.wav",
"maina/33.wav",
"maina/34.wav",
"maina/45.wav",
"maina/50.wav"
}

new streakMsgs[21][] =
{
"Tripple",
"Multi_Kill",
"Impressive",
"Ultra_Kill",
"Mega_KILL",
"Perect",
"Killing_spree",
"Dominating",
"Ownage",
"Head_Hunter",
"HOLY_SHIT",
"EAGLE_EYE",
"Luda_kill",
"Rampage",
"Unstoppable",
"Monster",
"Whicked_sick",
"Unreal",
"Godlike",
"Godlike",
"Godlike"
}

new qs_enable, qs_streak, qs_firstblood, qs_headshot, qs_humiliatingdefeat, qs_hattrick, qs_flawlessvictory


public plugin_init()
{
register_plugin("Quake Sounds", VERSION, "hleV")
register_cvar("qs_version", VERSION, FCVAR_SPONLY|FCVAR_SERVER)

register_dictionary("quakesounds.txt")
register_dictionary("common.txt")

register_concmd("amx_quakesounds", "cmdQuakeSounds", ADMIN_RCON, "<1|0> - enables/disables Quake Sounds")
register_clcmd("say qs_version", "cmdSayVersion")

qs_enable = register_cvar("qs_enable", "1")
qs_streak = register_cvar("qs_streak", "1")
qs_firstblood = register_cvar("qs_firstblood", "1")
qs_headshot = register_cvar("qs_headshot", "1")
qs_humiliatingdefeat = register_cvar("qs_humiliatingdefeat", "1")
qs_hattrick = register_cvar("qs_hattrick", "4")
qs_flawlessvictory = register_cvar("qs_flawlessvictory", "6")

register_event("DeathMsg", "death", "a", "1>0")
register_event("DeathMsg", "deathHS", "a", "3=1")
register_event("DeathMsg", "deathHD", "a", "4&kni")
register_event("SendAudio", "roundEnd", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2=%!MRAD_rounddraw")
register_event("SendAudio", "soundCTWin", "a", "2=%!MRAD_ctwin")
register_event("SendAudio", "soundTWin", "a", "2=%!MRAD_terwin")

register_logevent("gameStart", 2, "1=Game_Commencing")
register_logevent("roundStart", 2, "1=Round_Start")

}

public cmdQuakeSounds(id, level)
{
if (!(get_user_flags(id) & level))
{
console_print(id, "%L", LANG_SERVER, "NO_ACC_COM")

return PLUGIN_HANDLED
}

new arg[2]
read_argv(1, arg, 1)

if (equali(arg, "1"))
{
if (get_pcvar_num(qs_enable))
   console_print(id, "%L", LANG_SERVER, "ALREADY_ENABLED")
   else
   {
      set_pcvar_num(qs_enable, 1)
      console_print(id, "%L", LANG_SERVER, "ENABLED")
   }
}
else if (equali(arg, "0"))
{
   if (get_pcvar_num(qs_enable))
   {
      set_pcvar_num(qs_enable, 0)
      console_print(id, "%L", LANG_SERVER, "DISABLED")
   }
   else
      console_print(id, "%L", LANG_SERVER, "ALREADY_DISABLED")
   }
   else
      console_print(id, "%L: amx_quakesounds <1|0>", LANG_SERVER, "USAGE")
return PLUGIN_HANDLED
}

public cmdSayVersion(id)
   ColorChat(id, GREY, "^1Quake Sounds^4 %s ^1by ^3Black Heart", VERSION)

public client_connect(id)
{
   g_kills[id] = 0
   g_deaths[id] = 0
   g_roundKills[id] = 0
   g_top = 0
}

public death()
{
   if (!get_pcvar_num(qs_enable))
      return PLUGIN_HANDLED
   
   new killer = read_data(1)
   new victim = read_data(2)
   
   g_kills[victim] = 0
   g_deaths[victim] += 1
   g_died[victim] = true
   
   if (get_pcvar_num(qs_streak) && killer != victim)
   {
      g_kills[killer] += 1
      g_kills[victim] = 0
     
      for (new i = 0; i < 13; i++)
         if (g_kills[killer] == g_levels[i])
         streakAnnounce(killer, i)
   }
   
   if (get_pcvar_num(qs_firstblood) && g_firstBlood && killer != victim)
   {
      new name[32]
      get_user_name(killer, name, 31)     
     
      set_dhudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.27, 0, 6.0, 5.0)
      show_dhudmessage(0,  "%L", LANG_SERVER, "FIRST_BLOOD", name)
      client_cmd(0, "spk maina/fb")
     
      g_firstBlood = 0
   }
   
   if (get_pcvar_num(qs_hattrick) && killer != victim)
   {
      g_roundKills[killer] = g_roundKills[killer] + 1
     
      topPlayer()
   }
   
   return PLUGIN_CONTINUE
}

streakAnnounce(killer, level)
{
new name[32]
get_user_name(killer, name, 32)

       
new num = random_num(1,3)
new r = random_num(1,255)
new g = random_num(1,255)
new b = random_num(1,255)
   
switch(num)
{
    case 1: set_dhudmessage(r, g ,b, 0.05, 0.24, 2, 3.5, 1.5, 0.01, 1.2)
    case 2: set_dhudmessage(r, g ,b, 0.05, 0.29, 2, 3.5, 1.5, 0.01, 1.2)
    case 3: set_dhudmessage(r, g ,b, 0.05, 0.35, 2, 3.5, 1.5, 0.01, 1.2)
}

show_dhudmessage(0,  "%L", LANG_SERVER, streakMsgs[level], name)
client_cmd(0, "spk %s", streakSounds[level])
}

public topPlayer()
{
new players[32], score, playerNum
get_players(players, playerNum)

for (new i = 0; i < playerNum; i++)
{
   if (g_roundKills[players[i]] > score)
   {
      score = g_roundKills[players[i]]
      g_top = players[i]
   }
   else if (g_roundKills[players[i]] == score)
      g_top = 0
   }
}

public gameStart() g_firstBlood = 1

public roundStart()
{
   if (get_pcvar_num(qs_firstblood) >= 2)
      g_firstBlood = 1
   
   for (new i = 1; i <= get_maxplayers(); i++)
      g_died[i] = false
}

public deathHS()
{
   if (!get_pcvar_num(qs_enable) || !get_pcvar_num(qs_headshot))
      return PLUGIN_HANDLED
   
   if (get_pcvar_num(qs_headshot) == 1)
      client_cmd(read_data(1), "spk maina/headshot")
   else if (get_pcvar_num(qs_headshot) >= 2)
      client_cmd(0, "spk maina/hs")
   
   return PLUGIN_CONTINUE
}

public deathHD()
{
   if (!get_pcvar_num(qs_enable) || !get_pcvar_num(qs_humiliatingdefeat))
      return PLUGIN_HANDLED
   
   if (get_pcvar_num(qs_humiliatingdefeat) == 1)
      client_cmd(read_data(1), "spk maina/knife7")
   else if (get_pcvar_num(qs_humiliatingdefeat) >= 2)
      client_cmd(0, "spk maina/knife7")
   
   return PLUGIN_CONTINUE
}

public roundEnd()
{
   if (!get_pcvar_num(qs_enable) || !get_pcvar_num(qs_hattrick))
      return PLUGIN_HANDLED
   
   new players[32], playerNum
   get_players(players, playerNum)
   
   if (g_top != 0 && g_roundKills[g_top] >= get_pcvar_num(qs_hattrick))
      set_task(3.0, "setHattrick", g_top)
   
   for (new i = 0; i < playerNum; i++)
   {
      g_roundKills[players[i]] = 0
      g_top = 0
   }
   
   return PLUGIN_CONTINUE
}

public setHattrick(g_top)
{
   new name[32]
   get_user_name(g_top, name, 32)
   
   set_dhudmessage(random_num(0,255), random_num(0,255), random_num(0,255), -1.0, 0.27, 0, 6.0, 5.0)
   show_dhudmessage(0, "%L", LANG_SERVER, "HATTRICK", name)
   client_cmd(0, "spk maina/hattrick")
}

public soundCTWin() checkAlive("CT")
public soundTWin() checkAlive("TERRORIST")

checkAlive(const team[])
{
if (!get_pcvar_num(qs_enable) || !get_pcvar_num(qs_flawlessvictory))
   return PLUGIN_HANDLED
new players[32], playerNum, bool:g_flawlessVictory = true
get_players(players, playerNum, "e", team)
for (new i = 0; i < playerNum; i++)
   {
      if (!is_user_alive(players[i]) && g_died[players[i]])
      {
         g_flawlessVictory = false
         
         break
      }
   }
for (new i = get_pcvar_num(qs_flawlessvictory); i <= get_maxplayers(); i++)
      if (g_flawlessVictory && is_user_connected(i))
      set_task(1.5, "setFlawlessVictory", team[0])
return 1
}

public setFlawlessVictory(team)
{
   if (team == 'C')
   {
      set_dhudmessage(random_num(0,255), random_num(0,255), random_num(0,255), 0.64, 0.85, 0, 6.0, 10.0)
      show_dhudmessage(0, "%L", LANG_SERVER, "FLAWLESS_VICTORY_CT")
      client_cmd(0, "speak maina/fv")
   }
   else if (team == 'T')
   {
      set_dhudmessage(random_num(0,255), random_num(0,255), random_num(0,255), 0.64, 0.85, 0, 6.0, 10.0)
      show_dhudmessage(0, "%L", LANG_SERVER, "FLAWLESS_VICTORY_T")
      client_cmd(0, "speak maina/fv")
   }
}

public plugin_precache()
{
   new i
   
   for (i = 0; i < 13; i++)
      precache_sound(streakSounds[i])
   
   precache_sound("maina/fb.wav")
   precache_sound("maina/hs.wav")
   precache_sound("maina/knife7.wav")
   precache_sound("maina/hattrick.wav")
   precache_sound("maina/fv.wav")
   precache_sound("maina/maina2.wav")
   precache_sound("maina/maina4.wav")
   precache_sound("maina/maina6.wav")
   precache_sound("maina/maina8.wav")
   precache_sound("maina/maina10.wav")
   precache_sound("maina/maina12.wav")
   precache_sound("maina/maina14.wav")
   precache_sound("maina/maina16.wav")
   precache_sound("maina/maina18.wav")
   precache_sound("maina/maina20.wav")
   precache_sound("maina/maina22.wav")
   precache_sound("maina/maina24.wav")
   precache_sound("maina/maina26.wav")
   precache_sound("maina/maina28.wav")
   precache_sound("maina/maina30.wav")
   precache_sound("maina/maina31.wav")
   precache_sound("maina/maina32.wav")
   precache_sound("maina/maina33.wav")
   precache_sound("maina/maina34.wav")
   precache_sound("maina/maina50.wav")
}
Аватара пользователя
VenomIvanof
 
Сообщения: 66
Зарегистрирован: 02 апр 2016, 13:26
Благодарил (а): 17 раз.
Поблагодарили: 1 раз.
Языки программирования: Counter-Strike 1.6

Пред.

Вернуться в Scripting

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3