HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
4 голосов
Страницы (235): « Первая ... « 231 232 233 234 [235]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Luciferchik
Whatever...

Дата регистрации: Jan 2016
Проживает: в гостях
Сообщений: 153
Возраст: 25

Рейтинг



Ku2zoff По твоему примеру вроде как работает но нужно ещё допиливать. Комменты конечно позабавили мы ведь не профи в коде поэтому пишем как можем

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.

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

Старое сообщение 11-08-2022 19:24
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 186
Возраст: 15

Рейтинг



Мне Ku2zoff подсказал что можно под глянуть ограничение пушек в кс 1.6, я ограничение сделал, но как теперь сделать так что бы при юзе пушки которая лежит на полу она попадала в инвентарь, а та что занимала этот же слот легла на её же место

__________________


https://www.moddb.com/mods/metro-2031-last-chance

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

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

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

Рейтинг



hgrunt_2020 у тебя команда Drop работает? Ну то есть, если выкинуть пушку, то подбирается другая? Поищи в player.cpp вот этот комментарий:

C++ Source Code:
// if we land here with a valid pWeapon pointer, that's because we found the
  // item we want to drop and hit a BREAK;  pWeapon is the item.

Там код выкидывания веапонбокса. Убери return для сингла, чтобы можно было выбрасывать пушки в одиночной игре. После вызова pWeaponBox->PackWeapon( pWeapon ); назначай веапонбоксу модель оружия, которое выкидывается, например так:
C++ Source Code:
1
switch (pWeapon->m_iId)
2
{
3
case WEAPON_CROWBAR:
4
    SET_MODEL(ENT(pWeaponBox->pev), "models/w_crowbar.mdl");
5
  break;
6
}

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

Как только это наладишь, чтобы пушки нормально заменялись при выбрасывании, убери функцию Touch у пушек и сделай им Use. В юзе делай проверку на наличие у игрока пушки такого же класса, и если она есть, вызывай DropPlayerItem с аргументом, где будет название выкидываемой пушки:
C++ Source Code:
pPlayer->DropPlayerItem("weapon_crowbar");

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

Отредактировано Ku2zoff вчера в 08:31

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

Старое сообщение вчера 08:29
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 186
Возраст: 15

Рейтинг



Ku2zoff она работает но криво, некоторые пушки не подбирает а подбирает только их патроны

__________________


https://www.moddb.com/mods/metro-2031-last-chance

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

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

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

Рейтинг



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

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

Старое сообщение вчера 10:09
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 186
Возраст: 15

Рейтинг



Ku2zoff вот дроп что у мен

