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

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

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

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

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

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 05/17/20 в Сообщения

  1. 1 балл
    Skar713

    Установка мутантов FS (FIDOv STALKER) и других

    Пару раз в неделю вижу темы " FS (FIDOv STALKER) помогите поставить мутантов" И в большей части тем я помогал.. но хватит. Прочел? Помог? Поставь + И так. Обучать я буду только по одному типу тварей основанных на скелете волков. Какие файлы будем править. 1. events.xml 2. wolf_territories.xml 3. types.xml 4. cfgenvironment.xml Поехали 1 Изменяем евент волков на нужных нам тварей (пример слепыши) <event name="AnimalWolf"> <waves>0</waves> <nominal>50</nominal> <min>2</min> <max>4</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="2" min="1" type="FS_SlepDog_red"/> <child lootmax="0" lootmin="0" max="2" min="1" type="FS_SlepDog_Bronza"/> <child lootmax="0" lootmin="0" max="2" min="1" type="FS_SlepDog_Zmb"/> <child lootmax="0" lootmin="0" max="2" min="1" type="FS_SlepDog_White"/> <child lootmax="0" lootmin="0" max="1" min="1" type="FS_PseDOG"/> <child lootmax="0" lootmin="0" max="1" min="1" type="FS_WolfZmb_black"/> </children> <min>2</min> - минимальное количество в стае <max>4</max> - максимальное количество в стае max="2" min="1" -количество особей в стае На этом настройка файла event.xml окончена. 2. wolf_territories.xml <territory color="4289111595"> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="7642.5" z="6180" r="50"/> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="7712.22" z="6416.39" r="50"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="7866.11" z="6142.5" r="50"/> </territory> Просто впиши свои координаты и все. не нужно больше не чего делать, 3. Пропиши мутантов в тайпс (Тайпса под рукой нет позже скину что вставить в тайпс нужно) 4. cfgenvironment.xml <file path="env/domestic_territories.xml" /> Добавляем новый путь Вайпай карту и проверяй. Есть способ куда проще и цивильнее о нем я опишу позже.
  2. 1 балл
    BorizzK

    Краш сервера

    там нет работы )))
  3. 1 балл
    BorizzK

    Охлаждение еды и кастрюли после готовки

    Теперь будет охлаждаться всегда хотя я для снижения нагрузки на серв оставил бы охлаждение только на земле или в руках //15.05.2020 modded class ItemBase extends InventoryItem { ref Timer m_TemperatureDecrease; private float m_InitTemperature; private float m_DecreaseTempTime = 10; private float m_TempDecreaseCoef = 1; private float m_TempDecreaseCoefPot = 2; private float m_DamageTemperatureBorder = 54; private float m_TempDamageCoef = 0.01; private int m_CurrentLocation = InventoryLocationType.UNKNOWN; void ItemBase() { m_InitTemperature = 20; //g_Game.GetMission().GetWorldData().GetDayTemperature(); // Не работает ((( какого художника - я хз if ( IsInherited(Pot) /* GetInventory().GetCargo() */ ) { m_TempDecreaseCoef = m_TempDecreaseCoefPot; } } override void AfterStoreLoad() { super.AfterStoreLoad(); if ( !IsInherited(FireplaceBase) ) TryToStartTempDecrease(); } private void TryToStartTempDecrease() { if (GetTemperature() > GetInitTemperature()) { if (GetHierarchyParent().IsInherited(PlayerBase)) { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player) { if (player.GetHumanInventory().GetEntityInHands() == this) { m_CurrentLocation = InventoryLocationType.HANDS; } else { m_CurrentLocation = InventoryLocationType.UNKNOWN; } } else { m_CurrentLocation = InventoryLocationType.UNKNOWN; } } else { m_CurrentLocation = InventoryLocationType.UNKNOWN; } if (!m_TemperatureDecrease) { StartTemperatureDecrease(); } } } override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); if (GetTemperature() > GetInitTemperature()) { if (newLoc.GetParent() && newLoc.GetType() == InventoryLocationType.HANDS) { m_CurrentLocation = InventoryLocationType.HANDS; } else { m_CurrentLocation = InventoryLocationType.UNKNOWN; } if (!m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: this: " + this + ": Start decrease temperature: GetTemperature(): " + GetTemperature()); DecreaseTemperature(); StartTemperatureDecrease(); } } else { if (m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: this: " + this + ": End decrease temperature: GetTemperature(): " + GetTemperature()); StopTemperatureDecrease(); } } } private void StartTemperatureDecrease() { m_TemperatureDecrease = new Timer; m_TemperatureDecrease.Run(m_DecreaseTempTime, this, "DecreaseTemperature", NULL, true); } private void StopTemperatureDecrease() { m_CurrentLocation = InventoryLocationType.UNKNOWN; m_TemperatureDecrease.Stop(); m_TemperatureDecrease = NULL; } // == COOLING == void DecreaseTemperature() { if (GetTemperature() > GetInitTemperature()) { if (m_CurrentLocation == InventoryLocationType.HANDS) { if (GetTemperature() >= GetDamageTemperatureBorder()) { AddTemperatureDamageToPlayer(); } } AddTemperature(-GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Decrease: GetTemperature(): " + GetTemperature()); if ( IsInherited(Pot) /* GetInventory().GetCargo() */) { DecreaseCargoTemperature(); } } else { SetTemperature(GetInitTemperature()); StopTemperatureDecrease(); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Stop decrease: GetTemperature(): " + GetTemperature()); } } void DecreaseCargoTemperature() { ItemBase item; int item_count = GetInventory().GetCargo().GetItemCount(); for (int i = 0; i < item_count; i++) { item = ItemBase.Cast(GetInventory().GetCargo().GetItem(i)); if (item) { if (item.GetTemperature() > item.GetInitTemperature()) { item.AddTemperature(-item.GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: this: " + this + ": Decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } else { item.SetTemperature(item.GetInitTemperature()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: this: " + this + ": Stop decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } } } } // == COOLING END == // == DAMAGE == void AddTemperatureDamageToPlayer() { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player) { float idmg = GetDamageTemperature(); ItemBase gloves = ItemBase.Cast(player.GetInventory().FindAttachment(InventorySlots.GLOVES)); if (gloves) { gloves.AddHealth("","Health", -idmg); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: this: " + this + ": player: " + player + ": idmg: " + idmg + ": Gloves Health: " + gloves.GetHealth() + ": Gloves Max Health: " + gloves.GetMaxHealth()); if (gloves.GetHealth() > gloves.GetMaxHealth() * 0.5) { return; } else if (gloves.GetHealth() > gloves.GetMaxHealth() * 0.25) { idmg = idmg * 0.75; } } player.ProcessDirectDamage(DT_CUSTOM, this, "RightHand", "FireDamage", "0.5 0.5 0.5", idmg * 0.5); if (IsInherited(Pot)) player.ProcessDirectDamage(DT_CUSTOM, this, "LeftHand", "FireDamage", "0.5 0.5 0.5", idmg * 0.5); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: this: " + this + ": player: " + player + ": idmg: " + idmg + ": Health: " + player.GetHealth() + ": RightHand: " + player.GetHealth("RightHand","Health") + ": LeftHand: " + player.GetHealth("LeftHand","Health")); } } float GetDamageTemperatureBorder() { return m_DamageTemperatureBorder; } float GetDamageTemperature() { return GetTemperature() * m_TempDamageCoef; } // == DAMAGE END == float GetInitTemperature() { return m_InitTemperature; } float GetTempDecreaseCoef() { if (!IsUnderRoof()) { return m_TempDecreaseCoef * (1 + GetRainAbove()); } return m_TempDecreaseCoef; } float GetRainAbove() { return GetGame().GetWeather().GetRain().GetActual(); } bool IsUnderRoof() { float actual_height; bool hit; FireplaceBase.LineHit( this, 20, hit, actual_height ); //Используем готовую нативную функцию из класса FireplaceBase что бы не засорять код - функция static потому и вызов такой - FireplaceBase.LineHit return hit; } }
  4. 1 балл
    Все есть Все работало И вдруг перестало По отдельности работает Мне бы поподробней про ошибку Мне странно что класс нормально не регится.. хотя это скорее косяк бисов Кстати рад тебя видеть в нашей чатке )))
  5. 1 балл
    BorizzK

    вещи после рестарта

    перегонфижить их в config.cpp в своем моде указав storageCategory = 0; И прописав любой удобный лайфтайм в тайпсе вот как-то так
  6. 0 баллов
    BorizzK

    Охлаждение еды и кастрюли после готовки

    я доработаю что бы остывал в инвентаре чет не подумал про это ну и как бы это по большому счету рыбка - те не финал ниразу просто еще времени нет все доделать а так добавлю и поправлю вечером или завтра
  7. 0 баллов
    Тема закрыта ЭТО я лоханулся в скриптах #ifdef ы не убрал странно но вдруг #define в корне WORLD стал срабатывать позже чем компилились скрипты тачек вобщем все РАБОТАЕТ как часы
×
×
  • Создать...

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

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

Поддержка