18 сообщений в этой теме

Информация: 

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

 

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

 

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

Видео

 

 

 

​​​

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


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


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

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


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

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

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

 

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

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

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


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

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

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

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

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


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

Войти

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


Войти сейчас

  • Похожие публикации

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