Главная |
Главная » Файлы » Платформа для создания SP миссий » Полезная справочная информация |
Информация
приведенная ниже рассчитана на людей освоивших базовый уровень картостроения и
разбирающихся в description.ext файлах по крайней мере настолько, насколько
необходимо для интеграции в игру своих звуков и музыки. Изначально
данный метод разработали DenVdmj, Vova_fox и Lost за что им огромное спасибо! Активно он
применяется пока только в нашей команде (ОТК), но тем не менее, это очень
удобно и сокращает количество писанины во много раз. Судя по тому что никто
кроме нас этим не пользуется, можно сделать логичный вывод что данный метод
неизвестен широкой общественности ни у нас, ни на официальном форуме. К
примеру, на официале, разработчик одной программы для написания и контроля
скриптов и конфигов был сильно удивлен что такие конструкции работают в ArmA 2
и долго в это не верил Итак. пажелеем
пальцы зачем писать всёвремя одно и тоже (c) Vova_fox Код: #define arg(i) (_this select (i)) _entry = arg(0); _depth = arg(1); _indent = arg(2); в данном
примере вместо i подставляется нужный номер. ЗВУКИ Код: class CfgSounds { sounds[] = {}; #define dialog(n) \ class dialog##n \ { \ name =
"sound"; \ sound[] = {dialog##n.ogg, db+0, 1.0}; \ titles[] = {0, $STR_dialog##n}; \ }; \ dialog(1); dialog(2); }; Каждый из этих звуков имеет свой номер (1,2,3,4) который вставляется в ##, соответственно первый звук имеет имя dialog1, имя звука dialog1.ogg и титры STR_dialog1, второй - dialog2, dialog2.ogg, STR_dialog2 и т.д Вызываем
звуки как обычно - player say "dialog1\dialog2" и т.д N это
закрывающая буква. Вот на это (##n) подставляется номер. пример с
двумя дефайнами Код: class
CfgSounds { sounds[] = {}; #define Tarasov(a) \ class Tarasov##a \ { \ name =
"sound"; \ sound[] = {Tarasov##a.ogg, db+0, 1.0}; \ titles[] = {0, $STR_Tarasov##a}; \ }; \ Tarasov(1); Tarasov(2); Tarasov(3); #define Kopitkin(b) \ class Kopitkin##b \ { \ name =
"sound"; \ sound[] = {Kopitkin##b.ogg, db+0, 1.0}; \ titles[] = {0, $STR_Kopitkin##b}; \ }; \ Kopitkin(1); Kopitkin(2); Kopitkin(3); }; Звуки имеют имена: Tarasov1, Tarasov2, Kopitkin1, Kopitkin2
... и т.д... Заменили имя
дефайна, заменили содержимое, самое главное во втором дефайне в скобках (b) и
по всему классу идёт так же b. Т.е какую ты переменную вставишь в дефайн, вот
той ты и должен закрыть. РАДИО Код: class
CfgRadio { sounds[] = {}; #define radio(n) \ class radio##n \ { \ name="Radio";
\ sound[] = {radio##n.ogg, db+0, 1.0}; \ title = $STR_radio##n; \ }; \ radio(1); radio(2); }; Теперь в
миссии будут определены 2 радио - radio1 и radio2, которые имеют звуки
radio1.ogg, radio2.ogg соответственно и титры STR_radio1 и STR_radio2 так же Помимо
этого, можно пользоваться этим методом при написании bikd файлов Код: class Sentences { #define TEXT(I,N) \ class Player_##I##_##N \ { \ text =
$STR_Player_##I##_##N##; \ speech[] = {\sound\PLAYER\Player_##I##_##N##.ogg}; \ class
Arguments {}; \ }; TEXT(Tr1,1) TEXT(Tr2,1) TEXT(Tr2,2) TEXT(Tr2,3) TEXT(Tr1,01) TEXT(Tr1,02) TEXT(Tr1,03) TEXT(Tr1,04) TEXT(Tr1,05) TEXT(Tr1,06) TEXT(Vid1,1) TEXT(Vid1,2) TEXT(Vid1,3) TEXT(Vid2,1) TEXT(Vid2,2) }; class Arguments{}; class Special{}; startWithVocal[] = {hour}; startWithConsonant[] = { кроме того,
есть метод замены множества иных значений, но об этом чуть позже. З.Ы. Это все
будет форматироваться, дополняться и в конечном итоге окажется в H&T Размер файла на сервере: 40.5 Kb Хотите еще больше новостей? Подпишитесь на рассылку | |
Категория: Полезная справочная информация | Добавил: PIONEER | Теги: Автор: Версия: Источник: | |
Просмотров: 1574 |
Загрузок: 105
| Всего Комментариев: 0 |