Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум » SourceMod >> CS:Source >> CSGO » Уроки SourceMod (SourcePawn) Скриптинга » HookEvent, HookEventEx, UnhookEvent - отлавливаем события (Хук/перехват событий)
HookEvent, HookEventEx, UnhookEvent - отлавливаем события
Sallcom Дата: Четверг, 12.02.2015, 21:00:54 | Сообщение # 31
Сообщений: 205
Репутация: 31 [ +/- ]
Цитата maxim5442 ()
Здравствуйте.
Как отловить прицел? ( то есть на какого игрока нацелен)


В OnGameFrame() или создаешь таймер, который каждую секунду это проверяет:
Код
GetClientAimTarget(client, true);

client - у кого отлавливаешь, true - показывает только игроков.

Подробная информация на:
https://sm.alliedmods.net/api/index.php?fastload=show&id=50&
 
Nahal Дата: Среда, 17.06.2015, 12:30:20 | Сообщение # 32
Сообщений: 205
Репутация: 8 [ +/- ]
Как отловить момент, игрока убили в голову?
 
Scarface_slv Дата: Среда, 17.06.2015, 19:04:10 | Сообщение # 33
Сообщений: 737
Репутация: 61 [ +/- ]
player_death -> GetEventBool(event, "headshot")
 
Nahal Дата: Пятница, 19.06.2015, 18:01:23 | Сообщение # 34
Сообщений: 205
Репутация: 8 [ +/- ]
Scarface_slv,

Что не так? Эффектов 0!


Сообщение отредактировал Nahal - Пятница, 19.06.2015, 18:01:42
 
Scarface_slv Дата: Пятница, 19.06.2015, 18:57:36 | Сообщение # 35
Сообщений: 737
Репутация: 61 [ +/- ]
Не знай, ну попробуй через if(GetEventInt(event, "hitgroup") == 1) ...
 
Nahal Дата: Пятница, 19.06.2015, 19:06:28 | Сообщение # 36
Сообщений: 205
Репутация: 8 [ +/- ]
Scarface_slv, Нет(
 
BarD Дата: Пятница, 19.06.2015, 19:16:20 | Сообщение # 37
Сообщений: 943
Репутация: 137 [ +/- ]
Скорее всего, эффекты кривые, раз их нет.
 
sourceg0d Дата: Понедельник, 29.05.2017, 07:29:19 | Сообщение # 38
Сообщений: 12
Репутация: 0 [ +/- ]
Отловить шаг клиента, как возможно?
И вопрос ещё один не в эту тему но все же чтобы не создавать новый топик
Отследить событие игрок нажал на кнопку N
 
www22 Дата: Четверг, 12.09.2019, 09:01:48 | Сообщение # 39
Сообщений: 84
Репутация: -1 [ +/- ]
кстати а такое можно делать :
Код

     HookEvent("round_start", round_start);

     HookEvent("round_start", round_start_pre, EventHookMode_Pre);

Ловить одновременно 1 и тот же хук , но разделить функции ...

Добавлено (17.10.2020, 13:09:04)
---------------------------------------------
А как реализовать из одного хук/евента отловить или передать в другой евент значение или выполнение . не знаю как правильнее будет ..


Сообщение отредактировал www22 - Суббота, 17.10.2020, 13:10:04
 
_wS_ Дата: Суббота, 17.10.2020, 17:55:01 | Сообщение # 40
Thanks
Цитата www22 ()
Ловить одновременно 1 и тот же хук , но разделить функции

В твоём примере он не один и тот же (post и pre), поэтому 2 хука это правильно.

Цитата www22 ()
заблокировать на это время кнопку отвечающее за смену класса

AddCommandListener, команда "joinclass".
Если в TF команда другая, узнать наверно можно в OnClientCommand

Код
decl String:cmd[64];
GetCmdArg(0, cmd, sizeof(cmd));
PrintToChat(client, cmd);


По таймерам урок есть.
 
www22 Дата: Суббота, 17.10.2020, 21:56:34 | Сообщение # 41
Сообщений: 84
Репутация: -1 [ +/- ]
_wS_,
Цитата _wS_ ()
По таймерам урок есть.

я там в спойлере скинул пример что мне нужно .. как 2 хук ловить из 1-го .скажем в евенте на спаун https://wiki.alliedmods.net/Generic_Source_Events#player_spawn , ловить хук на смену класса https://wiki.alliedmods.net/Day_of_Defeat:_Source_Events#player_changeclass. Как то так или наоборот- незнаю как правильнее будет ..
Хотя мне тут мысль может проще через СДКХукс это ловить .. Но на примере Bres-a мне тогда пришлось повозиться %))

Добавлено (17.10.2020, 22:06:48)
---------------------------------------------

Цитата _wS_ ()
AddCommandListener, команда "joinclass"

Ага у нас такая же ..


Сообщение отредактировал www22 - Суббота, 17.10.2020, 22:03:45
 
_wS_ Дата: Воскресенье, 18.10.2020, 00:46:29 | Сообщение # 42
Thanks
Обычная логика

Код
new bool:g_bSpawn[MAPLXYERS + 1];

player_spawn()
{
    g_bSpawn[client] = true;
    // Ну и таймер запускаешь наверно, чтобы сделать g_bSpawn[client] = false; через x сек.
}

joinclass()
{
    if (g_bSpawn[client]) {
        нельзя
    }
    else {
        можно
    }
}
 
www22 Дата: Воскресенье, 18.10.2020, 14:26:56 | Сообщение # 43
Сообщений: 84
Репутация: -1 [ +/- ]
_wS_, спасибо . примерно так и хотел.. Просто меня напугало как вызвать другой хук-евент из к примеру player_spawn ..
блин ни как еще некоторые вещи не пойму..
Кстати а player_spawn - он когда вызывается когда просто игрок возродился на респе уже и ждет , у нас как бы еще и время есть 1-15 макс сек. , то есть не сразу идет в бой - типа ждешь. Или же когда уже появилась моделька игрока на точке респауна ?
p.s. Эти мелкие тонкости как бы незнаю..
 
_wS_ Дата: Воскресенье, 18.10.2020, 17:47:41 | Сообщение # 44
Thanks
Ну тк дебаг для чего, хукни событие, пропиши PrintToChat и смотри как работает.
 
MrGreen Дата: Понедельник, 03.01.2022, 07:40:31 | Сообщение # 45
Сообщений: 21
Репутация: 0 [ +/- ]
Здравствуйте! У меня появился такой вопрос: где можно посмотреть что происходит в самом событии?

Сразу поясню, про что я:

HookEvent("round_start", Event_RoundStart, EventHookMode_Pre) - я бы хотел узнать что конкретно происходит здесь, какие действия происходят, какие функции вызываются и т.д., но не знаю, где такую информацию можно посмотреть.
 
Форум » SourceMod >> CS:Source >> CSGO » Уроки SourceMod (SourcePawn) Скриптинга » HookEvent, HookEventEx, UnhookEvent - отлавливаем события (Хук/перехват событий)
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск: