Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

В данном разделе обсуждаются вопросы, связанные с клиентской частью. Темы не относящиеся к тематике раздела будут перемещены или удалены, а авторы наказаны.
При создании темы кратко опишите проблему в ее названии! Темы с названиями "Как сделать?", "Помогите", "Вопрос" и т.п. будут удалятся!
2 страниц V   1 2

блок кнопок

Статус пользователя hitmanEN
сообщение 19.4.2017, 15:05
Сообщение #1


Стаж: 8 лет
Город: Санкт-Петербург


Сообщений: 401
Благодарностей: 92
Полезность: 187

Привет всем, возможно ли блокнуть кнопки прыжок, дубл-дак и приседания, ну например при игре?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 19.4.2017, 16:58
Сообщение #2


Стаж: 11 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Код:
#include <amxmodx> 
#include <engine>
#include <hamsandwich>

public plugin_init(){
register_plugin("plugin","1.0","amxx")
}

public client_PreThink(id){
if(entity_get_int(id,EV_INT_button) & IN_JUMP )
{
return HAM_SUPERCEDE
}
}

Это как вариант, но у игрока может быть бинд прыжка на другую кнопку, и тогда этот код станет бесполезным.
Для блока приседания использовать IN_DUCK


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ssx
сообщение 19.4.2017, 19:06
Сообщение #3


Стаж: 9 лет

Сообщений: 2234
Благодарностей: 1341
Полезность: 836

Без client_PreThink никак ?

Цитата
но у игрока может быть бинд прыжка на другую кнопку

Когда отлов прыжка - не важно на какой клавиши стоит бинд прыжка.


[CS 1.6 Public] 78.152.169.100:27014
[CS 1.6 DM FFA] 78.152.169.100:27015
[CS 1.6 DM AIM] 78.152.169.100:27017
[Half-Life DM FFA] 78.152.169.100:27016
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя hitmanEN
сообщение 19.4.2017, 19:36
Сообщение #4


Стаж: 8 лет
Город: Санкт-Петербург


Сообщений: 401
Благодарностей: 92
Полезность: 187

ssx, только прыжка?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 19.4.2017, 19:45
Сообщение #5


Стаж: 11 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

ssx, если есть другие варианты, то продемонстрируй. Все что знал я - показал.
По поводу бинда на прыжок, возможно, что-то упустил.
Код рабочий и выполняет то, что просит ТС derisive.gif


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя steelzzz
сообщение 19.4.2017, 20:19
Сообщение #6


Стаж: 10 лет

Сообщений: 609
Благодарностей: 187
Полезность: 167

vovan4ik1997, Ham_Player_Jump, Ham_Player_Duck


Нужна помощь в настройке сервера или плагина? (Платно) -> Тык
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ssx
сообщение 19.4.2017, 20:34
Сообщение #7


Стаж: 9 лет

Сообщений: 2234
Благодарностей: 1341
Полезность: 836

Цитата(steelzzz @ 19.4.2017, 20:19) *
vovan4ik1997, Ham_Player_Jump, Ham_Player_Duck

Ham_Player_Jump\Ham_Player_Duck вызываются каждый кадр игрока пока он Jump\Duck

Надо как-то в Pre отлавливать Jump\Duck и блокировать


Отредактировал: ssx, - 19.4.2017, 20:44


[CS 1.6 Public] 78.152.169.100:27014
[CS 1.6 DM FFA] 78.152.169.100:27015
[CS 1.6 DM AIM] 78.152.169.100:27017
[Half-Life DM FFA] 78.152.169.100:27016
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 20.4.2017, 4:20
Сообщение #8


Стаж: 11 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Цитата
Ham_Player_Jump, Ham_Player_Duck

я, к своему сожалению, узнал недавно что вот это вызывается так же через prethink. Так что разницы и нет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 20.4.2017, 9:55
Сообщение #9
Стаж: 9 лет 9 месяцев

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

DeMNiX, смелое заявление
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 20.4.2017, 10:03
Сообщение #10


Стаж: 11 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

поправьте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 20.4.2017, 12:18
Сообщение #11
Стаж: 13 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

DeMNiX,

Разница есть. Пресинк вызывается на всех игроках в любой момент времени. Хук хамовского Дака и Джампа перехватывают только определенные команды игрока. Следовательно, количество вызовов в разы меньше.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя GetA
сообщение 20.4.2017, 12:50
Сообщение #12
Стаж: 7 лет 7 месяцев

