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

Дата регистрации: Aug 2011
Проживает: Николаев Украина
Сообщений: 44
Возраст: 28

Рейтинг



Half-Life CRPG

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

Переписав код PrimaryAttack из HGun'a в RPG (ессно кое-что переточив под рпг-шку)получил интересную картину - ракеты заряжаются, но в HUD'e они отображаются только при стрельбе. На практике это выглядит так: в ХАДЕ справа 10 ракет (как primaryammo), выстрелил все, в хаде пишет ноль. я поставил на перезарядку одной ракеты - 1 секунду для точности. Через пять секунд стреляю ракетой, в хаде пишет цифру "4".выстрелил еще четыре которые там и были - в хаде ноль. через 10 секунд та же песня - в хаде девять, восемь,семь до нуля, но вверх они ползти не хотят.

Думаю что проблема в клиенте, но где? ) Подскажите, в чём возможная проблема?

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

Старое сообщение 05-09-2011 18:02
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



C++ Source Code:
1
void CHgun::Reload( void )
2
{
3
  if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] >= HORNET_MAX_CARRY)
4
    return;
5
 
6
  while (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < HORNET_MAX_CARRY && m_flRechargeTime < gpGlobals->time)
7
  {
8
    m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]++;
9
    m_flRechargeTime += 0.5;
10
  }
11
}

Вот сама перезарядка. Ищи где накосячил.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-09-2011 18:51
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Дядя Миша почему оно не замораживает while'ом процесс игры?

__________________
-Brain is dead-

Отредактировано KiQ 05-09-2011 в 19:03

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

Старое сообщение 05-09-2011 18:58
- За что?
b2soft
Частый гость

Дата регистрации: Aug 2011
Проживает: Николаев Украина
Сообщений: 44
Возраст: 28

Рейтинг



Half-Life

Reload:

C++ Source Code:
1
void CRpg::Reload( void )
2
{
3
  if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] >= 10)
4
    return;
5
 
6
  while (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] < 10 && m_flRechargeTime < gpGlobals->time)
7
  {
8
    m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]++;
9
    m_flRechargeTime += 1;
10
  }
11
}


Primary:
C++ Source Code:
1
void CRpg::PrimaryAttack()
2
{
3
  Reload( );
4
 
5
  if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] == 0 )
6
  {
7
    return;
8
  }
9
  if (m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] !=0 )
10
  {
11
    m_pPlayer->m_iWeaponVolume = LOUD_GUN_VOLUME;
12
    m_pPlayer->m_iWeaponFlash = BRIGHT_GUN_FLASH;
13
 
14
#ifndef CLIENT_DLL
15
    // player "shoot" animation
16
    m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
17
 
18
    UTIL_MakeVectors( m_pPlayer->pev->v_angle );
19
    Vector vecSrc = m_pPlayer->GetGunPosition( ) + gpGlobals->v_forward * 16 + gpGlobals->v_right * 8 + gpGlobals->v_up * -8;
20
 
21
    CRpgRocket *pRocket = CRpgRocket::CreateRpgRocket( vecSrc, m_pPlayer->pev->v_angle, m_pPlayer, this );
22
 
23
    UTIL_MakeVectors( m_pPlayer->pev->v_angle );// RpgRocket::Create stomps on globals, so remake.
24
    pRocket->pev->velocity = pRocket->pev->velocity + gpGlobals->v_forward; //* DotProduct( m_pPlayer->pev->velocity, gpGlobals->v_forward );
25
 
26
    m_flRechargeTime = gpGlobals->time + 0.5;
27
#endif
28
 
29
 
30
    // firing RPG no longer turns on the designator. ALT fire is a toggle switch for the LTD.
31
    // Ken signed up for this as a global change (sjb)
32
 
33
    int flags;
34
#if defined( CLIENT_WEAPONS )
35
    flags = FEV_NOTHOST;
36
#else
37
    flags = 0;
38
#endif
39
 
40
    PLAYBACK_EVENT( flags, m_pPlayer->edict(), m_usRpg );
41
 
42
    //m_iClip--;
43
    m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]--;
44
 
45
    m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.1;
46
    m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 1.0;
47
  }
48
  /*	else
49
  	{
50
  		PlayEmptySound( );
51
  	}*/
52
 
53
  UpdateSpot( );
54
}



Цитата:
Дядя Миша почему оно не замораживает while'ом процесс игры?


а должно? цикл будет выполняться тогда, когда и временная переменная будет работать (как я понимаю она всегда работает) и если количество патрончиков-грызунов<HORNET_MAX_CARRY (по дефолту=8), а ведь на каждой итерации число этих грызунов увеличивается, пока не дойдет до восьми, потом цикл просто не работает.

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

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

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

Рейтинг



KiQ а там не более одной итерации за раз происходит.
Ну в крайнем случае - две-три, если был какой-то лаг.
Это ты после while( 1 ); так нервно на всё реагируешь?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 05-09-2011 20:44
-
b2soft
Частый гость

Дата регистрации: Aug 2011
Проживает: Николаев Украина
Сообщений: 44
Возраст: 28

Рейтинг



Дядя Миша, ну вроде код правильный, но не работает=)

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

Старое сообщение 06-09-2011 04:05
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Дядя Миша после while(true)

__________________
-Brain is dead-

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

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

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

Рейтинг



KiQ а разница?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 06-09-2011 10:56
-
b2soft
Частый гость

Дата регистрации: Aug 2011
Проживает: Николаев Украина
Сообщений: 44
Возраст: 28

Рейтинг



давате можем не будем оффтопить?

За это сообщение b2soft получил предупреждение за оффтопик

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

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



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


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

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

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

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

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

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