Перейти к содержимому


Фотография

Адмиская\приватная база, заражённые базы

* * * * * 1 Голосов

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 26

  • Группа: Администратор
  • Сообщений: 1 721

Отправлено 12 января 2014 - 09:39

Нам понадобится:

1) Редактор Армы2ОА

2) Notepad
3)

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст


Основные настройки и приготовления

Инструкция:
1) Заходим в редактор Армы (alt+e в главном меню, Чернорусь)
2) Ставим триггер в нужном месте. Сразу выставляем нужный радиус.

3) Сохраняем миссию, заходим в папку с сохранёнными миссиями (Документы\ArmA 2 Other Profiles\НикВашегоПерсонажа\missions)
4) Открываем нашу миссию (та, что mission.sqf) при помощи Notepad, находим примерно такие строки:

_this = createTrigger ["EmptyDetector", [11883.309, 5724.8052]];
_this setTriggerArea [35, 45, 57.1982, false];
_trigger_0 = _this;

[11883.309, 5724.8052] -
это координаты, по которым в дальнейшем будет располагаться ваша
приватная\радиоактивная зона, защищённая скриптом, который будет
активироваться при входе игрока внутрь. Имейте ввиду, что в миссии и на
сервере координаты прописываются по-разному, поэтому вам нужно будет
переделать ваши координаты в самом начале пункта 5 примерно так:

[11883.309,0,5724.8052]

То есть мы должны вставить "0" между двумя нашими значениями и убрать пробелы между запятой и вторым значением.
5) Заходим в папку с вашей миссией, открываем mission.sqm и находим примерно такие строки:

class Sensors
    {
        items=4;
        class ItemХ0
        {
            position[]={6325.6772,304.99033,7807.7412};
            a=150;
            b=150;
            activationBy="WEST";
            repeating=1;
            interruptable=1;
            age="UNKNOWN";
            name="zonestary";
            expCond="(player distance zonestary) < 150;";
            expActiv="TitleText[""Вы вошли в трейд-зону"",""PLAIN DOWN""]; canbuild = false;";
            expDesactiv="TitleText[""Вы покинули трейд-зону"",""PLAIN DOWN""]; canbuild = true;";
            class Effects
            {
            };
        };
        class ItemХ1
        {
            position[]={4063.4226,365.00577,11664.19};
            a=150;
            b=150;
            activationBy="WEST";
            repeating=1;
            interruptable=1;
            age="UNKNOWN";
            name="zonebash";
            expCond="(player distance zonebash) < 150;";
            expActiv="TitleText[""Вы вошли в трейд-зону"",""PLAIN DOWN""]; canbuild = false;";
            expDesactiv="TitleText[""Вы покинули трейд-зону"",""PLAIN DOWN""]; canbuild = true;";
            class Effects
            {
            };
        };
        class ItemХ2
        {
            position[]={11447.472,317.26886,11364.504};
            a=150;
            b=150;
            activationBy="WEST";
            repeating=1;
            interruptable=1;
            age="UNKNOWN";
            name="zoneklen";
            expCond="(player distance zoneklen) < 150;";
            expActiv="TitleText[""Вы вошли в трейд-зону"",""PLAIN DOWN""]; canbuild = false;";
            expDesactiv="TitleText[""Вы покинули трейд-зону"",""PLAIN DOWN""]; canbuild = true;";
            class Effects
            {
            };
        };
    };

Где Х0, Х1, Х2 - это номера ваших уже стоящих в моде EPOCH триггеров, (отсчитывая с нуля) отвечающих за вывод текста игроку, когда тот заходит на территорию трейд-зоны.
6) Добавляем ещё один триггер в класс:

class ItemХ3
        {
            position[]={9376.7676,0,14358.626};
            a=70;
            b=70;
           activationBy="WEST";
            repeating=1;
            interruptable=1;
            age="UNKNOWN";
            name="RadZone1";
            expCond="((vehicle player) in thislist;";
            expActiv="RadZone1 = [] execVM ""rad_zone.sqf"";";
            expDesactiv="terminate RadZone1; TitleText [""Ты покинул чужую территорию."", ""PLAIN DOWN"", 3];";
            class Effects
            {
                titleType="TEXT";
                titleEffect="PLAIN DOWN";
                title="Ты нашёл чью-то базу...";
            };
        };
  • Где Х3 - это следующее число, после вашего Х2. То есть должна соблюдаться строгая нумерация.
  • А position[]={9376.7676,0,14358.626}; это координаты триггера. Не забудьте вернуться у пункту 4 и изменить координату согласно инструкции.
  • a=70; и b=70; - это размер вашего триггера в метрах. Мы выставляли эти значения, когда делали миссию в редакторе. Просто заменяем 70 на свои значения из mission.sqf


7) В самом начале класса есть строка, имеющая такой вид:

items=ХХ;

Да, как вы верно догадались, там должно быть прописано сколько триггеров в классе. Выходит, что триггеров в нашем случае 4. Не забывайте, что отсчёт ведётся от нуля!


4




  • Группа: Администратор
  • Сообщений: 1 721

Отправлено 12 января 2014 - 09:40

Приватная база


1) Закидываем файл rad_zone.sqf из архива в папку с вашей миссией

2) Заменяем содержимое скрипта на это:

if ((getPlayerUID player) in ["xxxx","xxxx"]) then {
titleText ["Добро пожаловать домой.", "PLAIN DOWN", 3]; titleFadeOut 4;
}else {
titleText ["Ты находишься на админской базе, уходи!", "PLAIN DOWN", 3]; titleFadeOut 4;
sleep 10;
    titleText ["Если ты не уйдешь, через 20 секунд тебя ударят по голове и отберут технику!", "PLAIN DOWN", 3]; titleFadeOut 4;
sleep 5;
    titleText ["Очнешься уже далеко отсюда.", "PLAIN DOWN", 3]; titleFadeOut 4;
sleep 20;
r_player_blood = 0;
};

Где "xxxx" это UID персонажа, которому разрешено входить на приватную территорию. Его вы можете посмотреть в базе данных.

Где r_player_blood
- это количество крови у игрока, который не покинул территорию после
определённого времени. У нас стоит значение 0, так что персонаж
погибнет. Вы можете экспериментировать и использовать значения эффектов
из поста выше.


4

  • Группа: Администратор
  • Сообщений: 1 721

Отправлено 12 января 2014 - 09:41

Заражённые базы

1) Заходим в папку с вашей миссией и открываем description.ext при помощи Notepad
2) Добавляем после закрывающей скобки ( }; ) любого другого класса (например class RscText) это:

class CfgSounds
{
    sounds[] = {};
    class geiger1
    {
        // how the sound is referred to in the editor (e.g. trigger effects)
        name = "geiger1_sound";
        // filename, volume, pitch
        sound[] = {"geiger.ogg", 1, 1};
        titles[] = {};
    };
};

Где geiger.ogg - звук нашего дозиметра. Файл находится в архиве, приложенном к посту.

  • Если вы не хотите что бы при входе в заражённую зону у игрока проигрывался этот звук, просто не выполняйте пункт 1,2

3) Файлы rad_zone.sqf и geiger.ogg из архива кидаем в вашу папку с миссией

Настройка эффектов при входе в заражённую зону
Вы можете изменять эффекты, которые буду активироваться при входе в зону. Для этого просто заменяйте значения типа r_player_inpain = true; на те, что я привёл ниже. Их значения вы можете легко узнать, используя

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытый текст

. Как только у меня появится свободная минутка - лично протестирую все значения и опишу их в этом гайде.

"dynamicBlur" ppEffectAdjust [0];"dynamicBlur" ppEffectCommit 5;"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1], [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5;
r_interrupt =             true;
r_doLoop =             true;
r_self =                 true;
r_drag_sqf =             true;
r_action =             true;
r_action_unload =         true;
r_player_handler =     true;
r_player_handler1 =     true;
r_player_dead =         false;
r_player_unconscious =     true;
r_player_infected =        true;
r_player_injured =         true;
r_player_inpain =         true;
r_player_loaded =         true;

1

  • Группа: Пользователи
  • Сообщений: 1

Отправлено 13 января 2014 - 21:18

Классно, давно искал, спасибо!

Также жду урока про кровь, автазаправку на новую версию.)


0

  • Группа: Пользователи
  • Сообщений: 7

Отправлено 16 января 2014 - 02:55

