A więc chciałem napisać plugin do zabawy "Ostatnia Prosta" który po wpisaniu /zop wyskoczy menu(tak jak u simona i tam dalej włącza się menu z opisem zasady gry i z graczami żeby wybrać uczestników (coś jak na zasadzie FD tylko żeby był model a nie zielona poświata dla FD) i po wybraniu 2 graczy żeby wyskoczyło że zabawa rozpocznie się i tak jak na innych zabawach te okienko za ile co się będzie działo i po drugim czasie żeby CTkom dawało deagla z 1ammo
i od momentu rozpoczęcia zabawy po 20sekundach żeby zabawa się skończyła i żeby można było potem normalnie prowadzić czy też ponownie skorzystać z tej zabawy i jak można to żeby niewybranych uczestników zamroziło na okres trwania zabawy i usunąć speed i ciemność na mapie + tak jak z menagerem dawania FD żeby można było też zabrać (usunąć) uciekiniera i zmienić na innego (wtedy usuniętemu żeby zmieniło model na standardowy więźnia)
Prosiłbym żeby usunąć z pluginu menu duszka i opcję dawania duszka a fd poprawić na to że daje Uciekiniera (model się zmienia na uciekiniera)
Po zakończonej zabawie żeby poprawiało też model z uciekiniera na normalnego więźnia i tak jak ustawia że CT nieśmiertelne to żeby to się wyłączyło
Oto .sma:
zop.sma 5,75 KB 14 Ilość pobrań
zop.amxx
#include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta> #include <fun> #include <jailbreak> #include <colorchat> #pragma tabsize 0 #define PLUGIN "[JB] Ostatnia Prosta!" #define VERSION "1.0" #define AUTHOR "KreC!K" native cs_set_player_model(id, newmodel[]); new id_zop; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("zop_version", VERSION, FCVAR_SERVER); register_clcmd("say /menuzop", "MenuZop"); id_zop = jail_register_game("OstatniaProsta",); } public plugin_precache() { precache_model("models/player/uciekinier/uciekinier.mdl"); precache_sound("jb_cypis/kaczki.mp3"); } public OnLastPrisonerShowWish(id) { if(jail_get_play_game_id() == id_zop){ OnRemoveData(id_zop); cs_set_player_model(id, "klawisz_cypis"); } } public OnRemoveData(day) { if(day == id_zop) { client_cmd(0, "mp3 stop"); for(new i=1; i<=MAX; i++) { if(!is_user_connected(i)) continue; } } public OnDayStartPre(day, szInfo[256], szInfo2[512], setting[10], gTimeRound) { static szTime[12]; if(day == id_zop) { static szTimes[12]; format_time(szTime, 11, "%M:%S", gTimeRound-30); format_time(szTimes, 11, "%M:%S", gTimeRound-60); formatex(szInfo2, 511, "Zasady:^n%s - wiezniowie dostaja bron^n%s - walka wiezniow miedzy soba^nGrupy moga byc maksymalnie 2 osobowe!^nOstatni wiezien ma zyczenie", szTime, szTimes); szInfo = "Dzisiaj jest KillDay"; jail_set_prisoners_micro(true, true); jail_set_ct_hit_tt(true); jail_set_god_ct(true); for(new i=1; i<=32; i++) { if(!is_user_connected(i) || !is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; UstawUciekinier(i); } setting[0] = 1; setting[2] = 1; setting[4] = 1; setting[7] = 2; } } public OnDayStartPost(day) { if(day == id_zop) { jail_set_game_hud(20, "Rozpoczecie zabawy za"); } } public OnGameHudEnd(day) { if(day == id_zop) { jail_set_ct_hit_tt(false); client_cmd(0, "mp3 play sound/jb_cypis/kaczki.mp3"); } } public fwSpawn(id) { if(!is_user_alive(id) || get_user_team(id) != 1) return; UstawUciekinier(id); } UstawUciekinier(id) { jail_set_users_speed(250.0); cs_set_user_nvg(id, 1); cs_set_player_model(id, "uciekinier"); } public MenuZop(id) { new menu = menu_create("Menu Zabawy [Ostatnia Prosta!]:", "Handel_Menu"); new cb = menu_makecallback("Menu_Callback"); menu_additem(menu, "Manager Zabawy [Ostatnia Prosta!]","1", 3, cb); menu_additem(menu, "Zasady Gier", "0"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu); } public Menu_Callback(id, menu, item) { static num[10], acces, callback; menu_item_getinfo(menu, item, acces, num, 9, _, _, callback); switch(acces) { case 1:{ if(jail_get_prowadzacy() || !jail_get_days()) { return ITEM_DISABLED; } } case 2:{ if(id != jail_get_prowadzacy() && jail_get_days()) { return ITEM_DISABLED; } } case 3:{ if(id != jail_get_prowadzacy()) { return ITEM_DISABLED; } } } return ITEM_ENABLED; } public Handel_Menu(id, menu, item) { if(item == MENU_EXIT) return; new num[10], acces, callback; menu_item_getinfo(menu, item, acces, num, 9, _, _, callback); switch(str_to_num(num)) { case 0: show_motd(id, "zabawaOP.txt", "Zasady Gry"); case 1: MenagerZop(id); case 10: client_cmd(id, "say /zabawy"); } } public MenagerZop(id) { new menu2 = menu_create("Manager Zabawy [Ostatnia Prosta!]:", "Handel_ManagerOP"); menu_additem(menu2, "Daj Freeday"); menu_additem(menu2, "Daj Duszka^n"); menu_additem(menu2, "Zabierz Freeday"); menu_additem(menu2, "Zabierz Duszka"); menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu2); } public Handel_ManagerOP(id, menu, item) { if(item == MENU_EXIT) return; new acces, callback, data[3], iname[32]; menu_item_getinfo(menu, item, acces, data, 2, iname, 31, callback); replace(iname, 31, "^n", ""); new menu2 = menu_create(iname, (!item || item == 2)? "Handel_Menu_Zop": "Handel_Menu_Duszek"); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || cs_get_user_team(i) != CS_TEAM_T) continue; switch(item) { case 0,1:{ if(jail_get_prisoner_free(i) || jail_get_prisoner_ghost(i)) continue; } case 2:{ if(!jail_get_prisoner_free(i)) continue; } case 3:{ if(!jail_get_prisoner_ghost(i)) continue; } } new name[32]; get_user_name(i, name, 31); menu_additem(menu2, name, (!item || item == 1)? "1": "0"); } menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz"); menu_display(id, menu2); } public Handel_Menu_Zop(id, menu, item) { if(item == MENU_EXIT) return; new id2, callback, data[3], name[32]; menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback); callback = data[0]-'0'; id2 = get_user_index(name); jail_set_prisoner_free(id2, bool:callback, false); new szName[2][32]; get_user_name(id, szName[0], 31); get_user_name(id2, szName[1], 31); ColorChat(0, TEAM_COLOR,"^x04[Zabawa: Ostatnia Prosta!] ^x03%s ^x01%s uczestnika ^x03%s do Zabawy Ostatnia Prosta!",szName[0], callback? "dodal": "usunal",szName[1]); } public Handel_Menu_Duszek(id, menu, item) { if(item == MENU_EXIT) return; new id2, callback, data[3], name[32]; menu_item_getinfo(menu, item, id2, data, 2, name, 31, callback); callback = data[0]-'0'; id2 = get_user_index(name); jail_set_prisoner_ghost(id2, bool:callback, false); new szName[2][32]; get_user_name(id, szName[0], 31); get_user_name(id2, szName[1], 31); ColorChat(0, TEAM_COLOR,"^x04[PrisonBreak] ^x03%s ^x01%s duszka ^x03%s",szName[0], callback? "dal": "zabral",szName[1]); }
Oto błędy:
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team abc.sma(24) : error 029: invalid expression, assumed zero abc.sma(24) : error 088: number of arguments does not match definition abc.sma(54) : error 029: invalid expression, assumed zero abc.sma(54) : error 004: function "OnDayStartPre" is not implemented abc.sma(54) : warning 215: expression has no effect abc.sma(54) : error 001: expected token: ";", but found "]" abc.sma(54) : fatal error 107: too many error messages on one line Compilation aborted. 6 Errors.
Dla tego któremu uda się poprawić ten plugin leci "+" a nawet 2
Z góry dzięki