Sign up - or - Login

Recover password
×

To recover your password, you must enter the username or e-mail that you used during the registration. After that, a mail with a security code will be sent to your inbox.

Your username or e-mail :

Guitar Star (Prealpha)Guitar Star (Prealpha)

Guitar Star (Prealpha-версия) - Мод, который нужно слышать.....

18/04/2011
Stat ( source maps ), pcs.

Все, кто хотя бы один раз прошел Hl1 наверняка знает, что на карте c2a5 (там где плотина) есть такие прикольные бочки, которые подскакивают вверх и там взрываются.


  • Description
  • HOW TO INSTALL

Летающие бочки и trigger_push

Все, кто хотя бы один раз прошел Hl1 наверняка знает, что на карте c2a5 (там где плотина) есть такие прикольные бочки, которые подскакивают вверх и там взрываются.


Author/s of tutorial : Дядя Миша
Views : 1241 ( +1 )
Uploader : Streit
Created : 04/07/2011 9:01:51 PM
Source : http://www.half-life.ru/forum
Rating :
 ( 0 ) 
Share :


Following translations are available : | russian |

Все, кто хотя бы один раз прошел Hl1 наверняка знает, что на карте c2a5 (там где плотина) есть такие прикольные бочки, которые подскакивают вверх и там взрываются. И все бы хорошо, да только эти бочки подскакивают вверх на полметра, а должны на самом деле взлетать высоко к небу. Очень мало кто видел этот скрипт работающим так как надо. И как правило вы могли это наблюдать на хл версии 1.0.1.5, а то и на более ранних. Проблема заключается в корявости кода самого trigger_push, который не придает func_pushable необходимого ускорения. Однако пофиксить этот баг несложно. Откройте triggers.cpp, найдите в нем строчку

Code:

void CTriggerPush :: Touch( CBaseEntity *pOther )

и замените в этой функции вот этот код

Code:

if ( pevToucher->solid != SOLID_NOT && pevToucher->solid != SOLID_BSP )
{
   // Instant trigger, just transfer velocity and remove
   if (FBitSet(pev->spawnflags, SF_TRIG_PUSH_ONCE))
   {
     pevToucher->velocity = pevToucher->velocity + (pev->speed * pev->movedir);
     if ( pevToucher->velocity.z > 0 )
       pevToucher->flags &= ~FL_ONGROUND;

     UTIL_Remove( this );
   }
   else
   { // Push field, transfer to base velocity
     Vector vecPush = (pev->speed * pev->movedir);
     if ( pevToucher->flags & FL_BASEVELOCITY )
       vecPush = vecPush + pevToucher->basevelocity;

     pevToucher->basevelocity = vecPush;
     pevToucher->flags |= FL_BASEVELOCITY;

     // ALERT( at_console, "Vel %f, base %f\n", pevToucher->velocity.z, pevToucher->basevelocity.z );
   }
}

на вот этот

Code:

if ( pevToucher->solid != SOLID_NOT ) //&& pevToucher->solid != SOLID_BSP )
{
   if(pevToucher->movetype == MOVETYPE_PUSHSTEP) //pushable related code
   {
     pevToucher->velocity = pevToucher->velocity + (pev->speed * pev->movedir);

     if ( pevToucher->velocity.z > 0 )
       pevToucher->flags &= ~FL_ONGROUND;

     pev->solid = SOLID_NOT; //push once. re-enable to affect again
   }
   else //other physobjects
   {
     // Push field, transfer to base velocity
     Vector vecPush = (pev->speed * pev->movedir);

     if ( pevToucher->flags & FL_BASEVELOCITY )
       vecPush = vecPush + pevToucher->basevelocity;

     pevToucher->basevelocity = vecPush;
     pevToucher->flags |= FL_BASEVELOCITY;

     //ALERT( at_console, "Vel %f, base %f\n", pevToucher->velocity.z, pevToucher->basevelocity.z );
   }

   if (FBitSet(pev->spawnflags, SF_TRIG_PUSH_ONCE)) UTIL_Remove( this );
}

Компилируем, запускаем с2а5 и наслаждаемся правильно летающими бочками (а этот скрипт довольно красиво выглядит, когда работает правильно).



Similar1. учёные не отставали - Как сделать так, чтобы учёные не отставали на каждом препятствии
2. Монстры по сети - Для создания кооперативного мода или просто для включения монстров в сетевой игре
3. Спрыгивающий Headcrab - Наверняка каждый, кто поиграл в Half-Life2 хотел, чтобы хедкрабы спрыгивали с зомбяков и в первом Half-Life
4. Каждой пушке - спрайт - Итак вы создали новое оружие. А в меню выбора вместо рисунка непонятные спрайты, да и прицела нет.
5. Как перекрасить пули в ХЛ - Здесь я вам расскажу, как можно перекрасить пули в Half-Life1 и приведу свой пример
6. Sparks - Как добавить искры
7. Звук попадания как в HL2 - Работа на клиенте
You cannot comment, because you are not logged-in.
    2 Flowers
    Half-Life 22 Flowers
    Content Warning (Раздача в Steam)
    Content Warning (Раздача в Steam)
    Hammerting (Раздача в GOG)
    Hammerting (Раздача в GOG)
    Islets (Раздача в EpicGamesStore)
    Islets (Раздача в EpicGamesStore)