Cześć,
Czy mógłby ktoś zmodyfikować spawn protection tak, aby ochrona była udzielana jedynie na wskazanych w osobnym pliku mapach?
Poniżej oryginalny temat: https://amxx.pl/topi...on-pl-by-dudix/
Kod źródłowy:
*/ //----------------------------------------------------------// #include <amxmodx> #include <amxmisc> #include <fun> //----------------------------------------------------------// public plugin_init() { register_plugin("Ochrona na Spawnie PL", "7.0", "Peli") register_concmd("amx_sptime", "cmd_sptime", ADMIN_CVAR, "Od 1 do 10 - Czas przez jaki ma byc ochrona na poczatku rundy") register_concmd("amx_spmessage", "cmd_spmessage", ADMIN_CVAR, "1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona") register_concmd("amx_spshellthickness", "cmd_spshellthickness", ADMIN_CVAR, "Od 1 do 100 - Grubosc powloki ochronnej") register_cvar("sv_sp", "1") // 1 - wlacza plugin, 0 wylacza register_cvar("sv_sptime", "5") // Od 1 do 10 - Czas przez jaki ma byc ochrona na poczatku rundy register_cvar("sv_spmessage", "1") // 1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona register_cvar("sv_spshellthick", "25") // Od 1 do 100 - Grubosc powloki ochronnej register_event("ResetHUD", "sp_on", "be") register_clcmd("fullupdate", "clcmd_fullupdate") } //----------------------------------------------------------// public client_disconnect(id) { remove_task(id) return PLUGIN_HANDLED } //----------------------------------------------------------// public cmd_sptime(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg_str[3] read_argv(1, arg_str, 3) new arg = str_to_num(arg_str) if(arg > 10 || arg < 1) { client_print(id, print_chat, "Mozesz ustawic czas ochrony od 1 do 10 sekund") return PLUGIN_HANDLED } else if (arg > 0 || arg < 11) { set_cvar_num("sv_sptime", arg) client_print(id, print_chat, "Czas ochronny trwa u Ciebie 5 sekund", arg) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } //----------------------------------------------------------// public cmd_spmessage(id, level, cid) { if (!cmd_access(id, level, cid, 2)) { return PLUGIN_HANDLED } new sp[3] read_argv(1, sp, 2) if (sp[0] == '1') { set_cvar_num("amx_spmessage", 1) } else if (sp[0] == '0') { set_cvar_num("amx_spmessage", 0) } else if (sp[0] != '1' || sp[0] != '0') { console_print(id, "1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona") return PLUGIN_HANDLED } return PLUGIN_HANDLED } //----------------------------------------------------------// public cmd_spshellthickness(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg_str[3] read_argv(1, arg_str, 3) new arg = str_to_num(arg_str) if(arg > 100 || arg < 1) { client_print(id, print_chat, "Od 1 do 100 - Grubosc powloki ochronnej") return PLUGIN_HANDLED } else if (arg > 0 || arg < 101) { set_cvar_num("sv_spshellthickness", arg) client_print(id, print_chat, "Grubosc powloki ochronnej to 25", arg) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } //----------------------------------------------------------// public sp_on(id) { if(get_cvar_num("sv_sp") == 1) { set_task(0.1, "protect", id) } return PLUGIN_CONTINUE } //----------------------------------------------------------// public protect(id) { new Float:SPTime = get_cvar_float("sv_sptime") new SPSecs = get_cvar_num("sv_sptime") new FTime = get_cvar_num("mp_freezetime") new SPShell = get_cvar_num("sv_spshellthick") set_user_godmode(id, 1) if(get_user_team(id) == 1) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, SPShell) } if(get_user_team(id) == 2) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, SPShell) } if(get_cvar_num("sv_spmessage") == 1) { set_hudmessage(255, 1, 1, -1.0, -1.0, 0, 6.0, SPTime+FTime, 0.1, 0.2, 4) show_hudmessage(id, "Ochrona na poczatku rundy trwa %d sekund(y)", SPSecs) } set_task(SPTime+FTime, "sp_off", id) return PLUGIN_HANDLED } //----------------------------------------------------------// public sp_off(id) { new SPShell = get_cvar_num("sv_spshellthick") if(!is_user_connected(id)) { return PLUGIN_HANDLED } else { set_user_godmode(id, 0) set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal, SPShell) return PLUGIN_HANDLED } return PLUGIN_HANDLED } //----------------------------------------------------------// public clcmd_fullupdate(id) { return PLUGIN_HANDLED } //----------------------------------------------------------//
Dzięki