Среда, 01.04.2020, 05:48
РОССИЯ
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » ↓ Другое ↓ » Маппинг » добавление транспорта (для одиночной игры)
добавление транспорта
Paho  Дата: Суббота, 11.02.2012, 15:06 | Сообщение # 1
Глав.адм
Сообщений: 2417
Репутация: 1515
Награды: 166
Небольшое вступление....
Для мультиплеера существует огромное количество мануалов, которые объясняют практически ВСЕ. Все скрипты, тонкости при создании режимов и прочее... Про пользование самого редактора тоже писался не один мануал. Не затронута только тема одиночной игры по крайней мере на этом форуме. Про нее по-прежнему известно крайне мало по понятным причинам - сделать одиносную карту гораздо труднее чем мультиплеерную из-за обилия скриптов. И не сколько из-за обилия сколько из-за трудности. И все же я решил переводить все мануалы какие смогу отыскать и с разрешения модераторов скидывать сюда. К сожалению у меня в выборе тем пока нет никакой системы... поэтому буду кидать все подряд. Большинство мануалов не проверенно, я постараюсь переводить дословно и понятно, не пропуская ничего. Но кто знает? возможно ошибки сделаны еще до меня? Поэтому прошу тех кто разбирается в скриптах и у кого есть на это время - проверять меня. Хотябы просто просматривая то что я сюда пишу. И конечно же попровлять и дополнять. Возможно со временем накопится достаточно информации и мы сможем создать свою модификацию для одиночной игры... Лично я на это надеюсь, да и не только я...

Итак приступаю...

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

Для начала добавим script_vehicle на нашу карту. Присвоим ему следующие значения keys/values:

Quote
script_team: allies/axis -- Обозначает к чьей стороне относится сей транспорт..
script_vehiclespawngroup: # -- Даем номер, он относится к spawngroup (респаунящаяся группа) с которой вместе и будет респаунится транспорт.
script_vehicleride: # -- Номер который определяет id нашего транспорта, что необходимо если мы хотим присоединить к нему солдат (актеров=)))
model: -- модель транспорта что это такое вы конечно же уже знаете.
vehicletype: -- Тип транспорта, Должен соответствовать выбранной модели.. Это можно подсмотреть в табличке приведенной ниже. Там же указаны и сами возможные модели.
script_noteworthy: vehicle -- Может быть чем угодно, это служит лишь для того чтобы помочь нам индетифицировать транспорт в скрипте.


Отлично, теперь наши актеры, каждый транспорт может везти определенное количество солдат (все в табличке), тем не менее не обязательно набивать их в транспорт под завязку.
Добавьте актера, которой относится к той же команде что ваш транспортas, и пересеките(cross) spawner box. Дадее дадим актеру следующие значения keys/values:

Quote

script_vehicleride: # -- Для того чтобы присоединить актера к транспорту, оно должно быть таким же как значение указанное в настройках транспорта.
script_startingposition: # -- Число обозначающее местоположение актера в транспорте начиная с водителя ( число 0) и т.д. вплоть до максимального значения доступного для этого средства передвижения. Например если доступно только 4 свободных места в скрипте надо указывать 0,1,2,3. Еще раз повторюсь что "0"-водитель, а остальные - пассажиры.

Добавим нужное число солдат.

Теперь "проложим путь" для транспорта. Создаем vehicle_node где-нить недалеко от транспорта в том направление куда он должен ехать, и пересеките с Start Node. Для vehicle_nodes параметры задаются произвольно они довольно просты и нет смысла заострять внимание keys/values можно посмотреть нажав N, но стартовому надо обязательно присвоить значение script_noteworthy - "vehicle_start_path". Соединяем обе части используя W.

Теперь создаем много vehicle_node, и vehicle_node_rotate (оба расположены во вкладке info) vehicle_node_rotate - если хотите повернуть. Соединяем их (W) друг с другом и с Start Node в начале пути.

Работа в Radiant закончена, переходи к созданию yourmap.gsc файла и забьем скрипты. Мы дадим ссылки на различные файлы которым соответсвуют наши модели все есть в табличке. Файлы обычно вызываются так:

Quote

maps\_file::main("model");

Например если вы пользовалисьxmodel/vehicle_africa_jeep, то в табличке надо давать ссылку на _jeep.gsc а код выглядит так:

Quote


maps\_jeep::main("xmodel/vehicle_africa_jeep");


После этого (или перед этим) необходимо добавить maps\_load::main(); как обычно, и после чего даем ссылку на транспорт, стартовую позицию, где респаунится наш транспорти привязываем к пути следования.

Quote

level.vehicle = getent("vehicle", "script_noteworthy");
path = getvehiclenode ("vehicle_start_path", "script_noteworthy");
maps\_vehicle::scripted_spawn(1); // Номер спауна vehiclespawngroup который вы указали... здесь это 1.

// Теперь присоединяем путь следования
level.vehicle attachPath(path);


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

Quote

level.vehicle startPath();
level.vehicle waittill("reached_end_node");
level.vehicle notify ("unload");


Теперь когда у нас есть движущийся транспорт осталось добавить ему озвучку. Нужно добавить soundaliases. Создаем папку soundaliases в паке main (вашего IWD архива), создаем файл yourmap.csv. У файла должен быть следующее содержание:
Quote


"# If the text in the first column of a row starts with a # character, the row is ignored",,"If the first column for a row is blank, then the row is ignored"
,"If the first column for a row is blank, then the row is ignored",
# The first non-comment line of a sound alias file specifies the key name for all values appearing in this column.,,
"# This means it is safe to swap entire columns around, though you should never swap partial columns.",,
"# You can invent new keys, but the game will ignore them if it doesn't know about them.",,
"# You can leave out keys, but the ""name"" and ""file"" keys must always be present.",,
,name,name of the alias that is used to play this sound (required)
,sequence,"used to uniquely identify alias entries when more than one sound goes to an alias, used only to catch unwanted duplicates (default = 0)"
,file,the name of the file that contains the sound data (required)
,vol_min,"0 is silent, 1 is full volume (default = 1)"
,vol_max,"0 is silent, 1 is full volume (default = same as vol_min)"
,vol_mod,"blank causes no effect on vol_min and vol_max, otherwise the string must match a string in the volumemodgroups.def file and the value in that file corresponding to that string will be used to adjust vol_min and vol_max, clamped to the valid range"
,pitch_min,"1 is normal playback, 2 is twice as fast, 0.5 is half as fast (default = 1)"
,pitch_max,"1 is normal playback, 2 is twice as fast, 0.5 is half as fast (default = same as pitch_min)"
,dist_min,"within this distance in inches, the sound is always full volume (default = 120)"
,dist_max,"outside this distance in inches, the sound is not started. If left blank or set to 0, the sound will play from any distance. This does not affect sound volume falloff.",,,,,,,,,,,,,,,,,,,,,
,channel,"auto, menu, weapon, voice, item, body, local, music, announcer (default = auto)",,,,,,,,,,,,,,,,,,,,,
,type,primed (a streamed sound which gets primed on some platforms) / streamed / loaded (default = loaded),,,,,,,,,,,,,,,,,,,,,
,probability,weight to use for the weighted probability of playing this sound instead of another sound (default = 1),,,,,,,,,,,,,,,,,,,,,
,loop,"whether this sound is ""looping"" or ""nonlooping"" (default = ""nonlooping"")",,,,,,,,,,,,,,,,,,,,,
,masterslave,"if ""master"", this is a master sound. If a number, then this sound's volume will be multiplied by that number (a percentage between 0 and 1) any master sound is playing. If blank, then neither master nor slave.",,,,,,,,,,,,,,,,,,,,,
,loadspec,"space-separated list of which maps should use this alias; eg, ""burnville dawnville"". If blank, the alias is used on all maps.",,,,,,,,,,,,,,,,,,,,,
,compression,"a string corresponding to an entry in ""XMAUpdate.tbl"" which is used to determine compression by XMAUpdate.exe",,,,,,,,,,,,,,,,,,,,,
,secondaryaliasname,"defined the name of an additional sound alias to play in addition to the current alias being played. Note that it is an error for the secondaryalias to also define a secondaryaliasname (eg, if B is a secondaryalias of A, B is not allowed to have its own secondaryalias).",,,,,,,,,,,,,,,,,,,,,
,volumefalloffcurve,if blank uses the linear curve which can not be changed. A string 'XXXX' corresponds to the curve defined by the file 'soundaliases/XXXX.vfcurve',,,,,,,,,,,,,,,,,,,,,
,startdelay,defaults to no delay. The value is the number of milliseconds to delay starting the sound by,,,,,,,,,,,,,,,,,,,,,
,speakermap,if blank uses the default speakermappings which cannot be changed. A string 'XXXX' corresponds to the speakermap defined by the file 'soundaliases/XXXX.spkrmap'. ,,,,,,,,,,,,,,,,,,,,,
,reverb,"blank means the alias is affected normally by wet and dry levels, ""fulldrylevel"" forces the alias to use a full drylevel (ignoring the global drylevel), ""nowetlevel"" forces the alias to use no wetlevel (ignoring the global wetlevel)",,,,,,,,,,,,,,,,,,,,,
,lfe percentage,this determines what percentage of the highest calculated spatialized speaker volume should be passed to the LFE. blank means no LFE for the sound,,,,,,,,,,,,,,,,,,,,,

name,sequence,file,vol_min,vol_max,vol_mod,pitch_min,pitch_max,dist_min,dist_max
,channel,type,probability,lo op,masterslave,loadspec,subtitle,compression,seconda
ryaliasname,volumefalloffcurve,startdelay,speakermap,reverb,lfe percentage

null,,null.wav,,,,,,,,,,,,,,,,,,,


Добавляем озвучку в соответствии с видом вашего транспорта.

Quote

#Halftrack,,,,,,,,,,,,,,,,,,,
#All kinds of halftrack
halftrack_idle_low,,vehicles/mrk_tank_03_idle.wav,0,,vehicle,0.85,,7,2500,auto,,,looping,,yourmapname,,,,weapon1,,,,
halftrack_idle_high,,vehicles/mrk_tank_03_idle.wav,0.3,,vehicle,1.35,,7,2500,auto,,,looping,,yourmapname,,,,weapon1,,,,
halftrack_engine_low,,vehicles/mrk_tank_03_move.wav,0,,vehicle,0.85,,7,9500,auto,,,looping,,yourmapname,,,,,,,,
halftrack_engine_high,,vehicles/mrk_tank_03_move.wav,0.6,,vehicle,1.35,,7,9500,auto,,,looping,,yourmapname,,,,,,,,
#Truck Sounds,,,,,vehicle,,,,,,,,,,
truck_idle_low,,vehicles/truck_idle.wav,0,,vehicle,0.75,,300,2000,auto,,,looping,,yourmapname
truck_idle_high,,vehicles/truck_idle.wav,1,,vehicle,1,,300,2000,auto,,,looping,,yourmapname
truck_engine_low,,vehicles/truck_move.wav,0,,vehicle,0.75,,700,5000,auto,,,looping,,yourmapname
truck_engine_high,,vehicles/truck_move.wav,1,,vehicle,1,,700,5000,auto,,,looping,,yourmapname

truck_horn,,vehicles/horn_beep.wav,1,1,vehicle,0.9,0.9,1500,,item,,,,,
truck_brakesqueal,,vehicles/truck_brakesqueal.wav,0.5,0.5,vehicle,0.9,0.9,150,5000,auto,streamed,,,,yourmapname

#Jeep Sounds,,,,,,,,,,,,,,,
#Kubelwagon only
kubel_idle_low,,null.wav,0,,vehicle,0.5,,150,2000,auto,,,looping,,yourmapname
kubel_idle_high,,null.wav,0,,vehicle,0.75,,150,2000,aut o,,,looping,,yourmapname
kubel_engine_low,,vehicles/kubel_move.wav,0,,vehicle,0.5,,350,5000,auto,,,looping,,yourmapname
kubel_engine_high,,vehicles/kubel_move.wav,0.29,,vehicle,0.75,,350,5000,auto,,,looping,,yourmapname
kubel_start,,vehicles/kubel_start.wav,0.5,,vehicle,1,,350,5000,auto,streamed,,,,yourmapname

#Other jeeps
jeep_idle_low,,vehicles/kubel_idle.wav,0,,vehicle,0.5,,150,2000,auto,,,looping,,yourmapname
jeep_idle_high,,vehicles/kubel_idle.wav,0.4,,vehicle,0.75,,150,2000,auto,,,looping,,yourmapname
jeep_engine_low,,vehicles/kubel_move.wav,0,,vehicle,0.5,,350,5000,auto,,,looping,,yourmapname
jeep_engine_high,,vehicles/kubel_move.wav,0.4,,vehicle,0.75,,350,5000,auto,,,looping,,yourmapname
jeep_start,,vehicles/kubel_start.wav,0.5,,vehicle,1,,350,5000,auto,streamed,,,,yourmapname

#Buffalo,,,,,,,,,,,,,,,,,,,
buffalo_idle_low,,vehicles/mrk_tank_03_idle.wav,0.12,,vehicle,1.05,,7,2500,auto,,,looping,,yourmapname,,,,weapon1
buffalo_idle_high,,vehicles/mrk_tank_03_idle.wav,0.12,,vehicle,1.55,,7,2500,auto,,,looping,,yourmapname,,,,weapon1
buffalo_engine_low,,vehicles/mrk_tank_03_move.wav,0,,vehicle,1.05,,7,9500,auto,,,looping,,yourmapname,,,,
buffalo_engine_high,,vehicles/mrk_tank_03_move.wav,0.17,,vehicle,1.55,,7,9500,auto,,,looping,,yourmapname,,,,


НЕ ЗАБЫВАЙТЕ УКАЗЫВАТЬ НАЗВАНИЕ ВАШЕЙ КАРТЫ!!!!

На этом все. Компилируем и тестим. Ну и обещанная табличка.


Форум » ↓ Другое ↓ » Маппинг » добавление транспорта (для одиночной игры)
  • Страница 1 из 1
  • 1
Поиск:


 site made by Paho & SplinterCell 2011-2020 | Создать бесплатный сайт с uCoz Сайт оптимизирован под браузеры: Chromium, Google Chrome, Opera
Дизайн данного сайта полностью принадлежит администратору сайта.