Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Round Music (Rich)

Статус пользователя stefkone
сообщение 25.3.2015, 10:20
Сообщение #1


Иконка группы

Стаж: 19 лет

Сообщений: 1711
Благодарностей: 1130
Полезность: 1068

-Информация-
Плагин Round Music - это аналог известного плагина RoundSound , но отличается он более гибкой настройкой и новыми возможностями.

Особенности:
- Возможность включить и выключить музыку.
- Регулирование громкости музыки.
- Просмотр треков.
- Информация о треке: название, продолжительность.
- Возможность забронировать трек. Для администраторов скидка xD
- Вывод о забронировавшемся треке.
- Вывод музыки, которая сейчас играет.

-Установка-
Музыку кидать в папку: /sound/RoundMusic/
Название треков прописываются в RoundMusic.ini
Код:
"Полное название трека" "название_файла.mp3" "длительность в секундах"

Квары:
Код:
rm_autoenable "1"
rm_voice "70"
rm_booking_cost "5000"
rm_skidka_start "0"
rm_skidka_ent "10"
rm_skidka "25"

-Автор-
1.0 Rich

-Скриншот-
Скриншот

-Источник-
cscontrol.ru
-Первоисточник-
amx-x.ru
-Скачать-
Прикрепленный файл  5169_RoundMusic__8_.zip ( 3,88 килобайт ) Кол-во скачиваний: 178
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 9 раз
   Цитировать сообщение
Статус пользователя verizon
сообщение 27.3.2015, 23:55
Сообщение #2


Стаж: 13 лет

Сообщений: 583
Благодарностей: 50
Полезность: 0

Давно искал.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя katsap
сообщение 14.4.2015, 5:33
Сообщение #3
Стаж: 11 лет

Сообщений: 84
Благодарностей: 2
Полезность: 23

т.е это музыка в конце раунда?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя programer
сообщение 22.4.2015, 4:04
Сообщение #4


Стаж: 11 лет

Сообщений: 42
Благодарностей: 14
Полезность: 17

Какого хера удаляют мой пост?
Какого хера гиперссылка на псевдониме автора перекидывает на профиль левого Xhonor, если автором являюсь я?!

http://amx-x.ru/viewtopic.php?f=12&t=3...=269726#p269726 - первоначальный источник.


Отредактировал: programer, - 22.4.2015, 10:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 22.4.2015, 12:35
Сообщение #5


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

programer, во первых давай без хренов. Ссылку на профиль поправил, источник указан от куда был взят ресурс, а не первоисточник ресурса.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя programer
сообщение 22.4.2015, 13:26
Сообщение #6


Стаж: 11 лет

Сообщений: 42
Благодарностей: 14
Полезность: 17

Bloo, благодарю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 22.4.2015, 13:32
Сообщение #7
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Код:
public Zatuhanie()
stock GetSkidka(iSum)

cbf1b2bfde1a.gif
Код:
client_cmd(iPlayer, "stopsound")
client_cmd(iPlayer, "mp3volume %f", (float(iPlayerVoice[iPlayer]) / 100.0))
client_cmd(iPlayer, "%s", szCommand)

Куда ж без слоухакинга

Отредактировал: voed, - 22.4.2015, 13:32
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ToL9N4eG
сообщение 22.10.2015, 16:52
Сообщение #8
Стаж: 13 лет

Сообщений: 227
Благодарностей: 35
Полезность: 14

Может ли кто-то выпилить отсюда функцию заказа трека?
Код:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <dhudmessage>

#define PLUGIN "RoundMusic"
#define VERSION "1.0"
#define AUTHOR "Rich"

new g_LoadTrackList[81]

new g_TrackNum
new g_TrackName[999][64]
new g_TrackFile[999][3][128]
new g_TrackTime[999]

new g_TrackStart
new g_TrackStartTime

new g_Booking

new iPlayerEnabled[33]
new iPlayerVoice[33]
new iPlayerSelectTrack[33]
new iPlayerSelectTrackTime[33]

new g_Cvar[7]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_event("SendAudio", "StartTrack", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "StartTrack", "a", "2&%!MRAD_ctwin")

g_Cvar[1] = register_cvar("rm_autoenable", "1")
g_Cvar[2] = register_cvar("rm_voice", "70")
g_Cvar[3] = register_cvar("rm_booking_cost", "5000")
g_Cvar[4] = register_cvar("rm_skidka_start", "0")
g_Cvar[5] = register_cvar("rm_skidka_ent", "10")
g_Cvar[6] = register_cvar("rm_skidka", "25")

