Русское сообщество по скриптингу

Ham_ObjectCaps  [Решено]

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Ham_ObjectCaps  [Решено]

Сообщение TheXA0S » 17 июл 2021, 18:29

Доброго времени суток!
Вопрос такой: что такое Ham_ObjectCaps и для чего используется
Аватара пользователя
TheXA0S
 
Сообщения: 25
Зарегистрирован: 11 дек 2019, 16:20
Откуда: Moscow
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, HTML, CSS, JS, PAWN

Re: Ham_ObjectCaps

Сообщение [N][E][M][E][C] » 17 июл 2021, 19:23

Вы должны зарегистрироваться, чтобы видеть ссылки.
/**
* Описание: Возвращает флаги для того, как объект может быть использован.
* Прямые параметры: функция(это)
* Тип возвращаемого значения: Integer (FCAP_* constants, см. hlsdk_const.inc).
* Execute params: ExecuteHam(Ham_ObjectCaps, this);
*/
Ham_ObjectCaps,
Аватара пользователя
[N][E][M][E][C]
 
Сообщения: 641
Зарегистрирован: 14 фев 2021, 10:48
Благодарил (а): 50 раз.
Поблагодарили: 89 раз.
Опыт программирования: Около года
Языки программирования: Нуждаюсь в помощи

Re: Ham_ObjectCaps

Сообщение Leonidddd » 18 июл 2021, 04:44

TheXA0S, можно использовать для того, чтобы, к примеру, чтобы выставить игроку свойство для возможности нажатия на него кнопкой +use как на обычную кнопку-объект и сделать какое-либо действие над ним ловя HAM_USE.
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.

Re: Ham_ObjectCaps

Сообщение TheXA0S » 18 июл 2021, 20:39

Можно показать на примере кода?
Аватара пользователя
TheXA0S
 
Сообщения: 25
Зарегистрирован: 11 дек 2019, 16:20
Откуда: Moscow
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C++, HTML, CSS, JS, PAWN

Re: Ham_ObjectCaps

Сообщение Leonidddd » 19 июл 2021, 02:37

Регистрируете в pre где-нибудь в plugin_init() :

Код: Выделить всё
RegisterHam(Ham_ObjectCaps, "player", "ObjectCaps", false);


Потом где-то в вашем в коде:

Код: Выделить всё
//Thx, link: https://dev-cs.ru/threads/222/#post-1453

public ObjectCaps(pId)
{
    SetHamReturnInteger(FCAP_ONOFF_USE);    // u can see FCAP_* constants in the cssdk_const.inc
    return HAM_OVERRIDE;
}


Ну и для отлова использования так же в plugin_init:
Код: Выделить всё
RegisterHam(Ham_Use, "player", "Player_Use", true);


Где-то в вашем коде:
Код: Выделить всё
public Player_Use(pId, pBadBoy)
{

    if(pev_valid(pId) != 2 || pev_valid(pBadBoy) != 2) return HAM_IGNORED;

    if(fm_cs_get_user_team(pId) == JB_TEAM_CT || fm_cs_get_user_team(pBadBoy) == JB_TEAM_CT) return HAM_IGNORED;

    if(!is_user_alive(pId) || !is_user_alive(pBadBoy)) return HAM_IGNORED;

    if(pId == pBadBoy) return HAM_IGNORED; //O_o

    if(!g_CanDoIt[pBadBoy] || g_WaitOpenMenu[pBadBoy]) return HAM_IGNORED;
    

    ShowCheckMenu
(pId, pBadBoy); //Show menu
    
    if
(!task_exists(TASKID_WAITMENUOPEN+pBadBoy))
        set_task(1.0, "CanOpenMenu", TASKID_WAITMENUOPEN+pBadBoy);
    
    g_WaitOpenMenu
[pBadBoy] = true;
    
    return HAM_IGNORED
;
}


Код: Выделить всё
public CanOpenMenu(pBadBoy) g_WaitOpenMenu[(pBadBoy-TASKID_WAITMENUOPEN)] = false;

Пример для джайла чисто для тт с небольшим таймером в 1 секунду на открытие нового меню. Так же может применяться не только для игроков, но и для всех объектов, в принципе.
Аватара пользователя
Leonidddd
Модератор
 
Сообщения: 2557
Зарегистрирован: 08 апр 2012, 18:13
Откуда: г. Запорожье
Благодарил (а): 192 раз.
Поблагодарили: 718 раз.


Вернуться в Вопросы по AMXX и его плагинам

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

Сейчас этот форум просматривают: Google [Bot] и гости: 10