Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/Worldspawn: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
m (→‎Инпуты: Substituted IO templates)
 
(19 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar}}
|title=Мир
{{TabsBar|main=Worldspawn}}
|en=Worldspawn
}}
{{toc-right}}
{{toc-right}}
{{CD|CWorld|file1=world.cpp}}


'''Worldspawn''' (или просто "Мир") - это большая одиночная сущность, которая содержит неинтерактивные части карты и некоторые глобальные конфигурации. В других словах - это:
{{this is a|point entity|name=worldspawn}} Эта единственная энтити (так же известная как "мир") содержит неинтерактивные части карты и глобальные настройки. Другими словами:


* [[Brush:ru|Браш]]и (except those used by [[Brush entity|entities]])
* {{L|Brush|Браши}} (кроме тех, которые входят в состав {{L|Brush entity|энтити}})
* [[prop_static|Static props]]
* {{L|prop_static|Статичные пропы}}
* Map name, [[skybox]], [[context]]s...
* Название карты, {{L|skybox|скайбокс}}, {{L|context|контексты}}...


Some other notes:
Некоторые другие заметки:


*[[Wikipedia:Highlander (film)|There can be only one.]] (Since Hammer doesn't allow worldspawn to be created directly it's very difficult for this rule to be broken.)
*worldspawn может быть только один (Так как Hammer не позволяет напрямую создать worldspawn, это правило очень трудно нарушить). Таким образом, не копируйте любые части карт после выделения мира через Map properties. Такое действие скопирует worldspawn, вызывая краши. Копирование после повторного выделения будет работать правильно.
*Damage from the environment and suicide is ordinarily attributed to the world.
*Урон от окружения и суицид обычно приписываются миру.
*[[Constraint]]s can be assigned to worldspawn by not specifying a name for their subject/target.
* {{L|Constraint|Крепления}} могут быть прикреплены к миру, если не указать имя их субъекта (цели).


== See also ==
== Параметры ==
{{tip|Чтобы отредактировать эти параметры в Hammer, используйте ''Map > Map properties...''}}


* <code>[[CWorld]]</code>
=== Все игры на {{src|4}} ===
* [[Skybox]]
{{KV|Map Description / Title|intn=message|string|Обычно не используется в игре (параметр из {{quake|2|nt=0}}). Нередко используется для указания авторства.}}
 
{{KV|Skybox Name|intn=skyname|string|Материал {{L|Skybox|скайбокса}}. Смотрите {{L|Sky List}}.}}
=== Related entities ===
{{KV|Chapter Title Message|intn=chaptertitle|string|Название главы, которое появляется на экране в начале этого уровня.}}
 
{{KV|Level Fade In|intn=startdark|boolean|Начинать уровень с исчезающего чёрного экрана. {{bug|Исчезающий чёрный экран появляется при каждой загрузке карты - в том числе при загрузке сохранения. Используйте {{L|env_fade}}.}}}}
There are a few other 'map property' entities which should not have more than one instance in a map. They are:
{{KV|Display Game Title|intn=gametitle|boolean|Если включено, то в начале уровня на экране появится название игры.}}
 
{{bug|offset=1|Вызывает краш игры, если игра пытается отрисовать название, но не имеет {{code|title_half}} и {{code|title_life}} в {{path|<nowiki>/scripts/hud_textures</nowiki>|txt}}.<br>'''{{L|Half-Life: Source}}''' - одна из игр, у которых есть эта запись.{{confirm|У каких ещё игр есть эти записи? Какие игры не используют этот метод вообще?}} }}
;Skybox
{{modernFix|offset=1|Добавьте {{code|title_half}} и {{code|title_life}} в {{code|hud_textures.txt}}. {{ExpandBox|title=Пример из '''HL:S'''|
: [[env_fog_controller]] (only in pre-L4D games)
<source>
: [[light_environment]]
"title_half"
: [[shadow_control]]
{
: [[env_sun]] ({{confirm|actually, multiple suns might be allowable}})
    "file" "sprites/640hud4"
: [[sky_camera]] (unique location)
    "x" "0"
; Optimisation
    "y" "226"
: [[game_ragdoll_manager]]
    "width" "256"
: [[game_weapon_manager]]
    "height" "30"
: [[game_gib_manager]]
}
: [[water_lod_control]]
"title_life"
; Logic
{
: [[game_end]]
    "file" "sprites/640hud5"
: [[info_intermission]] (unique location)
    "x" "0"
: [[env_global]]
    "y" "226"
 
    "width" "220"
 
    "height" "30"
== Keyvalues ==
}
{{tip|Access these properties in Hammer with ''Main menu > Map > Map properties...''}}
</source>
 
}}
=== All Source games ===
Правильным исправлением для этого в Вашем моде является редактирование функции {{code|Paint()}} в {{path|<nowiki>/game/client/message</nowiki>|cpp}}, чтобы добавить проверку на неравность {{code|m_iconTitleHalf}} и {{code|m_iconTitleLife}} {{w|icon=0|Null pointer|NULL}}.
{{KV|Map Description / Title.|string|Map's description / title. {{note|Doesn't seem to be used anywhere anymore.}}}}
}}
{{KV|SkyBox Texture Name|string|[[Skybox]] material. See  [[Sky List]].}}
{{KV|New Level Unit|intn=newunit|choices|Используется, чтобы убрать из данных сохранения информацию о предыдущих уровнях, чтобы размер сохранения оставался наименьшим. Если Вы хотите использовать этот параметр, то убедитесь, что игрок не может вернуться на предыдущие уровни.{{note|В {{portal2|4}} этот параметр всегда установлен, так что двусторонние переходы между уровнями не будут работать. (Односторонние переходы в стиле HL2 работают верно.)}} <!-- this is not fixed in p2ce -->}}
{{KV|Chapter Title Message|string|Chapter Title that appears onscreen when this level starts.}}
{{KV|Level Fade In|boolean|Fades the map in. {{bug|The fade is carried out every time the map loads, including when loading from a saved game. Use [[env_fade]] instead.}}}}
{{KV|Display Game Title|boolean|Should the game's title appear on-screen when the map starts?}}
{{KV|New Level Unit|choices|Used to clear out savegame data of previous levels to keep the savegame size as small as possible. Only set it to Yes if the player cannot return to any previous levels.}}
:* 0 : No, keep current
:* 0 : No, keep current
:* 1 : Yes, clear previous levels
:* 1 : Yes, clear previous levels
{{KV|Max occludee area|float|[Used on PC] Prevents occlusion testing for entities that take up more than X% of the screen.}}
{{KV|Max occludee area|intn=maxoccludeearea|float|[Используется на ПК] Предотвращает проверку на скрытие энтити, которые занимают больше чем X% экрана.}}
{{KV|Min occluder area|float|[Used on PC] Prevents occluders from being used if they take up less than X% of the screen.}}
{{KV|Min occluder area|intn=minoccludeearea|float|[Используется на ПК] Предотвращает работу {{L|Occluder|окклюдеров}}, если они занимают меньше чем X% экрана.}}
{{KV|Max occludee area (Xbox)|float|[Used on 360] Prevents occlusion testing for entities that take up more than X% of the screen.}}
{{KV|Max occludee area (Xbox)|intn=maxoccludeearea_x360|float|[Используется на XBOX 360] Предотвращает проверку на скрытие энтити, которые занимают больше чем X% экрана.}}
{{KV|Min occluder area (Xbox)|float|[Used on 360] Prevents occluders from being used if they take up less than X% of the screen.}}
{{KV|Min occluder area (Xbox)|intn=minoccludeearea_x360|float|[Используется на XBOX 360] Предотвращает работу {{L|Occluder|окклюдеров}}, если они занимают меньше чем X% экрана.}}
{{KV|Start Fade Pixels|float|Number of pixels wide at which all props in the level start to fade (<0 {{=}} use fademaxdist). This number is ignored if the prop has a specific fade distance specified.}}
{{KV|Start Fade Pixels|intn=maxpropscreenwidth|float|Количество пикселей, при котором начинают появляться все пропы на уровне (если меньше 0, то используется параметр fademaxdist). Это число игнорируется, если у пропа выставлено расстояние пропажи.}}
{{KV|End Fade Pixels|float|Minimum number of pixels wide at which the prop is visible (0 {{=}} don't fade out). This number is ignored if the prop has a specific fade distance specified.}}
{{KV|End Fade Pixels|intn=minpropscreenwidth|float|Минималенькое количество пикселей, при котором проп начинает пропадать все пропы на уровне (если выставлен 0, то пропы не будут пропадать на расстоянии). Это число игнорируется, если у пропа выставлено расстояние пропажи.}}
{{KV|Detail.vbsp file|string|Detail.vbsp file to use for emitting detail props (found in directory <root>/modname)}}
{{KV|Detail.vbsp file|intn=detailvbsp|string|Файл Detail.vbsp, который будет использован для {{L|detail props|пропов детализации}} (находящийся в папке <code><root>/modname</code>)}}
{{KV|Detail material file|string|Material for detail sprites to use for drawing detail props}}
{{KV|Detail material file|intn=detailmaterial|string|Материал, который будет использован {{L|detail sprite|спрайтами детализации}} для отрисовки пропов детализации}}
{{KV|World is cold|boolean|If set, [[Day of Defeat: Source]] player models will emit breath particles from their mouth [[attachment]]s. No effect elsewhere.}}
{{KV|World is cold|intn=coldworld|boolean|Если выставлен этот параметр, то модели игроков из {{dods|2}} будут издавать частицы дыхания из своих {{L|attachment|аттачментов}} рта. В других играх этот параметр ничего не делает.}}
{{KV|Minimum light level|intn=_minlight|float|nofgd=1|Минимальный уровень эмбиентного освещения, который может попасть на мир. Не влияет на любые энтити, включая пропы!}}
{{KV ResponseContext}}
{{KV ResponseContext}}


=== {{Game link|Left 4 Dead 2}} ===
=== {{l4d2|4}} ===
{{KV|Time of day|choices|Controls the spawning behavior of some special infected, such as Witches. {{note|Doesn't influence lighting or environment in any way. You still need to configure the [[light_environment]] so the sun/moon has the appropriate light color and brightness.}}}}
{{KV|Time of day|intn=timeofday|choices|Обычные заражённые будут замечать игроков с большего расстояния, если этот параметр находится в промежутке между "Dawn" и "Dusk". Они также будут сидеть или лежать, если параметр находится в промежутке от "Midnight" до "Evening". Если этот параметр выставлен на "Afternoon", то ведьмы будут бродить. {{note|Не влияет на освещение или окружение. Вам всё ещё необходимо настраивать {{L|light_environment}}, чтобы получить подходящие цвет и яркость солнца или луны.}}}}
:* 0 : Midnight
:* 0 : Midnight
:* 1 : Dawn
:* 1 : Dawn
Line 74: Line 71:
:* 4 : Dusk
:* 4 : Dusk
:* 5 : Evening
:* 5 : Evening
{{KV|Start Music Type|choices|Music type of the safe room.}}
{{KV|Start Music Type|intn=startmusictype|choices|Тип музыки в убежище.}}
:* 0 : Mission Start
:* 0 : Mission Start
:* 1 : Check Point
:* 1 : Check Point
{{KV|Music Post-Fix String|string|The musical theme of the map.}}
{{KV|Music Post-Fix String|intn=musicpostfix|string|Музыкальная тема карты.}}
 
=== {{Portal2|4}} ===
{{KV|[[Paint in map]]|boolean|intn=paintinmap|Если включено, то позволяет краске покрывать поверхности. Выставьте No, чтобы повысить производительность карт, которые не используют краску.}}
{{KV|[[Max number of blobs]]|integer|intn=maxblobcount|Максимальное колчисетво {{L|paint_sphere|капель краски}}. Не должно превышать 250.}}
{{note|Эти два параметры могут не появиться, если у Вас используется {{L|propper}}.{{L|fgd}}. {{Todo|Выяснить, влияет ли это на другие игры}}}}<!---This probably affects other games, too. Not certain.--->
 
=== {{bms|4}} ===
{{KV|Under Water Particles|intn=underwaterparticle|choices|Меняет частицы под водой.}}
:* underwater_default : Rubbish
:* underwater_ion : Blue ions
:* underwater_tentacle_water : Tentacle feces water


=== {{Game link|Portal 2}} ===
=== {{strata|4}} ===
{{KV|Paint in map|boolean|Allow paint to cover surfaces? Set to No to save resources for maps that don't use paint.}}
{{KV|Maximum Projected Textures|intn=maxprojectedtextures|integer|Максимальное количество одновременно включенных {{L|env_projectedtexture}}. 8 - стандартное значение; его можно снизить, чтобы улучшить производительность при необходимости. {{warning|Несмотря на то, что можно выставить это число на большее, чем 8, делать так нежелательно, так как ухудшится производительность.}}}}
{{KV|Max number of blobs|integer|Maximum number of [[paint_sphere|paint blobs]]. Should NOT exceed 250.}}


== Inputs ==
=== {{sineps|4}} ===
{{KV|Arena Mode Time Limit|integer|Количество секунд, которое должно длиться карта в режиме арены. (Стандартное значение: 900 секунд (15 минут))}}
 
== Инпуты ==
{{I|param=string|SetChapterTitle|Сменить название главы|only=mapbase}}
{{I ResponseContext}}
{{I ResponseContext}}


[[Category:Entities]]
 
== Смотрите также ==
* {{L|Void}}
* {{L|Skybox}}

Latest revision as of 13:53, 21 April 2025

English (en)Deutsch (de)Русский (ru)中文 (zh)Translate (Translate)
edit
C++ Классовая структура
CWorld
CBaseEntity
C++ world.cpp

worldspawn - это точечная энтити(en), доступно для всех игр на движке Source Source. Эта единственная энтити (так же известная как "мир") содержит неинтерактивные части карты и глобальные настройки. Другими словами:

Некоторые другие заметки:

  • worldspawn может быть только один (Так как Hammer не позволяет напрямую создать worldspawn, это правило очень трудно нарушить). Таким образом, не копируйте любые части карт после выделения мира через Map properties. Такое действие скопирует worldspawn, вызывая краши. Копирование после повторного выделения будет работать правильно.
  • Урон от окружения и суицид обычно приписываются миру.
  • Крепления(en) могут быть прикреплены к миру, если не указать имя их субъекта (цели).

Параметры

Tip.pngСовет:Чтобы отредактировать эти параметры в Hammer, используйте Map > Map properties...

Все игры на Source Source

Map Description / Title (message) <строка(en)>
Обычно не используется в игре (параметр из Quake Quake I). Нередко используется для указания авторства.
Skybox Name (skyname) <строка(en)>
Материал скайбокса(en). Смотрите Sky List(en).
Chapter Title Message (chaptertitle) <строка(en)>
Название главы, которое появляется на экране в начале этого уровня.
Level Fade In (startdark) <булева переменная(en)>
Начинать уровень с исчезающего чёрного экрана.
Icon-Bug.pngБаг:Исчезающий чёрный экран появляется при каждой загрузке карты - в том числе при загрузке сохранения. Используйте env_fade(en).  [нужно проверить в ?]
Display Game Title (gametitle) <булева переменная(en)>
Если включено, то в начале уровня на экране появится название игры.
Icon-Bug.pngБаг:Вызывает краш игры, если игра пытается отрисовать название, но не имеет title_half и title_life в 🖿/scripts/hud_textures.txt.
Half-Life: Source(en) - одна из игр, у которых есть эта запись.
Подтвердить:У каких ещё игр есть эти записи? Какие игры не используют этот метод вообще?
  [нужно проверить в ?]
Note.pngРешение:Добавьте title_half и title_life в hud_textures.txt.
Пример из HL:S 
"title_half"
{
     "file" "sprites/640hud4"
     "x" "0"
     "y" "226"
     "width" "256"
     "height" "30"
}
"title_life"
{
     "file" "sprites/640hud5"
     "x" "0"
     "y" "226"
     "width" "220"
     "height" "30"
}

Правильным исправлением для этого в Вашем моде является редактирование функции Paint() в 🖿/game/client/message.cpp, чтобы добавить проверку на неравность m_iconTitleHalf и m_iconTitleLife NULL.

New Level Unit (newunit) <варианты выбора>
Используется, чтобы убрать из данных сохранения информацию о предыдущих уровнях, чтобы размер сохранения оставался наименьшим. Если Вы хотите использовать этот параметр, то убедитесь, что игрок не может вернуться на предыдущие уровни.
Note.pngПримечание:В Portal 2 Portal 2 этот параметр всегда установлен, так что двусторонние переходы между уровнями не будут работать. (Односторонние переходы в стиле HL2 работают верно.)
  • 0 : No, keep current
  • 1 : Yes, clear previous levels
Max occludee area (maxoccludeearea) <число с плавающей запятой(en)>
[Используется на ПК] Предотвращает проверку на скрытие энтити, которые занимают больше чем X% экрана.
Min occluder area (minoccludeearea) <число с плавающей запятой(en)>
[Используется на ПК] Предотвращает работу окклюдеров(en), если они занимают меньше чем X% экрана.
Max occludee area (Xbox) (maxoccludeearea_x360) <число с плавающей запятой(en)>
[Используется на XBOX 360] Предотвращает проверку на скрытие энтити, которые занимают больше чем X% экрана.
Min occluder area (Xbox) (minoccludeearea_x360) <число с плавающей запятой(en)>
[Используется на XBOX 360] Предотвращает работу окклюдеров(en), если они занимают меньше чем X% экрана.
Start Fade Pixels (maxpropscreenwidth) <число с плавающей запятой(en)>
Количество пикселей, при котором начинают появляться все пропы на уровне (если меньше 0, то используется параметр fademaxdist). Это число игнорируется, если у пропа выставлено расстояние пропажи.
End Fade Pixels (minpropscreenwidth) <число с плавающей запятой(en)>
Минималенькое количество пикселей, при котором проп начинает пропадать все пропы на уровне (если выставлен 0, то пропы не будут пропадать на расстоянии). Это число игнорируется, если у пропа выставлено расстояние пропажи.
Detail.vbsp file (detailvbsp) <строка(en)>
Файл Detail.vbsp, который будет использован для пропов детализации(en) (находящийся в папке <root>/modname)
Detail material file (detailmaterial) <строка(en)>
Материал, который будет использован спрайтами детализации(en) для отрисовки пропов детализации
World is cold (coldworld) <булева переменная(en)>
Если выставлен этот параметр, то модели игроков из Day of Defeat: Source Day of Defeat: Source будут издавать частицы дыхания из своих аттачментов(en) рта. В других играх этот параметр ничего не делает.
Minimum light level (_minlight) <число с плавающей запятой(en)> Отсутствует в FGD!
Минимальный уровень эмбиентного освещения, который может попасть на мир. Не влияет на любые энтити, включая пропы!
ResponseContext:
Response Contexts (ResponseContext) <строка(en)>
Pre-defined response system context{s} for this entity. Format is key:value,key:value,... When this entity speaks, the list of keys & values will be passed to the response rules system.

Left 4 Dead 2 Left 4 Dead 2

Time of day (timeofday) <варианты выбора>
Обычные заражённые будут замечать игроков с большего расстояния, если этот параметр находится в промежутке между "Dawn" и "Dusk". Они также будут сидеть или лежать, если параметр находится в промежутке от "Midnight" до "Evening". Если этот параметр выставлен на "Afternoon", то ведьмы будут бродить.
Note.pngПримечание:Не влияет на освещение или окружение. Вам всё ещё необходимо настраивать light_environment(en), чтобы получить подходящие цвет и яркость солнца или луны.
  • 0 : Midnight
  • 1 : Dawn
  • 2 : Morning
  • 3 : Afternoon
  • 4 : Dusk
  • 5 : Evening
Start Music Type (startmusictype) <варианты выбора>
Тип музыки в убежище.
  • 0 : Mission Start
  • 1 : Check Point
Music Post-Fix String (musicpostfix) <строка(en)>
Музыкальная тема карты.

Portal 2 Portal 2

Paint in map (paintinmap) <булева переменная(en)>
Если включено, то позволяет краске покрывать поверхности. Выставьте No, чтобы повысить производительность карт, которые не используют краску.
Max number of blobs (maxblobcount) <целое число(en)>
Максимальное колчисетво капель краски(en). Не должно превышать 250.
Note.pngПримечание:Эти два параметры могут не появиться, если у Вас используется propper(en).fgd(en).
Нужно сделать: Выяснить, влияет ли это на другие игры

Black Mesa Black Mesa

Under Water Particles (underwaterparticle) <варианты выбора>
Меняет частицы под водой.
  • underwater_default : Rubbish
  • underwater_ion : Blue ions
  • underwater_tentacle_water : Tentacle feces water

Strata Source Strata Source

Maximum Projected Textures (maxprojectedtextures) <целое число(en)>
Максимальное количество одновременно включенных env_projectedtexture(en). 8 - стандартное значение; его можно снизить, чтобы улучшить производительность при необходимости.
Warning.pngПредупреждение:Несмотря на то, что можно выставить это число на большее, чем 8, делать так нежелательно, так как ухудшится производительность.

SiN Episodes SiN Episodes

Arena Mode Time Limit ([todo internal name (i)]) <целое число(en)>
Количество секунд, которое должно длиться карта в режиме арены. (Стандартное значение: 900 секунд (15 минут))

Инпуты

SetChapterTitle <строка(en)> (только в Mapbase)
Сменить название главы
ResponseContext:
AddContext <строка(en)>
Adds to the entity's list of response contexts. Format is <key>:<value>.
RemoveContext <строка(en)>
Remove a context from this entity's list. The name should match the key of an existing context.
ClearContext
Removes all contexts from this entity's list.


Смотрите также