register_clcmd("say /music", "MusicAction")
register_clcmd("say /musicmenu", "MusicMenu")

register_dictionary("RoundMusic.txt")
}

public plugin_precache()
{
new g_LoadDir[81]
get_configsdir(g_LoadDir, charsmax( g_LoadDir ))

formatex(g_LoadTrackList, charsmax( g_LoadTrackList ), "%s/RoundMusic.ini", g_LoadDir)

new szParse[128]
new szParseName[64], szParseTrack[128], szParseTime[32]
new iLine, iNum

for(iLine = 1; read_file(g_LoadTrackList, iLine, szParse, charsmax( szParse ), iNum); iLine++)
{
if(iNum == 0 || szParse[0] == ';' || ( szParse[0] == '/' && szParse[1] == '/' ))
continue

parse(szParse,
szParseName, charsmax( szParseName ),
szParseTrack, charsmax( szParseTrack ),
szParseTime, charsmax( szParseTime )
)

new szFormatex[128]
formatex(szFormatex, charsmax( szFormatex ), "sound/rog/music/%s", szParseTrack)

precache_generic(szFormatex)

++g_TrackNum
g_TrackName[g_TrackNum] = szParseName
g_TrackFile[g_TrackNum][1] = szParseTrack
g_TrackFile[g_TrackNum][2] = szFormatex
g_TrackTime[g_TrackNum] = str_to_num( szParseTime )
}
}

public client_connect(id)
{
iPlayerEnabled[id] = get_pcvar_num( g_Cvar[1] )
iPlayerVoice[id] = get_pcvar_num( g_Cvar[2] )
}

public MusicAction(id)
{
if(iPlayerEnabled[id])
{
iPlayerEnabled[id] = false
ChatColor(id, "%L", id, "RM_MUSIC_DISABLE")
}else{
iPlayerEnabled[id] = true
ChatColor(id, "%L", id, "RM_MUSIC_ENABLE")
}
}

public MusicMenu(id)
{
new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "RM_MUSICMENU_TITLE")
new iMenu = menu_create(szTitle, "MusicMenu_handler" )

if(iPlayerEnabled[id])
{
formatex(szItem, charsmax( szItem ), "%L", id, "RM_MUSICMENU_ITEM_1")
menu_additem(iMenu, szItem, "1", 0)
}else{
formatex(szItem, charsmax( szItem ), "%L", id, "RM_MUSICMENU_ITEM_1_1")
menu_additem(iMenu, szItem, "1", 0)
}

formatex(szItem, charsmax( szItem ), "%L", id, "RM_MUSICMENU_ITEM_2", iPlayerVoice[id])
menu_additem(iMenu, szItem, "2", 0)

formatex(szItem, charsmax( szItem ), "%L", id, "RM_MUSICMENU_ITEM_3")
menu_additem(iMenu, szItem, "3", 0)

menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(iMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(iMenu, MPROP_BACKNAME, "Назад")
menu_setprop(iMenu, MPROP_EXITNAME, "Выход")

menu_display(id, iMenu, 0)
return PLUGIN_HANDLED
}

public MusicMenu_handler(id, iMenu, iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy( iMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], iAccess, iCallback
menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), iCallback)

new iKey = str_to_num( szData )

switch( iKey )
{
case 1:
{
MusicAction(id)
MusicMenu(id)
}

case 2:
{
if(iPlayerVoice[id] == 100)
{
iPlayerVoice[id] = 10
}else{
iPlayerVoice[id] += 10
}
client_cmd(id, "mp3volume %f", (float(iPlayerVoice[id]) / 100.0))
MusicMenu(id)
}

case 3:
{
TrackList(id)
}
}
menu_destroy( iMenu )
return PLUGIN_HANDLED
}

public TrackList(id)
{
new szTitle[512]
new iNum[10]

formatex(szTitle, charsmax( szTitle ), "%L", id, "RM_TRACKLIST_TITLE", g_TrackNum)
new iMenu = menu_create(szTitle, "TrackList_handler" )

for(new i = 1; i <= g_TrackNum; i++)
{
num_to_str(i, iNum, charsmax( iNum ))
menu_additem(iMenu, g_TrackName[i], iNum, 0)
}

menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(iMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(iMenu, MPROP_BACKNAME, "Назад")
menu_setprop(iMenu, MPROP_EXITNAME, "Выход")

menu_display(id, iMenu, 0)
return PLUGIN_HANDLED
}

public TrackList_handler(id, iMenu, iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy( iMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], iAccess, iCallback
menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), iCallback)

