Регистрация - или - Войти

Восстановить пароль
×

Для восстановления пароля необходимо ввести логин или почту, которую Вы вводили при регистрации. После это, на Ваш почтовый ящик будет отпрвлено письмо с кодом.

Логин или почта :

Big LollyBig Lolly

Большой прикол...

1/09/2003
BuzzyBotsBuzzyBots

Класовая модификация с отличным дизайном...

1/09/2002
Статистика ( общая по патчам ), шт.

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


  • Описание
  • КАК УСТАНОВИТЬ

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

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


Автор / ы урока : Дядя Миша
Просмотров : 1726 ( +3 )
Прислал / (а) : Streit
Дата создания : 07.04.2011 21:01:51
Источник : http://www.half-life.ru/forum...
Рейтинг :
 ( 0 ) 
Поделиться :


Имеются следующие переводы : | русский |

Все, кто хотя бы один раз прошел 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 и наслаждаемся правильно летающими бочками (а этот скрипт довольно красиво выглядит, когда работает правильно).



Похожие1. Два цвета крови у зомби - Два цвета крови у зомби
2. Смена моделей персонажей - Смена моделей персонажей прямо в Хамере
3. Увеличение количества мяса от взрыв - Увеличение количества мяса от взрывов людей или инопланетян.
Вы не можете комментировать, т.к. вы не зарегистрированы.
    METLKR (версия 1.0.0.11082026)
    Mass Effect 2METLKR (версия 1.0.0.11082026)
    PawnHighLight v. 1.1
    Unreal Tournament 99PawnHighLight v. 1.1
    сейв с обновлением
    Half-Life 2сейв с обновлением
    сейв "турель 19 "отомщение""
    Half-Life 2сейв