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
StopS

Как сделать построки крепче?

Как можно сделать построки крепче или не разрушаемыvb в Epoch?

Share this post


Link to post
Share on other sites

23 answers to this question

Recommended Posts




  • 0

Присоединяюсь к вопросу! Хотел создать аналогичную тему, но всё равно эта пойдёт вверх:) Итак - после перехода на версию 1.54 и эпоч 0.3.6 , постройки стали крайне уязвимы! Подскажите пожалуйста где настраивается этот параметр в эпоче?

Share this post


Link to post
Share on other sites
  • 0

а я давно нашол как и сделал



sleep 80; 
while {true} do
{ 
diag_log format ['Защита построек обновлена'];
_indestructible = (allMissionObjects "Constructions_static_F") + (allMissionObjects "PlotPole_EPOCH") + (allMissionObjects "LockBox_EPOCH") + (allMissionObjects "Foundation_Epoch");
{
  if (!((_x isKindof "PlotPole_EPOCH") or (_x isKindof "WoodWall4_EPOCH") or (_x isKindof "WoodWall3_EPOCH") or (_x isKindof "WoodWall2_EPOCH") or (_x isKindof "WoodWall1_EPOCH") or (_x isKindof "WoodLargeWallDoorL_EPOCH") or (_x isKindof "WoodStairs2_EPOCH") or (_x isKindof "WoodStairs_EPOCH") or (_x isKindof "WoodRamp_EPOCH") or (_x isKindof "WoodFloor_EPOCH") or (_x isKindof "WoodLargeWallDoorway_EPOCH") or (_x isKindof "WoodLargeWall_EPOCH") or (_x isKindof "WoodLargeWallCor_EPOCH"))) then
  {
   _x addEventHandler ["HandleDamage", {false}];
   _x enableSimulation false;
  };
} count _indestructible;
sleep 160; 
};

 

Смертный постройки пишутся так которые бесмертные не пишутся  

(_x isKindof "PlotPole_EPOCH")

Share this post


Link to post
Share on other sites
  • 0

я так понимаю это отдельный скрипт? Который будет дополнительно сервер нагружать каждые 4 минуты... А просто в настройках эпоча нету такого? Чтобы не делать постройки совсем неуязвимыми, а просто увеличить их стойкость? Как раньше было...

Share this post


Link to post
Share on other sites
  • 0

я так понимаю это отдельный скрипт? Который будет дополнительно сервер нагружать каждые 4 минуты... А просто в настройках эпоча нету такого? Чтобы не делать постройки совсем неуязвимыми, а просто увеличить их стойкость? Как раньше было...

не нашол такого

Share this post


Link to post
Share on other sites
  • 0

 

а я давно нашол как и сделал

 

sleep 80; 
while {true} do
{ 
diag_log format ['Защита построек обновлена'];
_indestructible = (allMissionObjects "Constructions_static_F") + (allMissionObjects "PlotPole_EPOCH") + (allMissionObjects "LockBox_EPOCH") + (allMissionObjects "Foundation_Epoch");
{
  if (!((_x isKindof "PlotPole_EPOCH") or (_x isKindof "WoodWall4_EPOCH") or (_x isKindof "WoodWall3_EPOCH") or (_x isKindof "WoodWall2_EPOCH") or (_x isKindof "WoodWall1_EPOCH") or (_x isKindof "WoodLargeWallDoorL_EPOCH") or (_x isKindof "WoodStairs2_EPOCH") or (_x isKindof "WoodStairs_EPOCH") or (_x isKindof "WoodRamp_EPOCH") or (_x isKindof "WoodFloor_EPOCH") or (_x isKindof "WoodLargeWallDoorway_EPOCH") or (_x isKindof "WoodLargeWall_EPOCH") or (_x isKindof "WoodLargeWallCor_EPOCH"))) then
  {
   _x addEventHandler ["HandleDamage", {false}];
   _x enableSimulation false;
  };
} count _indestructible;
sleep 160; 
};

 

Смертный постройки пишутся так которые бесмертные не пишутся  

(_x isKindof "PlotPole_EPOCH")

При чем тут - неуязвимость, если вопрос, про - увеличение ХП построек?

Вводишь людей в заблуждение?

 

По теме - "хп" построек находятся в hpp файлах мода эпоча.

Share this post


Link to post
Share on other sites
  • 0

При чем тут - неуязвимость, если вопрос, про - увеличение ХП построек?

Вводишь людей в заблуждение?

 

По теме - "хп" построек находятся в hpp файлах мода эпоча.

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

Share this post


Link to post
Share on other sites
  • 0

 

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

Да, ты прав... Автор оформил 2 в 1.

Вот по этому и есть правило - 1 тема = 1 вопрос.

 

 

 

Ну так поделись как это сделать

 

Направление дано.

А делать за кого то его работу - лично не мне надо.

Share this post


Link to post
Share on other sites
  • 0

Ок, ребята, я нашел где в эпоче прописыаются ХП построек... но ситуация печальная - они прописаны в клиентской части мода... @Epoch\Addons\a3_epoch_config\Configs\CfgVehicles.hpp 

Соответственно чтобы это работало, надо будет всем игрокам перекачивать изменённый мной мод... А это ну совсем не вариант:)

В общем-то проблема возникла скорее не от того, что постройки стали слабее... Суть в том, что они разрушаются от любой ракетницы с нескольких попаданий, так как будто их давно не оплачивали через джаммер... То есть оплата джаммера будто бы никак не влияет больше на прочность построек... 
Никто с этим не сталкивался еще на версии Эпоча 0.3.6 ??? Может быть в 0.3.7 это исправлено? Не знаете?

 

StopS, вопрос к тебе по данному тобой скрипту, сильно ли нагружается сервер от него? И становятся ли прописанные постройки реально неуязвимыми?

Share this post


Link to post
Share on other sites
  • 0

Соответственно чтобы это работало, надо будет всем игрокам перекачивать изменённый мной мод... А это ну совсем не вариант:)

Замечательное утверждение.

Гугли - Переопределить класс.

Share this post


Link to post
Share on other sites
  • 0

StopS, вопрос к тебе по данному тобой скрипту, сильно ли нагружается сервер от него? И становятся ли прописанные постройки реально неуязвимыми?

 

Покашто онлайн был в 10 человек и глюков я не обнаружел и постройки не ломаются

Share this post


Link to post
Share on other sites
  • 0

Переопределить класс

 

 

Извиняюсь, я не слишком хорошо разбираюсь в программировании и тп. Если я правильно понял в файл descripton.ext можно дописать нужный мне класс с нужным параметром, и тогда значение будет браться уже оттуда?

Вот например есть класс половины стены:

  

 

  class CinderWallHalf_EPOCH: Const_Cinder_static_F
    {
        scope = 2;
        model = "\x\addons\a3_epoch_assets\models\cinder_half.p3d";
        displayName = "Half Cinder Block Wall";
        upgradeBuilding[] = {"CinderWall_EPOCH",{ { "CinderBlocks",2 },{ "MortarBucket",1 } }};
        simulClass = "CinderWallHalf_SIM_EPOCH";
        staticClass = "CinderWallHalf_EPOCH";
        GhostPreview = "CinderWallHalf_Ghost_EPOCH";
        snapType = "snapPointsPara";
        snapPointsPara[] = { "N", "E", "W" };
        allowedSnapPoints[] = { "N", "S", "E", "W" };
        armor = 10000;
        removeParts[] = { { "CinderBlocks", 2 }, { "ItemRock", 1 } };
    };
 

 

Если я пропишу в файл description.ext этот класс, но только с одним нужным мне параметром, вот так:

    

 

class CinderWallHalf_EPOCH: Const_Cinder_static_F
    {
       
        armor = 20000;
        
    };
 

Тогда половина стены будет иметь ХП 20000 ? я ничего не упускаю?