C++ Source Code:
1
void CBasePlayer::DropPlayerItem ( char *pszItemName )
2
{
3
  if ( !strlen( pszItemName ) )
4
  {
5
    // if this string has no length, the client didn't type a name!
6
      // assume player wants to drop the active item.
7
    // make the string null to make future operations in this function easier
8
    pszItemName = NULL;
9
  }
10
 
11
  CBasePlayerItem *pWeapon;
12
  int i;
13
 
14
  for ( i = 0 ; i < MAX_ITEM_TYPES ; i++ )
15
  {
16
    pWeapon = m_rgpPlayerItems[ i ];
17
 
18
    while ( pWeapon )
19
    {
20
      if ( pszItemName )
21
      {
22
        // try to match by name.
23
        if ( !strcmp( pszItemName, STRING( pWeapon->pev->classname ) ) )
24
        {
25
          // match!
26
          break;
27
        }
28
      }
29
      else
30
      {
31
        // trying to drop active item
32
        if ( pWeapon == m_pActiveItem )
33
        {
34
          // active item!
35
          break;
36
        }
37
      }
38
 
39
      pWeapon = pWeapon->m_pNext;
40
    }
41
 
42
 
43
    // if we land here with a valid pWeapon pointer, that's because we found the
44
      // item we want to drop and hit a BREAK;  pWeapon is the item.
45
    if ( pWeapon )
46
    {
47
      g_pGameRules->GetNextBestWeapon( this, pWeapon );
48
      if (pWeapon->iSlot() <= 2)
49
        Slots[pWeapon->iSlot()] = false;
50
 
51
      UTIL_MakeVectors ( pev->angles );
52
 
53
      pev->weapons &= ~(1 << pWeapon->m_iId);// take item off hud
54
 
55
      CWeaponBox *pWeaponBox = (CWeaponBox *)CBaseEntity::Create( "weaponbox", pev->origin + gpGlobals->v_forward * 10, pev->angles, edict() );
56
      pWeaponBox->pev->angles.x = 0;
57
      pWeaponBox->pev->angles.z = 0;
58
      pWeaponBox-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ackWeapon( pWeapon );
59
      pWeaponBox->pev->velocity = gpGlobals->v_forward * 300 + gpGlobals->v_forward * 100;
60
 
61
      // drop half of the ammo for this weapon.
62
      int	iAmmoIndex;
63
 
64
      iAmmoIndex = GetAmmoIndex ( pWeapon->pszAmmo1() ); // ???
65
 
66
      if ( iAmmoIndex != -1 )
67
      {
68
        // this weapon weapon uses ammo, so pack an appropriate amount.
69
        if ( pWeapon->iFlags() & ITEM_FLAG_EXHAUSTIBLE )
70
        {
71
          // pack up all the ammo, this weapon is its own ammo type
72
          pWeaponBox-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ackAmmo( MAKE_STRING(pWeapon->pszAmmo1()), m_rgAmmo[ iAmmoIndex ] );
73
          m_rgAmmo[ iAmmoIndex ] = 0;
74
 
75
        }
76
        else
77
        {
78
          // pack half of the ammo
79
          pWeaponBox-&gt<img src="images/smilies/pp2.gif" border="0" alt="">ackAmmo( MAKE_STRING(pWeapon->pszAmmo1()), m_rgAmmo[ iAmmoIndex ] / 2 );
80
          m_rgAmmo[ iAmmoIndex ] /= 2;
81
        }
82
 
83
      }
84
 
85
      return;// we're done, so stop searching with the FOR loop.
86
    }
87
  }
88
}


Добавлено вчера в 14:05:

Ku2zoff а не, эт мой косяк, в AddPlayerItem у меня
C++ Source Code:
if (pItem->iSlot() > 1 && pItem->iSlot() <= 4)

а в DropPlayerItem
C++ Source Code:
if (pWeapon->iSlot() <= 2)

оно не обнуляется, вот и не берётся новая пушка

Добавлено вчера в 14:19:

Ku2zoff странно, то он нормально подбирает то черти что
https://youtu.be/lYGF6EmvLbA

__________________


https://www.moddb.com/mods/metro-2031-last-chance

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

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

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

Рейтинг



Цитата:
hgrunt_2020 писал:
то он нормально подбирает то черти что

Оружие положенное на карту маппером != оружие, выброшенное игроком. Игрок выбрасывает веапонбоксы, в которых внутри содержатся пушки. Соответственно, нужно либо делать проверку для массива внутри веапонбокса, либо выбрасывать энтити пушек, а не веапонбоксы.

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

Старое сообщение вчера 11:55
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 186
Возраст: 15

Рейтинг



Ku2zoff а что по поводу того что не отображаются иконки вентиля и сайги?

__________________


https://www.moddb.com/mods/metro-2031-last-chance

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

Старое сообщение вчера 12:48
- За что?
hgrunt_2020
учусь методом тыка,проб и ошибок

Дата регистрации: Aug 2021
Проживает: Московское метро
Сообщений: 186
Возраст: 15

Рейтинг



Ku2zoff Я наконец то починил ограничение и дроп)
https://youtu.be/3wHnsDy9W-g

__________________


https://www.moddb.com/mods/metro-2031-last-chance

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

Старое сообщение сегодня 13:43
- За что?
Luciferchik
Whatever...

Дата регистрации: Jan 2016
Проживает: в гостях
Сообщений: 153
Возраст: 25

Рейтинг



Как правильно перемещать спрайты по экрану, чтобы при смене расширения они оставались на задуманном месте?

__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.

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

Старое сообщение сегодня 21:23
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 22:10. Новая тема    Ответить
Страницы (235): « Первая ... « 231 232 233 234 [235]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Нубские вопросы от <censored> и других нубов
Чтобы не создавать сто тем
4 голосов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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