Перейти к содержимому


Фотография

Автобинд или как испортить конфиг клиента

cs 1.6 autobind

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Eburg

Eburg

    Новичок

  • Пользователь
  • Pip
  • 1 сообщений

Отправлено 07 Сентябрь 2018 - 11:02

Доброго времени суток.

 

На сервере установлен war3ft мод. И чаще всего на сервере игроки помладше не понимают как же забиндить и использовать команды мода. Хоть по 10 раз объясни по голосовому чату и еще 15 раз пропиши в чате игры - все тот же вопрос: "Как забиндить?"

 

Чтобы решить этот вопрос, попробовал сам создать бинд клавиш по согласию игрока. То есть он прописывает в чате команду, ему высвечивается меню, где все разъяснено. Если он соглашается - идет бинд, а иначе - выход.

 

ПРОБЛЕМА в том, что когда игрок биндит клавиши уже, ничего не биндится, в консоли выдает ошибку, якобы сервер пытался отправить запрещенную команду.

 

ВОПРОС, как можно решить данную проблему?

Буду благодарен за любой ответ.

public cmdBind(id)
{
	static szText[500]
	formatex(szText, sizeof(szText), "\rВы согласны забиндить клавиши?^n"); 
	new b_menu = menu_create(szText, "b_handler");
	menu_additem(b_menu, "\wДа", "1");
	menu_additem(b_menu, "\wНет", "2");
        menu_additem(b_menu, "\wПосмотреть бинды", "3");
	
	menu_setprop(b_menu, MPROP_EXITNAME, "\rВыход");
	menu_display(id, b_menu, 0);
}

public b_handler(id, menu, item)
{
	if(item < 0) return PLUGIN_CONTINUE;
	new s_Data[6], s_Name[64], i_Access, i_Callback
	menu_item_getinfo(menu, item, i_Access, s_Data, sizeof(s_Data), s_Name, sizeof(s_Name), i_Callback);
	new i_Key = str_to_num(s_Data);
	
	switch(i_Key)
	{
		case 1:
		{
			if(is_user_connected(id))
			{
				client_cmd(id,"bind ^"F^" ^"ultimate^"")
				client_cmd(id,"bind ^"-^" ^"shopmenu^"")
				client_cmd(id,"bind ^"=^" ^"shopmenu2^"")
				client_cmd(id,"bind ^"P^" ^"ability^"")
				client_cmd(id,"bind ^"[^" ^"shopmenu3^"")
				client_cmd(id,"bind ^"]^" ^"shopmenu4^"")
				ColorChat(id, NORMAL, "^4[%s] ^3Все клавиши успешно забиндены.", tgs)
			}
		}
		case 2:
		{
			ColorChat(id, NORMAL, "^4[%s] ^3Вы отказались от бинда клавиш. Операция отменена.", tgs);
		}
                case 3:
                {
                        bnd_show(id)
                }
	}
	return PLUGIN_HANDLED;
}


#2 Forsetta

Forsetta

    Пользователь

  • Пользователь
  • PipPipPip
  • 245 сообщений

Отправлено 12 Сентябрь 2018 - 17:45

Собственно, никак. На сколько я помню, в клиенте игры стоит защита от сторонних биндов.

Хотя я могу ошибаться. Обратись к скриптерам, мб они что то знают.


Сообщение отредактировал Forsetta: 12 Сентябрь 2018 - 17:46




Темы с аналогичным тегами cs 1.6, autobind

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных