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

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

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

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

Меню заказа песен

Статус пользователя Captain
сообщение 13.11.2016, 14:51
Сообщение #1
Стаж: 12 лет

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

Исходник

Код:
#include <amxmodx>
#include <cstrike>
#include <zombieplague>
#include <dhudmessage>

#define PLUGIN "[ZP] Addon: Music end round"
#define VERSION "1.0"
#define AUTHOR "ZM_08"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("zp_music", "order_menu")

Какое событие использовать для отлова конца раунда?
/*
register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
register_event("SendAudio", "draw", "a", "2&%!MRAD_rounddraw")

register_logevent("round_end", 2, "1=Round_End") */
}

public plugin_precache()
{
precache_sound("zombie_plague/music_on_order_1.mp3")
precache_sound("zombie_plague/music_on_order_2.mp3")
precache_sound("zombie_plague/music_on_order_3.mp3")
precache_sound("zombie_plague/music_on_order_4.mp3")
precache_sound("zombie_plague/music_on_order_5.mp3")
precache_sound("zombie_plague/music_on_order_6.mp3")
precache_sound("zombie_plague/music_on_order_7.mp3")

return PLUGIN_CONTINUE
}

public order_menu(id)
{
new menu = menu_create("\yМеню заказа песен:", "functions")
new Buffer[256], Buffer2[256]

menu_additem(menu, "Apashe – Good Bye \d[\r10 аммо\d]", "1")

menu_additem(menu, "Tropkillaz – Mambo \d[\r10 аммо\d]", "2")

menu_additem(menu, "Sikdope - Suspect \d[\r10 аммо\d]", "3")

menu_additem(menu, "MiyaGi & Эндшпиль - Двигайся \d[\r10 аммо\d]", "4")

menu_additem(menu, "Burak Yeter - Happy \d[\r10 аммо\d]", "5")

menu_additem(menu, "Честный – Желаю \d[\r10 аммо\d]", "6")

menu_additem(menu, "Seeya – Chokolata \d[\r10 аммо\d]", "7")

menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")

menu_display(id, menu, 0)

return PLUGIN_HANDLED
}

public functions(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)
client_cmd(0, "mp3 stop")

switch(key)
{
case 1:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_1.mp3") // Как сделать, чтобы песня в конце раунда воспроизводилась?
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
case 2:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_2.mp3")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
case 3:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_3.mp3")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
case 4:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_4.mp3")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
case 5:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_5.mp3")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
case 6:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_6.mp3")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
case 7:
{
if(zp_get_user_ammo_packs(id) < 10)
{
print_col_chat(id, "^4[ZP] ^1У вас не хватает аммо!")
return PLUGIN_HANDLED
}
else
{
client_cmd(0, "zombie_plague/music_on_order_7.mp3")
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) - 10)
set_task(2.0, "order_message", id)
}
}
}
return PLUGIN_HANDLED
}

public order_message(id)
{
new szName[32]
get_user_name(id, szName, 31)
set_dhudmessage(0, 184, 138, 0.5, 0.3, 1, 0.0, 1.0, 1.0, 1.0, false)
show_dhudmessage(0, "%s заказал песню %d", szName, NameMusic[id]) // Не разобрался, как добавить название заказанной песни. Например "Игрок 123 заказал песню Честный – Желаю".
}


Всем привет. Хотел написать плагин "Меню заказа песен". Плагин для Зомби мода. Столкнулся с проблемами, помогите их решить. В исходнике оставил комментарии проблем.

Доп. вопросы:
1. Как сделать, чтобы если кто-нибудь уже заказал песню, то другие игроки не могли заказать свою песню до следующего раунда?
2. Как совместить плагин с зомби модом? В самом моде есть музыка в конце раунда.

Отредактировал: Captain, - 13.11.2016, 14:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Algalon
сообщение 14.11.2016, 17:42
Сообщение #2
Стаж: 11 лет

Сообщений: 163
Благодарностей: 60
Полезность: 291

Captain, пробуй
Прикрепленный файл  zp_music_end_round.sma ( 3,96 килобайт ) Кол-во скачиваний: 12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Captain
сообщение 14.11.2016, 21:31
Сообщение #3
Стаж: 12 лет

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

Цитата(Algalon @ 14.11.2016, 18:42) *
Captain, пробуй
Прикрепленный файл  zp_music_end_round.sma ( 3,96 килобайт ) Кол-во скачиваний: 12

Для какой версии amxmodx?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Algalon
сообщение 15.11.2016, 7:46
Сообщение #4
Стаж: 11 лет

Сообщений: 163
Благодарностей: 60
Полезность: 291

Captain, для любой версии, жесткой привязки к определенной версии в плагине нет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Captain
сообщение 15.11.2016, 19:11
Сообщение #5
Стаж: 12 лет

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

Цитата(Algalon @ 15.11.2016, 8:46) *
Captain, для любой версии, жесткой привязки к определенной версии в плагине нет.

Спасибо. Всё работает, но почему то с меню ножей не работает этот плагин. Когда пишешь в консоли zp_music открывается меню ножей. А по факту меню ножей открываться командой /knife

Отредактировал: Captain, - 15.11.2016, 19:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Algalon
сообщение 16.11.2016, 10:22
Сообщение #6
Стаж: 11 лет

Сообщений: 163
Благодарностей: 60
Полезность: 291

Captain, я без понятия, что у тебя там за фигня происходит с ножами, этот плагин никак не связан с другими.
Раньше такой фигни у тебя разве не было? Исходник ножей своих предоставь.
У плагина еще есть и чат команды /sound /music и др.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: