HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > координаты игроков
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
cs16forever
Новичок

Дата регистрации: Apr 2022
Проживает: ссср
Сообщений: 10

Рейтинг



координаты игроков

как узнать какие координаты "включает в себя " модель игрока?

Сообщить модератору | | IP: Записан
Сообщение: 208126

Старое сообщение 06-04-2022 02:40
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



вопрос не очень понятен и точен по больше инфы нужно !

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 208129

Старое сообщение 06-04-2022 05:58
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



cs16forever включает три координаты: X, Y, Z. Узнать их можно из соответствующих компонентов player->pev->origin.

Сообщить модератору | | IP: Записан
Сообщение: 208132

Старое сообщение 06-04-2022 07:12
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



ну тогда все понятно координаты спавна игрока так бы и сказали они как раз настраиваются вот в этой функции в gamerules.cpp

edict_t *CGameRules :: GetPlayerSpawnSpot( CBasePlayer *pPlayer )
{
edict_t *pentSpawnSpot = EntSelectSpawnPoint( pPlayer );

pPlayer->pev->origin = VARS(pentSpawnSpot)->origin + Vector(0,0,1);<вот
-Vector(XYZ)
pPlayer->pev->v_angle = g_vecZero;
pPlayer->pev->velocity = g_vecZero;
pPlayer->pev->angles = VARS(pentSpawnSpot)->angles;
pPlayer->pev->punchangle = g_vecZero;
pPlayer->pev->fixangle = TRUE;

return pentSpawnSpot;
}

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 208134

Старое сообщение 06-04-2022 07:47
- За что?
cs16forever
Новичок

Дата регистрации: Apr 2022
Проживает: ссср
Сообщений: 10

Рейтинг



спасибо за ответы.
нет, не спавна.
мне нужно определить, расположение модели игрока в пространтве. т.е. все точки модели.
Где расположен игрок знаю, а вот как определить где его голова, рука, нога? Все координаты стрельнув в которые игрок получит урон.

Сообщить модератору | | IP: Записан
Сообщение: 208139

Старое сообщение 06-04-2022 15:16
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



cs16forever это не так делается.
Тебе нужна функция

void CBasePlayer :: TraceAttack

там в ней уже разобрано куда попала пуля - в голову или в руку.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 208143

Старое сообщение 06-04-2022 18:27
-
cs16forever
Новичок

Дата регистрации: Apr 2022
Проживает: ссср
Сообщений: 10

Рейтинг



Цитата:
Дядя Миша писал:
[b]cs16forever это не так делается.

спасибо, пригодится.
а как бы мне все таки координаты вычислить? Мне нужны именно координаты модели. есть какой-то готовый способ? чтобы не городить велосипед

Отредактировано cs16forever 06-04-2022 в 19:07

Сообщить модератору | | IP: Записан
Сообщение: 208146

Старое сообщение 06-04-2022 19:03
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



cs16forever тебе нужны координаты точки попадания? Их нетрудно получить. Но в процессе самого попадания, а не заранее. Конечной точкой будет ptr->vecEndPos. TraceResult *ptr - один из аргументов TraceAttack. А вот если тебе нужен ориджин хитбокса, тут без доступа к костям модели ничего не получится. А чтобы получить доступ к костям, нужен доступ к SV_StudioSetupBones, которой в обычной халфе нет. Ты напиши, что конкретно хочешь сделать, может быть не нужно городить огород, и есть стандартное средство.

Отредактировано Ku2zoff 06-04-2022 в 19:27

Сообщить модератору | | IP: Записан
Сообщение: 208148

Старое сообщение 06-04-2022 19:25
- За что?
илья2
Житель форума

Группа: Неопытный
Дата регистрации: Mar 2020
Проживает: Волгоград
Сообщений: 381
Возраст: 22

Рейтинг



эх вечно вы в какие то сложности лезите

__________________
илья

Сообщить модератору | | IP: Записан
Сообщение: 208149

Старое сообщение 06-04-2022 19:30
- За что?
cs16forever
Новичок

Дата регистрации: Apr 2022
Проживает: ссср
Сообщений: 10

Рейтинг



Цитата:
Ku2zoff писал:
cs16forever тебе нужны координаты точки попадания? Их нетрудно получить. Но в процессе самого попадания, а не заранее. Конечной точкой будет ptr->vecEndPos. TraceResult *ptr - один из аргументов TraceAttack. А вот если тебе нужен ориджин хитбокса, тут без доступа к костям модели ничего не получится. А чтобы получить доступ к костям, нужен доступ к SV_StudioSetupBones, которой в обычной халфе нет. Ты напиши, что конкретно хочешь сделать, может быть не нужно городить огород, и есть стандартное средство.

и точки попаданий и ориджин хитбокса.
Пока что изучаю функционал этого шедевра.

как бы мне подрубить этот метод класса:
C++ Source Code:
CBasePlayer::TraceAttack

в свой код?

делаю плагин(сошку) под метамод для cs 1.6 и вижу только на вооружении , engfuncs, DLL_FUNCTIONS, NEW_DLL_FUNCTIONS.

а как подрубить CBasePlayer не понятно.
В SDK этот код есть, как с ним слинковаться? как с ним работать?

Сообщить модератору | | IP: Записан
Сообщение: 208156

Старое сообщение 06-04-2022 23:22
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
cs16forever писал:
в свой код?

А свой код это где?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 208158

Старое сообщение 07-04-2022 05:35
-
cs16forever
Новичок

Дата регистрации: Apr 2022
Проживает: ссср
Сообщений: 10

Рейтинг



Цитата:
Дядя Миша писал:
А свой код это где?

метамод сошка.
C++ Source Code:
1
void pfnPlayerPostThink(edict_t *pent)
2
{
3
  // как здесь CBasePlayer::TraceAttack заюзать?
4
  // определить что атаковал другого и т.д.
5
  RETURN_META(MRES_IGNORED);
6
}


C++ Source Code:
1
C_DLLEXPORT int GetEntityAPI2_Post(DLL_FUNCTIONS *pFunctionTable, int *)
2
{
3
  memset(&gpFunctionTable_Post, 0, sizeof(DLL_FUNCTIONS));
4
  gpFunctionTable_Post.pfnPlayerPostThink = pfnPlayerPostThink;
5
  memcpy(pFunctionTable, &gpFunctionTable_Post, sizeof(DLL_FUNCTIONS));
6
  g_pFunctionTable_Post = pFunctionTable;
7
  return true;
8
}

как бы первый метамод плагин

Сообщить модератору | | IP: Записан
Сообщение: 208159

Старое сообщение 07-04-2022 06:20
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 21:04. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > координаты игроков
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024