Registration - or - Enter
Half-Life Hazardous Materials Episode 1Half-Life Hazardous Materials Episode 1

Гордон Фримен возвращается!!...

Black Mesa XashBlack Mesa Xash

Ремейк Black Mesa на движке XashXT...


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


  • Description
  • Link and installation

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

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


Author/s of lesson : Дядя Миша
Views : 450 ( +3 )
Uploaded by : Streit
Created : 04/07/2011 6:01:51 PM
Source : http://www.half-life.ru/forum
Rating :
 ( 0 ) 
Share :


Available following translations : | 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. Quake strafing & DoD bobing styles - Вот от нечего делать я решил немножко изменить стиль игры в оригинальной хл.
4. Увеличение количества мяса от взрыв - Увеличение количества мяса от взрывов людей или инопланетян.
5. Как пофиксить моргание монстров - Как пофиксить моргание монстров на движущихся платформах
6. субтитры из паранойи - субтитры из паранойи.
7. Неработающие двери :) - Как сделать, чтоб двери не открывались, когда нет света и рядом с ними был индикатор (красн. зел.)
8. Как перекрасить пули в ХЛ - Здесь я вам расскажу, как можно перекрасить пули в Half-Life1 и приведу свой пример
9. Изменение цвета HUD'а(полное)! - Изменение цвета HUD'а(полное)! Но прицелы придётся переделывать вам самим! Сдесь я перевевёл туториал с twhl.info на русский язык!
Ссылки на объект
Полная ссылка на текущем языке :
Короткая ссылка :
Ссылка на превью-картинку :
Ссылка на картинку в полном размере :
Ссылка для вашего форума или сайта
BB код ссылка:
BB код ссылка с картинкой :
BB код картинки :
HTML код ссылка:
HTML код ссылка с картинкой :
HTML код картинки :
You cannot comment, because you are not registered.
    Juliet Starling Ultimate (Lollipop Chainsaw)
    Resident Evil 6Juliet Starling Ultimate (Lollipop Chainsaw)
    Juliet Starling Pack
    Juliet Starling Pack
    Kenshiro & Raoh Pack
    Kenshiro & Raoh Pack
    Jacky as Dante DMC4
    Jacky as Dante DMC4