This solid entity contains no solids fixing the error deletes the entity

Hammer Check For Problems Dialog

Hammer Check For Problems Dialog

EnglishDeutsch

Hammer checkforproblemsdialog.png

Opening this dialog will cause Hammer to run through your map and notify you of any errors it finds.

When you select one of the errors, the entity/solid will be highlighted (if applicable) and three options become available to you:

Go to error

This button will center the 2D and 3D views on the object that the error is referring to.

Tip.png Tip: Double-clicking on an item in the list can also be used a shortcut to show the error.

Fix

This button will attempt to fix the currently selected error.

Fix all (of type)

Using this button will fix all errors of the selected error type.

Note.png Note: The Check for Problems command looks for errors in unmodified, supported game types (Half-Life 2 , Counter-Strike, etc). If you are creating maps for a proprietary game with your own game code and .FGD, some or all of the errors generated by this command may not be applicable.

Check visible parts of the map only

When this is selected, errors related to objects in hidden Visgroups will not be shown in the list.

Common errors

Invalid solid structure
The solid has invalid structure, probably as a result of vertex manipulation. What this means is that the solid is not convex in every plane. You will need to either fix it, or if this is not possible, rebuild it.
Solid Entity (entity_name) is empty.
This solid-entity contains no solids. Fixing the error deletes the entity.
Entity (entity_name) has unused keyvalue "key_name".
The entity contains keyvalues (variables) that are not used in its class. You can fix this error with the Fix button. Note that this error will pop up if you are taking advantage of custom compile tools which add keyvalues to entities, but you are not using an FGD file that has these special keyvalues listed.
There is no player start.
There is no info_player_start entity in the map. This error could also occur if you are using the Edit Cordon Bounds tool, and the player start entity was not inside the cordon area marked. If no player start point was created, use the Entity Tool to create one.

See also

  • Optimizing and Checking Your Map
  • Controlling Geometry Visibility and Compile Times
  • Compile Errors
  • Troubleshooting Level Design
Из данной публикации вы узнаете о наиболее частых ошибках компиляции, о том, как их не допустить и как исправить. В окончании этого материала мы приводим таблицу всех возможных ошибок.

Что же, как вам должно быть известно, отнюдь не все ошибки, имеющиеся в уровне, обнаруживаются в редакторе Хаммер при нажатии комбинации клавиш [Alt-P]. Большое число значительных ошибок находятся только во время процесса компиляции.

Утилиты Зонера при обнаружении ошибки создают ERR-файл, в который заносится вид ошибки, номер объекта, вызвавшего её, а также небольшую инструкцию по исправлению на английском языке.

    ЧАСТЬ 1. Наиболее часто встречающиеся ошибки компиляции

ЧАСТЬ 2. Обзор всех ошибок компиляции

ЧАСТЬ 1. Наиболее часто встречающиеся ошибки компиляции

1. Plane with no normal

Entity 20, Brush 0, Side 2: plane with no normal
Entity 20, Brush 0, Side 3: plane with no normal

Эта ошибка рождается при неправильной манипуляции с вершинами объекта (вертексами). Как нам всем известно, любая плоскость определяется тремя точками. Если 1 или несколько точек плоскости имеют одинаковые координаты, то это будет уже линия или точка.

Как исправить? Удалить неправильный объект и заменить его новым.

2. Brush with coplanar faces

Entity 15, Brush 0, Side 1: has a coplanar plane at (-757, -9, 263), texture SA1X_UPKN2C
Entity 15, Brush 0, Side 4: has a coplanar plane at (-757, -32, 263), texture SA1X_UPKN2C

Эта ошибка рождается при неправильной манипуляции с вершинами объекта (вертексами). Рассмотрим, как зарождается данная ошибка. Допустим, что в уровне у нас есть такой объект (смотрите картинку ниже).

На виде сверху (2D top) в режиме работы с вершинами объект будет выглядеть, как показано на рисунке внизу, слева. Допустим, мы решили переделать данный объект в куб. Для этого верхний вертекс (вершину) опускаем вниз (смотрите картинку ниже, справа).

Так вот, так делать запрещено! У нас получилось, что на 1-ой стороне объекта находится две плоскости, а этого быть не должно. Вот как эта ошибка выглядит в трёхмерном виде (смотрите картинку ниже).

Как исправить? Можно, из файла *.ERR с описанием ошибки узнать номер ошибочного браша или энтити-объекта, затем перейти к нему, нажав [Shift-Ctrl-G] в редакторе. При этом мы увидим небольшое окно (смотрите картинку ниже), первая строка позволяет перейти по номеру к энтити-объекту,
вторая — к брашу. Номер объекта, вызвавшего ошибку, указывается в *.ERR файле в следующем виде:
«Entity 15, Brush 0, Side 1. », это означает, что ошибка в пятнадцатом энтити на первой грани.

После того, как вы нашли ошибочный объект, его можно удалить, а можно попробовать исправить. С приведённым выше объектом, можно поступить так: нужно переместить верхнюю среднюю вершину направо или налево, таким образом, мы превратим 2 стороны, лежащие в одной плоскости, в одну грань (смотрите картинку ниже).

После того, как мы перенесём вертекст направо или налево, нам будет задан вопрос: «Merge Vertices?» (что означает: «Совместить вершины?»), обязательно отвечайте «Да».

3. Leaf portal saw into leaf

    Эта ошибка рождается, когда программа-компилятор HLVIS.EXE пытается сравнить два портала (leaf portals), которые принадлежат 1-ой видимой вершине (visibility node). См. рис. ниже:

Красный и жёлтый порталы в действительности были одним порталом, которыл был разбит на 2. Оба этих портала должны находиться на одной прямой, но если брать в рассчёт ограниченную точность компьютеров при осуществлении операций с плавающей точкой, данные порталы могут чуть-чуть наклониться друг к другу.

Если происходит данная ситуация, когда два портала принадлежат одной вершине и образуют кривую линию, то возникает ошибка «Leaf portal saw into leaf». Посмотрите, как она выглядит:

На картинке выше наклон одного портала к другому значительно преувеличен (для наглядности). Также есть некоторые друге похожие ситуации, когда рождается данная ошибка, все они — результат ограниченной точности компьютеров в осуществлении операций с плавающей точкой.

Как исправить? Легче всего запустить уровень с ошибкой и поробовать найти, так называемый, эффект зеркального отражения (hall of mirrors effect). Данная ошибка может рождаться, когда координаты одной из вершин браша или брашевой энтити несколько отклоняются от координатной сетки. В данном случае просто пересоздайте неправильный объект, но также можно попробовать использовать параметр для программы-компилятора HLVIS.EXE, который помогает сократить число возможных vis-ошибок. Время компиляции с параметром -full обычно увеличивается на 30 процентов. R_speeds (число видимых полигонов) при этом остается примерно таким же, как и при обычной vis-компиляции.

4. Brush ‘outside world’

Entity 20, Brush 0: outside world(+/-4096): (-9000, -84, 513)-(9000,43,433)

Есть несколько причин возникновения этой ошибки. Во-первых, такая ошибка возможна при наличии повреждённого браша (из-за ошибочной манипуляции с вершинами объекта). В этом случае нужно точно отследить координаты поврежденного браша или энтити, которые сообщаются в *.ERR файле с описанием ошибки. Если какая-то координата равна -9000 или 9000, то такой объект необходимо удалить и создать новый.

Во-вторых, данная ошибка возникает из-за того, что объект находится вне зоны редактирования или около ее границы. Объекты, которые находятся ближе 64 юнитов к границе редактирования, также вызывают эту ошибку, поэтому следите, чтобы уровень не сильно приближался к краю рабочего пространства в редакторе Hammer. Держитесь от краёв подальше.

5. Mixed face contents

Entity 0, Brush 25: mixed face contents
Texture ROCK_X1 and SKY

Всякий отдельный объект в Counter-Strike можно окрашивать в текстуру только 1-го типа (к примеру, только в текстуру жидкости). К примеру, объект, затекстурированный с 5 сторон обыкновенной текстурой, а
с шестой — текстурой жидкости, вызовет эту ошибку.

Всего есть несколько видов текстур, которые нельзя наносить на браш или энтити вместе с другими. К таким текстурам относятся: SKY, CLIP, ORIGIN и текстуры жидкости. Очень подробно о типах текстур и их совместимости мы рассказываем в материале: «Типы текстур в Half-Life/CS» .

Как исправить? Просто перейдите к ошибочному объекту по [Shift-Ctrl-G] и затекстурируйте его со всех сторон текстурами одного вида.

6. === LEAK in hull 0 ===

    LEAK — дырка на карте. Данная ошибка часто втречается и трудно обнаруживается.

А причина данной ошибки является дырка (зазор) на карте. К примеру, у нас есть 2 браша, между которыми существует зазор. При компиляции компиляторы, обнаружив подобную дырку, думают: «А что находится за этой дыркой?». Они видят зазор между брашами, а дальше. устрашающая пустота 🙂 — в итоге возникает ошибка LEAK.

На рисунке ниже вы можете видеть пример этой ошибки.

Но не всегда дырка видна так явно, как на картинке выше. Часто дырка имеет очень маленькие размеры, значительно меньше всего лишь одного юнита! Особо много дырок в декомпилированных картах. К примеру, мы захотели маленько изменить De_Dust. Декомпилировали его, затем попытались снова откомпилировать и получили вагон и маленькую тележку ошибок LEAK.

Второй частой причиной, которая вызывает появление этой ошибки, является нахождение точечной энтити за пределами карты. К примеру, вы сделали уровень, создали вокруг него небо и невзначай разместили какой-нибудь энтити-объект (например, ambient_generic) снаружи уровня. В итоге получаем LEAK. Но этот вариант лучше, чем искать дырку на карте, так как отыскать объект значительно проще.

Как исправить? Можно попробовать использовать специальную утилиту LeakMarker. А можно попробовать найти дырку (LEAK) при помощи самой Counter-Strike. Для этого нужно скопировать PTS-файл, который создается в папке с компиляторами при обнаружении дырки на карте, в директорию «cstrike/maps», где лежит ваш недокомпилированный уровень, который всё же работоспособен и, главное, может загружаться. Далее необходимо открыть консоль и ввести: map имя_уровня. После запуска уровня, пишем: pointfile.

После ввода этих нехитрых команд на своём уровне, должна появиться тонкая ломаная линия из черно-белых точек (смотрите картинку ниже).

Эта линия находится около дырки — места с ошибкой LEAK. Запомните это место, откройте Hammer и сосредоточенно осмотрите границы объектов, чётко ли они состыкованы. Попробуйте инструментом для работы с вершинами (Vertex Manipulation) выровнить вершины подозрительных объектов по координатной сетке.

Если при попытке запустить pointfile, Counter-Strike вылетает — это означает, что PTS-файл слишком большой. Придется пробовать иные способы.

Если ничего из выше перечисленного не помогло и найти дырку не удается — попробуйте создать вокруг уровня небо коробкой, то есть поместите весь свой уровень в большую «комнату», окрашенную со всех сторон текстурой SKY. Это должно помочь на 100 процентов 🙂

Кстати сказать, если вы случайно не заметили, что компиляторы выдали ошибку LEAK и подумали, что уровень откомпилировался правильно, то обнаружить неладное можно по сильным тормозам на карте, так как HLVIS.EXE не дошёл до оптимизации карты, а освещённость уровня будет очень светлая и монотонная (смотрите картинку выше). Теней от объектов не будет, так как HLRAD.EXE ещё не успел приступить к работе из-за ошибки.

7. Exceeded MAX_PATCHES

    Когда приступает к работе программа-компилятор HLRAD.EXE, который просчитывает освещённость уровня, он разбивает все рисуемые поверхности на маленькие участки, которые называются патчами (patches). В Half-Life существует лимит на максимальное число патчей — в сумме не должно и не может быть больше 65535 патчей.

По умолчанию размер каждого патча составляет 64х64 юнита. Если масштаб текстуры больше или меньше (здесь мы ведём речь не о размере текстуры, а именно о её масштабе), то это оказывает влияние на число патчей. Это означает, что текстура с масштабом два, будет иметь в четыре раза меньше патчей, нежели текстура с масштабом один.

Если сделать небо вокруг уровня большой коробкой, то все внешние области, не видимые игроком, будут всё равно обработаны программой-компилятором HLVIS.EXE. Если у вас большая карта, то это может вызвать данную ошибку (Exceeded MAX_PATCHES), так как число участков или патчей может превысить порог в 65535 шт.

Как исправить? В строчку запуска программы-компилятора HLRAD.EXE можно вписать параметр «-chop 96» или «-chop 128». Данный параметр устанавливает мин. размер патча в юнитах. Напомним, что по умолчанию минимальный размер патча составляет 64х64 юнита. ПОднако, помните, что установка размера патчей более 96 юнитов, приводит к значительному ухудшению качетсва освещённости уровня, может появиться эффект «лесенки» на тенях, отбрасываемых объектами.

Ещё можно увеличить масштаб текстур для сокращения количества патчей, к примеру, больших текстур на скалах или земле. Большие по масштабу текстуры создают гораздо меньше патчей. А если небо у вас — коробка вокруг уровня, то не забудьте закрасить все внешние грани объектов и дно уровня специальной текстурой SKY. Во время компиляции данные SKY-поверхности не просчитываются на освещённость и не создают патчей.

8. Причины медленной работы HLVIS

    Итоговое время компиляции карты, а именно просчёт её визуальной части программой-компилятором HLVIS.EXE, не должно превышать 50-60 минут при использовании машины уровня PII-300 (да, таких, наверное, уже и не осталось :).

Причиной продолжительной работы HLVIS.EXE может быть окружение карты небом в виде большой коробки. В этом случае HLVIS.EXE обрабатывает большие территории снаружи карты, что увеличивает время его работы. Поэтому в этом случае не забывайте закрашивать внешние стороны объектов и дно карты текстурой SKY.

Второй причиной, котороя сказывается на время компиляции программой HLVIS.EXE может стать архитектура уровня. Это довольно трудно объяснить, поэтому приведем несколько примеров:

  • проходы, которые пересекают стены не под прямым углом;
  • браши или брашевые энтити, развернутые на произвольный угол;
  • высокие неперпендикулярные к полу стены;
  • большое число мелких брашей (не энтити) на обширных, открытых пространствах;

Третья причина: большие обширные территории, на которых имеются большое количество проходов в различные комнаты, при условии, что движок все их отрисовывает.

Как избежать долгой компиляции HLVIS.EXE? Просто не делайте описанного выше: не создавайте обширных, открытых пространств; не делайте небо коробкой вокруг карты, а если делает, то окрашивайте текстурой SKY дно и внешние стены уровня; проходы разворачивайте на 30, 45 или 90 градусов, зажимая при вращении клавишу Shift. Конечно, всё это значительные ограничения, но ничего поделать нельзя. Необходимо просто это принять. Counter-Strike довольно старая игра и движок не расчитан на значительное число полигонов. Да, и нужны ли все эти «красоты» игроку? Мы уверены, главное, захватывающий геймплей.

9. Причины медленной работы HLRAD (проблемы с MakeScales)

    У вас значительное время занимает операции «Make Scales» и «Swap Transfers»? Читайте об этом ниже.

Программа-компилятор HLRAD.EXE требует довольно значительное количество оперативной памяти. Количество памяти нужное для просчёта визуальной матрицы (vismatrix) компилятором HLRAD.EXE экспоненциально зависит от размера данной визуальной матрицы. Формула для расчёта количества необходимой vismatrix-памяти такова: (количество патчей) 2 /16 = количество vismatrix-памяти в байтах. Если число патчей максимально 65535, то памяти потребуется 256 Мб.

Но память нужна не только для обработки визуальной матрицы. Она также необходима для выполнения операции MakeScales. Количество нужной оперативной памяти для этой операции приблизительно равно 0.5 vismatrix-памяти, то есть на обе операции вместе, в самом наихудшем случае с 65535 патчами, компилятору HLRAD.EXE может понадобиться 256+128=384 Мб памяти.

Когда выполняется операция MakeScales на больших детализированных картах можно не редко наблюдать следующую специфичность: сначала MakeScales доходит до 90 процентов, скажем за 30 минут, а следующие 10 процентов просчитываются несколько часов или даже дней! Происходит это, когда оперативная память исчерпывается, при этом начинается энергичное обращение к файлу подкачки (SWAP-файлу). Данный случай можно поробовать решить, добавив параметр -sparse в строчку запуска программы-компилятора HLRAD.EXE. Это снизит использование оперативной памяти на 10 процентов за счёт увеличения нагрузки на процессор. Ну, а лучше всего прикупить пару планочек оперативки 🙂

Для ускорения работы HLRAD.EXE подходят методы, применяющиеся для устранения ошибки «Exceeded MAX_PATCHES», которую мы рассмотрели выше в данном материале. Используя данные методы, можно сократить число патчей, тем самым уменьшить потребность HLRAD.EXE в памяти. Также можно попробовать использовать параметр для программы-компилятора HLRAD.EXE. При этом на карте останется лишь прямое освещение, а отраженный свет просто-напросто не будет просчитан. Но, помните, данную опцию можно применять только для тестовой компиляции. При финальной (полной) компиляции параметр -bounce всегда должен быть больше нуля.

Также мы советуем использовать опцию -incremental для программы-компилятора HLRAD.EXE. В этом случае, при повторной (но не при первой!) компиляции будут пропущены операции: MakeScales, SwapTransfers и BuildVisLeafs. Использовать данный параметр не просто, а очень просто. В первый раз мы компилируем уровень как обычно, но не забыв добавить параметр -incremental для компилятора HLRAD.EXE. В этом случае создастся файл размером до нескольких десятков мегабайт. При второй и последующих компиляциях уровня с данной опцией этот файл будет использован, что позволит пропустить перечисленные выше стадии. Так что, если у Вас немного системной памяти, то нужно помучиться только один раз (при первой компиляции), а при последующих компиляциях всё будет намного быстрее. Кстати сказать, если мы изменим свойства или расположение источников света (объекты: light_environment, light_spot и light), то не забудьте обновить эту информацию в MAP-файле при помощи параметра -onlyents, прописанного в программе-компиляторе HLCSG.EXE.

10. HLRAD failled to allocate a block of memory

    Данная ошибка возникает, когда программа-компилятор HLRAD.EXE (просчитывающая освещённость на карте) не смогла продолжить работу из-за недостатка оператвиной памяти. В этом случае нужно увеличить размер виртуальной памяти (файла подкачки, SWAP-файла) или (рекомендуется) установить доп. оперативную память на свой ПК.

11. Bad Surface Extents

    В большинстве случаев эта ошибка возникает при нанесении текстур со слишком большим масштабом (более десяти, а обычно более ста). Эту ошибку также можно обнаружить в редакторе Хаммер при нажатии на [Alt-P]. Там о ней будет сообщено, как «Texture axis perpendicular to face».

12. Missing [ in texturedef

    Есть несколько причин появления этой ошибки:
    1-на или несколько сторон объекта не имеют никакой текстуры. В Хаммере эти браши или брашевые энтити отображаются полностью белыми, или же если название текстуры состоит только из пробелов.
    Проверьте уровень на ошибки нажатием комбинации клавиш [Alt-P], редактор выдаст эту ошибку как «Invalid texture»
    По обыкновению, данная ошибка возникает из-за огромных комнат с большим числом входящих в неё проходов. Также причиной может быть поврежденный браш или браш неправильной формы. Такой браш можно отыскать по [Alt-P].

На рисунке выше изображена комната на виде сверху. Розовое — комната, синее — стены. Комната является одним большим пространством (leaf). Эта комната соединяется с 32-мя маленькими комнатками (углублениями в стенах). Таким образом, у 1 leaf образуется тридцать два портала (portals).

Так как в HL «MAX_PORTALS_ON_LEAF» может быть равным 256-ти, то эта ошибка чаще всего возникает из-за «битого» браша.

14. MAX_MAP_CLIPNODES

    Clipnodes — это такие поверхности, которые определяются Counter-Strike’ом, как непроходимые для игрока. Всякий браш, брашевый энтити-объект в уровне (стена, скалы, земля, пол или ящик) «окутывается» clipnode-поверхностями. Благодаря clipnode-поверхностям игрок не падает сквозь землю и не проходит сквозь стены и другие браши.

Значительное количество данных плоскостей может вызвать эту ошибку (MAX_MAP_CLIPNODES). В улучшенных утилитах Зонера — Custom Build автоматом включён режим экономии данных clipnode-плоскостей. Однако, это не страхует от появления этой ошибки.

Если мы делаем небо вокруг карты в виде большой коробки, окрашенной текстурой SKY, то создается большое число clipnode-поверхностей, что может привести к появлению ошибки MAX_MAP_CLIPNODES, к тому же это приводит к изменению времени компиляции HLVIS.EXE в сторону увеличения.

В архиве с официальной версией (не улучшенной) утилит Зонера 2.5.3 есть пример: уровень clipnode.map, в котором показано, как можно сберечь большое количество clipnode-поверхностей.
Давайте рассмотрим рисунок с этого уровня:

На данной картинке HINT и CLIP браши представлены в разрезе. Они имеют совершенно одинаковый размер и расположены вокруг объекта. Если бы мы не разместили эти браши вокруг объекта, то около данного объекта (с большим числом сторон) образовалось бы много clipnodes, которые точно указывают форму объекта, через которую игрок не может пройти. Используя же данный метод с CLIP и HINT брашами, мы сильно уменьшаем число clipnode-плоскостей, уменьшая вероятность возникновения данной ошибки и сокращая время работы программы-компилятора HLVIS.EXE.

Мы поэкспериментировали и откомпилировали уровень с CLIP-брашем и без него. И вот результаты:

  • Clipnodes с CLIP-брашем (как на рисунке): 30
  • Clipnodes без CLIP-браша: 149

Как видно из примера, результат более чем значительный. Конечно, если уровень маленький и clipnodes порядка 12000-15000, то особого смысла экономить нет, но это данный метод экономии может пригодиться при создании большой карты. Кстати сказать, мы установили, что HINT-браш не влияет на количество clipnode-поверхностей, так что его можно не использовать.

ЧАСТЬ 2. Обзор всех ошибок компиляции

strange problem

When I checking my map for problems I find these:

Solid-entity (func_illusionary) is empty

Solid-entity (func_illusionary) is empty

Solid-entity (func_illusionary) is empty

Solid-entity (func_ladder) is empty’

Description:

This solid-entity contains no solids. Fixing the error deletes the entity.

When I click «Fix» nothing happens. It’s still there. And when I click «Go to error» the three windows change the wiew spot to the exact middel of the grids but don’t show any selected blocks. But when the location is like 1999999x199999x19999999 numbers so my guess is that I should get a compile error. I haven’t compiled it done cause that took a lot more then 8 hours and I only got like 20 % on leaf thread. My map is not that big and detailed so can the high compile time be because of that?

plz help

(Click for image)

And I got an other question.

When I use the gordon bounds it takes much faster to compile. Can u do that even when ur compiling for the final map.

2008 Nov 18 at 09:48 PST
— Ed. 2008 Nov 18 at 11:07 PST
Down Rodeo

Cap’n Moth of the Firehouse


Find the Hole II Participation Medal

2007 Oct 19 • 5486
57,583 ₧

I seem to remember reading about a bug in hammer where the brush tied to an entity could be deleted without the entity itself going. This is perhaps what has happened here. It might be worth copying the brushed you want to keep then copying them to a new map.

Also, when you say «gordon bounds» I think of a certain Dr. Freeman leaping through the air but I don’t think that’s what you mean.

2008 Nov 18 at 11:42 PST

cordon bounds ahha

do u mean I should copy every one manuelle one by one?

2008 Nov 18 at 11:44 PST
— Ed. 2008 Nov 18 at 11:46 PST
Down Rodeo

Cap’n Moth of the Firehouse


Find the Hole II Participation Medal

2007 Oct 19 • 5486
57,583 ₧

I think you can copy multiple brushes at once.

I’m sorry, I don’t know what cordon bounds do. I guessed that was what you meant but I haven’t ever used them.

2008 Nov 18 at 11:47 PST

Otherwise try find the offending brush-entities, «Map» —> «Entity report», under «Filter» choose Brush-entities, then select an entity in the list and press the «Go to»-button, if nothing gets selected in the 2D/3D-views then that entity can probably be deleted as it is «empty.»

2008 Nov 18 at 12:37 PST

yeah it worked thanks. found all bad entities

2008 Nov 18 at 12:48 PST

Before I found my «bug» entities/brushes the compile thing came to leaf thread 10-20 % before it «stopped». It hadn’t actually sstopped but I waited for like 8 hours and it was still on 20%. Now when I deleted all the «bug» entities/brushes it loads fine until it came to 60% and it «stopped» again.

I checked for porblems but there was no, and I have NULL texture on all «not visable for players»-sides and turned complicated cylinders into func_walls so what should I do?

….and again, my map is not big and have no detailed prefabs or somthing

2008 Nov 20 at 08:18 PST

Don’t make me double post ;P

2008 Nov 21 at 06:24 PST

Yeah, triple-post is better.

May contain traces of invisible text.

2008 Nov 21 at 06:35 PST

Could you post some screenshots of your map in Hammer?

EDIT: looking at the picture in your first post, make sure all cylinders are turned into func_wall.

2008 Nov 21 at 06:47 PST
— Ed. 2008 Nov 21 at 06:48 PST

ok, screen shot’s here

(Click for image)

but should the cyliders (with red circles around them) be func_walls too even if they aren’t complicated. They’re like 8 side cylinders

EDIT: I had forgot some cylinders so its works to compile! THANK U KD

2008 Nov 21 at 07:04 PST
— Ed. 2008 Nov 21 at 07:31 PST

Down Rodeo said:

That’s not a bad looking map :)

seriously ? or are u just making fun of me…

its a hns map so it can look a bit strange

2008 Nov 22 at 01:49 PST

It seriously looks pretty cool.

May contain traces of invisible text.

2008 Nov 22 at 02:34 PST

Page [1]

Добавил: root

2013-01-02 05:20:51

1606 просмотров

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

Проверка карты на ошибки осуществляется клавишами [Alt-P]. Мы рекомендуем почаще проверять свою карту на ошибки, чтобы можно было вовремя принять меры.

К сожалению, не все ошибки обнаруживаются в редакторе карт. Многие из них (зачастую более коварные :) проявляются только при компиляции. Но в этом нет ничего страшного, т.к. компиляторы ZHLT обладают подробнейшей системой сообщений об ошибках, что позволяет быстро их находить и исправлять.

Наиболее часто встречающихся ошибки при создании карт:

  • There is no player start
  • Invalid texture (название текстуры)
  • Texture axic perpendicular to face
  • Invalid solid structure
  • Solid entity (имя объекта) is empty
  • Unmatched ‘target’ field (название)
  • Mixed face contents
  • Entity (имя объекта) has unused keyvalues
  • Entity (имя объекта) contains duplicate keyvalues
  • Invalid solid contents
  • Solid contains duplicate planes

1. There is no player start

На карте не созданы точки рождения игроков. Чтобы исправить ошибку, создайте один или несколько объектов «info_player_start» и «info_player_deathmatch» (точки появления контра и террориста, соответственно).

2. Invalid texture (название текстуры)

Ошибка означает, что объект или несколько объектов не имеют текстуры. Перейти к ошибочным объектам можно по кнопке «Go to error» в окне исправления ошибок. Объект, вызвавший ошибку, будет абсолютно белым.

Данная ошибка может возникнуть, если не были найдены текстуры, в результате отключения wad-файла. Чтобы исправить ошибку нужно или подключить wad-файл с указанными в ошибке текстурами, или закрасить объект какой-нибудь другой текстурой.

Также эта же ошибка всегда возникает, если Вы выбираете какой-то один wad-файл из списка и строите объекты. Затем Вы переключаетесь на другой wad-файл из списка и продолжаете строить объекты, забыв выбрать текстуру из нового wad-файла. То есть получается, что wad-файл Вы изменили, а имя текстуры используется старое.

3. Texture axic perpendicular to face

Эта ошибка возникает по двум причинам:

  • Если Вы вращали объект с выключенной опцией «Texture lock», и текстура стала перпендикулярна к стороне объекта;
  • На карте есть объект неправильной формы, полученный в результате манипуляции с вертексами или при помощи функции Carve.

В обоих случаях проще удалить объект и создать новый.

4. Invalid solid structure

Ошибка означает, что на карте есть объект неправильной формы, полученный в результате манипуляции с вертексами. Попытайтесь исправить данный объект или удалите и создайте новый.

5. Solid entity (имя объекта) is empty

Ошибка означает, что брашевый энтити-объект не имеет формы (что он пустой). Трудно сказать из-за чего возникает данная ошибка, но было замечено, что иногда энтити-объект самостоятельно становится брашем, а редактор по-прежнему считает его энтити-объектом. И вот когда мы повторно превращаем браш в энтити-объект, возникает данная ошибка. Так что, скорее всего, это происходит из-за глюков самого редактора. В любом случае, лучше избавиться от таких ошибок, хоть они никак и не влияют на компиляцию.

А избавиться довольно легко. Нажмите [Alt-P], в появившемся окошке выделите строку «Solid entity … is empty» и нажмите кнопку «Go to error». Посмотрите на размер объекта (в статусной строке), если Вы видите что-то вроде:

-1999998w

, то нажмите Delete (т.е. просто удалите этот объект). Также поступите и с другими «пустыми» объектами.

Примечание: когда Вы перейдете к «пустому» объекту, то на карте его не будет видно, но редактор все же переходит к нему и позволяет удалить.

6. Unmatched ‘target’ field (название)

Ошибка означает, что в параметре «Target», вызвавшего ошибку объекта, указано имя несуществующего объекта. Для исправления ошибки перейдите к объекту кнопкой «Go to error» и удалите/исправьте запись в параметре «Target», или же создайте объект с указанным там именем.

В качестве примера можно привести такой случай. Вы создали кнопку, включающую лампочку. В параметре «Target» кнопки указали имя лампочки, но саму лампочку сделать забыли. В этом случае появляется рассмотренная выше ошибка.

7. Mixed face contents

А это постоянная ошибка тех начинающих мапперов, которые не хотят читать наши статьи о типах текстур в Half-Life :) Ошибка означает что какой-то из объектов Вы покрасили несовместимыми типами текстур, например, несколько сторон объекта Вы покрасили обычной текстурой, а другие — текстурой воды. Прочитайте статью «Типы текстур в Half-Life/CS» и тогда Вы с легкостью исправите данную ошибку.

8. Entity (имя объекта) has unused keyvalues

Указанный объект содержит неиспользуемые в его классе параметры. Ошибка исправляется кнопкой «Fix».

9. Entity (имя объекта) contains duplicate keyvalues

Указанный объект содержит несколько одинаковых параметров. Ошибка исправляется кнопкой «Fix».

10. Invalid solid contents

См. ошибку 7. «Mixed face contents» выше.

11. Solid contains duplicate planes

Ошибка означает, что какой-то объект имеет две плоскости, наложенные друг на друга. Для исправления ошибки нажмите кнопку «Go to error», удалите объект и создайте новый.

§ 2.1   Последняя версия
§ 2.2   Установка и настройка
§ 2.3   Интерфейс редактора
§ 2.4   Обзор главных инструментов
§ 2.5   Меню редактора
§ 2.6   Размеры и масштабы
§ 2.7   Как лучше работать в редакторе?
§ 2.8   Проверка карты на ошибки (основные ошибки)
§ 2.9   Быстрые сочетания клавиш редактора
§ 2.10 Распаковка архива с ресурсами pak0.pak

Тэги:

Наверняка, любой игрок, который захотел сделать что-то сам (карту, модификацию), сталкивается с трудностями, которые заключаются в виде ошибок. Valve Hammer Editor — не исключение. Если в нем активно работать и использовать предоставленные функции, то легко можно «нарваться» на ошибку. :)
Приведу вам наиболее известные ошибки и способы их исправления.

1. There is no player start

На игровой карте нет объектов info_player_start и info_player_deathmatch. Насколько мы помним, эти объекты, это места появления T и CS**. Исправляется она легко, от вас требуется поставить эти объекты.

2. Invalid texture (название текстуры)

Эта ошибка означает, что один или множество объектов не затекстурированы, или имеются проблемы с текстурой. Исправляется эта, нередко назойливая ошибка очень просто, просмотрите свою карту, незатекстурированный объект будет абсолютно белым, что облегчает его нахождение.

Эта ошибка может возникнуть, если .wad файл с данной текстурой отключен, ну или на худой конец поврежден. Перепроверьте его, затем подключите заново.

3. Invalid solid structure

Данная ошибка говорит о том, что на карте присутствует объект сильно нестандартной формы, которую редактор не может просчитать. Получается эта интересная ошибка в результате экспериментов или просто работы с вертексами. Решается эта ошибка путем удаления оъекта.

4. Texture axic perpendicular to face

Такая ошибка может возникнуть по двум причинам:

Вы поворачивали объект с выключенной опцией Texture lock, и текстура стала перпендикулярна к стороне объекта;
На вашей карте присутствует объект, который слишком часто подвергался функции Carve.

Исправление ошибки: в любом случае данный объект лучше удалить, так как вы вряд ли сможете его востановить.

5. Solid entity (название объекта) is empty

Эта ошибка редактора, причину которой практически невозможно определить. эта ошибка связана с энити объектами, которые стали пустыми. За мою практику было много таких случаев, и решать их лучше — удалением объекта, хотя сильно на процесс компиляции эта ошибка не влияет.

6. Mixed face contents

Такая ошибка чаще всего получается тогда, когда пользователь любит эксперементировать, и увлекается. Причина в том, что один обьект затекстурирован разными текстурами: тексурой воды, и обычной текстурой. Valve Hammer Editor не может правильно обрабатывать такие обьекты. Поетому требуется «перекрасить» данные объект или объекты.

7. Unmatched ‘target’ field (название)

Эта ошибка говорит о том, что вы дали триггеру действие на обьект, которого не существует, илли имя введено неправильно. нажмите кнопку Go to error и исправте данную ошику, путем проверки и изменения (если нашли) имени объекта.

Пример ошибки: вы дали триггеру — кнопке действие, которое открывает дверь, но увлеклись или забыли сделать дверь, или ошиблись и дали имя двери не такое, как было написано в опциях кнопки.

8. Entity (название объекта) has unused keyvalues

Объект, чье имя упоминается в сведениях об ошибке, содержит неиспользуемые в его классе параметры. Обычно эта ошибка исправляется кнопкой Fix.

9. Entity (название объекта) contains duplicate keyvalues

Указанный объект содержит несколько одинаковых параметров. Ошибка исправляется кнопкой Fix.

10. Invalid solid contents

Эта ошибка подобна ошибке 7, и решение аналогичное.

11. Solid contains duplicate planes

Данная ошибка означает, что вы неправильно соединили два объекта, или две плоскости находятся слишком близко. Для того, чтобы исправить ошибку, нажмите кнопку Go to error, удалите объект и создайте новый.

На этом все, спасибо за внимание.

Tom Hoen

  • Mapper's Medallion Recipient


  • #1

Invalid solid removes every entity from map [FIXED]

I’m near to release beta 2 of frostfell and now I’ve hitted a new obstacle. When I load my map it says it has 2 invalid solids. So of course I let the hammer to delete them and save the file. After this hammer crahses and I try to reopen the file. On reopening this saved file I get the error:

Orphane objects were found and placed into the «_orphaned hidden» visgroup.

Clicking OK reveals that it has lost all Entities from the map.

I think I could prevent this orphaned objects part if I could locate the 2 invalid solids from original file. Any idea how to find these? Or should I do something else?

————

SOLUTION that worked for me:

I realized that the hammer will fix the invalid solids no matter if it crashes so I downloaded a program that can compare two separate files and tell the differences. I knew that my invalid solids were the ones in skybox I created yesterday and with transfering data from file to file I could pinpoint the error causing lines. Using WinMerge to compare the files I noticed that almost all the lines were couple of rows off so I could search the missing rows. I copied 135 540 lines and pasted them over 146 507 lines. This seemed to fix it and opening the new edited file I noticed half of my skybox was moved to «orphaned visgroup» so I just deleted it as it wasn’t needed anymore (it was just for reference).

Last edited: Jun 30, 2012

  • #2

You have to look back through the autosaves and hope one works. Really nasty bug that’s been popping up lately.

Tom Hoen

  • Mapper's Medallion Recipient


  • #3

Oddly I only have one autosave which has been overwritten everytime hammer autosaves, so all my 4 other autosaves are from over 2 weeks back when I started doing beta 2. This one autosave has also this same problem so I can’t rely on it.

  • #4

Wow, I dunno. I know other people have solved this so I hope someone remembers how.

  • #5

If you are using windows 7 or (maybe) windows vista, there is a file rollback system that sometimes works.

  • #6

I haz solution

Turn everything except entities off in a version very similar to your current one.
Turn grid to like 64×64 or higher.
Surround all the entities with a skip brush, put origin of the skip brush (IN ALL DIMENSIONS!) at the 0,0,0 location of that map.
Copy that.
Load up the broken map that doesn’t have entities.
Paste in this, align the origin of the skip brush up with the origin in the current, broken map.
Delete skip brush.

You should now have all the entities back in the proper place.

Sergis


  • #7

hit alt p that usually finds the invalidsolids i think

Tom Hoen

  • Mapper's Medallion Recipient


  • #8

If you are using windows 7 or (maybe) windows vista, there is a file rollback system that sometimes works.

Properties of my b2 file says there isn’t any previous versions to rollback.

I haz solution

Turn everything except entities off in a version very similar to your current one.
Turn grid to like 64×64 or higher.
Surround all the entities with a skip brush, put origin of the skip brush (IN ALL DIMENSIONS!) at the 0,0,0 location of that map.
Copy that.
Load up the broken map that doesn’t have entities.
Paste in this, align the origin of the skip brush up with the origin in the current, broken map.
Delete skip brush.

You should now have all the entities back in the proper place.

This will be my backup plan if everything fails. I won’t do it just yet because I’d lost all props from blu side, some from red and my entire skybox.

hit alt p that usually finds the invalidsolids i think

Yes it does, but I can’t load the map so I can’t hit alt+p.

Thanks everyone but I’m still looking for solution, keep them coming.

Sergis


  • #9

i do hope you have tried not letting hammer delete invalid solids

after hammer made my whole map dynamic brush i never allow him to delete invalid solids on mapload

phi


  • #10

I had this happen to me a bit ago aswell.
I resorted to the skip brush technique because I didn’t have an autosave or any rollback data.
Crash said something about loading it in an older version of SDK in my thread though — http://forums.tf2maps.net/showthread.php?t=19353
I’m not exactly sure how that works though.

Pocket

Pocket

Naylte ven, naylte yen.

  • Mapper's Medallion Recipient


  • #11

The entity-deletion bug has been present since at least the artpass contest (it kept happening to me because of the rotated shed by BLU spawn), but the thing where it crashes if you tell it not to fix anything is relatively new.

Frankly this looks like one of those things we need to demand Valve fix.

Tom Hoen

  • Mapper's Medallion Recipient


  • #12

After good sleep I have finally resolved this issue.

I realized that the hammer will fix the invalid solids no matter if it crashes so I downloaded a program that can compare two separate files and tell the differences. I knew that my invalid solids were the ones in skybox I created yesterday and with transfering data from file to file I could pinpoint the error causing lines. Using WinMerge to compare the files I noticed that almost all the lines were couple of rows off so I could search the missing rows. I copied 135 540 lines and pasted them over 146 507 lines. This seemed to fix it and opening the new edited file I noticed half of my skybox was moved to «orphaned visgroup» so I just deleted it as it wasn’t needed anymore (it was just for reference).

Thanks everyone for your ideas. Hopefully someone finds these helpfull.

Last edited: Jun 30, 2012

  • #13

Glad you fixed it, I was really worried there for a while. Sincerely, I mean.

Понравилась статья? Поделить с друзьями:
  • This is old binary please update latest binary recovery img при включении как исправить
  • This is not a bootable disk как исправить
  • This is an error page перевести
  • This is a permanent error the following address es failed перевод
  • This is a not standart dff как исправить