Если среди вас есть специалисты по маппингу, то быть может мне кто-нибудь объяснит, почему вот эта простенькая карта убивает халфу в момент загрузки, а ксаш убивает при попытке выстрелить из ракетницы\при наборе impulse 101, а то и просто при убийстве об пол.
Тем не менее в мультиплеере всё работает как надо.
Мои версии по поводу происходящего:
1. недостаточно итераций физики при загрузке карты в сингле (2 против 16 в мульте)
2. старый баг HL SDK, при котором подобранное оружие потенциально продолжает тчинкать (можно без проблем вынести халфу, если разместить оружие на определенной высоте над info_player_start).
Других вариантов, у меня собственно нету.
Но тогда почему происходит вылет при убийстве игрока об землю?
Вложение: killbox.rar (66.0 кб)
Этот файл был скачан 418 раз. Дядя Миша проверил это вложение на вирусы 22-06-2011 в 14:10
Дядя Миша писал: (можно без проблем вынести халфу, если разместить оружие на определенной высоте над info_player_start).
Да да, там такое есть:
После перекомпила без этого сатчела, вылетать перестало.
Проверил под ксашем: при импульсах и выстреле из ракеты уменя он не падал, что не скажешь об убийстве об пол
Но даже пол смилостливился, когда я подсунул карту без сатчела.
А нет, вру. Оригинальная карта и на импульсе с ракетницей xash вешает, а перекомпилированая только об пол.
Добавлено 22-06-2011 в 21:08:
Своим ентэдитом вырезал из оригенальной карты этот глупый сатчел, халва вылетать перестала! Но xash её не запускает, говорит мол funny lump size при Mod_LoadPlanes. Это что за, здрасте?) Почему халва грузит а ксаш не хочет?
n00b писал: говорит мол funny lump size при Mod_LoadPlanes
в ксаше есть детектор блушифтовских карт, которые отличаются от обычного BSP 30 тем занимательным фактом, что LUMP_PLANES и LUMP_ENTITIES попутаны мистаме.
Само детектирование происходит так:
Ксаш исходит из того простого соображения, что энтити всегда дописываются в конец карты и если ты их дописал в начало, то движок решит, что это блушифтовская карта (поскольку никаких других, ч0тких критериев попросту нету), и естественно поменяет лумпы местами, пытаясь загрузить энтити как планесы. Проверить данное предположение очень легко - выведи список карт, напротив твоей отредактированной ксаш с большой долей вероятности напишет Blue Shift.
Исправляй свой риппер.
Я как раз по этому поводу думал, когда его делал. Почему лумпы записаны не в том порядке, в котором задефайнены. И будет ли плохо если я их запишу не так как было в карте. Оказалось будет.
Вот простым рипентом убрал этот сатчел, теперь все работает и в ксаше.
Вложение: killbox.rar (66.5 кб)
Этот файл был скачан 425 раз.
n00b писал: Почему лумпы записаны не в том порядке, в котором задефайнены
потому что энтити, виз и лайтдату удобнее дописывать в конец, а сама система лумпов для того и создана, чтобы не заботится о реальном порядке их следования.
Цитата:
n00b писал: Вот простым рипентом убрал этот сатчел, теперь все работает и в ксаше.
мог бы набрать в консоли entpatch и отредактировать killbox.ent - ксаш их грузит.
Добавлено 22-06-2011 в 22:42:
Кстати под спиритом этот баг проявится не должен
Добавлено 22-06-2011 в 22:59:
Да, кстати. Поскольку вы разыскали баг и дело оказалось в этом злополучном сатчеле, я расскажу как его исправить в своём моде:
Откройте weapons.cpp и найдите функцию
Как вы уже наверное догадались, данная строчка отменяет дальнейшую работу тчинка по падению предмета на землю, приводя к непредсказуемым последствиям, при условии, что игрок уже взял этот предмет. Данный баг исправил еще BUzer в далеком 2005 году, за што ему спасибо.
Дядя Миша писал: мог бы набрать в консоли entpatch и отредактировать killbox.ent - ксаш их грузит.[/QUOTE]
Я про это в какой-то теме читал, но забыл.
Можешь обьяснить, почему из-за сатчела над спауном, такая жуть получается?
Добавлено 22-06-2011 в 23:08:
Цитата:
n00b писал: Как вы уже наверное догадались, данная строчка отменяет дальнейшую работу тчинка по падению предмета на землю, приводя к непредсказуемым последствиям, при условии, что игрок уже взял этот предмет.
Ну теперь понятно, когда писал свой пост этого ещё небыло.