Блокування консольних команд - українська спільнота зі скриптингу AMXX
shel написав: Юліє, мене дехто просив вас не чіпати, тому ваш пост я опускаю.
блокування консольних команд
- Список форумів‹ AMX Mod X‹ Скриптинг
У цьому розділі форуму можна створювати теми, які стосуються лише скриптингу для AMX Mod X.
Правила під час створення нової теми: 1. При вставці коду плагіна необхідно використовувати тег [code=php]. 2. Будь-які зображення повинні бути завантажені як вкладення до вашого повідомлення. 3. При описі проблеми або запиті на допомогу в редагуванні плагіна обов'язково викладайте вихідний плагін.
блокування консольних команд
lee » 01 Листопада 2011, 14:32
Re: блокування консольних команд
Mr. Frost » 01 Листопада 2011, 14:39
Мої плагіни: Buy Menu Management 2.0 - додаємо Extra Items в меню закупівель на класик-сервер.
Re: блокування консольних команд
nefik23 » 01 Листопада 2011, 14:59
Для тих, кому не ясно :D
Re: блокування консольних команд
DJ_WEST » 01, лис 2011, 17:15
Re: блокування консольних команд
6ykBaeg » 01 Лис 2011, 19:39
Цитата школяра з "Skype" "а як мені айпі перевірити свого айпі" "Ти че здох що?..н-ну, на, полікуватися. Дібіл." (с) до/м фільм Ботан Джо
Re: блокування консольних команд
lee » 02 Листопада 2011, 00:23
Re: блокування консольних команд
Mr. Frost » 02 Листопада 2011, 01:56
Мої плагіни: Buy Menu Management 2.0 - додаємо Extra Items в меню закупівель на класик-сервер.
Re: блокування консольнихкоманд
6ykBaeg » 02 Листопада 2011, 13:07
[/pawn] ось у мене прохання) ви могли б запхати цей код у вихідник) і виправити ті помилки, що описані вище) ну щоб адміни могли спокійно заходити за будь-яку команду та і приписати туди)) як у режисера) струму напишу трохи інакше)
ось мій вихідник
#define ACCESS_LEVEL ADMIN_IMMUNITY // адмінський доступ
enum TEAM_NONE = 0, TEAM_T, TEAM_CT, TEAM_SPEC,
// Old Style Menus stock const FIRST_JOIN_MSG[] = "#Team_Select"; stock const FIRST_JOIN_MSG_SPEC[] = "#Team_Select_Spect"; stock const INGAME_JOIN_MSG[] = "#IG_T stock const INGAME_JOIN_MSG_SPEC[] = "#IG_Team_Select_Spect"; const iMaxLen = sizeof(INGAME_JOIN_MSG_SPEC);
// New VGUI Menus stock const VGUI_JOIN_TEAM_NUM = 2;
new g_iTeam[33]; new g_iPlayers[MAX_TEAMS];
new tjm_join_team ; new tjm_block_change; new tjm_adm_immune;
public plugin_init() register_plugin("Team Join Management", "0.3fix", "Exolent&Alucard"); register_event("TeamInfo", "event_TeamInfo", "a"); register_message(get_user_msgid("ShowMenu"), "message_ShowMenu"); register_message(get_user_msgid("VGUIMenu"), "message_VGUIMenu"); register_clcmd("jointeam", "clcmd_changeteam" tjm_join_team = register_cvar("tjm_join_team", "2"); tjm_adm_immune = register_cvar("tjm_adm_immune") "1 ("tjm_block_change", "1");
register_clcmd("chooseteam", "clcmd_changeteam") register_clcmd("jointeam", "clcmd_changeteam") >
public plugin_cfg() if (get_pcvar_num(tjm_join_team) == 1 get_pcvar_num(tjm_join_team) == 2 ) < //якщо треба кидати за КТ або Т, робимо більше ліміти з переведення гравців заодин із команд (наприклад, для DeathRun або KZ сервера) set_cvar_num("mp_limitteams", 32); set_cvar_num("sv_restart", 3); > server_cmd("exec addons/amxmodx/configs/amxx.cfg"); //фіксувати сторонню багу, яка не давала змінити квар >
public client_disconnect(id) remove_task(id); >
public event_TeamInfo() новий > новий sTeam[32], iTeam; read_data(2, sTeam, sizeof(sTeam) - 1); for(new i = 0; i g_iPlayers[g_iTeam[id]]--; g_iTeam[ > g_iPlayers[iTeam]++; > >
public message_ShowMenu(iMsgid, iDest, id) if(get_pcvar_num(tjm_adm_immune) && access(id, ACCESS_LEVEL) ) return PLUGIN_CONTINUE; > інакше статичний sMenuCode[iMaxLen]; get_msg_arg_string(4, sMenuCode, sizeof(sMenuCode) - 1); if(equal(sMenuCode, FIRST_JOIN_MSG) equal(sMenuCode, FIRST_JOIN_MSG_SPEC)) if(should_autojoin(id)) set_autojoin_task(id, iMsgid); повернути PLUGIN_HANDLED; > > інакше if(equal(sMenuCode, INGAME_JOIN_MSG) equal(sMenuCode, INGAME_JOIN_MSG_SPEC)) if(get_pcvar_num(tjm_block_change)) new rnd_color = random_num(1,4); if (rnd_color == 2 && get_user_team( > ColorChat(id, RED, " Ви не можете змінити команду!"); > else if (rnd_color == 2 & & get_user_team( > ColorChat(id, BLUE, "Ви не можете змінити команду!"); > else ColorChat(id, NORMAL, "%s Ви не можете змінити команду!", rnd_color) ; > повернути PLUGIN_HANDLED; > > > повернути PLUGIN_CONTINUE; >
public message_VGUIMenu(iMsgid, iDest, id) if(get_pcvar_num(tjm_adm_immune) && access(id, ACCESS_LEVEL)) return PLUGIN_CONTINUE; > інакше, якщо (get_msg_arg_int(1) != VGUI_JOIN_TEAM_NUM) повернутиPLUGIN_CONTINUE; >
if(should_autojoin(id)) set_autojoin_task(id, iMsgid); return PLUGIN_HANDLED; > else if((TEAM_NONE ColorChat(id, RED, " Ви не можете змінити команду!"); > else if (rnd_color == 2 && get_user_team( > ColorChat(id) , BLUE, " Ви не можете змінити команду!"); > return PLUGIN_HANDLED; > > return PLUGIN_CONTINUE; >
public clcmd_changeteam(id) return PLUGIN_HANDLED; >
stock handle_join(id, iMsgid, iTeam) new iMsgBlock = get_msg_block(iMsgid); set_msg_block(iMsgid, BLOCK_SET);
engclient_cmd(id, "jointeam", g_sTeamNums[iTeam]);
new i > if(1 engclient_cmd(id, "joinclass", g_sClassNums[iClass - 1])); > set_msg_block(iMsgid, iMsgBlock); >
Цитата школяра з "Skype" "а як мені айпі перевірити свого айпі" "Ти че здох що?..н-ну, на, полікуватися. Дібіл." (с) до/м фільм Ботан Джо