|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Отключение плагина посредством одного квара
|
|
makSuS | Дата: Вторник, 10.02.2009, 00:34:32 | Сообщение # 1 |
Подполковник
Группа: Пользователи
Сообщений: 111
Статус: Не в сети
| написал следующую часть кода: Code #define PLUGIN "Plugin" #define VERSION "0.1" #define AUTHOR "NeoXidant"
#include <amxmodx> #include <amxmisc>
new a_enable
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("test.txt") register_dictionary("common.txt")
register_concmd("amx_plugindisen", "cmdDisEn", ADMIN_RCON, "<1|0> - Enables/Disables this plugin") a_enable = register_cvar("amx_plugindisen", "1")
return PLUGIN_CONTINUE }
public cmdDisEn(id, level, cid) { if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg[2] read_argv(1, arg, 1)
if (equali(arg, "1")) { if(get_cvar_num("a_enable") != 0) { set_pcvar_num(a_enable, 1) console_print(id, "%L", LANG_SERVER, "ENABLED") } else console_print(id, "%L", LANG_SERVER, "ALREADY_ENABLED") } else if (equali(arg, "0")) { if(get_cvar_num("a_enable") != 1) console_print(id, "%L", LANG_SERVER, "ALREADY_DISABLED") else { set_pcvar_num(a_enable, 0) console_print(id, "%L", LANG_SERVER, "DISABLED") } } else console_print(id, "%L: amx_plugindisen <1|0>", LANG_SERVER, "USAGE") return PLUGIN_CONTINUE }
public any_function() { if(get_cvar_num("q_enable") != 1) return PLUGIN_CONTINUE .............. } если ввести в консоли amx_plugindisen, то пишет все как положено: Quote Usage: amx_plugindisen <1|0> - Enables/Disables this plugin если ввести в консоли amx_plugindisen <любая цифра, кроме 1|0>, то пишет все как положено: Quote Usage: amx_plugindisen <1|0> если ввести в консоли amx_plugindisen <1 или 0>, то начинается бред - при любом значении посылает сообщение, которое обозначено как "ALREADY_DISABLED(ENABLED)" Quote ALREADY_ENABLED = The command is ignored. Plugin are already enabled. ALREADY_DISABLED = The command is ignored. Plugin are already disabled. а "нужные" сообщения так и не посылаются Quote ENABLED = Plugin enabled! DISABLED = Plugin disabled! P.S. ucoz сбил отсупы
Сообщение отредактировал makSuS - Вторник, 10.02.2009, 00:36:41 |
|
| |
draft | Дата: Вторник, 10.02.2009, 11:21:58 | Сообщение # 2 |
Полковник
Группа: Пользователи
Сообщений: 225
Статус: Не в сети
| Ошибка в том, что ты в половине мест используешь pcvar, а в половине написал просто cvar. То есть get_cvar_num("a_enable") != 1 вот это всегда будет "0", поскольку переменной a_enable не существует. Надо использовать !get_pcvar_num(a_enable)
Сообщение отредактировал draft - Вторник, 10.02.2009, 11:22:30 |
|
| |
makSuS | Дата: Вторник, 10.02.2009, 14:35:44 | Сообщение # 3 |
Подполковник
Группа: Пользователи
Сообщений: 111
Статус: Не в сети
| если я использую !get_pcvar_num, то возникает ошибка Code Error: Argument type mismatch (argument 1) on line xxx Добавлено (2009-02-10, 2:35 Pm) --------------------------------------------- починил. вот конечный код: Code #define PLUGIN "Plugin" #define VERSION "0.1" #define AUTHOR "NeoXidant"
#include <amxmodx> #include <amxmisc>
new a_enable
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
register_dictionary("test.txt") register_dictionary("common.txt")
register_concmd("amx_plugindisen", "cmdDisEn", ADMIN_RCON, "<1|0> - Enables/Disables this plugin") a_enable = register_cvar("amx_plugindisen", "1")
return PLUGIN_CONTINUE }
public cmdDisEn(id, level, cid) { if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg[2] read_argv(1, arg, 1)
if (equali(arg, "1")) { if (get_pcvar_num(a_enable)) console_print(id, "%L", LANG_SERVER, "ALREADY_ENABLED") else { set_pcvar_num(a_enable, 1) console_print(id, "%L", LANG_SERVER, "ENABLED") } } else if (equali(arg, "0")) { if (get_pcvar_num(a_enable)) { set_pcvar_num(a_enable, 0) console_print(id, "%L", LANG_SERVER, "DISABLED") } else console_print(id, "%L", LANG_SERVER, "ALREADY_DISABLED") } else console_print(id, "%L: amx_plugindisen <1|0>", LANG_SERVER, "USAGE")
return PLUGIN_HANDLED } public any_function() { if(get_cvar_num("q_enable") != 1) return PLUGIN_CONTINUE .............. }
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |