HLFX.Ru Forum Страницы (3): [1] 2 3 »
Показать все 39 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Спрайт оружия (https://hlfx.ru/forum/showthread.php?threadid=2684)


Отправлено [)r0n 11-03-2011 в 09:53:

Спрайт оружия

Нашел тутор, по которому сделал подбор оружия в стиле Halo. Т.е. в один слот можно поместить только одно оружие. Чтобы оружие сменить надо подойти к стволу который лежит на земле, нажать "использовать".

Вопрос такого плана, я ковыряюсь в tri.cpp, каким условием можно оттуда проверить находиться ли в зоне досягаемости игрока оружие, и что это за оружие?


Отправлено KiQ 11-03-2011 в 11:01:

[)r0n а я думал он только за отрисовку отвечает

__________________
-Brain is dead-


Отправлено Дядя Миша 11-03-2011 в 11:41:

[)r0n на клиенте этого делать не надо. Делай на сервере.

__________________
My Projects: download page

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

Цитата:

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


Отправлено [)r0n 11-03-2011 в 11:54:

я в Си абсолютный 0, просто подумал, что можно сделать по аналогии с Blood Overlay (тутор есть на форуме), только условие заменить. Так что, просьба к адептам C++ особо не смеяться

Добавлено 11-03-2011 в 14:54:

Дядя Миша, а есть возможность сделать на клиенте?


Отправлено KiQ 11-03-2011 в 12:00:

[)r0n я думаю это надо делать в функции поднятия оружия. А потом слать сообщение на клиент.

__________________
-Brain is dead-


Отправлено [)r0n 11-03-2011 в 12:14:

KiQ, с CBasePlayerWeapon::AddToPlayer пойдет?


Отправлено KiQ 11-03-2011 в 12:59:

[)r0n думаю нет. Она же вызывается уже после поднятия?

__________________
-Brain is dead-


Отправлено Дядя Миша 11-03-2011 в 13:15:

Цитата:
[)r0n писал:
а есть возможность сделать на клиенте?

нету. Как ты определишь что это пушка? Разве что новый флаг завести в pev->flags

__________________
My Projects: download page

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

Цитата:

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


Отправлено [)r0n 11-03-2011 в 17:00:

Ок, а как всетаки определить, что за оружие лежит перед игроком?


Отправлено Дядя Миша 11-03-2011 в 17:06:

Цитата:
[)r0n писал:
Ок, а как всетаки определить, что за оружие лежит перед игроком?

ты по русски умееш читать? Тебе написали что никак это на клиенте не сделать. Во всяком случае красиво, надежно и просто.

__________________
My Projects: download page

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

Цитата:

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


Отправлено [)r0n 11-03-2011 в 17:20:

Дядя Миша, Не совсем точно выразился. Имелось в виду как все таки узнать, что за оружие перед игроком на сервере.


Отправлено Ku2zoff 11-03-2011 в 17:54:

[)r0n надо сделать трейс от игрока, который будет проверять, что за энтитя находится в месте, куда направлен прицел. Штоб сильно не грузить проц, можно этот трейс делать не постоянно, а в момент нажатия кнопочки "USE". И проверять энтитю по имени класса. А потом уже можно и на клиент мессагу отправлять, если понадобится.


Отправлено Дядя Миша 11-03-2011 в 17:54:

Цитата:
[)r0n писал:
Имелось в виду как все таки узнать, что за оружие перед игроком на сервере.

ну что конкретно узнать?
делаем UTIL_FindEntityInSphere, проверяем класснейм на 'weapon_", если совпадает делаем преобразование в CBasePlayerWeapon и вызываем GetItemInfo. А там уже глядим что это за пушка и чего в ней.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 11-03-2011 в 18:00:

Я так понял, оружие у тебя подбирается юзанием. Нужно при подбирании какой-либо пушки ставить игроку определённый флаг или переменную. Если есть флаг - значит у игрока есть пушка, значит вторая пушка, ставящая игроку такой же флаг не подберётся. Теперь делаем трейс, проверяем, если пушка с другим флагом, то она подбирается, если с таким же - старая выкидывается, новая подбирается.


Отправлено KiQ 11-03-2011 в 19:26:

Нифига себе я думал это надо в Deploy у пушки прописывать и мессагой на клиент слать

Добавлено 11-03-2011 в 21:49:

Хорошо, что не посоветовал

Добавлено 11-03-2011 в 21:52:

Пойду курить вальвовскую википедию

Добавлено 11-03-2011 в 22:26:

Думаю, UTIL_FindEntityInSphere будет предпочтительнее, ведь тогда не надо обязательно смотреть на пушку.

__________________
-Brain is dead-


Временная зона GMT. Текущее время 09:29. Страницы (3): [1] 2 3 »
Показать все 39 сообщений этой темы на одной странице

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