Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 06 дек 2021, 15:33

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: change Beam Length of weapon tripmine?
СообщениеДобавлено: 19 ноя 2021, 23:52 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
04 дек 2021, 16:11
Сообщения: 984
Hi, I tried to change the beam length based on HLSDK but it didn't work.
Код:
void CTripmineGrenade :: MakeBeam( void )
{
   TraceResult tr;

   // ALERT( at_console, "serverflags %f\n", gpGlobals->serverflags );

   UTIL_TraceLine( pev->origin, m_vecEnd, dont_ignore_monsters, ENT( pev ), &tr );

   m_flBeamLength = tr.flFraction;

   // set to follow laser spot
   SetThink( &CTripmineGrenade::BeamBreakThink );
   pev->nextthink = gpGlobals->time + 0.1;

   Vector vecTmpEnd = pev->origin + m_vecDir * 2048 * m_flBeamLength

   m_pBeam = CBeam::BeamCreate( g_pModelNameLaser, 10 );
   m_pBeam->PointEntInit( vecTmpEnd, entindex() );
   m_pBeam->SetColor( 0, 214, 198 );
   m_pBeam->SetScrollRate( 255 );
   m_pBeam->SetBrightness( 64 );
}
What i do:
Код:
public EmitSound(entity, channel, const sound[])
{
   if(equal(sound , "weapons/mine_activate.wav"))
   {
      
      //static beam; beam = get_pdata_cbase(tripmine, m_pBeam, extraoffset_linux);   
      static Float: origin[3]
      static Float: vecEnd[3]
      static Float: vecDir[3];
      static Float: m_fBeamLength
      
      pev(tripmine , pev_origin, origin)
      
      vecEnd[0] = get_pdata_float(tripmine, m_vecEnd_x, extraoffset_linux);
      vecEnd[1] = get_pdata_float(tripmine, m_vecEnd_y, extraoffset_linux);
      vecEnd[2] = get_pdata_float(tripmine, m_vecEnd_z, extraoffset_linux);
      
      vecDir[0] = get_pdata_float(tripmine, m_vecDir_x, extraoffset_linux)
      vecDir[1] = get_pdata_float(tripmine, m_vecDir_y, extraoffset_linux)
      vecDir[2] = get_pdata_float(tripmine, m_vecDir_z, extraoffset_linux)
      //global_get( glb_v_forward, dir );
      //angle_vector(origin, ANGLEVECTOR_FORWARD, dir)
      m_fBeamLength  = get_pdata_float(tripmine, m_flBeamLength, extraoffset_linux)


      vecEnd[0] = origin[0] + vecDir[0] * 2048.0 * m_fBeamLength
      vecEnd[1] = origin[1] + vecDir[1] * 2048.0 * m_fBeamLength
      vecEnd[2] = origin[2] + vecDir[2] * 2048.0 * m_fBeamLength
      

      set_pdata_float(tripmine, m_vecEnd_x, vecEnd[0], extraoffset_linux)
      set_pdata_float(tripmine, m_vecEnd_y, vecEnd[1], extraoffset_linux)
      set_pdata_float(tripmine, m_vecEnd_z, vecEnd[2], extraoffset_linux)
      
      //Beam_PointEntInit(beam, vecEnd, tripmine)
      
      client_print(0, print_chat,"=============  This ====> Done!")
      
      return FMRES_IGNORED;
      //return FMRES_SUPERCEDE;
   }
   return FMRES_IGNORED;
I should change the value of 2048.0 to a lower value, but the method seems wrong because the results remain the same
Is there a way that makes more sense?

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: change Beam Length of weapon tripmine?
СообщениеДобавлено: 01 дек 2021, 02:23 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
06 дек 2021, 14:04
Сообщения: 6786
Hi!
Код:
if(equal(sound , "weapons/mine_activate.wav"))
this is too late to make changes easily.
I think, easiest way should be to intercept TraceLine call and adjust the result as needed.
Or you can try to change m_vecEnd after CTripmineGrenade::Spawn - it is used to limit TraceLine length.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: change Beam Length of weapon tripmine?
СообщениеДобавлено: 03 дек 2021, 15:13 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
04 дек 2021, 16:11
Сообщения: 984
Lev писал(а):
Or you can try to change m_vecEnd after CTripmineGrenade::Spawn - it is used to limit TraceLine length.
Thanks! I do this.
I'm thinking of making beam length decreases or increases gradually Do you have an idea about that?. (set_task or *_Think .. etc)

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB