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

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

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

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

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

[Гайд/FIX] - Переодеваемся только без Рюкзака.

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






Отлично. Спасибо, думаю пригодится многим.

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


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

Наверное все заметили что с версией 1.0.5+ стало можно переодеваться с рюкзаком, но сколько от этого проблем появилось.

Пропажа инвентаря, сброс хуманити и другое.

 

Вот решение :)

 

1) Копируем из dayz_code.pbo/actions файл player_wearClothes.sqf

2) Далее в MPmissons создаем папку Fixes (Ну или любую другую, я делаю все красиво) и перекидываем файл туда.

3) Открываем файл и расскомментируем эту строчку: 

if (!isNull (unitBackpack player)) exitWith { DZE_ActionInProgress = false; cutText [(localize "STR_EPOCH_ACTIONS_9"), "PLAIN DOWN"] };

 

4) Далее открываем ваш модифицированный Compiles.sqf и меняем:

player_wearClothes =		compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_wearClothes.sqf";

На 

player_wearClothes =		compile preprocessFileLineNumbers "Fixes\player_wearClothes.sqf";

5) Радуемся! :3 Теперь игроки просто не смогут переодеться с рюкзаком, а только без него. Вообщем как было в 1.0.4.2.

 

Кому лень искать файл в dayz_code.pbo или не понимает где он и т.п, то прикладываю содержимое файла player_wearClothes.sqf

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

 

 

 

 

private ["_item","_onLadder","_hasclothesitem","_config","_text","_myModel","_itemNew","_currentSex","_newSex","_model","_playerNear"];

if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_83") , "PLAIN DOWN"] };
DZE_ActionInProgress = true;

_item = _this;
call gear_ui_init;

_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
if (_onLadder) exitWith {DZE_ActionInProgress = false; cutText [(localize "str_player_21") , "PLAIN DOWN"]};

_hasclothesitem = _this in magazines player;
_config = configFile >> "CfgMagazines";
_text = getText (_config >> _item >> "displayName");

if (!_hasclothesitem) exitWith { DZE_ActionInProgress = false; cutText [format[(localize "str_player_31"),_text,"wear"] , "PLAIN DOWN"]};

if (vehicle player != player) exitWith { DZE_ActionInProgress = false; cutText [(localize "str_epoch_player_85"), "PLAIN DOWN"]};

if (!isNull (unitBackpack player)) exitWith { DZE_ActionInProgress = false; cutText [(localize "STR_EPOCH_ACTIONS_9"), "PLAIN DOWN"] };

if ("CSGAS" in (magazines player)) exitWith { DZE_ActionInProgress = false; cutText [(localize "STR_EPOCH_ACTIONS_10"), "PLAIN DOWN"] };

_myModel = (typeOf player);
_itemNew = "Skin_" + _myModel;

if ( (isClass(_config >> _itemNew)) ) then {
if ( (isClass(_config >> _item)) ) then {

_currentSex = getText (configFile >> "CfgSurvival" >> "Skins" >> _itemNew >> "sex");
_newSex = getText (configFile >> "CfgSurvival" >> "Skins" >> _item >> "sex");

if(_currentSex == _newSex) then {
_model = getText (configFile >> "CfgSurvival" >> "Skins" >> _item >> "playerModel");
if (_model != _myModel) then {
if(([player,_item] call BIS_fnc_invRemove) == 1) then {
player addMagazine _itemNew;
[dayz_playerUID,dayz_characterID,_model] spawn player_humanityMorph;
};
};

} else {
cutText [(localize "str_epoch_player_86"), "PLAIN DOWN"];
};
};
};
DZE_ActionInProgress = false;
 

 

 

 

Спасибо, все четко работает. Но есть небольшой косячек. Где изменить текст, который пишется при попытке, переодеться. Так как пишет какой то бред, про одевание рюкзака.

Пишет: Нельзя переодеваться, переодевая рюкзак.

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

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


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

Спасибо, все четко работает. Но есть небольшой косячек. Где изменить текст, который пишется при попытке, переодеться. Так как пишет какой то бред, про одевание рюкзака.

Пишет: Нельзя переодеваться, переодевая рюкзак.

Никак, это в самом моде в стрингтэйблах.

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


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

Никак, это в самом моде в стрингтэйблах.

То есть, вообще ни как...(((

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


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

 

Никак, это в самом моде в стрингтэйблах.

Строчку которую раскомментировали уберите localize, а потом все что в ковычках убираете и меняете на свой текст.

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


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

 

Строчку которую раскомментировали уберите localize, а потом все что в ковычках убираете и меняете на свой текст.

Кстати да, не подумал, что можно не исправлять, а просто заменить

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


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

Глупый вопрос) Где взять  Compiles.sqf  или что использовать вместо него?

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


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

Глупый вопрос) Где взять  Compiles.sqf  или что использовать вместо него?

Вытащить с dayz_code и подключить в миссию.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: BorizzK
      Палатки пофикшены
      Ну разве что не ставятся на крест на церкви, ставятся чуть ниже
      Все чисто серверное
       
      Выложу завтра днем после небольшой доработки - что бы красиво было
       
      Вот резалт
       
       

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: 123new
      Такого плана вопрос по моддингу на 1.0.
      В моде есть, например, класс:
      class ExpansionGlobalChat с кучей функций
      создаю свой мод, в котором указываю
      modded class ExpansionGlobalChat { override void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { super.GlobalChat(type, ctx, sender, target); Param2< string, string > data; if ( !ctx.Read( data ) ) return; if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; Print(format); } } } и пакую, запускаю сервер. Пишет как на скрине.

      Если modded убираю - пишет что класс уже используется. Что я не так делаю? Как делать правильно? не допираю.
    • Автор: 123new
      Автор скрипта: http://s-platoon.ru/profile/48-nonameultima/
      Все благодарности за этот скрипт непосредственно автору скрипта, не мне!
       
      Процедурка для получения дистанции между двумя точками, без учета высоты.
      Class Ultima_Functions { static float Distance2D(vector v_PointA, vector v_PointB) {return Math.Sqrt( Math.Pow((v_PointA[0] - v_PointB[0]), 2) + Math.Pow((v_PointA[2] - v_PointB[2]), 2) );} } Пример использования:
      vector v_A = "0 0 0"; vector v_B = "100 100 100"; float v_Distance2D; v_Distance2D = Ultima_Functions.Distance2D(v_A, v_B); Print(string.Format("Дистанция между точками: %1м", v_Distance2D));  
    • Автор: pekar0201
      Как запретить постройку сейфов без 30m plot pole???
  • Наш выбор

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

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

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