Спасибо, за помощь!

 

 

P.S. 

Или нужно переопределять класс вместе со всеми родительскими классами начиная с самого первого, также как они прописаны в оригинальном файле? Вот так:

 

class CfgVehicles
{
class NonStrategic;
class Constructions_static_F {
class Const_All_Walls_F {
class Const_All_Walls_F {
class Const_Cinder_static_F {
class CinderWallHalf_EPOCH
    {
        armor = 50000;        
    };
    };
    };
    };
    };
    };
 

 

P.P.S.

 

Попробовал оба способа... ошибок нет... но и ХП стены не увеличивается... всё также убивается с 4х ракет ПТ с Аламута... До обнов такого не было:)

Edited by exploadead (see edit history)

Share this post


Link to post
Share on other sites
  • 0

 

Извиняюсь, я не слишком хорошо разбираюсь в программировании и тп. Если я правильно понял в файл descripton.ext можно дописать нужный мне класс с нужным параметром, и тогда значение будет браться уже оттуда?

Вот например есть класс половины стены:

  

 

  class CinderWallHalf_EPOCH: Const_Cinder_static_F
    {
        scope = 2;
        model = "\x\addons\a3_epoch_assets\models\cinder_half.p3d";
        displayName = "Half Cinder Block Wall";
        upgradeBuilding[] = {"CinderWall_EPOCH",{ { "CinderBlocks",2 },{ "MortarBucket",1 } }};
        simulClass = "CinderWallHalf_SIM_EPOCH";
        staticClass = "CinderWallHalf_EPOCH";
        GhostPreview = "CinderWallHalf_Ghost_EPOCH";
        snapType = "snapPointsPara";
        snapPointsPara[] = { "N", "E", "W" };
        allowedSnapPoints[] = { "N", "S", "E", "W" };
        armor = 10000;
        removeParts[] = { { "CinderBlocks", 2 }, { "ItemRock", 1 } };
    };
 

 

Если я пропишу в файл description.ext этот класс, но только с одним нужным мне параметром, вот так:

    

 

class CinderWallHalf_EPOCH: Const_Cinder_static_F
    {
       
        armor = 20000;
        
    };
 

Тогда половина стены будет иметь ХП 20000 ? я ничего не упускаю?

Спасибо, за помощь!

 

 

P.S. 

Или нужно переопределять класс вместе со всеми родительскими классами начиная с самого первого, также как они прописаны в оригинальном файле? Вот так:

 

class CfgVehicles
{
class NonStrategic;
class Constructions_static_F {
class Const_All_Walls_F {
class Const_All_Walls_F {
class Const_Cinder_static_F {
class CinderWallHalf_EPOCH
    {


        armor = 50000;
        
    };
    };
    };
    };
    };
    };
 

 

Там геморой с наследованием подклассов...

Вот ссылка на форум по А3, с моим вопросом, и там ниже я привел пример правильного наследования, как для А2 так и для А3, для переопределения параметров.

*т.е. возможно придеться создать 1-2 промежуточных класса.

 

https://arma3.ru/forums/topic/3750-nasledie-klassov/

 

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

 

 

class CinderWallHalf_EPOCH: Const_Cinder_static_F
    {
       
        armor = 20000;        
    };

 

1. Надо указать в точности все параметры, а не только армор.

2. Если прокатит - радуйся, но скорее всего арма заявит, что класс - CinderWallHalf уже заявлен....

 

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

 

 

 

class MyWALL: CinderWallHalf_EPOCH
    {
        armor = 20000;       
    };

Но дальше надо в эпохе, везде заменить

CinderWallHalf_EPOCH

на

MyWALL

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Так решил кто проблему или нет?

 

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

Share this post


Link to post
Share on other sites
  • 0

 

а я давно нашол как и сделал

 

sleep 80; 
while {true} do
{ 
diag_log format ['Защита построек обновлена'];
_indestructible = (allMissionObjects "Constructions_static_F") + (allMissionObjects "PlotPole_EPOCH") + (allMissionObjects "LockBox_EPOCH") + (allMissionObjects "Foundation_Epoch");
{
  if (!((_x isKindof "PlotPole_EPOCH") or (_x isKindof "WoodWall4_EPOCH") or (_x isKindof "WoodWall3_EPOCH") or (_x isKindof "WoodWall2_EPOCH") or (_x isKindof "WoodWall1_EPOCH") or (_x isKindof "WoodLargeWallDoorL_EPOCH") or (_x isKindof "WoodStairs2_EPOCH") or (_x isKindof "WoodStairs_EPOCH") or (_x isKindof "WoodRamp_EPOCH") or (_x isKindof "WoodFloor_EPOCH") or (_x isKindof "WoodLargeWallDoorway_EPOCH") or (_x isKindof "WoodLargeWall_EPOCH") or (_x isKindof "WoodLargeWallCor_EPOCH"))) then
  {
   _x addEventHandler ["HandleDamage", {false}];
   _x enableSimulation false;
  };
} count _indestructible;
sleep 160; 
};

 

Смертный постройки пишутся так которые бесмертные не пишутся  

(_x isKindof "PlotPole_EPOCH")

 

А можешь плиз поподробнее рассказать как этот скрипт установить? Через файл миссии или через папку аддонов epochhive\addons ? На буржуйских форумах нашел этот скрипт, но там не пишут как его ставить, а дают одну и ту же прошлогоднюю ссылку на файл PBO, но ссылка не работает:(

 

UPD: Готовый файл ПБО выложен в теме - http://s-platoon.ru/index.php?/topic/4717-kak-sdelat-neuiazvimye-kirpichnye-steny/

Edited by exploadead (see edit history)

Share this post


Link to post
Share on other sites
  • 0

А можешь плиз поподробнее рассказать как этот скрипт установить? Через файл миссии или через папку аддонов epochhive\addons ? На буржуйских форумах нашел этот скрипт, но там не пишут как его ставить, а дают одну и ту же прошлогоднюю ссылку на файл PBO, но ссылка не работает:(

Видел я сам еле еле нашол

Share this post


Link to post
Share on other sites
  • 0

хорошо, этот фикс каждому клиенту надо ставить или достаточно на сервере? Этот фикс делает все постройки неуязвимыми или можно как-то каждой в отдельности присвоить свою степень разрушаемости?

Share this post


Link to post
Share on other sites
  • 0

хорошо, этот фикс каждому клиенту надо ставить или достаточно на сервере? Этот фикс делает все постройки неуязвимыми или можно как-то каждой в отдельности присвоить свою степень разрушаемости?

Он кидается в папку сервера epochhive\addons , клиенты тут не причем.

В условии if (!((...... прописываются объекты которые БУДУТ разрушаться... не прописанными остаются бетонные постройки, они как раз становятся неуязвимы.

Share this post


Link to post
Share on other sites
  • 0

Он кидается в папку сервера epochhive\addons , клиенты тут не причем.

В условии if (!((...... прописываются объекты которые БУДУТ разрушаться... не прописанными остаются бетонные постройки, они как раз становятся неуязвимы.

так а демаг им можно прописать свой, а не бессмертие?

Share this post


Link to post
Share on other sites
  • 0

так а демаг им можно прописать свой, а не бессмертие?

Нет, этот скрипт только на бессмертие.

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 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; не работает я так понял 
    • By DrTauren
      На нашем сайте предусмотрена возможность рекламирования вашего игрового сервера/сайта/програмного обеспечения при помощи баннеров и ссылок.
       
      Баннеры под первым сообщением темы ↓
       
      Баннер на главной странице (над чатом) ↓
       
      Ссылки над первым сообщением темы ↓
       
      Ссылка на главной странице (над чатом) ↓
       
       

      Заявку вы можете заполнить в этой же теме, либо написать мне в ЛС.
      Любые сообщения не по теме запрещены.
  • 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.