new iKey = str_to_num( szData )

iPlayerSelectTrack[id] = iKey
ShowTrack(id, iKey)

menu_destroy( iMenu )
return PLUGIN_HANDLED
}

public ShowTrack(id, iMusic)
{
new szTime[32]
get_time("%H", szTime, charsmax( szTime ))

new iTime = str_to_num( szTime )

new szTitle[512]
new szItem[512]

formatex(szTitle, charsmax( szTitle ), "%L", id, "RM_TRACKINFO_TITLE", g_TrackName[iMusic], FormatTime( g_TrackTime[iMusic] ), g_TrackFile[iMusic][2])
new iMenu = menu_create(szTitle, "ShowTrack_handler" )

formatex(szItem, charsmax( szItem ), "%L", id, "RM_TRACKINFO_ITEM_1")
menu_additem(iMenu, szItem, "1", 0)

formatex(szItem, charsmax( szItem ), "%L", id, "RM_TRACKINFO_ITEM_2")
menu_additem(iMenu, szItem, "2", 0)

if(g_Booking)
{
formatex(szItem, charsmax( szItem ), "%L", id, "RM_TRACKINFO_ITEM_3")
menu_additem(iMenu, szItem, "3", ADMIN_BAN)
}else{
if(cs_get_user_money(id) >= GetSkidka(get_pcvar_num( g_Cvar[3] )))
{
if(iTime >= get_pcvar_num( g_Cvar[4] ) && iTime < get_pcvar_num( g_Cvar[5] ))
{
formatex(szItem, charsmax( szItem ), "%L", id, "RM_TRACKINFO_ITEM_3_2", GetSkidka(get_pcvar_num( g_Cvar[3] )), get_pcvar_num( g_Cvar[6] ))
menu_additem(iMenu, szItem, "3", 0)
}else{
formatex(szItem, charsmax( szItem ), "%L", id, "RM_TRACKINFO_ITEM_3_1", GetSkidka(get_pcvar_num( g_Cvar[3] )))
menu_additem(iMenu, szItem, "3", 0)
}
}else{
formatex(szItem, charsmax( szItem ), "%L", id, "RM_TRACKINFO_ITEM_3_1", GetSkidka(get_pcvar_num( g_Cvar[3] )))
menu_additem(iMenu, szItem, "3", ADMIN_BAN)
}
}
menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL )
menu_setprop(iMenu, MPROP_NEXTNAME, "Далее")
menu_setprop(iMenu, MPROP_BACKNAME, "Назад")
menu_setprop(iMenu, MPROP_EXITNAME, "Выход")

menu_display(id, iMenu, 0)
return PLUGIN_HANDLED
}

public ShowTrack_handler(id, iMenu, iItem)
{
if(iItem == MENU_EXIT)
{
menu_destroy( iMenu )
return PLUGIN_HANDLED
}

new szData[6], szName[64], iAccess, iCallback
menu_item_getinfo(iMenu, iItem, iAccess, szData, charsmax( szData ), szName, charsmax( szName ), iCallback)

new iKey = str_to_num( szData )

switch( iKey )
{
case 1:
{
new szCommand[128]

if(containi(g_TrackFile[iPlayerSelectTrack[id]][2], ".wav") != -1)
{
formatex(szCommand, charsmax( szCommand ), "spk %s", g_TrackFile[iPlayerSelectTrack[id]][2])
}else
if(containi(g_TrackFile[iPlayerSelectTrack[id]][2], ".mp3") != -1)
{
formatex(szCommand, charsmax( szCommand ), "mp3 play %s", g_TrackFile[iPlayerSelectTrack[id]][2])
}

client_cmd(id, "stopsound")
client_cmd(id, "mp3volume %f", (float(iPlayerVoice[id]) / 100.0))
client_cmd(id, "%s", szCommand)

iPlayerSelectTrackTime[id] = g_TrackTime[iPlayerSelectTrack[id]]
set_task(1.0, "TrackInfoPlayer", id, _, _, "b")
}

case 2:
{
client_cmd(id, "stopsound")
client_cmd(id, "mp3 stop")

remove_task(id)
}

case 3:
{
g_Booking = iPlayerSelectTrack[id]

new szNameB[32]
get_user_name(id, szNameB, charsmax( szNameB ))

cs_set_user_money(id, cs_get_user_money(id) - GetSkidka(get_pcvar_num( g_Cvar[3] )))
ChatColor(0, "%L", id, "RM_BOOKING_TRACK", szNameB, g_TrackName[iPlayerSelectTrack[id]])
}
}

ShowTrack(id, iPlayerSelectTrack[id])

menu_destroy( iMenu )
return PLUGIN_HANDLED
}

public StartTrack()
{
remove_task(123)
remove_task(1234)

new iPlayers[32]
new iPlayer, iNum

get_players(iPlayers, iNum)

new iRandom
if(!g_Booking)
{
iRandom = random_num(1, g_TrackNum)
}else{
iRandom = g_Booking
g_Booking = 0
}

new szCommand[128]

if(containi(g_TrackFile[iRandom][2], ".wav") != -1)
{
formatex(szCommand, charsmax( szCommand ), "spk %s", g_TrackFile[iRandom][2])
}else
if(containi(g_TrackFile[iRandom][2], ".mp3") != -1)
{
formatex(szCommand, charsmax( szCommand ), "mp3 play %s", g_TrackFile[iRandom][2])
}

for(new i; i < iNum; i++)
{
iPlayer = iPlayers[i]

if(!iPlayerEnabled[iPlayer] || !is_user_connected(iPlayer))
continue

g_TrackStart = iRandom
g_TrackStartTime = g_TrackTime[iRandom]

client_cmd(iPlayer, "stopsound")
client_cmd(iPlayer, "mp3volume %f", (float(iPlayerVoice[iPlayer]) / 100.0))
client_cmd(iPlayer, "%s", szCommand)
}
set_task(1.0, "TrackInfo", 123, _, _, "b")
}

public TrackInfo()
{
--g_TrackStartTime

if(g_TrackStartTime <= 0)
{
remove_task(123)
remove_task(1234)
}else
if(g_TrackStartTime == 3)
{
set_task(0.2, "Zatuhanie", 1234, _, _, "b")
}

new iTime = g_TrackTime[g_TrackStart] - g_TrackStartTime

new szText[512]
formatex(szText, charsmax( szText ), "%L", 0, "RM_TRACKINFO", g_TrackName[g_TrackStart], FormatTime( iTime ), FormatTime( g_TrackTime[g_TrackStart] ))

new iPlayers[32]
new iPlayer, iNum

get_players(iPlayers, iNum)

for(new i; i < iNum; i++)
{
iPlayer = iPlayers[i]

if(!iPlayerEnabled[iPlayer] || !is_user_connected(iPlayer))
continue

remove_task(iPlayer)

set_dhudmessage(0, 255, 0, -1.0, 0.75, 0, 6.0, 0.9, 0.1, 0.1)
show_dhudmessage(iPlayer, szText)
}
}

public TrackInfoPlayer(id)
{
--iPlayerSelectTrackTime[id]

if(iPlayerSelectTrackTime[id] <= 0)
{
remove_task(id)
}

new iTime = g_TrackTime[iPlayerSelectTrack[id]] - iPlayerSelectTrackTime[id]

new szText[512]
formatex(szText, charsmax( szText ), "%L", 0, "RM_TRACKINFO", g_TrackName[iPlayerSelectTrack[id]], FormatTime( iTime ), FormatTime( g_TrackTime[iPlayerSelectTrack[id]] ))

set_dhudmessage(0, 255, 0, -1.0, 0.75, 0, 6.0, 0.9, 0.1, 0.1)
show_dhudmessage(id, szText)
}

public Zatuhanie()
{
new iPlayers[32]
new iPlayer, iNum

get_players(iPlayers, iNum)

for(new i; i < iNum; i++)
{
iPlayer = iPlayers[i]

if(!iPlayerEnabled[iPlayer] || !is_user_connected(iPlayer))
continue

new Float:fTime = float(iPlayerVoice[iPlayer]) / 100.0
fTime = fTime - 0.35

client_cmd(iPlayer, "mp3volume %f", fTime)
}
}

stock FormatTime(iTime)
{
new szTime[32]
new iMin, iSec

iMin = iTime / 60
iSec = iTime - (iMin * 60)

if(iSec <= 9)
{
formatex(szTime, charsmax( szTime ), "%d:0%d", iMin, iSec)
}else{
formatex(szTime, charsmax( szTime ), "%d:%d", iMin, iSec)
}
return szTime
}

stock GetSkidka(iSum)
{
new szTime[32]
get_time("%H", szTime, charsmax( szTime ))

new iTime = str_to_num( szTime )

if(iTime >= get_pcvar_num( g_Cvar[4] ) && iTime < get_pcvar_num( g_Cvar[5] ))
{
return iSum - ((iSum / 100) * get_pcvar_num( g_Cvar[6] ))
}
return iSum
}

stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)

replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")

if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: