Jak dodać dźwięk do zabaw Jailbreak By Cypis
Wielkie Jol
02.02.2014
Witam, dzis pokaze wam w jak prosty sposob mozemy dodac zabawe do naszego jailbreaka w tym przypadku bedzie to JB by Cypis.
Do zabawy dodamy plik .mp3, ktory bedzie odtwarzany w momencie rozpoczecia zabawy.
Na poczatek potrzebujemy jakiegos pliku mp3, ktory wrzucimy do okreslonej sciezki na naszym serwerze.
Ja przyjme, ze plik .mp3 znajduje sie w sciezce sound/misc/moj_jailbreak/zabawa.mp3.
Kod zabawy przed dodaniem dzwieku mp3. :
#include <amxmodx> #include <amxmisc> #include <fun> #include <engine> #include <jailbreak> #include <cstrike> #define PLUGIN "[JB] Wojna Na Granaty" #define VERSION "1.0.6" #define AUTHOR "Wielkie Jol" new id_zabawa; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) id_zabawa = jail_register_game("Wojna Na Granaty"); } public OnLastPrisonerShowWish(id) { OnRemoveData(id_zabawa); } public OnRemoveData(day) { jail_set_ct_hit_tt(false); jail_set_god_ct(false); server_cmd("sv_gravity 800"); } public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound) { static szTime[12]; if(day == id_zabawa) { format_time(szTime, 11, "%M:%S", gTimeRound-30); formatex(szInfo2, 511, "Zasady:^n%s - Terrorysci nawzajem zabijaja sie granatami.", szTime, szTime); szInfo = "Dzisiaj jest Wojna Na Granaty"; setting[0] = 1; setting[1] = 1; setting[2] = 1; setting[4] = 1; setting[7] = 2; } } public OnDayStartPost(day) { if(day == id_zabawa) { jail_set_ct_hit_tt(true); jail_set_god_ct(true); jail_open_cele(); jail_set_game_hud(30, "Rozpoczecie zabawy za"); } } public OnGameHudEnd(day) { if(day == id_zabawa) { jail_set_prisoners_fight(true, false, false); server_cmd("sv_gravity 500"); for(new i=1; i<=MAX; i++){ if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; give_item(i, "weapon_hegrenade"); cs_set_user_bpammo(i, CSW_HEGRENADE, 999) } } } //stock stock jail_set_all_speed(Float:speed, team) { for(new i=1; i<=MAX; i++) { if(!is_user_alive(i) || !is_user_connected(i) || get_user_team(i) != team) continue; jail_set_user_speed(i, speed); } }
Na początek musimy "poinformować serwer" o tym, że będzie używany przez nas jakiś plik, w tym celu użyjemy funkcji plugin_precache(). Dodamy ją zaraz po końcu funkcji plugin_init(). Będzie to wyglądało w taki sposób:
public plugin_precache() precache_sound("misc/moj_jailbreak/zabawa.mp3")
.
Następnie w funkcji
public OnGameHudEnd(day)
odtwarzamy dźwięk wszystkim graczom na serwerze przy rozpoczęciu się zabawy, dodając taki o to fragment kodu:
client_cmd(0, "mp3 play sound/misc/moj_jailbreak/zabawa.mp3");
Wyglądać to powinno tak:
public OnGameHudEnd(day) { if(day == id_zabawa) { client_cmd(0, "mp3 play sound/misc/moj_jailbreak/zabawa.mp3"); jail_set_prisoners_fight(true, false, false); server_cmd("sv_gravity 500"); for(new i=1; i<=MAX; i++){ if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; give_item(i, "weapon_hegrenade"); cs_set_user_bpammo(i, CSW_HEGRENADE, 999) } } }
Kompilujemy i wstawiamy na nasz serwer. Wszystko powinno działać.
Całość po tych bardzo niewielkich zmianac wygląda tak:
#include <amxmodx> #include <amxmisc> #include <fun> #include <engine> #include <jailbreak> #include <cstrike> #define PLUGIN "[JB] Wojna Na Granaty" #define VERSION "1.0.6" #define AUTHOR "Wielkie Jol" new id_zabawa; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) id_zabawa = jail_register_game("Wojna Na Granaty"); } public plugin_precache() precache_sound("misc/moj_jailbreak/zabawa.mp3"); public OnLastPrisonerShowWish(id) { OnRemoveData(id_zabawa); } public OnRemoveData(day) { jail_set_ct_hit_tt(false); jail_set_god_ct(false); server_cmd("sv_gravity 800"); } public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound) { static szTime[12]; if(day == id_zabawa) { format_time(szTime, 11, "%M:%S", gTimeRound-30); formatex(szInfo2, 511, "Zasady:^n%s - Terrorysci nawzajem zabijaja sie granatami.", szTime, szTime); szInfo = "Dzisiaj jest Wojna Na Granaty"; setting[0] = 1; setting[1] = 1; setting[2] = 1; setting[4] = 1; setting[7] = 2; } } public OnDayStartPost(day) { if(day == id_zabawa) { client_cmd(0, "mp3 play sound/misc/moj_jailbreak/zabawa.mp3"); jail_set_ct_hit_tt(true); jail_set_god_ct(true); jail_open_cele(); jail_set_game_hud(30, "Rozpoczecie zabawy za"); } } public OnGameHudEnd(day) { if(day == id_zabawa) { client_cmd(0, "mp3 play sound/misc/moj_jailbreak/zabawa.mp3"); jail_set_prisoners_fight(true, false, false); server_cmd("sv_gravity 500"); for(new i=1; i<=MAX; i++){ if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; give_item(i, "weapon_hegrenade"); cs_set_user_bpammo(i, CSW_HEGRENADE, 999) } } } //stock stock jail_set_all_speed(Float:speed, team) { for(new i=1; i<=MAX; i++) { if(!is_user_alive(i) || !is_user_connected(i) || get_user_team(i) != team) continue; jail_set_user_speed(i, speed); } }
Darek_pl
04.03.2014
Twój sposób nie działa dobrze , muzyka nie wyłącza się na koniec rundy , gra ciągle aż do końca nawet w nastepnym dniu ,
Zobaczyłem w zabawie kaczki z awp Cypisa i tam jest dodane jeszcze w public OnRemoveData(day) cos w stylu client_cmd(0, "mp3 stop") to moze byc przyczyna ??
Wielkie Jol
04.03.2014
Jeżeli ta komenda - mianowicie client_cmd(0, "mp3 stop"); zostanie dodana do funkcji OnRemoveData(day), to tak, zostanie ona wyłączona.
Darek_pl
06.03.2014
czyli bez tej komendy nie wylaczy sie ta ?
Bo wlasnie w poradniku u Ciebie tego nie ma i tak pytam czy tez sie wylaczy bez tego ??
Dominika12345
09.06.2014
Czyli jak powinien wygądać plik w końcu bo się pogubiłam.
#include <amxmodx> #include <amxmisc> #include <fun> #include <jailbreak> #define PLUGIN "[Jail] Ganiany" #define VERSION "1.0.6" #define AUTHOR "Cypis" new id_ganiany; new bool:usun; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) id_ganiany = jail_register_game("Ganiany"); } public plugin_precache() precache_sound("misc/zabawy/ganiany.mp3"); public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound) { static szTime[12]; if(day == id_ganiany) { format_time(szTime, 11, "%M:%S", gTimeRound-30); formatex(szInfo2, 511, "Zasady:^n%s - Straznicy zaczynaja ganiac wiezniow^nOstatni wiezien ma zyczenie", szTime); szInfo = "Dzisiaj jest Ganiany"; for(new i=1; i<=MAX; i++) { if(!is_user_connected(i) || !is_user_alive(i) || get_user_team(i) != 2) continue; strip_user_weapons(i); give_item(i, "weapon_knife"); } jail_set_prisoners_micro(true, true); jail_set_ct_hit_tt(true); jail_set_god_ct(true); setting[0] = 1; setting[1] = 1; setting[2] = 1; setting[4] = 3; } } public OnDayStartPost(day) { if(day == id_ganiany) { client_cmd(0, "mp3 play sound/misc/zabawy/ganiany.mp3"); jail_set_all_speed(0.1, 2) //blokowanie chodzenia ct jail_open_cele(); jail_set_game_hud(30, "Rozpoczecie zabawy za"); } } public OnGameHudEnd(day) { if(day == id_ganiany) { if(!usun) { client_cmd(0, "mp3 play sound/misc/zabawy/ganiany.mp3"); jail_set_ct_hit_tt(false); jail_set_all_speed(300.0, 2) //ustawienie chodzenia ct jail_set_game_hud(300, "Zakonczenie zabawy za"); } else { jail_set_play_game(USUWANIE_DANYCH, true); } usun = !usun; } } public OnRemoveData(day) { usun = false; } //stock stock jail_set_all_speed(Float:speed, team) { for(new i=1; i<=MAX; i++) { if(!is_user_alive(i) || !is_user_connected(i) || get_user_team(i) != team) continue; jail_set_user_speed(i, speed); } }
Muzyka która jest dodana zazwyczaj kończy się w czasie trwania zabawy bo jest krótka, chcę żeby się powtarzała.
A co do zakończenia odtwarzania muzyki to chcę żeby nastąpiło to równo z zakończeniem zabawy, obecnie muzyka gra w kolejnej rundzie po zabawie...
Pomoże mi to ktoś zmienić?
Proszę o pomoc.
Gryzon 14.06.2014
w public OnRemoveData (day) zapomniałeś dodać client_cmd(0, "mp3 stop");
Dominika12345
23.06.2014
A co zrobić jeżeli w pliku sma zabawy nie ma "public OnRemoveData(day)"??
ex0
23.06.2014
A co zrobić jeżeli w pliku sma zabawy nie ma "public OnRemoveData(day)"??
Przecież w tej zabawie powyżej masz ten public więc o co chodzi?
Jeśli inne zabawy to zwyczajnie wklej .sma a w odpowiednie miejsce Ci powiemy jak wstawić. (ale to zdanie jest zaje*******te gramatycznie )