Plugin ma być menu z muzyka. Każdy gracz może użyć /dj. Jednak gdy aktualnie leci jedna nutka, nie można puścić drugiej. Trzeba czekać aż poprzednia się skończy dopiero w tedy menu /dj będzie znów dostępne! Waluta w menu /dj będą fragi. Plugin będzie prosty i wystarczy jedynie konfiguracja nutki.ini. Poniżej rozpisałem plugin.
--nutki.ini
Tutaj będziemy ustalać ścieżkę, nazwę wyświetlana w menu, czas trwania w sec oraz koszt
Przykład:
"ścieżka" "nazwa" "czas" "koszt"
"misc/dj/1" "La viva" "47" "10"
Informacje na czacie:
-Zostałes Dj! Grasz wlasnie nazwa za % fragow/i.
-Gracz nick został Dj! Aktualnie gra nazwa.
-Masz za malo fragow aby zostac Dj! [x/x]
-Juz byles Dj w tej rundzie!
-Aktualnie juz gra Dj! Poczekaj na swoja kolej.
--Menu
-Nagłówek:
Nazwa sieci
Masz [x/x fragów]
-Nazwy Pobierane z nutki.ini [Koszt : 10 fragi/ow]
-Nawigacja: Wroc, Nastepna, Wyjdz
--HUD
-Aktualnie gra: Nick Gracza
-Tytuł:
-Czas:
Możecie mi również pomoc przerobić ten plugin.
#include <amxmodx>
#include <fun>
#include <ColorChat>
new const gNazwaPluginu[] = "DJ";
new const gWersjaPluginu[] = "1.0";
new const gAutorPluginu[] = "MisieQ";
new const info[][] = { "^x03 nutke nr^x04 1", "^x03 nutke nr^x04 2", "^x03 nutke nr^x04 3", "^x03 nutke nr^x04 4", "^x03 nutke nr^x04 5", "^x03 nutke nr^x04 6", "^x03 nutke nr^x04 7", "^x03 nutke nr^x04 8" };
new const nutka[][] = { "dj/1.mp3", "dj/2.mp3", "dj/3.mp3", "dj/4.mp3", "dj/5.mp3", "dj/6.mp3", "dj/7.mp3", "dj/8.mp3" };
new const g_cmds[][]= { "/dj", "dj" };
public plugin_init() {
register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);
register_clcmd("say", "say_handle");
register_clcmd("say_team", "say_handle");
}
public plugin_precache() {
precache_sound("dj/1.mp3");
precache_sound("dj/2.mp3");
precache_sound("dj/3.mp3");
precache_sound("dj/4.mp3");
precache_sound("dj/5.mp3");
precache_sound("dj/6.mp3");
precache_sound("dj/7.mp3");
precache_sound("dj/8.mp3");
}
public say_handle(id) {
new stringsay[192];
read_args(stringsay, 192);
remove_quotes(stringsay);
for(new i = 0; i < sizeof g_cmds; i++) {
if(equal(stringsay, g_cmds[i])) {
dj_menu(id);
return PLUGIN_HANDLED;
}
}
return PLUGIN_CONTINUE;
}
public dj_menu(id) {
new menu = menu_create("\y[\rDJ\y]\w Kup Nutke", "dj_menu_wubor")
menu_additem(menu, "\wNuta \r1 \y[\wKoszt: \r10 \wfragow\y]", "1", 0)
menu_additem(menu, "\wNuta \r2 \y[\wKoszt: \r9 \wfragow\y]", "2", 0)
menu_additem(menu, "\wNuta \r3 \y[\wKoszt: \r8 \wfragow\y]", "3", 0)
menu_additem(menu, "\wNuta \r4 \y[\wKoszt: \r7 \wfragow\y]", "4", 0)
menu_additem(menu, "\wNuta \r5 \y[\wKoszt: \r6 \wfragow\y]", "5", 0)
menu_additem(menu, "\wNuta \r6 \y[\wKoszt: \r5 \wfragow\y]", "6", 0)
menu_additem(menu, "\wNuta \r7 \y[\wKoszt: \r4 \wfragow\y]", "7", 0)
menu_additem(menu, "\wNuta \r8 \y[\wKoszt: \r3 \wfragow\y]", "8", 0)
menu_display(id, menu)
}
public dj_menu_wubor(id, menu, item) {
if (item == MENU_EXIT) {
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key) {
case 1: {
if(get_user_frags(id) > 10) {
informacja(id, 0);
odtwarzaj(id, 0);
set_user_frags(id,get_user_frags(id) - 10)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 2: {
if(get_user_frags(id) > 9) {
informacja(id, 1);
odtwarzaj(id, 1);
set_user_frags(id,get_user_frags(id) - 9)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 3: {
if(get_user_frags(id) > 8) {
informacja(id, 2);
odtwarzaj(id, 2);
set_user_frags(id,get_user_frags(id) - 8)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 4: {
if(get_user_frags(id) > 7) {
informacja(id, 3);
odtwarzaj(id, 3);
set_user_frags(id,get_user_frags(id) - 7)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 5: {
if(get_user_frags(id) > 6) {
informacja(id, 4);
odtwarzaj(id, 4);
set_user_frags(id,get_user_frags(id) - 6)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 6: {
if(get_user_frags(id) > 5) {
informacja(id, 5);
odtwarzaj(id, 5);
set_user_frags(id,get_user_frags(id) - 5)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 7: {
if(get_user_frags(id) > 4) {
informacja(id, 6);
odtwarzaj(id, 6);
set_user_frags(id,get_user_frags(id) - 4)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
case 8: {
if(get_user_frags(id) > 3) {
informacja(id, 7);
odtwarzaj(id, 7);
set_user_frags(id,get_user_frags(id) - 3)
}
else
ColorChat(id, GREEN, "Niestety ale cie nie stac!");
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public informacja(id,itp) {
new Name[32];
get_user_name(id, Name, sizeof Name - 1);
ColorChat(0, GREEN, "Gracz^x04 %s^x03 kupil%s", Name, info[itp]);
ColorChat(id, GREEN, "Kupiles%s", info[itp]);
}
public odtwarzaj(id,itp) {
client_cmd(0, "mp3 play sound/%s", nutka[itp])
}


Dodatki SourceMod












