При хостинг поддержке Интернет-сообщества VBIOS CS-Mapping.com.ua
Вернуться   CS-Mapping.com.ua > Forum > Картостроение > Помощь
Ник
Пароль
Правила форума FAQ Пользователи Администрация Календарь Поиск За 24 часа Пометить все разделы прочитанными

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.04.2017, 21:43  #1
TOPOL_M_FRF
TOPOL_M_FRF
Прапорщик Задов
Регистрация: 24.10.2009
Возраст: 28
Сообщения: 693
Замечания: 3


По умолчанию Об энтити паранои

Информационный файл об энтити паранои написаны самим буззом.
Тема скорее создана для облегчения поиска нежели повтора. Так как максимум что есть в оригинальном dev паке, это информация о траве.
Код:
========================================
func_machinegun (Стационарный пулемет)
========================================
"Model" - путь к модели. Пулемет делается не из брашей, а из модели.
"Rate of fire" - скорострельность - количество выстрелов в минуту.
"ammo"  - количество патронов (максимум 999, а если -1, то бесконечные).
"Damage" - дамаг одной пульки.
"Basis height" - высота точки вращения пулемета (т.е. точки главного контроллера в модели)
"Viewport forward dist", "Viewport up dist" - смещения обзора игрока назад и вверх относительно ствола.


trigger_mp3 (Проигрывание MP3-треков)
========================================
"targetname" - имя 
"message" - путь к mp3-файлу.  (например: sound/music/track01.mp3)

Активируешь - мп3 играет. Играет зацикленно - до тех пор, 
пока не остановишь. Чтобы остановить, надо использовать еще 
одну trigger_mp3, где путь к файлу будет пустым.
Консольная команда stopmp3 - вырубает играющую в данный момент музыку.

scripted_startrush (Rush AI script)
========================================
Это такой новый вид скрипта, который заставляет монстра с боем 
прорываться в нужную точку.

"Targeted monster" - монстр
"Fire after move" - цель, активируемая после того, как монстр 
прибудет в нужную точку. Locus'ом при этом явялется монстр - на 
тот случай, если ты юзаешь локусы.
"Move to this entity"	- энтитя, к которой надо бежать 
(если оставить пустым, то будет бежать к этой scripted_startrush)
"Move type" - тип передвижения - бегом или шагом.
"Area radius" - радиус области вокруг цели, в которую 
надо прибежать (не обязательно бежать именно в точку, 
достаточно в ее окрестность)

Применение - оборона точки и помощи 
союзникам в прорыве куда-либо, до простого разнообразия 
поведения врагов - например, игрок не просто находит в очередном 
коридоре пару скучающих америкосов, а сталкивается с ними 
лицом к лицу в то время, как они тоже куда-то прогуливаются .. :)

rain_settings и rain_modify (Дождь)
========================================
Каждая карта, где может идти дождь, должна в 
единственном экземпляре содержать энтитю rain_settings. 
Ее роль проста - она устанавливает глобальные для этой карты параметры дождя. 
Энтитя должна быть расположена на той высоте, где будут появляються капли. 

Параметров у энтити только два - тип осадков и радиус от игрока. 
Радиус трогать не обязательно - он по умолчанию установлен довольно оптимально. 
Хотя если карта "коридорная" (переулочная), то можно сделать и поменьше.

Для непосредственного включения и выключения дождя используется энтитя rain_modify. 
У нее уже параметров побольше:
Drips per second	- количество капель, появляющихся в секунду. 
Нормальный такой дождь - где-то 2000 капель.
Wind X, Wind Y	- отклонение по ветру. 100, 200 - уже приличный "косой" дождь.
Rand X, Rand Y	- разброс отклонения по ветру для каждой капли. 
Например, если ветер стоит 200, а разброс - 40, то для каждой капли отклонение 
будет варьироваться от 160 до 240.

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

Можно просто задать постоянный дождь на карте, без включений и выключений - для 
этого не надо указывать rain_modify имя.



Subtitles     (Субтитры)
========================================

Субтитры привязываются к сентенсам через записи в titles.txt. Например, 
сентенсу SC_PHELLO2 будет соответствовать такая запись:

!SC_PHELLO2
{
- Ah, it's good to see you.
}

То есть, имя записи в titles.txt - это восклицательный знак плюс имя сентенса.
Но если просто добавить эту запись в titles.txt, то хоть текст и появится при произнесении этой реплики персонажем, 
но он появится не в специальном месте, отведенном под субтитры, а просто как обычное сообщение, 
выводимое game_text'ом. Чтобы указать, что это сообщение должно выводиться в область 
субтитров, нужно перед ним задать код эффекта:

$effect 3

Эффекты от нуля до двух используются в сообщениях вальве - о них можно прочитать в комментариях вначале titles.txt.
Также через параметр holdtime можно указать время, которое реплика будет держаться на экране:

$holdtime 4

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

$color 255 255 255

(лучше это вставить сразу где-нибудь вначале файла)

Шрифт для всех добавленных элементов худа используется пока все тот-же - Default Text. 
Когда разделаюсь со шрифтами до конца, сделаю возможность писать реплики разным шрифтом.

Никаких рамок и подложек к тексту субтитров я пока делать не стал, но зато 
под буквами есть как-бы тень - это облегчает их чтение на светлом фоне.

При желании можно выдавать любой текст в область субтитров 
через env_message - надо только проставить код эффекта 3.

Консольные переменные, связанные с субтитрами:
subtitles 1 - включить субтитры (по умолчанию включены)
subtitles 0 - выключить субтитры
subt_scrollspd - скорость прокрутки сообщений (по умолчанию 250)
subt_fadespd - время fading'а, т.е. плавного появления/затухания сообщений (по умолчанию 0.2)
subt_mintime, subt_maxtime - если заданы (т.е. отличны от нуля), то определяют минимальное и 
максимальное время нахождения реплики на экране в секундах - накладывают ограничения на 
параметр holdtime (По умолчанию 0 - выключено)

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

#holdtime 20 
!TEST 
{ 
Я 24-хлетний инженер по технической поддержке в компании "Эльбрус". Занимаюсь всякими Sun'овскими станциями в основном, но иногда приходится собирать и обычные персоналки. В общем, работа не очень-то простая, но жить можно. Левелмейкерством заразился год назад, после того как у меня появился доступ в сеть с работы. Первое, что меня вдохновило, так это сайт Matt Sefton'а - Single Player Quake Level Heaven. Там собраны, на мой взгляд, самые лучшие работы. С этого-то всё и началось. 
} 

И эту большую запись мы разбиваем на три - TEST, TEST_a и TEST_b 

#holdtime 7 
!TEST 
{ 
$TEST_a 
Я 24-хлетний инженер по технической поддержке в компании "Эльбрус". 
Занимаюсь всякими Sun'овскими станциями в основном, но иногда 
приходится собирать и обычные персоналки. 
} 

TEST_a 
{ 
$TEST_b 
В общем, работа не очень-то простая, но жить можно. Левелмейкерством заразился год назад, после того как у меня появился доступ в Сеть с работы. 
} 

TEST_b 
{ 
Первое, что меня вдохновило, так это сайт Matt Sefton'а - Single Player Quake Level Heaven. Там собраны, на мой взгляд, самые лучшие работы. С этого-то всё и началось. 
} 

то есть, TEST после себя вызывает TEST_a, и та в свою очередь, вызывает TEST_b. 
При желании, так в цепь можно соединять диалоги.



env_grass_sprite (трава)
=================================

Для установки на карте автоматически разбрасываемой травки используется 
точечная энтитя env_grass_sprite. Место, где будет размещена энтитя, имеет 
такое-же значение, как и для rain_settings. Представь что трава изначально 
появляется на той-же высоте, на какой установлена энтитя env_grass_sprite, 
и потом как-бы падает на землю :) То есть, лучше эти энтити ставить где-нибудь 
в небе, чтобы они точно были выше всей земли. 

Назначение полей энтити, вобщем-то, тривиально -

Sprite Name - имя спрайта
Radius - дистанция от игрока, после которой они исчезают (например, 800)
Density - количество спрайтов внутри этого радиуса (например, 200)
Sprite scale - то-же, что и scale в env_sprite (кстати, скаль чуть-чуть варьируется по рандому)
Sprite Orientation - ориентация спрайта. Поэкспериментируй с первыми тремя режимами.

Можно вместо спрайта указать модель - тогда в поле Sprite Orientation надо выбрать четвертый режим "Model".

Необходимо указать имена текстур, на которых этот спрайт может "расти". 
Для этого надо отключить SmartEdit и добавить новые ключи, где имя ключа - это 
имя текстуры (все буквы в нижнем регистре), а значение ключа - любое число. 
Дополнительных ключей (т.е. текстур) максимум может быть восемь. Прмиер ключа:
Key: out_grnd1
Value: 1

Суммарное количество энтитей env_grass_sprite на карте не должно превышать 32.
Сумма всех значений Density для спрайтов не должна превышать 1000, для моделей - 100.


radio_sentence (Радио-сообщения)
=================================

Иконка с радио и соответствующий wav-файл активируются энтитей
radio_sentence.
Все настройки довольно простые:

Wav name - звук
talker's name - имя, которое появится рядом с динамиком на иконке справа 
(Можно прописать прямо, но лучше сослаться в titles.txt - чтобы оно могло быть 
и по-русски, и по-английски. Т.е. если имя записи в titles.txt 
называется "TALKER", то в это поле надо прописать "#TALKER")
Hold time - сколько секунд иконка будет торчать на экране (т.е. сколько длится звук)
Label color - цвет фона иконки. 
Для разных персонажей можно использовать разные цвета.
Transparency - прозрачность фона. Сделал на всякий случай.



Tab-окошко для задач
=================================

Энтитя trigger_goal служит для изменения текста в окошке задач. 
Помимо имени для активации она содержит единственное поле - Goal text. конечно, 
целиком описание в одно поле не уместить, поэтому просто пиши 
тут ссылку в titles.txt.

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

Можно оставить поле Goal text пустым - тогда при активации эта энтитя просто удалит 
запись о задаче, и нажатие TAB уже не будет включать никакое окошко.
К энтите trigger_goal, соответственно, добавлены еще два поля:

- Goal Title - задает заголовок окна (как обычно, 
можно сунуть ссылку в титлес.тхт)
- TGA Image - путь к TGA картинке

Правила указания путей к картинке такие-же, как и правила их 
задания в текстовых vgui-окнах - можно либо явно 
указать путь (но тогда во всех разрешениях будет использована одна и 
та-же картинка, что не есть гуд), либо вставить в путь символ %d, 
вместо которого потом будет подставлено текущее разрешение. 
Если для текущего разрешения специальной картинки нету, то будет 
загружена картинка для более низкого.
Например, имеем картинки:
texts\320_zavod.tga
texts\640_zavod.tga
texts\1024_zavod.tga
Значит, в поле TGA Image надо прописать:
texts\%d_zavod.tga
TOPOL_M_FRF вне форума
Старый 05.04.2017, 20:29  #2
DrTressi
DrTressi
Хрустик
Регистрация: 06.03.2010
Адрес: На белом свете
Возраст: 31
Сообщения: 6,383
Замечания: 16


По умолчанию

Спасибо. Мне вобщем-то без надобности, всё итак интуитивно понятно. Но всё равно, кому-то да и пригодится.
DrTressi вне форума
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 23:14.


Designed by FT-502, TRUP@C. Originally by Ulric Spaak
Hosted by: VBIOS.COM, Powered by: vBulletin
copyright © 2002 - 2025 by CS-Mapping.com.ua Community