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

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
DrTauren

[Cannibalism] - Возможность каннибализма

Recommended Posts

Данный скрипт позволит вам разделывать и съедать трупы игроков. Существует 10% шанс того что вы отрубите себе палец во время этого интересного занятия и потеряете 1000 крови. За каждый "сеанс" каннибализма ваша человечность будет снижаться на 500. :)

Что нам понадобится:
Глазки, ручки, 120г мозга и пять минут личного времени  :tounge1:

 

Инструкция:
1) Создаём папку fixes в папке вашей миссии
2) В папке fixes создаём файл gather_meat_Human.sqf и вставляем туда этот код:

private["_hasKnife","_qty","_item","_text","_string","_type","_loop","_meat","_timer"];
_item = _this select 3;
_hasKnife =    "ItemKnife" in items player;
_type = typeOf _item;
_hasHarvested = _item getVariable["meatHarvested",false];

player removeAction s_player_butcher;
s_player_butcher = -1;

if (_hasKnife and !_hasHarvested) then {

    _loop = true;
    _rnd = random(100);

    player playActionNow "Medic";
    [player,"gut",0,false] call dayz_zombieSpeak;
    _item setVariable["meatHarvested",true,true];

    if (_rnd > 90) then {
        r_player_inpain = true;
        player setVariable["USEC_inPain",true,true];
        r_player_blood = r_player_blood - 1000;
        cutText ["You feel the knife slice your finger.", "PLAIN DOWN"];
    };

    _qty = (random 3);

    _id = [player,50,true,(getPosATL player)] spawn player_alertZombies;

    _humanity = player getVariable ["humanity",0];
_humanity = _humanity - 500;
player setVariable["humanity", _humanity,true];

    _array = [_item,_qty];
    _meat = "FoodSteakRaw";

        for "_x" from 1 to _qty do {
                _item addMagazine "FoodSteakRaw";
                _result = [player,_meat] call BIS_fnc_invAdd;
                if (_result) then {

                } else {
                    cutText ["You didn't have enough room to store the meat :(", "PLAIN DOWN"];
                    _x = _qty;
                }

        };

    sleep 8;
    cutText ["You have gutted a human your hands are covered with blood, you feel your humanity lower.", "PLAIN DOWN"];
};

3) Открываем ваш кастомный fn_selfActions.sqf и находим секцию:

//Repairing Vehicles

и после этой секции (не строчки!) вставляем код:

//####    Gut fools ####
    if (!_isAlive and !_isZombie and !_isAnimal and !_isHarvested and _isMan and _hasKnife and _canDo) then {
        if (s_player_butcher_human < 0) then {
            s_player_butcher_human = player addAction [format["Gut Human"], "fixes\gather_meat_human.sqf",cursorTarget, 0, false, true, "", ""];
        };
    } else {
        player removeAction s_player_butcher_human;
        s_player_butcher_human = -1;
    };

    //##############################

5) Ищем массив:

dayz_resetSelfActions = {

и добавляем в него:

s_player_butcher_human = -1;

 

Вот и всё :) Перевод с Опендейзи. Скрипт для @DayZ, но на форуме Эпохи нашёл инфу, что и нам это чудо подойдёт.
Гайд обновлён, исправлены ошибки и неточности. Спасибо @no_id  :cool1:

 

Оригинал статьи: http://opendayz.net/threads/cannibalism.12218/

Share this post


Link to post
Share on other sites







:ohmy:  до чего дожились, уже друг друга кушать будем :blink:

Share this post


Link to post
Share on other sites

Ну в условиях зомби-апокалипсиса это нормальная практика, кстати. Ну, для бандюков, мародёров и прочих.

Share this post


Link to post
Share on other sites

Ну в условиях зомби-апокалипсиса это нормальная практика, кстати. Ну, для бандюков, мародёров и прочих.

чувствуется влияние 5 сезона The Walking dead   :no:

Edited by m3scope (see edit history)

Share this post


Link to post
Share on other sites

А файл variables.sqf  располагается по этому пути? "\z\addons\dayz_code\init\variables.sqf"

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

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

Share this post


Link to post
Share on other sites

А файл variables.sqf  располагается по этому пути? "\z\addons\dayz_code\init\variables.sqf"

Да.

 

в dayz_server.pbo

Share this post


Link to post
Share on other sites

player removeAction s_player_flipveh;

 

