Дописать плагин csdm_ffa |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Дописать плагин csdm_ffa |
allan |
13.10.2017, 21:26
Сообщение
|
привет форумчане помогите дописать плагин нужно сделать чтобы на de_dust2 и так далее каждый сам за себя был то есть mp_friendlyfire 1 был
а на остальных картах aim_ak47 no_ffa mp_friendlyfire 0 чтобы было Код Код #include <amxmodx> #include <amxmisc> #include <csdm> #include <colorchat> #pragma library csdm_main new PLUGIN[] = "CSDM FFA" new VERSION[] = CSDM_VERSION new AUTHOR[] = "CSDM Team" new ACCESS = ADMIN_MAP new bool:g_MainPlugin = true new pv_mp_friendlyfire new bool:g_PluginInited = false new bool:g_Enabled = false new bool:g_hideradar = false // page info for settings in CSDM Setting Menu new g_SettingsMenu = 0 new g_FfaSettMenu = 0 new g_ItemsInMenuNr = 0 new g_PageSettMenu = 0 new const g_sFireInTheHole[] = "#Fire_in_the_hole" new const g_sFireInTheHoleSound[] = "%!MRAD_FIREINHOLE" public plugin_natives() { set_module_filter("module_filter") set_native_filter("native_filter") } public module_filter(const module[]) { if(equali(module, "csdm_main")) return PLUGIN_HANDLED return PLUGIN_CONTINUE } public native_filter(const name[], index, trap) { if(!trap) return PLUGIN_HANDLED return PLUGIN_CONTINUE } public csdm_Init(const version[]) { if(version[0] == 0) { set_fail_state("CSDM failed to load.") return } } public csdm_CfgInit() { csdm_reg_cfg("ffa", "read_cfg") } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_concmd("csdm_ffa_enable", "csdm_ffa_enable", ACCESS, "Включить FFA") register_concmd("csdm_ffa_disable", "csdm_ffa_disable", ACCESS, "Выключить FFA") register_concmd("csdm_ffa_ctrl", "csdm_ffa_ctrl", ACCESS, "Управление FFA") register_concmd("csdm_radar_ctrl", "csdm_radar_ctrl", ACCESS, "Управление радаром") register_clcmd("say /ffa", "csdm_ffa", ACCESS, "Включить/Выключить FFA") register_clcmd("say_team /ffa", "csdm_ffa", ACCESS, "Включить/Выключить FFA") register_clcmd("csdm_ffa_sett_menu", "csdm_ffa_sett_menu", ACCESS, "Меню настроек ^"FFA^"") register_event("ResetHUD", "eventResetHud", "be") register_message(get_user_msgid("TextMsg"), "msgTextMsg") register_message(get_user_msgid("SendAudio"), "msgSendAudio") register_message(get_user_msgid("Radar"), "Radar_Hook") g_MainPlugin = module_exists("csdm_main") ? true : false if(g_MainPlugin) { g_SettingsMenu = csdm_settings_menu() g_ItemsInMenuNr = menu_items(g_SettingsMenu) g_PageSettMenu = g_ItemsInMenuNr / 7 g_FfaSettMenu = menu_create("[CSDM] Меню настроек ^"FFA^"", "use_csdm_ffa_menu") menu_additem(g_SettingsMenu, "Настройки ^"FFA^"", "csdm_ffa_sett_menu", ACCESS) if(g_FfaSettMenu) { new cb_ffa = menu_makecallback("hook_ffa_menu") menu_additem(g_FfaSettMenu, "FFA [вкл/выкл]", "csdm_ffa_ctrl", ADMIN_MAP, cb_ffa) new cb_radar = menu_makecallback("hook_radar_menu") menu_additem(g_FfaSettMenu, "Радар [показать/скрыть]", "csdm_radar_ctrl", ADMIN_MAP, cb_radar) menu_additem(g_FfaSettMenu, "Назад в настройки", "csdm_sett_back", 0, -1) menu_setprop(g_FfaSettMenu, MPROP_EXITNAME, "Выход") menu_setprop(g_FfaSettMenu, MPROP_EXIT, MEXIT_ALL) } } pv_mp_friendlyfire = get_cvar_pointer("mp_friendlyfire") set_task(4.0, "enforce_ffa", .flags="a", .repeat=2) g_PluginInited = true } public plugin_cfg() { if(!pv_mp_friendlyfire) pv_mp_friendlyfire = get_cvar_pointer("mp_friendlyfire") } public csdm_StateChange(csdm_state) { new value = csdm_active() ? 1:0 if((value) && g_Enabled) { csdm_set_ffa(1) if(g_hideradar) client_cmd(0, "hideradar") if(pv_mp_friendlyfire) set_pcvar_num(pv_mp_friendlyfire, 1) } else if(g_PluginInited) { csdm_set_ffa(0) client_cmd(0, "drawradar") } } public msgTextMsg(msg_id, msg_dest, msg_entity) // block "fire in the hole" msg { new sTemp[sizeof(g_sFireInTheHole)] if(csdm_active() && csdm_get_ffa() && get_msg_args() == 5 && get_msg_argtype(5) == ARG_STRING) { get_msg_arg_string(5, sTemp, sizeof(sTemp)-1) if(equal(sTemp, g_sFireInTheHole)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public msgSendAudio() // block "fire in the hole" radio { new sTemp[sizeof(g_sFireInTheHoleSound)] if(csdm_active() && csdm_get_ffa()) { get_msg_arg_string(2, sTemp, sizeof(sTemp)-1) if(equali(sTemp, g_sFireInTheHoleSound)) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public eventResetHud(id) { if(csdm_active() && g_Enabled && g_hideradar) { client_cmd(id, "hideradar") } return PLUGIN_CONTINUE } public Radar_Hook(msg_id, msg_dest, msg_entity) { if(csdm_active() && csdm_get_ffa()) { return PLUGIN_HANDLED } return PLUGIN_CONTINUE } public enforce_ffa() { //enforce this if(csdm_active() && csdm_get_ffa()) { if(g_hideradar) client_cmd(0, "hideradar") if(pv_mp_friendlyfire) set_pcvar_num(pv_mp_friendlyfire, 1) } else if(g_hideradar) { client_cmd(0, "drawradar") } } public csdm_ffa_sett_menu(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED menu_display(id, g_FfaSettMenu, 0) return PLUGIN_HANDLED } public use_csdm_ffa_menu(id, menu, item) { if(item < 0) return PLUGIN_CONTINUE new command[24], paccess, call if(!menu_item_getinfo(g_FfaSettMenu, item, paccess, command, 23, _, 0, call)) { log_amx("Error: csdm_menu_item() failed (menu %d) (page %d) (item %d)", g_FfaSettMenu, 0, item) return PLUGIN_HANDLED } if(paccess && !(get_user_flags(id) & paccess)) { ColorChat(id, NORMAL, "У вас нет прав для доступа к этому меню опций.") return PLUGIN_HANDLED } if((equali(command,"csdm_ffa_ctrl")) || (equali(command,"csdm_radar_ctrl"))) { client_cmd(id, command) menu_display(id, g_FfaSettMenu, 0) return PLUGIN_HANDLED } else if(equali(command,"csdm_sett_back")) { menu_display(id, g_SettingsMenu, g_PageSettMenu) return PLUGIN_HANDLED } return PLUGIN_HANDLED } public csdm_ffa_ctrl(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED g_Enabled = (g_Enabled ? false : true) csdm_set_ffa( g_Enabled ? 1 : 0 ) ColorChat(id, RED, "^x04[CSDM]^x01 Режим FFA %s.", g_Enabled ? "^x04Включен" : "^x03Выключен") if(csdm_active() && csdm_get_ffa()) { if(g_hideradar) client_cmd(0, "hideradar") if(pv_mp_friendlyfire) set_pcvar_num(pv_mp_friendlyfire, 1) } else if(g_hideradar) { client_cmd(0, "drawradar") } csdm_write_cfg(id, "ffa", "enabled", g_Enabled ? "1" : "0") menu_display(id, g_FfaSettMenu, 0) return PLUGIN_HANDLED } public csdm_radar_ctrl(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED g_hideradar = (g_hideradar ? false : true) ColorChat(id, RED, "^x04[CSDM]^x01 Радар %s.", g_hideradar ? "^x03Скрыт" : "^x04Показан") if(csdm_active() && csdm_get_ffa()) { if(g_hideradar) client_cmd(0, "hideradar") else client_cmd(0, "drawradar") } csdm_write_cfg(id, "ffa", "radar_disable", g_hideradar ? "1" : "0") menu_display(id, g_FfaSettMenu, 0) return PLUGIN_HANDLED } public hook_ffa_menu(player, menu, item) { new paccess, command[24], call menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call) if(equali(command, "csdm_ffa_ctrl")) { if(!g_Enabled) { menu_item_setname(menu, item, "Режим FFA: \rВыкл.") } else { menu_item_setname(menu, item, "Режим FFA: \yВкл.") } } } public hook_radar_menu(player, menu, item) { new paccess, command[24], call menu_item_getinfo(menu, item, paccess, command, 23, _, 0, call) if(equali(command, "csdm_radar_ctrl")) { if(!g_hideradar) { menu_item_setname(menu, item, "Радар: \yПоказан") } else { menu_item_setname(menu, item, "Радар: \rСкрыт") } } } public csdm_ffa(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED g_Enabled = (g_Enabled ? false : true) csdm_set_ffa(g_Enabled ? 1 : 0) ColorChat(id, RED, "^x04[CSDM]^x01 Режим FFA %s.", g_Enabled ? "^x04Включен" : "^x03Выключен") if(csdm_active() && csdm_get_ffa()) { if(g_hideradar) client_cmd(0, "hideradar") if(pv_mp_friendlyfire) set_pcvar_num(pv_mp_friendlyfire, 1) } else if(g_hideradar) { client_cmd(0, "drawradar") } return PLUGIN_HANDLED } public csdm_ffa_enable(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED g_Enabled = true csdm_set_ffa(1) ColorChat(id, RED, "^x04[CSDM]^x01 Режим FFA ^x04Включен.") if(g_hideradar) client_cmd(0, "hideradar") if(pv_mp_friendlyfire) set_pcvar_num(pv_mp_friendlyfire, 1) return PLUGIN_HANDLED } public csdm_ffa_disable(id, level, cid) { if(!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED g_Enabled = false csdm_set_ffa(0) ColorChat(id, RED, "^x04[CSDM]^x01 Режим FFA ^x03Выключен.") if(g_hideradar) client_cmd(0, "drawradar") return PLUGIN_HANDLED } public read_cfg(readAction, line[], section[]) { if(readAction == CFG_READ) { new setting[24], sign[3], value[32]; parse(line, setting, 23, sign, 2, value, 31); if(equali(setting, "enabled")) { g_Enabled = (str_to_num(value) ? true : false) csdm_set_ffa(str_to_num(value)) } if(equali(setting, "radar_disable")) { g_hideradar = (str_to_num(value) ? true : false) } } }
Прикрепленные файлы:
|
|
|
|
x1DD |
14.10.2017, 22:29
Сообщение
|
|
Вроде бы это можно сделать конфингом.
Вот пример: Создаем в дир /cstrike/addons/amxmodx/configs папку maps Далее в этой папке создадим cfg для нашей карты в вашем случае это de_dust2.cfg После чего открываем de_dust2.cfg и делаем запись в нем csdm_ffa_enable сохраняем. Сейчас CS уже давно помирает.
|
|
|
allan |
20.10.2017, 20:50
Сообщение
|
не помогло
|
|
|
|