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

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

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

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

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

[Take Clothes] - Скрипт снятия скинов

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

Что нам понадобится:
1) Файл player_takeClothes
2) Файл fn_selfActions.sqf

3) Notepad

Инструкция:
1) Качаем файлы, создаём папку "scripts" в папке нашей миссии (MPMissions\DayZ_Epoch_11.Chernarus) и скидываем файлы из архивов в эту папку.
2) Заходим в "init.sqf" и ищем эти строки:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
//Compile regular functions
progressLoadingScreen 0.5;
 

Добавляем сразу после них это:

fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";
 

3) Заходим в "fn_selfActions.sqf" и ищем эти строки:

//Sleep
            if(_isTent and _ownerID == dayz_characterID) then {
             if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
              s_player_sleep
= player addAction [localize "str_actions_self_sleep",
"\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false,
true, "",""];
             };
            } else {
             player removeAction s_player_sleep;
             s_player_sleep = -1;
            };
 

Добавляем сразу после них это: 

_clothesTaken = cursorTarget getVariable["clothesTaken",false];
                       
               // Take clothes by Zabn @ BalotaBuddies.net
               if (_isMan and !_isAlive and !_isZombie and !_clothesTaken) then {
                   if (s_player_clothes < 0) then {
                       s_player_clothes
= player addAction [("<t color='#0096ff'>")+("Take
Clothes")+("</t>"), "scripts\player_takeClothes.sqf",cursorTarget,
-10, false, true, "",""];
                   };
               } else {
                   player removeAction s_player_clothes;
                   s_player_clothes = -1;
                   };




 

4) Откройте папку BattlEye (MPMissions\DayZ_Epoch_11.Chernarus\BattlEye), зайдите в "setvariable.txt" и конец первой строки добавьте:

!="clothesTaken"
 


 

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


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





Файл fn_selfActions.sqf обновлён. Не были прописаны некоторые действия клиента для Epoch. Теперь всё отлично работает.

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


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

DrTauren спасибо всё сделал по инструкции и скрипт снятия скинов заработал, только с одним большим минусом: торговцы не хотят торговать , купленные машины не открываются, на трейд зонах нет god moda. Я проверил файл [fn_selfActions.sqf] и там то всё это прописано, но как отменить эти скрипты пока не пойму. Может быть ты сможешь помочь в решении этой проблемы ? Мой скайп  Al. Bullet (Сиденко Алексей)

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


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

DrTauren спасибо всё сделал по инструкции и скрипт снятия скинов заработал, только с одним большим минусом: торговцы не хотят торговать , купленные машины не открываются, на трейд зонах нет god moda. Я проверил файл [fn_selfActions.sqf] и там то всё это прописано, но как отменить эти скрипты пока не пойму. Может быть ты сможешь помочь в решении этой проблемы ? Мой скайп  Al. Bullet (Сиденко Алексей)

В RaidCall наш заходите. Я в скайпе редко.

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


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

Спасибо! Все работает! Все супер!

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


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

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

1) Файл player_takeClothes

2) Файл fn_selfActions.sqf

3) Notepad

 

Инструкция:

1) Качаем файлы, создаём папку "scripts" в папке нашей миссии (MPMissions\DayZ_Epoch_11.Chernarus) и скидываем файлы из архивов в эту папку.

2) Заходим в "init.sqf" и ищем эти строки:

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
//Compile regular functions
progressLoadingScreen 0.5;
 

Добавляем сразу после них это:

fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";
 

3) Заходим в "fn_selfActions.sqf" и ищем эти строки:

//Sleep
            if(_isTent and _ownerID == dayz_characterID) then {
             if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
              s_player_sleep
= player addAction [localize "str_actions_self_sleep",
"\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false,
true, "",""];
             };
            } else {
             player removeAction s_player_sleep;
             s_player_sleep = -1;
            };
 

Добавляем сразу после них это: 

_clothesTaken = cursorTarget getVariable["clothesTaken",false];
                       
               // Take clothes by Zabn @ BalotaBuddies.net
               if (_isMan and !_isAlive and !_isZombie and !_clothesTaken) then {
                   if (s_player_clothes < 0) then {
                       s_player_clothes
= player addAction [("<t color='#0096ff'>")+("Take
Clothes")+("</t>"), "scripts\player_takeClothes.sqf",cursorTarget,
-10, false, true, "",""];
                   };
               } else {
                   player removeAction s_player_clothes;
                   s_player_clothes = -1;
                   };




 

4) Откройте папку BattlEye (MPMissions\DayZ_Epoch_11.Chernarus\BattlEye), зайдите в "setvariable.txt" и конец первой строки добавьте:

!="clothesTaken"
 

 

 

вопрос по скрипту, с тоят миссии и с ботов снимаются скины по 10 раз, как исправить

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


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

При дабовлении в inut конфиг строчка fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";Он конфликтует с банками 3.0 ) не из-за того что в файле inet рядом стоит ) что делать !? у меня просто у сейфов машин и тд не открывается "банк ")

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

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


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

 

2) Заходим в "init.sqf" и ищем эти строки:

  1. call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";
    //Compile regular functions
    progressLoadingScreen 0.5;
    

    Добавляем сразу после них это:

  1. fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";
    

     

Здесь сказано что строку 

fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";

нужно добавлять в init.sqf. Вопрос: Что, если у меня в compiles.sqf используется такая строка но с другим путем (привязано к системе монет)? Но в ините ничего такого нет связанного с селфэкшном

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

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


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

Здесь сказано что строку 

fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";

нужно добавлять в init.sqf. Вопрос: Что, если у меня в compiles.sqf используется такая строка но с другим путем (привязано к системе монет)? Но в ините ничего такого нет связанного с селфэкшном

скорее всего опечатка, нужно дополнять существующий fn_selfActions.sqf, и сделайте копию резервную перед добавлением, т.к. большая вероятность того что что - то пойдет не так

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


Ссылка на сообщение
Поделиться на других сайтах
все сделал как написано... но возникли проблемы теперь все стало по английски, пропала буксировка техники!  есть файл рус-ый ... и где косяк с буксировкой

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


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

fn_selfaction.sqf

 вот из за этого файла и написано все на английском 

 

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


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

Потому что его не надо по 100 раз менять, а надо склеивать + перевести на русский ничего сложного не составит.

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


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

Можно-ли сделать снятие скинов, только с трупов игроков?

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


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

Можно-ли сделать снятие скинов, только с трупов игроков?

да, но не этим скриптом, этим можно сделать что бы например с бота со скином BanditW1_DZ снимался Survivor2_DZ

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


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

При дабовлении в inut конфиг строчка fnc_usec_selfActions = compile preprocessFileLineNumbers "scripts\fn_selfActions.sqf";Он конфликтует с банками 3.0 ) не из-за того что в файле inet рядом стоит ) что делать !? у меня просто у сейфов машин и тд не открывается "банк ")

та же проблема,есть решение???

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


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

та же проблема,есть решение???

если у вас уже заранее есть fn_SelfActions.sqf - не добавляйте новый. Совмещайте. Если 2 одинаковых файла - будет контачить, и заменять НЕЛЬЗЯ!

 

Специально для вас - расписан пункт 3, просто редактируйте.

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

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


Ссылка на сообщение
Поделиться на других сайтах
Дополненная установка скрипта снятия скинов
 
Что нам понадобится:
1) Файл player_takeClothes.sqf
2) Файл fn_selfActions.sqf
3) Файл variables.sqf
4) Notepad++
5) Знать как выглядят кастомные файлы fn_selfActions.sqf и variables.sqf!
 
Инструкция:
1) Качаем архив, создаём папку "custom" (или scripts - у каждого по разному) в папке нашей миссии (MPMissions\DayZ_Epoch_11.Chernarus или MPMissions\DayZ_Epoch_24.Napf) и копируем файл player_takeClothes.sqf в эту папку.
2) Заходим в Ваш кастомный "fn_selfActions.sqf" и в самом верху в секцию:

 

private ["_isWreckBuilding","_temp_keys","_magazinesPlayer", многовсего.............];
добавляем "_clothesTaken"
получится:
 private ["_isWreckBuilding","_temp_keys","_magazinesPlayer", многовсего.............,"_clothesTaken"];
 
Далее ищем эти строки:
//Sleep
            if(_isTent and _ownerID == dayz_characterID) then {
             if ((s_player_sleep < 0) and (player distance _cursorTarget < 3)) then {
              s_player_sleep
= player addAction [localize "str_actions_self_sleep",
"\z\addons\dayz_code\actions\player_sleep.sqf",_cursorTarget, 0, false,
true, "",""];
             };
            } else {
             player removeAction s_player_sleep;
             s_player_sleep = -1;
            };
 
Добавляем сразу после них это: 
    // Take clothes 
        _clothesTaken = _cursorTarget getVariable["clothesTaken",false];               
        if (_isMan and !_isAlive and !_isZombie and !_clothesTaken and !_isAnimal and (speed player <= 1) and (player distance _cursorTarget < 3)) then {
            if (s_player_clothes < 0) then {
                s_player_clothes = player addAction ["Снять одежду", "custom\player_takeClothes.sqf",_cursorTarget, -10, false, true, "",""];
                };
                } else {
                player removeAction s_player_clothes;
                s_player_clothes = -1;
                };
    // end take clothes
 
Там-же далее ищем:
    player removeAction s_player_downgrade_build;
    s_player_downgrade_build = -1;    
и ниже вставляем:
    player removeAction s_player_clothes;
    s_player_clothes = -1;   
 
3) Заходим в Ваш кастомный "variables.sqf" и в секцию
dayz_resetSelfActions = {
в самый низ добавляем:
s_player_clothes = -1;
 
4) Откройте папку BattlEye, зайдите в "setvariable.txt" и конец первой строки добавьте:
!="clothesTaken"
 
5) В infiSTAR проверьте наличие записи 
"s_player_clothes"
в секции
_dayzActions =
[
 
Всё, можно снимать одежду!
 
Отличия от шапки темы:
Скрипт немного модифицирован. 
a. cursorTarget исправлено на _cursorTarget - в логе были предупреждения.
b. Исправлено скролл-меню, если игрок двигается или отошел далее 3 метров, иначе пункт "Снять одежду" ещё долго висел в меню.
Дописаны недостающие в гайде элементы в fn_selfActions.sqf и variables.sqf
 
Серверный и клиентский логи девственно чисты.

player_takeClothes.zip

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

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


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

что значит кастомный? будет ли работать после первой инструкции? кстати первая инструкция не работает - не снимает с ботов одежду. как проверить в инфистар?

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

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


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

что значит кастомный? будет ли работать после первой инструкции? кстати первая инструкция не работает - не снимает с ботов одежду. как проверить в инфистар?

Кастомный = модифицированный вами. Вытаскиваем нужный файл из dayz_code изменяем его и подключаем в миссию.

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


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

гайд не работает.

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


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

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

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


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

Поставил данный скрипт, но скины не снимаются - нет кнопки. Еще раз по гайду прошелся и вроде всё правильно. В логах чисто.

Что может быть не так?

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


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

Поставил данный скрипт, но скины не снимаются - нет кнопки. Еще раз по гайду прошелся и вроде всё правильно. В логах чисто.

Что может быть не так?

Рыскай в FN sel action этот файл отвечает за менюхи которые на колёсико мышки

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • Автор: 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: 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, с его помощью можно творить поистину интересные локации!
    • Автор: Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
  • Наш выбор

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

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

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