Таких строчек 2шт, после какой из них вставлять? Верхней или нижней?

Share this post


Link to post
Share on other sites

у когото сей скрипт работает?

 

интересня штука , но после того как я вставляю в конец вариабла after dayzState = -1;

s_player_butcher_human = -1; , все игроки становятся невидимыми , бесмертными , без крови и со сломаными ногами ЛОЛ

Share this post


Link to post
Share on other sites

 

интересня штука , но после того как я вставляю в конец вариабла after dayzState = -1; s_player_butcher_human = -1; , все игроки становятся невидимыми , бесмертными , без крови и со сломаными ногами ЛОЛ

 

тоже самое, что не правильно?

Share this post


Link to post
Share on other sites

тоже самое, что не правильно?

тут перевод немного кривоват , не в самый низ добавить,  а после  dayzState = -1; добавить s_player_butcher_human = -1;

 

но у меня всеравно не заработало (

мб проголодатся нужно?

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

 

 

дай знать если заработает :smile:

Edited by no_id (see edit history)

Share this post


Link to post
Share on other sites

пункт 4 ненужен , пункт 5 s_player_butcher_human = -1; вставить в конец массива dayz_resetSelfActions = {

 

и все работает ! кушайте не обляпайтесь !

p.s. после каждого разделывания френли в рпт идет ошибка

sleep _wait;
player setVariable ["freeTarget",>
Error position: <_wait;
player setVariable ["freeTarget",>
Error Undefined variable in expression: _wait
File z\addons\dayz_code\compile\player_humanityChange.sqf, line 18
Error in expression 

 

если ктото решит делитесь...

Share this post


Link to post
Share on other sites

пункт 4 ненужен , пункт 5 s_player_butcher_human = -1; вставить в конец массива dayz_resetSelfActions = {

 

и все работает ! кушайте не обляпайтесь !

p.s. после каждого разделывания френли в рпт идет ошибка

sleep _wait;

player setVariable ["freeTarget",>

Error position: <_wait;

player setVariable ["freeTarget",>

Error Undefined variable in expression: _wait

File z\addons\dayz_code\compile\player_humanityChange.sqf, line 18

Error in expression 

 

если ктото решит делитесь...

делюсь,

Вместо этих строк:

 

dayzHumanity = [player,-500];

_id = dayzHumanity spawn player_humanityChange;

 

Вставляем эти:

 

_humanity = player getVariable ["humanity",0];

_humanity = _humanity - 500;

player setVariable["humanity", _humanity,true];

 

Share this post


Link to post
Share on other sites

То что нужно!

Автору лойс.

Как раз в стиле апокалипсиса.

Что бы выжить нужно есть других))

Share this post


Link to post
Share on other sites

[success=Добавил ссылку на превоисточник][/success]

Share this post


Link to post
Share on other sites

"5) Ищем массив:

  •  
  •  
  •  
  1. dayz_resetSelfActions = {"

 

в каком файле это искать ? 

Share this post


Link to post
Share on other sites

"5) Ищем массив:

  •  
  •  
  •  
  1. dayz_resetSelfActions = {"

 

в каком файле это искать ? 

Variables.sqf

 

единственный минус этого скрипта это возможность хавать ботов , если кто придумает как запретить сие действие поделитесь пожалуйста )

Edited by no_id (see edit history)

Share this post


Link to post
Share on other sites

Variables.sqf

 

единственный минус этого скрипта это возможность хавать ботов , если кто придумает как запретит сие действие поделитесь пожалуйста )

а как собственно съесть труп ? кручу колесико, ничего не появляется.

Share this post


Link to post
Share on other sites

а как собственно съесть труп ? кручу колесико, ничего не появляется.

В AH допишите исключение для скролл меню или отключите вообще проверку (Не рекомендуется).

Share this post


Link to post
Share on other sites

В AH допишите исключение для скролл меню или отключите вообще проверку (Не рекомендуется).

сделал, не дало результата. 

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 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • By 123new
      Много вопросов на данную тему наблюдаю от новичков, попробую прояснить немного сей вопрос.
       
      Предположим. что вы уже знаете на каких координатах вам надо спавнить определенное здание или объект\животное\бота, с каким углом поворота. И так. эта тема для вас.
       
      Сразу делаю пометку, метод, который добавили нам разработчики игры в патче 1.15, очень хорошо описал наш товарищ в сообщении форума:
      Рекоммендую вам использовать именно его!
      Ниже опубликованы старые методы.
       
      Если вы с расставили их с модифицированной версии Offline (Offline by Arksenor это называется), то вы получили и нашли код вида:
      GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13260.040039 0.0 3670.984131").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13262.756836 0.0 3645.180176").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13265.441406 0.0 3619.531982").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13268.124023 0.0 3593.995361").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13270.844727 0.0 3568.186523").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13273.514648 0.0 3542.561279").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13276.195313 0.0 3517.048828").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13278.399414 0.0 3496.097900").SetOrientation("-96.000000 0.000000 0.000000"); Здесь (по примеру первой строки) 1 значение в скобках - id постройки/объекта, 2 значение - координаты в формате X Y Z, разделенные пробелом, 3 - значение поворота примерно в том же формате.
      Как это делать в Offline - статья от автора Offine:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Add-custom-objects-to-your-server-or-mission
       
      И так, инструкция:
      1. Добавляем в начало init.c файла в вашей mpmissions следующий код:
      #include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\spawn_buildings.c" 2. Создаем в папке вашей активной mpmissions файлик spawn_buildings.c и заполняем его следующей информацией.
      void SpawnObject( string type, vector position, vector orientation ) { private string NameBlockLog = "[CreateObject] "; private string InfoLog = ""; if(type != "") { auto obj = GetGame().CreateObject( type, "0 0 0" ); if(obj) { if ((position[0] != 0) && (position[1] != 0) && (position[2] != 0)) { obj.SetPosition( position ); obj.SetOrientation( orientation ); obj.Update(); if (obj.CanAffectPathgraph()) { obj.SetAffectPathgraph(true, false); GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj); } InfoLog = "[Type: '" + obj.GetType() + "' Position: '" + obj.GetPosition().ToString() + "' Orientation: '" + obj.GetOrientation().ToString() + "']"; Write_Log(NameBlockLog + " Object has been created successfully! Info " + InfoLog); } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed position. Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed type. Info " + InfoLog); } } void Write_Log(string message) { Print(String(message)); } 3. Открываем созданный нами файл,  и в конце файла дописываем следующее:
      void SpawnAirfeeldBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } void SpawnKrasnoBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } Где после void - название функции идет, а между открытыми скобками вызов спавна самих зданий на указанных координатах.
      На примере 1 строки:
      Land_CementWorks_ExpeditionB - id постройки (type)
      13251.875000 0.0 3748.525879 - координаты в формате X Y Z
      -96.000000 0.000000 0.000000 - значение поворота в формате X Y Z
      Внимание: id постройки и координаты в примере указаны не верные и требуют подключения дополнительной модификации для корректной работы!!! Координаты не соответствуют названию функции!!!
      4. открываем в MpMissions в папке с вашей активной миссией init.c и перед ЗАКРЫВАЮЩЕЙ скобкой '}' дописываем нужную нам функцию (это будет активация спавна на карте):
      SpawnAirfeeldBuildings(); 5. Готово, Запускайте сервер, и в scripts.log вы увидите процедуру спавна ваших зданий и увидите, спавнятся ли они на карте или нет.
      Можно написать конечно и более готовую, универсальную систему спавна на карте со считыванием конфигурации из файла, но я считаю это лишним.
       
      Как заполнить добавленные здания лутом на карте:
      вариант 1:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Enable-loot-for-custom-placed-objects
      вариант 2: вручную заполнить xml-файл  mapgrouppos.xml в mpmssions данными о местоположении зданий, где rpy - значение поворота здания в формате Z Y X
       
      С помощью данной статьи вы можете разместить любой элемент игры(постройку, животное, зомби, бота), доступный к спавну через любую модификацию-админ. панель. Очень полезный мод в этом смысле BuilderItems, с его помощью можно творить поистину интересные локации!
    • By Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
    • By CubeIn
      Здарова, уважаемые знатоки, вопрос.
      Мне скриптер скинул скрипт и сказал закинуть её в северную часть, но не указал куда именно. Подскажите пожалуйста, куда мне её деть? 
    • By CubeIn
      Здарова всем!
      У меня срочный вопрос опытным хозяинам серверостроения. Есть ли возможность настроить холод на карте Namalsk? А то слишком холодновато игрокам, а где это настраивать...
  • Our picks

×
×
  • 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.