AMX MOD X
Среда, 28.01.2026, 02:54:59



Приветствую Вас Гость | RSS
[ Главная ] [ Эмуляция нажатых кнопок у клиента - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: slogic, AlMod  
Эмуляция нажатых кнопок у клиента
DaTaДата: Среда, 23.04.2008, 21:24:57 | Сообщение # 1
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Вообщем пытался заставить движок думать, что у игрока зажата кнопка IN_DUCK, как не пытался - ничего из этого не вышло. Может кто-то знает как это грамотно это сделать? %)
 
VENДата: Среда, 23.04.2008, 21:33:43 | Сообщение # 2
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Вопрос - "для чего"?

Например, существует член Buttons UserCmd структуры, послыаемой через pfnCmdStart.

 
DaTaДата: Четверг, 24.04.2008, 21:45:41 | Сообщение # 3
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
противостоять Дабл Даку :)

пытался модифицировать член UC_Buttons структуры UserCmd в хуке FM_CmdStart(pre версии), но ожидаемого эффекта не дало

Добавлено (2008-04-24, 9:45 Pm)
---------------------------------------------
пробовал и в post версии - но результат тот же

 
VENДата: Пятница, 25.04.2008, 19:15:48 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
Вообщем пытался заставить движок думать, что у игрока зажата кнопка IN_DUCK, как не пытался - ничего из этого не вышло.
Кто сказал, что движок не поверил? По-моему, не туда копаешь. И вообще недомолвки какие-то. Сформулируй четко суть задачи. Хочешь ли ты физически заставить присесть/встать игрока или что-то еще - не особо понятно.
 
DaTaДата: Пятница, 25.04.2008, 19:34:10 | Сообщение # 5
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Задача такова: ловить момент, когда игрок только нажал кнопку IN_DUCK; в течении MIN_DUCK_TIME времени удерживать его кнопку IN_DUCK насильно.
 
VENДата: Пятница, 25.04.2008, 21:00:18 | Сообщение # 6
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
"По-хорошему" тут нужен доступ к playermove структуре.
Нет гарантии, что это можно реализовать "по-плохому"...
 
DaTaДата: Суббота, 26.04.2008, 12:45:40 | Сообщение # 7
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
А можно поподробнее? Реализуемо ли это amxmodx, без подключения нестандартных модулей? Реализуемо ли это средствами metamod? Если да, то как? %)

ЗЫ Спасибо за попытки помочь :)

 
VENДата: Пятница, 02.05.2008, 19:54:15 | Сообщение # 8
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Изменяешь соответствующие playermove_s члены структуры в pfnPM_Move хуке.
См. PM_UnDuck(), HLSDK, .\multiplayer\pm_shared\pm_shared.c для деталей.
 
DaTaДата: Пятница, 02.05.2008, 21:02:56 | Сообщение # 9
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
премного благодарен! :)

попытаюсь осуществить задум, хотя вряд ли мне это удастся)

 
VENДата: Суббота, 03.05.2008, 14:48:35 | Сообщение # 10
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Выложишь C++ код pfnPM_Move хука и прочего, если напишешь, может кому пригодится. ;]
 
DaTaДата: Суббота, 03.05.2008, 18:21:06 | Сообщение # 11
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
естественно, идея то не моя ;)
 
DaTaДата: Вторник, 13.05.2008, 01:25:46 | Сообщение # 12
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
вот еще один плод наивных фантазий, с использованием hamsandwich
PS не работает, как ожидается
Прикрепления: add3.rar (0.6 Kb)
 
VENДата: Вторник, 13.05.2008, 18:37:40 | Сообщение # 13
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
время присяди не прошло, приседаем его
ExecuteHam(Ham_Player_Duck, ...) не поможет, т.к. он вызывает (см. HLSDK) CBasePlayer::Duck( ), который в свою очередь просто устанавливает анимацию: SetAnimation( PLAYER_WALK ). Анимация - это только малая часть "дела", и на реальное состояние физических параметров движения игрока никак не влияет.
 
DaTaДата: Пятница, 16.05.2008, 21:22:43 | Сообщение # 14
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
вот нашел решение проблемы http://forums.alliedmods.net/showthread.php?t=70721
 
VENДата: Суббота, 17.05.2008, 13:25:54 | Сообщение # 15
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Да, видел, только он не эмулирует саму физику duck/unduck, если я не ошибаюсь.
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

AMX Mod X Russian Community © 2006-2026