SDKHook(ent, SDKHook_SetTransmit,

tonline_kms65_1

Участник
Сообщения
565
Реакции
225
Здравствуйте все.
Вопрос у меня такого плана, принцип работы этого хука(SDKHook_SetTransmit), не то что этот хук делает, это и так понятно, а по какому принципу работает.

Мне нужно отобразить спрайт на стороне клиента(на стороне только одного игрока).
У меня есть два варианта:
1. Этим самым трансмитом, перебирая каждый тик всех игроков, как по мне, вариант совсем никудышный но рабочий(но я не совсем уверен, что он именно так работает).
2. Отобразить спрайт временной ENT, проиграв его на стороне клиента.

2 вариант представляется более удобным, с одной стороны, с другой нет возможности привязать его к объекту.
1 вариант вроде как в этом плане удобнее, но не пойму принцип его работы.

У меня есть еще вариант, совсем мною не изученный, конкретно, проиграть спрайт только на клиенте, этот вариант мне больше всего подошел бы, он и расчетами не нагрузит сервер, да и в плане контроля удобнее.

Это примерно как в amxx 1,6, там есть возможность отправки сообщений только одному клиенту(т.е. можно проиграть или показать что либо на этом клиенте).
C-подобный:
MSG_ONE  1   // сообщение будет доставлено только одному клиенту (msg_entity)
Может быть здесь такое же есть?
Должно же быть, sourcepawn - это по идее последователь amxx, со всеми прибамбасами оттуда.
 
Последнее редактирование:

Dragokas

Добрая душа
Сообщения
229
Реакции
213
1. Этим самым трансмитом, перебирая каждый тик всех игроков, как по мне, вариант совсем никудышный но рабочий(но я не совсем уверен, что он именно так работает).
Зачем тебе перебирать каждый тик всех игроков. Этот хук ставится на конкретную энтити.
Просмотри здесь пример (спойлер SetTransmit).

Это примерно как в amxx 1,6, там есть возможность отправки сообщений только одному клиенту(т.е. можно проиграть или показать что либо на этом клиенте).
Это называется UserMessage. Создаётся функцией StartMessageOne и аналогичными StartMessage*.
Список сообщений: User messages - AlliedModders Wiki
 
Сверху Снизу