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

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

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

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

Информация: 

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

 

Что нужно для установки мода:

 

1)Notepad

2)и 5 минут времени

 

 

Установка:

 

Шаг 1;В папке Вашей миссии создайте папку scripts(если отсутствует).В ней создайте текстовый файл с расширением sqf и назовите его zombieshield.sqf 

Шаг 2; Скопируйте и вставьте в него следующий код;

private ["_mypos", "_dir", "_createShield", "_sounddist", "_timeplay", "_shield", "_shieldUp", "_timer", "_zombies", "_count", "_zombie", "_soundList"];
 
player playActionNow "Medic";
sleep 1;
titleText ["You are building an Anti-Zombie Frequency Emitter.","PLAIN DOWN"]; titleFadeOut 5;
 
_mypos = getposATL player;
_dir = getdir player;
_mypos = [(_mypos select 0)+2*sin(_dir),(_mypos select 1)+2*cos(_dir), (_mypos select 2)];
_createShield = createVehicle ["SkeetMachine", _mypos, [], 0, "CAN_COLLIDE"];
_createShield setDir _dir;
_createShield setposATL _mypos;
sleep 1;
 
player removeMagazine "TrashJackDaniels";
player removeMagazine "TrashTinCan";
player removeMagazine "PartEngine";
player removeMagazine "ItemJerrycan";
sleep 0.01;
player addMagazine "ItemJerrycanEmpty";
 
titleText ["Device activated.","PLAIN DOWN"]; titleFadeOut 5;
 
_sounddist = 50;
_timeplay = 18;
while {_timeplay > 1} do {
    _shield = nearestObject [player, "SkeetMachine"];
    [nil,_shield,rSAY,["engine_12s", _sounddist]] call RE;
 
    _shieldUp = (alive _shield);
    _timer = time;
    while {_shieldUp} do {
        _zombies = (getPosATL _shield) nearEntities ["zZombie_Base",20];
        _count = count _zombies;
 
        for "_i" from 0 to (_count -1) do {
            _zombie = _zombies select _i;
            _zombie setdamage 1;
            sleep 0.01;
        };
        if ((time - _timer) > 10) exitwith {};
    };
    _soundList = ["PMC_ElectricBlast1","PMC_ElectricBlast2"] call BIS_fnc_selectRandom;
    [nil,_shield,rSAY,[_soundList, _sounddist]] call RE;
    _timeplay = _timeplay - 1;
};
 
sleep 1;
deleteVehicle _createShield;
titleText ["Device deactivated.","PLAIN DOWN"]; titleFadeOut 5;

Шаг 3:Откройте Ваш fn_selfActions и в самый низ нужно добавить следующий код;

 

// ZOMBIE SHIELD START
if (("TrashTinCan" in magazines player) && ("TrashJackDaniels" in magazines player) && ("PartEngine" in magazines player) && ("ItemJerrycan" in magazines player) && ("ItemToolbox" in items player)) then {
    hasShield = true;
} else {
    hasShield = false;
};
if (hasShield) then {
    if (zombieShield < 0) then {
    zombieShield = player addAction [("<t color=""#00c362"">" + ("Анти-Зомби Эммитер") +"</t>"),"scripts\zombieshield.sqf","",5,false,true,"",""];
    };
} else {
    player removeAction zombieShield;
    zombieShield = -1;
};
// ZOMBIE SHIELD END

На этом установка завершена.

Как использовать?

1)Нужно убедиться что в вашем инвентаре есть все необходимые предметы,это; пустая консервная банка,двигатель,канистра с бензином,пустая бутылка из под виски.Далее крутим колесико мышки и появиться надпись ("Анти-Зомби Эммитер")

это устройство будет убивать зомби которые находятся в радиусе 20 метров в течение 3 минут.

Какие бывают проблемы?;1)У меня есть необходимые детали в моем инвентаре но при прокрутке колесика нечего не появляется?Тогда Вам нужно вытащить двигатель или любой друг предмет на землю, после чего взять его снова.

Видео

 

 

 

​​​

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


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

все работает , спасибо давно искал

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


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

У меня работает, у игроков нет (иногда появляется и резко исчезает) , может в инфи вписать где то в исключения ?

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


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

У меня работает, у игроков нет (иногда появляется и резко исчезает) , может в инфи вписать где то в исключения ?

Незнаю у меня все норм и у игроков тоже почитай в гайде какие бывают проблемы и как решаются. Пусть попробуют выкинуть к примеру двигатель и взять снова.потом поробывать собрать.а да проверка скролл меню в инфи отключена у меня

 

Check Actions ?                     */ _CSA =  false;    /* Рекомендуется:   true */        

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


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

Да я понимаю , что если откл проверку то и у игроков заработает, но хотелось просто внести в исключения, а я не могу разобраться как...

Но и за то спасибо .

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


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

Занести переменную отвечающую за вызов скролл меню.

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


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

Занести переменную отвечающую за вызов скролл меню.

Можно подробно ? Пытался понять по примеру заливки крови, но запутался и ушел спать.

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


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

Можно подробно ? Пытался понять по примеру заливки крови, но запутался и ушел спать.

С телефона пишу.

Если с кровью, то перменная находиться в fn_selfaction.sqf

 

Находим нужное нам скролл меню. У нас кровь. И начинается она с переменной. S_self_blood. Ну примерно.

Вот эту переменную и надо вписать. Дома буду уточню переменную.

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


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

 

Вот эту переменную и надо вписать. Дома буду уточню переменную.

 

Если можно , то уточните и куда ее вставить , чтоб ошибок небыло.

 

И еще, может знает кто как настроить этот скрипт ? Там вроде 2 настройки , время и дистанция. Время увеличил _timeplay = 30 ,все норм. а вот  с расстоянием _sounddist = 120; (= 50; по умлчанию) непонятно .увеличение ничего не дало, дохнут почти рядом. а отбежиш метров на 50 и генератор вообще исчезает хоть время и не вышло. Вообщем нормально побегать например по казармам -неполучится. Нужно увеличить расстояние и убрать проверку присутствия игрока(или увеличить), чтоб работал сколько задано. Пытался сам, но скрипт просто перестает работать.

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


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

Если можно , то уточните и куда ее вставить , чтоб ошибок небыло.

 

И еще, может знает кто как настроить этот скрипт ? Там вроде 2 настро

настройки , время и дистанция. Время увеличил _timeplay = 30 ,все норм. а вот с расстоянием _sounddist = 120; (= 50; по умлчанию) непонятно .увеличение ничего не дало, дохнут почти рядом. а отбежиш метров на 50 и генератор вообще исчезает хоть время и не вышло. Вообщем нормально побегать например по казармам -неполучится. Нужно увеличить расстояние и убрать проверку присутствия игрока(или увеличить), чтоб работал сколько задано. Пытался сам, но скрипт просто перестает работать.

s_player_selfBloodbag

 

_zombies = (getPosATL _shield) nearEntities ["zZombie_Base",20];

 

20 - радиус уничтожения от щита

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


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

s_player_selfBloodbag _zombies = (getPosATL _shield) nearEntities ["zZombie_Base",20]; 20 - радиус уничтожения от щита

 

Радиус уничтожения работает, странно, вчера менял -пропадало меню вызова, думал не то.

 

s_player_selfBloodbag- это удалить нужно из AHconfig.sqf ?

 

Как увеличить расстояние или убрать проверку присутствия игрока ?  Отбегаешь метров на 70 и излучатель исчезает. Теряет смысл увеличение радиуса уничтожения зомби. Сделали б тогда чтоб эмиттер переставить можно было.

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

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


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

Отбегаешь метров на 70 и излучатель исчезает. Теряет смысл увеличение радиуса уничтожения зомби. Сделали б тогда чтоб эмиттер переставить можно было.

потому что скрипт делал школьник либо очень начинающий. Попробуй это:

 

_shield = nearestObject [player, "SkeetMachine"];
 

Заменить на:

_shield = nearestObjects [player, "SkeetMachine", 200];

где 200 - радиус, в пределах которого можно бегать.

 

А если по другому, то это:

deleteVehicle _createShield;

заменить на:

if ((player distance _shield) > 200) then {
deleteVehicle _createShield
};

где 200 тоже радиус, в пределах которого можно бегать

 

не забыть в самом начале скрипта прописать:

_shield = [];

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


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

Ну а если запариться с переставлением, то можно сделать разбор этой фигни.

 

В selfactions прописать:

if (cursortarget isKindOf "SkeetMachine") then {
    if (zombieShieldes < 0) then {
    zombieShieldes = player addAction [("<t color=""#00c362"">" + ("Разобрать") +"</t>"),"scripts\zombieshieldes.sqf","",5,false,true,"",""];
    };
} else {
    player removeAction zombieShieldes;
    zombieShieldes = -1;
};

создать файл zombieshieldes.sqf и в него вписать:

_shield = nearestObject [player, "SkeetMachine"];
deletevehicle _shield;
player addmagazineglobal ["TrashTinCan"];
player addmagazineglobal ["TrashJackDaniels"];
player addmagazineglobal ["PartEngine"];
player addmagazineglobal ["ItemJerrycan"];

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


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

 

Попробуй это:

 

Попробовал все варианты, изменений нет, пропадает метров через 70.   незнаю где искать уже.

 

 

то можно сделать разбор этой фигни.

 

эмиттер разбирается, запчасти  добавляются,только в zombieshieldes.sqf нужно так :

_shield = nearestObject [player, "SkeetMachine"];
deletevehicle _shield;
player addMagazine "TrashTinCan";
player addMagazine "TrashJackDaniels";
player addMagazine "PartEngine";

. ну и раз он теперь разбирается, то логично эмиттеру вообще не исчезать, а просто прекратить функции (звук и убийство зомби), типо бенз кончился. это реально ?

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


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

 

это реально ?

По секрету, в Арме вообще почти все реально.

 

Странно, что nearestobjects не пашет, потому что nearestObject пашет только в радиусе 50ти метров.

 

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

Вместо:

deleteVehicle _createShield;

Вписать:

_pos1 = getposATL _createShield;
deleteVehicle _createShield;
_createShield = createVehicle ["SkeetMachine", _pos1, [], 0, "CAN_COLLIDE"];
shieldnofuel = true;


В самом начале скрипта написать:

shieldnofuel = false;
_shieldel = nearestObject [player, "SkeetMachine"];
deleteVehicle _shieldel;

 

В fn_selfactions.sqf вписать:

if ((shieldnofuel) && ("ItemJerrycan" in magazines player)) then {
    canrefshield = true;
} else {
    canrefshield = false;
};
if (canrefshield) then {
    if (RefuelShield < 0) then {
    RefuelShield = player addAction [("<t color=""#00c362"">" + ("Заправить") +"</t>"),"scripts\zombieshield.sqf","",5,false,true,"",""];
    };
} else {
    player removeAction RefuelShield;
    RefuelShield = -1;
};

 

 

Немного на быдлокодил, но должно работать. С мобилы писал

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


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

Странно, что nearestobjects не пашет

 

 

Или собирает и сразу пропадает, или так : появляется но не работает , нет звука, не валит зомбей.

 

 

Немного на быдлокодил, но должно работать. С мобилы писал

 

А вот с заправкой (правда *заправить* появляется даже если эмиттер не собран) теперь вообще норм ( спасибо огромное) , становится более реалистично , в дальнейшем может заменю компоненты.

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

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


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

А вот с заправкой (правда *заправить* появляется даже если эмиттер не собран) теперь вообще норм ( спасибо огромное) , становится более реалистично , в дальнейшем может заменю компоненты.

исправь это:

if ((shieldnofuel) && ("ItemJerrycan" in magazines player)) then {

на:

if ((shieldnofuel) && ("ItemJerrycan" in magazines player) && (cursortarget isKindOf "SkeetMachine")) then {

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.

Поддержка