Серьёзные Игры на Тушино



                                           Ваш IP 3.215.79.116 | Группа "Гости" Приветствую Вас Гость | RSS
Понедельник, 21.06.2021, 09:00:34
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: conKORD  
Cерьёзные Игры на Тушино - Форум » ArmA II и Arma II CO » Картостроение » Для картостроителей. Введение параметров выбора для карты (Введение множества параметров выбора условий для MP-карты)
Для картостроителей. Введение параметров выбора для карты
[AT]Party3AHДата: Пятница, 28.08.2009, 00:15:43 | Сообщение # 1
Модератор
Группа: Администраторы
Сообщений: 1199
Статус: Offline
Вступление.
С последним бета-патчем БИСы ввели функциональное лобби-меню по выбору параметров игры - время, кол-во очков для победы и пр. Эта функция является весьма долгожданной для картотроителей, она позволяет добавлять множество описанных параметров для игры, так много, как вам того желается! На данный же момент большая часть MP-миссий ограничена всего двумя параметрами, и в 9 случаях из 10 одна из них была введением/отключением скриптов Norrins Revive оставляя для творчества всего один параметр.

Замечание: Эта опция работает только с бета-патчем 1.03, доступным по ссылке.

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

titleParam1 = "Grass Options";
valuesParam1[] = {0, 1, 2};
defValueParam1 = 0;
textsParam1[] = {"NoGrass", "Medium", "Normal"};

Длее, параметры могут быть считаны из init.sqf, например так...

[param1, "false"] execvm "Grass_Changer\grass_changer.sqf";

В новом методе будут присутствовать параметры param1 и param2 для достижения совместимости с уже существующими миссиями. Вы должны помнить об этом, потому что новый массив paramsArray использует 0 и 1 значения для "старых методов", вне зависимости, описаны они либо нет. Так что теоретически для добавления новых параметров при помощи массива paramsArray строка будет выглядеть так: paramsArray[param1,param2, thirdparam]

Новый метод.

Новый метод пользует класс из description.ext называемый Params. Описывается он так:

class Params
{
class DayTime
{
//paramsArray[2]
title = "Time Of Day";
values[] = {0,16,8};
texts[] = {"Dusk","Midday","Dawn"};
default = 16;
};
class Revive
{
// paramsArray[3]
title = "Number of Revives:";
values[] = {2000,1000,20,10,7,5};
texts[] = {"No Revive","Infinite - Cadet","20 - Easy ","10 - Normal","7 - Hard","5 - Extreme"};
default = 20;
};
class Grass
{
// paramsArray[4]
title = "Grass Options";
values[] = {0, 1, 2};
texts[] = {"NoGrass", "Medium", "Normal"};
default = 0;
};
};

После его описания вы сможете его считать из init.sqf таким образом:

skiptime (paramsArray select 2);
[(paramsArray select 4), "false"] execvm "Grass_Changer\grass_changer.sqf"

На самом деле, это достаточно просто. Самое главное - помнить, что старые param1 и param2 занимают первые 2 места в массиве paramsArray.

Пример миссии можете взять тут.

Вольный перевод текста с сайта www.ofpec.com произведён мною.


С уважением,
Дмитрий aka Party3AH
 
[AT]Party3AHДата: Четверг, 01.10.2009, 09:11:01 | Сообщение # 2
Модератор
Группа: Администраторы
Сообщений: 1199
Статус: Offline
Обычно имея дело с установкой параметров запуска миссии вам надо сверять индексы до того, как задавать им значения. Этот метод кажется мне не очень удобным, и я решил разработать новый, который использует класс параметров и придаёт ему необходимое значение, а не делать выборку из длиннющего списка.

Достаточно просто привести уже существующие ваши наработки к моим массивам processParamsArray.
Самое основное что надо будет сделать - это, помимо копирования самого скрипта, ввести нужные и правильные значения для класса параметров:

Code
class ViewDistance // 0
{    
    title = "View Distance:";
    values[] = { 1200, 1500, 2000, 2500, 3000 };
    texts[] = { "1.2 km", "1.5 km", "2 km", "2.5 km", "3km" };
    default = 2000;
    code = "setViewDistance %1";
};

Как видно из этого примера, мы задаём для параметра setViewDistance значение %1. Знаете что такое %1? Это т.н. заполнитель - он будет подменён на соотв. параметр из массива values[].
Если параметры не меняются - то будет применено значение 2000, оно прописано по умолчанию.

После того, как скрипт получит значение %1 он компилируется и исполняется. Собственно говоря - это всё, остальные примеры смотрите в description.ext

ВНИМАНИЕ! Доступные для использования параметры - целые (integer), плавающие (float) и логические (boolean: true=1 и false=0). Arma2 1.04 имеет проблемы при использовании плавающих значений (значения с плавающей точкой, float) в качестве значения по умолчанию!!!

