Дядя Миша:
Попробовал 1.0 (есть в старой коллекции), там запускается только предстартовая карта, а при попытке выбора команды и выхода на игровую карту Ксаш вылетает. К тому же даже на предстартовой карте на экране в состоянии неподвижности отображается передняя часть модели игрока, которой там быть не должно. Как будто FOV другой или что-то в этом духе. Да, и кстати, для запуска под Ксашем помимо папки с модом понадобился старый fmod.dll версии 3.6.0.0 (для 2.0 - тоже). Лог вылета:
Цитата:
"NSPlayer<1><4294967295><1>" entered the game
Firing: (game_playerjoin)
Firing: (game_playerspawn)
Firing: (game_playerspawn)
Host_WriteGLConfig()
Host_WriteConfig()
Sys_Crash: call 03C4935B at address C0000005
Sys_FreeLibrary: Unloading xash.dll
Что интересно, под WON игру я вообще не смог запустить - мод наотрез отказывается выводить в меню создания игры свои собственные карты, показывает только стандартные карты Half-Life. При этом я точно помню, что в былые времена у меня мод под WON нормально работал. Но под Стим-ХЛ работает нормально. Зато при запуске под WON отображается кнопка тренинга. Т. е. в NS под WON флаг "multiplayer_only" отключает только меню New game, но не отключает тренинга. Причём запускается обычный халфовский тренинг, только в обрубленном виде (1 карта с прыжками/приседаниями, которая даже в liblist.gam не прописана, хз, как это сделано).
С NS 2.0 картина лучше, в том плане, что модель игрока на экран не выпячивается . Но при попытке выбора команды игра также благополучно вылетает, лог:
Цитата:
CL_PrepSound: ns_veil
CL_PrepVideo: ns_veil
Warning: FS_LoadImage: couldn't load "gfx/env/veilrt"
Unable to open commandmenu.txt
ucmd->begin()
"NSPlayer<1><4294967295><none>" entered the game
Firing: (game_playerjoin)
Firing: (game_playerspawn)
Warning: SPR_GetList: unexpected end of sprites/weapon_spit.txt (10 should be 8)
Warning: SPR_GetList: unexpected end of sprites/weapon_knife.txt (10 should be 6)
Warning: SPR_GetList: unexpected end of sprites/weapon_welder.txt (14 should be 6)
Warning: SPR_GetList: unexpected end of sprites/weapon_primalscream.txt (10 should be 6)
Warning: SPR_GetList: unexpected end of sprites/weapon_bilebombgun.txt (10 should be 8)
Warning: SPR_GetList: unexpected end of sprites/weapon_healingspray.txt (8 should be 6)
Warning: SPR_GetList: unexpected end of sprites/weapon_stomp.txt (8 should be 6)
"NSPlayer<1><4294967295><marine1team>" changed role to "soldier"
Firing: (game_playerspawn)
Host_WriteGLConfig()
Host_WriteConfig()
Sys_Crash: call 04175DB8 at address C0000005
Sys_FreeLibrary: Unloading xash.dll
NS 3.2 вообще не запускается, лог:
Цитата:
Sys_LoadLibrary: Loading cl_dlls/client.dll - ok
CL_LoadProgs: failed to get address of HUD_ChatInputPosition proc
CL_LoadProgs: failed to get address of HUD_GetRenderInterface proc
CL_LoadProgs: failed to get address of HUD_GetPlayerTeam proc
CL_LoadProgs: failed to get address of HUD_ClipMoveToEntity proc
Sys_Crash: call 70696C43 at address C0000005
Sys_FreeLibrary: Unloading xash.dll
Далее, я подумал, что дело может быть в изменённом menu.dll (поддержка nomodels, а в NS этот параметр используется). Взял его от версии 2153. Теперь Ксаш стал вылетать в момент прогрузки игровой карты, а не перед этим. Лог 1.0:
Qwertyus писал: С NS 2.0 картина лучше, в том плане, что модель игрока на экран не выпячивается . Но при попытке выбора команды игра также благополучно вылетает, лог:
А у меня нормально загружает карту и также спокойно дает выбрать команду, после чего можно спокойно играть.
Добавлено 27-03-2013 в 12:14:
И ещё добавить что хотел. Когда выхожу набирая quit в консоле после выхода весь экран чернеет. Ничего не помогает. Только перезагрузка помогает. Но этот черный экран вылетает через раз. Хотел приложить лог как положено но не нашел
Cybermax:
Возможно, это как-то связано с разрешением экрана или ещё с чем-то. Может карточка/драйвера. Лог делай добавлением -dev 5 -log. Будет engine.log в папке игры создаваться.
Добавлено 27-03-2013 в 14:55:
Cybermax:
Выложи, пожалуйста, свои *.cfg-файлы из папки с модом, интересно попробовать понять, из-за чего у меня не работает.
Я разобрался. Проблема была в том, что я сменил название папки мода (т. к. ставил сразу все три версии, то переименовал папки, чтобы не путаться). Если оставить оригинальное название - ns, то работают и версия 1.0 и версия 2.0. Но 3.0 всё равно вылетает, видимо, несовместимость идёт на уровне меню Ксаша.
Также в версии 1 и 2 весь этот новый интерфейс не очень правильно работает. А в 1.0 ещё и проблемы с отображением модели игрока на экране.
3.0 и не будет работать, она привязана к стим-интерфейсам.
Только пожелания ваши не принимаются. Нету у меня больше времени на ксашы. Если бы вы хотя бы донейтили, я бы может еще подумал, а так...
Qwertyus писал: Также в версии 1 и 2 весь этот новый интерфейс не очень правильно работает. А в 1.0 ещё и проблемы с отображением модели игрока на экране.
У меня к версии 2 нареканий нет. Поделись первой версией если не сложно. Интересно поюзать.
Дядя Миша:
Вот насчёт 3.0 ты, как выясняется, не прав. Скачал я 3.0 и патч 3.1 и оба варианта под Ксашем работают! Более того, если взять длл от 3.1 и подсунуть их в 3.2, то и 3.2 работает тоже . Сейчас вот пытаюсь выкачать бета-версии 3.2, возможно, они тоже работоспособны. Но интерфейс всё равно не работает правильно ни в одной из версий. Так или иначе косяки разные. А в версии 3.1 странный глюк - игрок не управляется мышкой и не работают разные кнопки, пока не сделаешь сброс настроек на умолчания. Потом их можно перенастроить и играть, но при входе на карту нужно обязательно нажать Escape и вернуться обратно, чтобы заработал обзор мышью.
Суть мода в том, что там представлены 10 карт разных мапперов. Большинство из них демонстрационные, но в отдельных имеются элементы геймплея. При этом карты друг с другом не соединены, а переход между ними производится циклически путём нажатия забинденных через userconfig.cfg и дополнительые cfg-файлы кнопок "назад" и "вперёд". И вот вследствие использования такой системы под Ксашем на карте cubicle06 возникает следующая ситуация.
В начале нам нужно через дверку в потолке лифта (юзать неприметную ручку) подняться на второй этаж и взять там монтировку. Потом, после подъёма на третий этаж сверху вываливается десант и нам нужно сломать замок на двери справа, а потом через вентиляцию проникнуть в соседнюю комнату охраны, чтобы взять там оружие и включить сигнализацию. Вентиляцию закрывает решётка, совершенно обычный func_breakable ("model" "*93" "material" "2" "health" "16" "rendercolor" "0 0 0" "classname" "func_breakable").
Но эта решётка отказывается ломаться. При проверке её всё же можно разбить либо вторичной атакой гаусса, либо вторичной атакой хорнетгана, либо гранатой. Другое оружие вообще перестаёт наносить повреждения брекаблям и игроку. Солдаты, стреляя из автоматов или пинаясь ногами, не ранят тебя. Но, опять же, гранаты, брошенные ими, повреждения наносят. А также самих солдатов убить можно любым оружием . И замок на двери почему-то разбивается от удара любым оружием.
Всё это безобразие проявляется именно после смены карт при помощи вызова кастомных cfg-файлов (через консоль или бинденной клавишей). Если же взять и напрямую запустить карту вручную через консоль (или просто забиндить на какую-то кнопку вызов нужной карты), то всё работает нормально. Также если сделать сейв на данной карте в ситуации, когда решётка не разбивается, а после закрыть Ксаш, запустить его заново и загрузить проблемный сейв, то после перезагрузки решётку уже можно сломать. Под ХЛ проблемы не возникает, всё работает нормально.
Нашёл ошибку с рендером транспарентных HD-текстур в Ксаше (те текстурки, которые имеют префикс {, в WADе обычно у них синим цветом выделяются те области, которые должны быть невидимыми, а в HD-вариантах используется альфа-канал). Дело в том, что иногда маппер берёт транспарентную текстуру и добавляет к ней эффект полупрозрачности. Когда используется обычная текстура, из WADа, то всё нормально - "пустые" области текстуры остаются полностью прозрачными (невидимыми), а видимая часть текстуры приобретает эффект полупрозрачности. Но когда используется HD-текстура, то Ксаш делает те участки текстуры, которые должны быть невидимыми, просто полупрозрачными. При этом, если эти невидимые участки на текстуре не чёрные, то они становятся видимыми (чем они ярче, тем их виднее).
А в некоторых случаях становится видимым даже чёрный фон.
Было бы круто, если бы в меню Ксаша была возможность как в ХЛ2 - выбор "главы". Т. е. создаётся специальный файлик с настройкой "глав", при обнаружении которого внутри папки с игрой меню изменяет своё поведение - при нажатии на кнопочку Новая игра выводится не меню выбора сложности, а что-то типа меню сейвов. Т. е. список "глав" с превьюшками-скринами. Далее игрок выбирает ту "главу", в которую он желает поиграть - и вперёд. Эту фишку можно было бы использовать не только для создания игры, поделенной на части, но и для запуска из одной папки мода нескольких игр. К примеру, есть моды Opposing Force, но их всегда неудобно устанавливать и запускать. А тут просто кидаешь pak-файл в папку мода, заходишь в меню Новая игра, выбираешь не основную кампанию, а дополнительную, и играешь.
Для дополнительного удобства такой системы нужна поддержка двух типов файлов "глав". Первый тип - это именно файл с главами для основной игры, который содержит упорядоченный список начальных карт каждой главы. Возможно, в него можно будет добавить информацию о том, какое снаряжение/оружие дать игроку при старте каждой карты (хотя можно сделать также специальную энтитю и вшить её в саму карту, чтобы эта энтитя срабатывала только тогда, когда карта стартуется заново, а не вследствие перехода уровня).
Второй тип файла "глав" - это файл, которым может комплектоваться суб-мод для основной игры, сделанный в виде отдельного пак-файла. Т. е. это файл, по которому меню Ксаша определяет, что расположенный в игровой директории pak-файл - это отдельный мини-мод, и использует его содержимое ТОЛЬКО при запуске данного мода. Т. е. при запуске основной игры или любого другого суб-мода содержимое пака использоваться не будет. Это упрощает процесс установки/удаления и игры в дополнительные карты/кампании с кастомным контентом.
Файл, который содержит описание глав основной игры, может называться, например, Chapters.gam. Файл суб-мода, может носить название типа "имя_pak-файла".gam. При наличии какого-либо файла "глав" после нажатия на кнопочку Новая игра открывается меню выбора глав основной игры. В этом меню помимо самого списка глав нужны кнопочки Выбрать / Мини-мод / Отмена. При нажатии Выбрать мы выбираем для игры выделенную курсором главу (или просто основную кампанию, если выбора глав не предусмотрено) и переходим к меню выбора сложности игры. При нажатии Мини-мод переходим в меню выбора доступных мини-модов (там тоже будет список и кнопочки Выбрать / Главы / Отмена). При нажатии Отмена возвращаемся в основное меню. Превьюшки карт Ксаш умеет делать автоматически, но автор мода / суб-мода может укомплектовать свой мод специально сделанной для этого превьюшкой.
Засчёт наличия подобной системы также можно будет легко делать и запускать моды, включающие в себя несколько независимых кампаний на прохождение.
Кстати, есть смысл сделать особый приоритет для файлов с именем pak*.pak. Чтобы они в любом случае грузились вперёд всех остальных pak-файлов в папке мода. А все остальные файлы - уже "накладывались" поверх них. А то получается, что обязательно нужно присваивать pak-файлам имена "выше", чем pak0, чтобы их содержимое "перезаписывало" содержимое основного архива.