Сообщений: 812
Благодарностей: 189
Полезность: 123

bigdata.ckcorp.ru
Цитата(voed @ 20.4.2017, 9:55) *
DeMNiX, смелое заявление


http://git.ckcorp.ru/CK-Corporation/RC_Cou...issuecomment-49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя esterio
сообщение 20.4.2017, 13:08
Сообщение #13
Стаж: 11 лет
Город: Украина

Сообщений: 266
Благодарностей: 215
Полезность: 627

GetA, а затраты на вызов в павне с амхх форварда конечно же не учли. SISA, все верно сказал


Ми будемо вбивати росіян у будь-якій точці світу до повної перемоги України
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 20.4.2017, 13:11
Сообщение #14
Стаж: 9 лет 9 месяцев

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

GetA, ты явно не понимаешь, что такое пресинк, поэтому сочту твой пост за рекламу
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя GetA
сообщение 20.4.2017, 13:14
Сообщение #15
Стаж: 7 лет 7 месяцев

Сообщений: 812
Благодарностей: 189
Полезность: 123

bigdata.ckcorp.ru
esterio,
Цитата
а затраты на вызов в павне с амхх форварда конечно же не учли


а затраты в виде различных проверок конечно же не учли

Цитата(voed @ 20.4.2017, 13:11) *
GetA, ты явно не понимаешь, что такое пресинк

Естественно.

Цитата(voed @ 20.4.2017, 13:11) *
поэтому сочту твой пост за рекламу

Реклама куска кода?
Хорошо, в следующий раз будет линк на гитхаб
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя esterio
сообщение 20.4.2017, 13:17
Сообщение #16
Стаж: 11 лет
Город: Украина

Сообщений: 266
Благодарностей: 215
Полезность: 627

GetA, эти проверки и так есть. Зачем делать то же самое в павне?

Отредактировал: esterio, - 20.4.2017, 13:19


Ми будемо вбивати росіян у будь-якій точці світу до повної перемоги України
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GetA
сообщение 20.4.2017, 13:37
Сообщение #17
Стаж: 7 лет 7 месяцев

Сообщений: 812
Благодарностей: 189
Полезность: 123

bigdata.ckcorp.ru
Цитата(esterio @ 20.4.2017, 13:17) *
GetA, эти проверки и так есть. Зачем делать то же самое в павне?

Всё верно, незачем.

Но речь не о куске кода в первом посте и не о синке, а о том, что используется в даке/джампе.
Если, предположим, отловить ctrl + space, то данная операция будет менее затратна в синке, чем использование того же дака.
Опубликую реальный тест по возможности.

Отредактировал: GetA, - 20.4.2017, 13:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 20.4.2017, 13:41
Сообщение #18
Стаж: 13 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(GetA @ 20.4.2017, 15:37) *
Всё верно, незачем.

Но речь не о куске кода в первом посте и не о синке, а о том, что используется в даке/джампе.
Если, предположим, отловить ctrl + space, то данная операция будет менее затратна в синке, чем использование того же дака.
Опубликую реальный тест по возможности.


Кто тебе мешает хукнуть Jump и отловить в нем Duck ? Будет тебе "ctrl + space", только с мизерной нагрузкой, в отличие от синка. smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя GetA
сообщение 20.4.2017, 13:57
Сообщение #19
Стаж: 7 лет 7 месяцев

Сообщений: 812
Благодарностей: 189
Полезность: 123

bigdata.ckcorp.ru
SISA,

ты прав. Но наоборот, дак + хук джампа

Реклама хостинга сорцов!11


Отредактировал: GetA, - 20.4.2017, 13:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 20.4.2017, 14:02
Сообщение #20
Стаж: 13 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата(GetA @ 20.4.2017, 15:57) *
SISA,

ты прав. Но наоборот, дак + хук джампа


На самом деле разницы нет. И то и то вызывается из синка, правда Duck игроки реже нажимают, по этому его предпочтительнее хукать в такой задаче.

void CBasePlayer::PreThink(void)
{
if (pev->button & IN_JUMP)
Jump();

if ((pev->button & IN_DUCK) || FBitSet(pev->flags, FL_DUCKING) || (m_afPhysicsFlags & PFLAG_DUCKING))
Duck();
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: