Перейти к содержанию
  • Item upgrade_laser_sight fell out of level at %f,%f,%f


    Лазер паки обладают недокументированной особенностью, их тянет на землю, как ботов тянет к снайперкам


    Обратная связь

    Рекомендуемые комментарии

    Electr0

    Опубликовано

    я думаю что нужно upgrade_laser_sight заменить на upgrade_spawn, однако это потребует внесения в базу данных изменений

    Electr0

    Опубликовано

    результат тотже, т.к эта ентити просто рожает  upgrade_laser_sight если ей сказали родить лазерпак

    Electr0

    Опубликовано

    void CItem::Spawn( void )
    {
    	pev->movetype = MOVETYPE_TOSS;
    	pev->solid = SOLID_TRIGGER;
    	UTIL_SetOrigin( pev, pev->origin );
    	UTIL_SetSize(pev, Vector(-16, -16, 0), Vector(16, 16, 16));
    	SetTouch(&CItem::ItemTouch);
    
    	if (DROP_TO_FLOOR(ENT(pev)) == 0)
    	{
    		ALERT(at_error, "Item %s fell out of level at %f,%f,%f", STRING( pev->classname ), pev->origin.x, pev->origin.y, pev->origin.z);
    		UTIL_Remove( this );
    		return;
    	}
    }

    это конечно не из source, но из hlds, так что почти родственник :D

    Electr0

    Опубликовано

    возникает вопрос, почему одним предметам плевать, а этим нет.

    Electr0

    Опубликовано

    вот код из sdk dota (уже source), содержащий кусок который такой же в L4D2 :

    bool CItem::CreateItemVPhysicsObject( void )
    {
    	// Create the object in the physics system
    	int nSolidFlags = GetSolidFlags() | FSOLID_NOT_STANDABLE;
    	if ( !m_bActivateWhenAtRest )
    	{
    		nSolidFlags |= FSOLID_TRIGGER;
    	}
    
    	if ( VPhysicsInitNormal( SOLID_VPHYSICS, nSolidFlags, false ) == NULL )
    	{
    		SetSolid( SOLID_BBOX );
    		AddSolidFlags( nSolidFlags );
    
    		// If it's not physical, drop it to the floor
    		if (UTIL_DropToFloor(this, MASK_SOLID) == 0)
    		{
    			Warning( "Item %s fell out of level at %f,%f,%f\n", GetClassname(), GetAbsOrigin().x, GetAbsOrigin().y, GetAbsOrigin().z);
    			UTIL_Remove( this );
    			return false;
    		}
    	}
    
    	return true;
    }

     

    Electr0

    Опубликовано

    любые махинации с флагами твердости, и флагами типа движения провалились.

     

    похоже придется использовать метод типа "подстраХУЙ", или "застраХУЙ", нужно ставить такие предметы сначала на землю, а потом когда двиган успокоился обмануть его поставив такой предмет туда где он должен стоять

    Electr0

    Опубликовано

    идея сработала, лазер стал создаваться там где нам нужно.

    Electr0

    Опубликовано

    Значение Статус изменено на: Тестируется

    Electr0

    Опубликовано

    На кастл марсакл концерт не определял локацию для спауна, на карте концент произошло исключение, есть исключение логики на старте карты

    EDIT:

    Исправлено.

    Electr0

    Опубликовано

    Значение Статус изменено на: Исправлено



    Присоединяйтесь к обсуждению

    Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

    Гость
    К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
    Добавить комментарий...

    ×   Вставлено с форматированием.   Вставить как обычный текст

      Разрешено использовать не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отчетом.

    Исправлено = Проблема исправлена.

    Тестируется = Изменения внесены, но требуют тестирования.

    Закрыт = Отзыв некорректный, либо проблема не повторяется при проверке на серверах. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Создать...