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
  • 0
color32

PlotManager как разрешить разбирать объекты только владельцу и друзьям плота?

Plot Manager как разрешить разбирать объекты только владельцу и друзьям плота?

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

он вроде по умолчанию это умеет.

или я что то не понил?

Share this post


Link to post
Share on other sites



  • 0

Plot Manager как разрешить разбирать объекты только владельцу и друзьям плота?

А в чем соль то?

Если разбирать могут только владельцы, то следующим твоим вопросом станет - как запретить ломать поле-плот.

Ну а если еще и ломать его запретить, почему бы просто не поставить приватку на базу?

 

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

Share this post


Link to post
Share on other sites
  • 0

А в чем соль то?

Если разбирать могут только владельцы, то следующим твоим вопросом станет - как запретить ломать поле-плот.

Ну а если еще и ломать его запретить, почему бы просто не поставить приватку на базу?

 

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

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

 

он вроде по умолчанию это умеет.

или я что то не понил?

Возможно я не тот качал, но файлика remove.sqf не прилагалось.

Share this post


Link to post
Share on other sites
  • 0

Plot Manager как разрешить разбирать объекты только владельцу и друзьям плота?

В файле fn_selfActions.sqf заменить имеющийся код на этот:

 

//Allow owners to delete modulars
		if(_isModular || _isModularDoor || _typeOfCursorTarget in dayz_deleteBuildings) then {
			if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
				_friendsallowedremove = false; // allow friendlies added to the pole to remove
				_adminList = ["1111111"]; // Add admins here
				_findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 1];
				_IsNearPlot = count (_findNearestPoles);
				_fuid  = [];
				_allowed = [];
				if(_IsNearPlot > 0)then{
					_thePlot = _findNearestPoles select 0;
					_friends = _thePlot getVariable ["plotfriends", []];
					if(_friendsallowedremove)then{
						{
						  _friendUID = _x select 0;
						  _fuid  =  _fuid  + [_friendUID];
						} count _friends;
					}else{
						_fuid = [(_friends select 0)select 0];
					};
					if(dayz_characterID == _ownerID || (getPlayerUID player) in (_adminList + _fuid))then{  // // If u want that the object also belongs to someone on the plotpole.
						_player_deleteBuild = true;
					};
				}else{
					if(dayz_characterID == _ownerID || (getPlayerUID player) in _adminList)then{
						_player_deleteBuild = true;
					};
				};                                        
			};
		};
//Allow owners to delete modular doors without locks
if(_isModularDoor) then {
        if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {         
            _findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];
            _IsNearPlot = count (_findNearestPoles);
            _fuid  = [];
            _allowed = [];
            if(_IsNearPlot > 0)then{
                _thePlot = _findNearestPoles select 0;
                _owner =  _thePlot getVariable ["ownerPUID","010"];
                _friends = _thePlot getVariable ["plotfriends", []];
                {
                  _friendUID = _x select 0;
                  _fuid  =  _fuid  + [_friendUID];
                } forEach _friends;
                _allowed = [_owner];    
                _allowed = [_owner] +  _fuid;   
                if ( _playerUID in _allowed && _ownerID in _allowed) then { //  // If u want that the object also belongs to someone on the plotpole.
                    _player_deleteBuild = true;
                };                  
            }else{
                if(_ownerID == _playerUID)then{
                    _player_deleteBuild = true;
                };
            };                              
        };      
};

И далее в variables.sqf под строкой например 

dayz_allowedObjects =

Вставляем это

dayz_deleteBuildings = ["TentStorage","TentStorageDomed","TentStorageDomed2","Hedgehog_DZ","Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"];

Всё вышеперечисленное сможет удалять владелец плота и те кто есть в списке. Редактировать по своему вкусу.

 

P.S. Но есть у этого всего одно но. Тот кто найдет этот плот(враг например) и туда себя добавит, то он сможет тоже удалять)

Edited by rss_adm (see edit history)

Share this post


Link to post
Share on other sites
  • 0

В файле fn_selfActions.sqf заменить имеющийся код на этот:

 

//Allow owners to delete modulars
		if(_isModular || _isModularDoor || _typeOfCursorTarget in dayz_deleteBuildings) then {
			if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
				_friendsallowedremove = false; // allow friendlies added to the pole to remove
				_adminList = ["1111111"]; // Add admins here
				_findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 1];
				_IsNearPlot = count (_findNearestPoles);
				_fuid  = [];
				_allowed = [];
				if(_IsNearPlot > 0)then{
					_thePlot = _findNearestPoles select 0;
					_friends = _thePlot getVariable ["plotfriends", []];
					if(_friendsallowedremove)then{
						{
						  _friendUID = _x select 0;
						  _fuid  =  _fuid  + [_friendUID];
						} count _friends;
					}else{
						_fuid = [(_friends select 0)select 0];
					};
					if(dayz_characterID == _ownerID || (getPlayerUID player) in (_adminList + _fuid))then{  // // If u want that the object also belongs to someone on the plotpole.
						_player_deleteBuild = true;
					};
				}else{
					if(dayz_characterID == _ownerID || (getPlayerUID player) in _adminList)then{
						_player_deleteBuild = true;
					};
				};                                        
			};
		};
//Allow owners to delete modular doors without locks
if(_isModularDoor) then {
        if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {         
            _findNearestPoles = nearestObjects[player, ["Plastic_Pole_EP1_DZ"], DZE_PlotPole select 0];
            _IsNearPlot = count (_findNearestPoles);
            _fuid  = [];
            _allowed = [];
            if(_IsNearPlot > 0)then{
                _thePlot = _findNearestPoles select 0;
                _owner =  _thePlot getVariable ["ownerPUID","010"];
                _friends = _thePlot getVariable ["plotfriends", []];
                {
                  _friendUID = _x select 0;
                  _fuid  =  _fuid  + [_friendUID];
                } forEach _friends;
                _allowed = [_owner];    
                _allowed = [_owner] +  _fuid;   
                if ( _playerUID in _allowed && _ownerID in _allowed) then { //  // If u want that the object also belongs to someone on the plotpole.
                    _player_deleteBuild = true;
                };                  
            }else{
                if(_ownerID == _playerUID)then{
                    _player_deleteBuild = true;
                };
            };                              
        };      
};

И далее в variables.sqf под строкой например 

dayz_allowedObjects =

Вставляем это

dayz_deleteBuildings = ["TentStorage","TentStorageDomed","TentStorageDomed2","Hedgehog_DZ","Sandbag1_DZ","BagFenceRound_DZ","TrapBear","Fort_RazorWire","WoodGate_DZ","Land_HBarrier1_DZ","Land_HBarrier3_DZ","Land_HBarrier5_DZ","Fence_corrugated_DZ","M240Nest_DZ","CanvasHut_DZ","ParkBench_DZ","MetalGate_DZ","OutHouse_DZ","Wooden_shed_DZ","WoodShack_DZ","StorageShed_DZ","Plastic_Pole_EP1_DZ","Generator_DZ","StickFence_DZ","LightPole_DZ","FuelPump_DZ","DesertCamoNet_DZ","ForestCamoNet_DZ","DesertLargeCamoNet_DZ","ForestLargeCamoNet_DZ","SandNest_DZ","DeerStand_DZ","MetalPanel_DZ","WorkBench_DZ","WoodFloor_DZ","WoodLargeWall_DZ","WoodLargeWallDoor_DZ","WoodLargeWallWin_DZ","WoodSmallWall_DZ","WoodSmallWallWin_DZ","WoodSmallWallDoor_DZ","WoodFloorHalf_DZ","WoodFloorQuarter_DZ","WoodStairs_DZ","WoodStairsSans_DZ","WoodStairsRails_DZ","WoodSmallWallThird_DZ","WoodLadder_DZ","Land_DZE_GarageWoodDoor","Land_DZE_LargeWoodDoor","Land_DZE_WoodDoor","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","Land_DZE_WoodDoorLocked","CinderWallHalf_DZ","CinderWall_DZ","CinderWallDoorway_DZ","CinderWallDoor_DZ","CinderWallDoorLocked_DZ","CinderWallSmallDoorway_DZ","CinderWallDoorSmall_DZ","CinderWallDoorSmallLocked_DZ","MetalFloor_DZ","WoodRamp_DZ","GunRack_DZ","FireBarrel_DZ","WoodCrate_DZ","Scaffolding_DZ"];

Всё вышеперечисленное сможет удалять владелец плота и те кто есть в списке. Редактировать по своему вкусу.

 

P.S. Но есть у этого всего одно но. Тот кто найдет этот плот(враг например) и туда себя добавит, то он сможет тоже удалять)

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

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 MeinCain
      Всем привет!

      Подскажите, пожалуйста, как сделать спавн определенного предмета в определенном здании?

      Вот есть у меня бункер. Спавн лута в нем прописан. Все замечательно спавнится. И вот я хочу добавить в него один предмет, который можно будет найти только в этом бункере.

      Я прописал так в mapgroupproto.xml:
      <group name="Land_Bunker_lab1_base" lootmax="154">     <usage name="Military" />     <usage name="Medic" />         <container name="lootroom" lootmax="53">             <category name="tools" />             <category name="containers" />             <category name="clothes" />             <category name="weapons" />             <category name="bunker"/>             <tag name="floor" />             <tag name="shelves" />                 <point pos="-1.515664 -14.123547 -36.665848" range="1" height="1" />                  <point pos="-3.439516 -14.123548 -36.824074" range="1" height="1" />                  <point pos="-5.116861 -14.123548 -36.828102" range="1" height="1" />                  <point pos="-6.926982 -13.129279 -37.125351" range="1" height="1" />                  <point pos="-6.963851 -13.566002 -33.104889" range="1" height="1" />  То есть: <category name="bunker"/>

      В cfglimitsdefinition.xml тоже прописал:
      <categories> <category name="tools"/> <category name="containers"/> <category name="clothes"/> <category name="vehiclesparts"/> <category name="food"/> <category name="weapons"/> <category name="books"/> <category name="explosives"/> <category name="bunker"/> </categories>
      Пробовал прописать как <usage name="bunker"/> и соответственно в mapgroupproto.xml также ставил этот <usage name="bunker"/>.
      Потом в тайпсах присваивал это нужному предмету:
      <type name="RedemptionKeyCard_03"> <nominal>1</nominal> <lifetime>28800</lifetime> <restock>7200</restock> <min>0</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <usage name="bunker" /> </type>
      В общем, разные махинации пытался проводить. Но итог таков, что эти предметы плевать хотели на все и спавнятся там, где им заблагорассудится (точнее на военках). Подскажите, пожалуйста, что я делаю не так?
    • By Serdce
      Данный скрипт, меняет процесс ремонта вашей техники, делая её более логичней, как было в А2.
      Для замены колеса, на нужно собственно само колесо, и тд. и тп. 
      Подробный список чего и для чего вы найдёте в файлах.
       
      Итак, преступим!
      Я не автор, я всего лишь перевожу.
      Первоисточник - https://github.com/aussie-battler/Exilemod-Super-Advanced-Repair-System-SARS
      По ссылке выше скачиваем архив, распаковываем в удобное место.
      Распаковываем ваше миссию "Exile.ваша карта"
      Из архива копируем папку "Custom" в папку вашей миссии "Exile.ваша карта"
      Открываем ваш description.ext  в нем мы ищем showHUD[] = 
      и полностью меняем на это - 
      Далее открываем ваш - initPLayerLocal.sqf
      В этом файле, сразу после строки - if (!hasInterface || isServer) exitWith {};
      Мы добавляем 
      //Bones Super Advanced Repair System (SARS)
      Bones_fnc_salvageAndRepairMenu = compileFinal preprocessFileLineNumbers "Custom\advancedRepair\Bones_fnc_salvageAndRepairMenu.sqf"; 
      Далее открываем ваш - config.cpp
      В нем мы ищем - class Car
      Внутри этого класса мы ищем
       
      И меняем на 
      Так же далее чуть ниже - class Air
      В нем мы также меняем это
      На это 
       
      Далее для если у вас есть Infistar!
      Распаковываем ваш инфистар и открываем его конфиг.
      В нём ищем     KCM = "true"; /* Just close ALL CommandingMenus */
      И меняем значение на false
      Чуть ниже в строке allowedCommandingMenus
      Мы добавляем  "#USER:ASL_Show_Repair_Options_Menu_Array"
      Ну вот и всё готово, всё сохранили и запаковали как было!
       
    • By fedotovyasha
      Хочу немного изменить сообщения перед отправкой клиенту
    • By fedotovyasha
      Пишу свой лаунчер на c#. Скачал клиент в котором был loader.exe. С ним работает норм, но я хочу без него запускать игру. Как это сделать? (Пиратка)
    • By Miduznya
      Собственно как, как отключить battleye на сервере античит

      параметр BattlEye=0; не работает я так понял 
  • 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.