Качать отсюда по кнопочке download

За идею спасибо mikey, за перевод - мне. Оригинал тут.


С уважением,
Дмитрий aka Party3AH
 
UstinДата: Четверг, 01.10.2009, 20:06:30 | Сообщение # 3
Зело много пишет
Группа: Заблокированные
Сообщений: 360
Статус: Offline
Интересно.
Огласите весь список параметров пжалуста.
 
[AT]Party3AHДата: Четверг, 01.10.2009, 21:32:53 | Сообщение # 4
Модератор
Группа: Администраторы
Сообщений: 1199
Статус: Offline
Дим, я могу только предложить тебе скачать сам пример и посмотреть, что там наворотили в description.ext
Я не пытался таким образом что-либо сделать - только перевёл статеечку.

Ты же видишь, чем этот подход отличается от прежнего?
Тут сразу задействована функция переменной (согласен, что не на всё есть переменные, но на большинство опций типа трава+-, вьюдистанс+- и погода какая-нить свои переменные есть) а не отсыл в массив, который работает по жуткой (имхо) схеме "если выбрано 1 то гото 25, если выбрано 2 то гото 39".


С уважением,
Дмитрий aka Party3AH
 
UstinДата: Четверг, 01.10.2009, 21:40:26 | Сообщение # 5
Зело много пишет
Группа: Заблокированные
Сообщений: 360
Статус: Offline
Я и посмотрел.

дистанция видимости
время дня
погода
сила травки smile
режим отладки

К примеру погода. Есть туман и есть дождь. А можно туман с дождем:) ?

И наверно можно больше задавать пареметров?

 
[AT]Party3AHДата: Четверг, 01.10.2009, 22:01:34 | Сообщение # 6
Модератор
Группа: Администраторы
Сообщений: 1199
Статус: Offline
Если туман отдельно и дождь отдельно - то безусловно можно.
Если оба параметра задаёт одна переменная определённым значением - то вероятно должно быть значение для дождя и тумана, хотя не факт.
К примеру, если используется одна переменная - то это будет так: 1 - дождь и туман, 2-дождь и нет тумана, 3 - туман и нет дождя, 4 - нихера нет и все умерли.

Больше параметров - для чего, для выбора по одному пункту (т.е. дист. видимости от 1 км. до 10 км с шагом в 100 метров) или 150 параметров для миссии - время, погода, трава, цивилы (наверняка тоже есть), животные и т.д.? По идее сейчас можно сколько угодно плодить, и одного и другого.


С уважением,
Дмитрий aka Party3AH
 
UstinДата: Четверг, 01.10.2009, 23:18:17 | Сообщение # 7
Зело много пишет
Группа: Заблокированные
Сообщений: 360
Статус: Offline
Я прикалываюсь просто biggrin

Ты сам смотрел?

class Weather // 2
{
title = "Weather";
values[] = { 0, 1, 2, 3, 4, 5 };
texts[] = { "Clear", "Overcast", "Light Rain", "Heavy Rain", "Light Fog", "Heavy Fog" };
default = 0;
code = "[%1] execVM 'mk4\setWeather.sqf'";
};
********************************************************

case 0: { [0, 0, 0] }; // Clear
case 1: { [0.6, 0, 0.1] }; // Cloudy
case 2: { [0.8, 0.3, 0.1] }; // Light Rain
case 3: { [0.9, 0.8, 0.3] }; // Heavy Rain
case 4: { [0.6, 0, 0.8] }; // Light Fog
case 5: { [0.6, 0, 0.95] }; // Heavy fog
default { [0, 0, 0] }
};

_overcast = _weather select 0;
_rain = _weather select 1;
_fog = _weather select 2;

 
[AT]Party3AHДата: Пятница, 02.10.2009, 16:59:10 | Сообщение # 8
Модератор
Группа: Администраторы
Сообщений: 1199
Статус: Offline
Дим, я арму последний раз запускал недели 1,5 назад smile

Тока перевожу теперь, покамест.


С уважением,
Дмитрий aka Party3AH
 
AdvardДата: Понедельник, 05.10.2009, 09:09:17 | Сообщение # 9
Зело много пишет
Группа: AT
Сообщений: 54
Статус: Offline
Quote (Party3AH)
...животные...

Вот если найдете как их совсем в миссии отключить - игроки вам памятник поставят happy .... да и сервак крутиться пошвыдче будет
 
Cерьёзные Игры на Тушино - Форум » ArmA II и Arma II CO » Картостроение » Для картостроителей. Введение параметров выбора для карты (Введение множества параметров выбора условий для MP-карты)
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2021