Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 21 окт 2018, 06:37

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: How can I block the "model" and "spectate" commands ?
СообщениеДобавлено: 04 май 2017, 18:51 
Не в сети
Зарегистрирован:
24 апр 2017, 21:16
Последнее посещение:
19 окт 2018, 03:44
Сообщения: 14
Hi, I'm new in this forum and I haven't introduced myself yet. How can I do what the title says in AMX Mod X? If it's possible of course. I want this because in my plugin, when I set a user in spectate, I don't want him to use that command. The same for "model" command.

Thank you.

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: How can I block the "model" and "spectate" commands ?
СообщениеДобавлено: 04 май 2017, 19:36 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
05 окт 2018, 05:07
Сообщения: 6690
Hi and welcome.
You can catch and block spectate command if you wish. Check this plugin for the sample.
You can also catch and block model changing, but not the actual command (because this is client side command). Don't remember sample plugins, but you need to catch setinfo event, check the model and block (change back).


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: How can I block the "model" and "spectate" commands ?
СообщениеДобавлено: 05 май 2017, 04:01 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
15 окт 2018, 01:09
Сообщения: 936
about block model :

Код:

#include <fakemeta>

   register_forward(FM_SetClientKeyValue, "SetClientKeyValue");

public SetClientKeyValue(player, const szInfoBuffer[], const szKey[], const szValue[])
{
   if(equal(szKey, "model"))
      return FMRES_HANDLED
      
   return FMRES_IGNORED
}

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: How can I block the "model" and "spectate" commands ?
СообщениеДобавлено: 10 май 2018, 00:30 
Не в сети
Зарегистрирован:
24 апр 2017, 21:16
Последнее посещение:
19 окт 2018, 03:44
Сообщения: 14
Lev писал(а):
Hi and welcome.
You can catch and block spectate command if you wish. Check this plugin for the sample.
You can also catch and block model changing, but not the actual command (because this is client side command). Don't remember sample plugins, but you need to catch setinfo event, check the model and block (change back).

Thank you Lev, I though that the solution was more complex :D I leave here the code that fix it
Код:
#include <amxmodx>

public plugin_init() {
    register_clcmd("spectate", "CmdSpectate"); // block spectate
}

public CmdSpectate() {
    return PLUGIN_HANDLED;
}

abdobiskra писал(а):
about block model :

Код:

#include <fakemeta>

   register_forward(FM_SetClientKeyValue, "SetClientKeyValue");

public SetClientKeyValue(player, const szInfoBuffer[], const szKey[], const szValue[])
{
   if(equal(szKey, "model"))
      return FMRES_HANDLED
      
   return FMRES_IGNORED
}
That unfortunalety didn't work :( Anyway, I don't need to block it anymore.
I'm sorry for the long delay for the response.

_________________
Изображение


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: How can I block the "model" and "spectate" commands ?
СообщениеДобавлено: 10 май 2018, 01:24 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
15 окт 2018, 01:09
Сообщения: 936
rtxa
Sorry I had taken it from one of my some works.. it is not complete .. so posted for clarification

Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

public plugin_init() {
   register_forward(FM_SetClientKeyValue, "SetClientKeyValue");
}

public SetClientKeyValue(player, const szInfoBuffer[], const szKey[], const szValue[])
{
   if(equal(szKey, "model"))
      return FMRES_HANDLED
   
   return FMRES_IGNORED
}

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: How can I block the "model" and "spectate" commands ?
СообщениеДобавлено: 12 май 2018, 20:55 
Не в сети
Зарегистрирован:
24 апр 2017, 21:16
Последнее посещение:
19 окт 2018, 03:44
Сообщения: 14
No abdobiskra, the problem with your code is that setinfo can't be hooked, so you can't block it, have you test the code?

_________________
Изображение


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB