HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Страницы (260): « Первая ... « 233 234 235 236 [237] 238 239 240 241 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



илья2 ну вот нафига? pev->weapons передаёт битовую маску, а не десятичное число с номером оружия. WEAPON_NONE и так по-умолчанию имеется у игрока. Вылет происходит на этапе какой-то проверки на нулёвость, которых тонна на сервере и на клиенте. А зачем вообще занимать нулевой Id? Их же 29 или 30 штук доступно.

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

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

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

Рейтинг



WEAPON_NONE - это 0. Сам подумай, можно ли на ноль что-то вешать.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-09-2022 15:08
-
илья2
Житель форума

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

Рейтинг



Цитата:
Ku2zoff писал:
илья2 А зачем вообще занимать нулевой Id? Их же 29 или 30 штук доступно.
ну как зачем например кулаки поставить с самого начала круто же будет

__________________
илья

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

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

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

Рейтинг



Если оружие невозможно убрать - ему не нужен никакой идентификатор.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 04-09-2022 15:19
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



илья2 номер Id не влияет на слот, занимаемый оружием. Вот так у монтировки:

C++ Source Code:
p->iSlot = 0;
p->iPosition = 0;
p->iId = WEAPON_CROWBAR; // 1

Id у неё 1, а слот нулевой. Пусть у тебя будут кулаки, скажем с Id 16 сразу после снарков. А ты задай им слот 0 и позицию 0. А монтировке слот 0 и позицию 1. Тогда кулаки будут впереди монтировки в механизме переключения оружия.

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

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

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

Рейтинг



Цитата:
Дядя Миша писал:
WEAPON_NONE - это 0. Сам подумай, можно ли на ноль что-то вешать.
ладно ты прав нельзя. C чего я подумал что это хорошая идея

Добавлено 04-09-2022 в 18:24:

можно поставить оружие в спавн самого игрока с самого начала будет в полне норм

__________________
илья

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

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

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

Рейтинг



Цитата:
илья2 писал:
можно поставить оружие в спавн самого игрока

game_player_equip и всего делов. Только это мультиплеерная энтить, ей надо сейв/рестор массива даваемых игроку предметов по-хорошему прикрутить.

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

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

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

Рейтинг



как убрать оружие с инвентаря игрока ? есть ли код для этого ?

__________________
илья

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

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

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

Рейтинг



Энтитя player_weaponstrip. Только она убирает ВСЕ оружия и опционально костюм. Но можно дописать ей функционал выборочного убирания оружия.

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

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

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

Рейтинг



Цитата:
Ku2zoff писал:
Но можно дописать ей функционал выборочного убирания оружия.
и что надо дописать ?

__________________
илья

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

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

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

Рейтинг



Цитата:
илья2 писал:
и что надо дописать ?

Цитата:
Ku2zoff писал:
функционал выборочного убирания оружия

Дам подсказку. CBasePlayer::RemoveAllItems.
C++ Source Code:
1
int i;
2
CBasePlayerItem *pPendingItem;
3
for (i = 0; i < MAX_ITEM_TYPES; i++)
4
{
5
  m_pActiveItem = m_rgpPlayerItems[i];
6
  while (m_pActiveItem)
7
  {
8
    pPendingItem = m_pActiveItem->m_pNext;
9
    m_pActiveItem->Drop( );
10
    m_pActiveItem = pPendingItem;
11
  }
12
  m_rgpPlayerItems[i] = NULL;
13
}
14
m_pActiveItem = NULL;

В цикле while надо воткнуть проверку оружия по m_iId или по класснейму. Если пушка из массива не совпадает с целевой, continue, то есть продолжаем перебор массива. Если совпадает, то делаем Drop. Для удобства надо подавать в эту функцию в кач-ве аргумента не только булевую переменную на выброс костюма, но и const char с класснеймом целевого предмета. Типа так:
C++ Source Code:
CBasePlayer *pPlayer;
pPlayer->RemoveAllItems("weapon_crowbar");

Есть ещё функция CBasePlayer::RemovePlayerItem, но она принимает в кач-ве аргумента указатель на класс.

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

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

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

Рейтинг



Помнится для корректного выбрасывания пушки в P2 я довольно много кода дописывал. Там по нормальному не сделаешь.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-09-2022 08:56
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

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

Рейтинг



Дядя Миша для выбрасывания да. А для удаления уже всё есть в RemovePlayerItem.

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

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

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

Рейтинг



а если поставить несуществующую позицию и слот. оружие удалиться из худа ?
например так:

p->iSlot = -1;
p->iPosition = -1;

или так

p->iSlot = NULL;
p->iPosition = NULL;

Добавлено 06-09-2022 в 13:43:

проверил работает. Надо было самого начала так сделать не догадался малек.

Добавлено 06-09-2022 в 13:47:

все оказывается просто было и не надо было изобретать велосипед

Добавлено 06-09-2022 в 14:11:

вот так это в принципе и работает кулаки которые без костюма находятся на -1 слоте и позиции а когда достаем и одеваем костюм то кулаки уже в костюме ну в общем как в brutal half-life

https://youtu.be/yP448eB-0eY

__________________
илья

Отредактировано илья2 06-09-2022 в 10:36

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

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

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

Рейтинг



Цитата:
илья2 писал:
а если поставить несуществующую позицию и слот. оружие удалиться из худа ?

А как переключаться на него в таком случае? Можно конечно забиндить на клавишу, как в квейке. Не все об этом знают, но можно.

Добавлено 06-09-2022 в 18:23:

Цитата:
илья2 писал:
как убрать оружие с инвентаря игрока ?

Цитата:
илья2 писал:
а если поставить несуществующую позицию и слот. оружие удалиться из худа ?

Ты уж определись, убрать оружие из инвентаря (то есть совсем), или из худа. Не забудь сделать bind "клавиша" "weapon_kulaki", чтобы можно было на них переключиться.

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

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



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


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

Временная зона GMT. Текущее время 11:57. Новая тема    Ответить
Страницы (260): « Первая ... « 233 234 235 236 [237] 238 239 240 241 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
7 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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