Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Recommended Posts

Информация: 

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

 

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

 

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)У меня есть необходимые детали в моем инвентаре но при прокрутке колесика нечего не появляется?Тогда Вам нужно вытащить двигатель или любой друг предмет на землю, после чего взять его снова.

Видео

 

 

 

​​​

Share this post


Link to post
Share on other sites



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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

s_player_selfBloodbag

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

Edited by shturman (see edit history)

Share this post


Link to post
Share on other sites

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

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

 

_shield = nearestObject [player, "SkeetMachine"];
 

Заменить на:

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

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

 

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

deleteVehicle _createShield;

заменить на:

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

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

 

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

_shield = [];

Share this post


Link to post
Share on other sites

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

 

В 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"];

Share this post


Link to post
Share on other sites

 

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

 

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

 

 

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

 

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

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

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

Share this post


Link to post
Share on other sites

 

это реально ?

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

 

Странно, что 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;
};

 

 

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

Share this post


Link to post
Share on other sites

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

 

 

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

 

 

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

 

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

Edited by shturman (see edit history)

Share this post


Link to post
Share on other sites

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

исправь это:

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

на:

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Trundel
      Помогите разобраться со скриптом ЩИТ АНТИ-ЗОМБИ скрипт взят от сюда http://www.dayzpatriots.com/fred-s-anti-zombie-frequency-emitter-aka-zombie-shield-t68.html
       
      он рабочий все хорошо, пришлось покопаться в анти чите чтобы он работал, так вот хочу понять как подправить скрипт чтобы увеличить радиус действия щита, и чтобы он не пропадал.
×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.