Алекс а видео гайдик будет?))))  Я конечно вот сейчас сижу и пробую по этому гайду сделать) но что то не особо выходит((( 
А в init нужно включать rad_zone.sqf   ???


0

  • Группа: Пользователи
  • Сообщений: 7

Отправлено 16 января 2014 - 04:00

Прошу прощения все получилось) там в названии файла была ошибка rad_zone.sqf нужно было стереть (.sqf)

Да Алекс а можно ли как то сделать что бы игроку который зашел на чужую базу,по мимо сообщения включалась сирена или типа счетчик гейгира??
То есть он зашел ему написало что он пришел на чужую территорию зашумел счетчик гейгера и он умер)


0

  • Группа: Администратор
  • Сообщений: 1 721

Отправлено 16 января 2014 - 07:02

Прошу прощения все получилось) там в названии файла была ошибка rad_zone.sqf нужно было стереть (.sqf)

Да Алекс а можно ли как то сделать что бы игроку который зашел на чужую базу,по мимо сообщения включалась сирена или типа счетчик гейгира??
То есть он зашел ему написало что он пришел на чужую территорию зашумел счетчик гейгера и он умер)

Ты посмотри внимательно пункт с заражёнными базами и увидишь:

 sound[] = {"geiger.ogg", 1, 1};

1

  • Группа: Пользователи
  • Сообщений: 2

Отправлено 19 января 2014 - 21:19

вылетает сервак с ошибкой File mpmissions\DayZ_Epoch_Chernarus\mission.sqm, line1472:/Mission/Sensors/: Missing '}'


0

  • Группа: Администратор
  • Сообщений: 1 721

Отправлено 19 января 2014 - 21:26

Ну всё видно же. В строке 1472 пропущен знак


1

  • Группа: Пользователи
  • Сообщений: 2

Отправлено 20 января 2014 - 01:38

теперь каждый раз пишет "Вас изгнали из игры". Расскажите куда эти файлы кидать, что и где прописывать, может что-то не так сделал


0

  • Группа: Пользователи
  • Сообщений: 1

Отправлено 05 апреля 2014 - 14:34

Dr Tauren, сделал все как вы описали, до 5го пункта.

 

Захожу в MPMissions/Dayz_1.Chernarus/missions.sqm и не вижу там ничего кроме строки:

#include "\z\addons\dayz_code\system\mission\mission.sqm"

Дописываю сюда класс sensors как описано дальше по гайду - нулевой эффект.

Распаковываю с PBO Dayz_Code и нахожу там в system\mission\mission.sqm свой класс sensors, дописываю новый item3, меняю кол-во items=4, пакую обратно.

После этого при заходе в лобби на сервер меня изгоняет с надписью "Wrong Signature"

 

Очень надеюсь на помощь!


0

    лах
    0
  • Группа: Заблокированные
  • Сообщений: 1

Отправлено 26 апреля 2014 - 09:50

 а как саму мисию сохранить?(3 пункт) пишет - чтобы задание можно было сохранить, на карте должен быть хотя бы 1 объект, управляемый игроком


0

  • Группа: VIP-Пользователи
  • Сообщений: 27

Отправлено 27 апреля 2014 - 17:50

 а как саму мисию сохранить?(3 пункт) пишет - чтобы задание можно было сохранить, на карте должен быть хотя бы 1 объект, управляемый игроком

Юнит должен на карте стоять у тебя. Я обычно триггеры делаю через мультиплеер. Заходишь в мультиплеер,выбираешь новая,Там синим редактор,создаешь. На карте находишь нужное место,справа у тебя триггер будет написано,выбираешь триггер,два раза кликаешь на нужно месте и сразу же радиус можно прописать,сохраняешь и пишешь название какое нибудь. Потом сохраняешь,потом идешь C:\Users\Admin\Documents\ArmA 2 Other Profiles\твой ник\MPMissions/название сохранения. Извиняюсь если не совсем понятно описал


0

  • Группа: VIP-Пользователи
  • Сообщений: 27

Отправлено 28 апреля 2014 - 17:06

Добрый день,у меня нету такого "class Sensors" куда мне в missions прописать координаты приват базы. При создании class Sensors миссия закрывается с ошибкой.


0

  • Группа: Пользователи
  • Сообщений: 2

Отправлено 28 июня 2014 - 09:59

все сделал по инструкции, при входе на сервер "Сессия прервана". В Чем проблема? Подскажите решение, пожалуйста!


Сообщение отредактировал Polosatyi: 28 июня 2014 - 11:03

0





Похожие темы

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных