Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Продаёте или покупаете?

Пользуйтесь услугами гаранта
Мы сделаем вашу сделку безопасной
DrTauren

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

Рекомендованные сообщения

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

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. Не забывайте, что отсчёт ведётся от нуля!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Забронировать это рекламное место


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


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, так что персонаж
погибнет. Вы можете экспериментировать и использовать значения эффектов
из поста выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

То есть он зашел ему написало что он пришел на чужую территорию зашумел счетчик гейгера и он умер)

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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"

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Изменено пользователем Polosatyi (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

UPDATE

вот основа, поменяйте корды и размеры тригера.

	class Sensors
	{
		items=5;
		class Item0
		{
			position[]={6875.4316,0,11485.923};
            a=500;
            b=500;
           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="Ты нашёл чью-то базу...";
            };
		};
	};

далее найдите class Markers

у меня он вот такой, dayz 1.8.1.

class Markers
	{
		items=8;
		class Item0
		{
			position[]={7839,0,8414};
			name="center";
			type="Empty";
		};
		class Item1
		{
			position[]={-18697,0,25815};
			name="respawn_west";
			type="Empty";
		};
		class Item2
		{
			position[]={4932,0,1989};
			name="spawn0"; //spawn_balota
			type="Empty";
		};
		class Item3
		{
			position[]={2236,0,1923};
			name="spawn1"; //spawn_kamenka
			type="Empty";
		};
		class Item4
		{
			position[]={6901,0,2509}; //8738,0,2122
			name="spawn2"; //spawn_cherno
			type="Empty";
		};
		class Item5
		{
			position[]={10294,0,2191}; // OLD 10909,0,2422
			name="spawn3"; //spawn_elektro
			type="Empty";
		};
		class Item6
		{
			position[]={13510,0,5249};
			name="spawn4"; //spawn_sol
			type="Empty";
		};
		class Item7
		{
			position[]={12048,0,8352};
			name="spawn5"; //spawn_berezino
			type="Empty";
		};
	};

сразу под ним где стоит последняя скобка вставте получившийся у вас класс тригера, всё будет выглядеть вот так:

class Markers
	{
		items=8;
		class Item0
		{
			position[]={7839,0,8414};
			name="center";
			type="Empty";
		};
		class Item1
		{
			position[]={-18697,0,25815};
			name="respawn_west";
			type="Empty";
		};
		class Item2
		{
			position[]={4932,0,1989};
			name="spawn0"; //spawn_balota
			type="Empty";
		};
		class Item3
		{
			position[]={2236,0,1923};
			name="spawn1"; //spawn_kamenka
			type="Empty";
		};
		class Item4
		{
			position[]={6901,0,2509}; //8738,0,2122
			name="spawn2"; //spawn_cherno
			type="Empty";
		};
		class Item5
		{
			position[]={10294,0,2191}; // OLD 10909,0,2422
			name="spawn3"; //spawn_elektro
			type="Empty";
		};
		class Item6
		{
			position[]={13510,0,5249};
			name="spawn4"; //spawn_sol
			type="Empty";
		};
		class Item7
		{
			position[]={12048,0,8352};
			name="spawn5"; //spawn_berezino
			type="Empty";
		};
	};
	class Sensors
	{
		items=5;
		class Item0
		{
			position[]={6875.4316,0,11485.923};
            a=500;
            b=500;
           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="Ты нашёл чью-то базу...";
            };
		};
	};
};

ниже под последней строкой уже идёт класс интро, он не нужен вам

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здарова были!!!Вот по поводу приватки пишу.Я тут кое чего накопал чтобы сделать приватку прикольной.Но не могу никак активировать нормально.То одно не работает то другое.Вот ссылка   https://yadi.sk/d/Q3qmzh1AWYUXb  на мой диск яндекс если будет время проверьте если это не очень трудно.Ну и буду ждать гайдик.Думаю все будут многократно благодарны за такую базу.

                         С ув.Митяй

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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, так что персонаж

погибнет. Вы можете экспериментировать и использовать значения эффектов

из поста выше.

r_player_blood = 0, но при этом игрок живет и довольно успешно бегает по приватке, даже не переливая себе кровь и не подпитываясь едой.

Как сделать, чтобы он через 20 секунд гарантированно склеил ласты?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

r_player_blood = 0, но при этом игрок живет и довольно успешно бегает по приватке, даже не переливая себе кровь и не подпитываясь едой.

Как сделать, чтобы он через 20 секунд гарантированно склеил ласты?

Сделай кровь на значение 10, например, и поставь кровотечение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В dayz mod файле mission.sqm нету класса class Sensors

что делать? Добавлении этого класса под классом маркер не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В dayz mod файле mission.sqm нету класса class Sensors

что делать? Добавлении этого класса под классом маркер не работает.

 

 

    class Markers
    {
        items=8;
        class Item0
        {
            position[]={7839,0,8414};
            name="center";
            type="Empty";
        };
        class Item1
        {
            position[]={-18700,0,25800};
            name="respawn_west";
            type="Empty";
        };
        class Item2
        {
            position[]={4932,0,1989};
            name="spawn0"; //spawn_balota
            type="Empty";
        };
        class Item3
        {
            position[]={2236,0,1923};
            name="spawn1"; //spawn_kamenka
            type="Empty";
        };
        class Item4
        {
            position[]={6901,0,2509}; //8738,0,2122
            name="spawn2"; //spawn_cherno
            type="Empty";
        };
        class Item5
        {
            position[]={10294,0,2191}; // OLD 10909,0,2422
            name="spawn3"; //spawn_elektro
            type="Empty";
        };
        class Item6
        {
            position[]={13510,0,5249};
            name="spawn4"; //spawn_sol
            type="Empty";
        };
        class Item7
        {
            position[]={12048,0,8352};
            name="spawn5"; //spawn_berezino
            type="Empty";
        };
    };
    class Sensors
    {
        items=1;
        class Item0
        {
            position[]={4926.104,0,2234.3665};
            a=50;
            b=50;
            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 [""You have left the infected base ."", ""PLAIN DOWN"", 3];";
            class Effects
            {
                titleType="TEXT";
                titleEffect="PLAIN DOWN";
                title="You have entered the infected base...";
            };
        };
    };
};
class Intro
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...