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

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

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

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

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

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


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

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

  1. 1 балл
    Irkutsk86

    Ошибки после обновления Серверов

    @MaHb9lK удали папку scripts и будет тебе счастье. А если что делаешь (меняешь) в папке scripts создаешь серверный мод.
  2. 1 балл
    BorizzK

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

    Блин Туплю )))))))) //09.06.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_DamageTemperaturePlayer = 51; private float m_TempDamageCoef = 0.015; private int m_CurrentLocation = InventoryLocationType.GROUND; // ================================================================================================================== private bool m_DecTempAllow = true; bool IsDecTempAllow() { return m_DecTempAllow; } void SetDecTempAllow(bool value = true) //Uses for stop/start decrease temp if cooking on fireplace etc. //Используем для остановки остывания во время готовки и запуска остывания после прекращения { m_DecTempAllow = value; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: SetDecTempAllow: " + GetGame().GetTickTime() + ": this: " + this + ": m_DecTempAllow: " + m_DecTempAllow); if (!m_DecTempAllow) { if (m_TemperatureDecrease) { StopTemperatureDecrease(); } } else { TryToStartTempDecrease(); } if (GetInventory().GetCargo()) { SetDecTempAllowToCargo(value); } } void SetDecTempAllowToCargo(bool value = true) //End-to-end call for all inventory in cargo //Сквозной вызов для всего инвентаря { ItemBase item; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: SetDecTempAllowToCargo: " + GetGame().GetTickTime() + ": this: " + this + ": Items count: " + GetInventory().GetCargo().GetItemCount() + ": m_DecTempAllow: " + m_DecTempAllow); for (int i = 0; i < GetInventory().GetCargo().GetItemCount(); i++) { item = ItemBase.Cast(GetInventory().GetCargo().GetItem(i)); if (item) { if (item.IsDecTempAllow() != value) item.SetDecTempAllow(value); } } } // ================================================================================================================== void ItemBase() { m_InitTemperature = 20; if ( IsInherited(Pot) ) { m_TempDecreaseCoef = m_TempDecreaseCoef * 2; } else if (IsInherited(FireplaceBase)) { m_DecTempAllow = false; } } void ~ItemBase() { if (m_TemperatureDecrease) { StopTemperatureDecrease(); } } // ================================================================================================================== override void AfterStoreLoad() { super.AfterStoreLoad(); if ( !IsInherited(FireplaceBase) ) TryToStartTempDecrease(); } private void TryToStartTempDecrease() { if (GetTemperature() > GetInitTemperature()) { if (GetHierarchyParent()) { if (GetHierarchyParent().IsInherited(PlayerBase)) { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player) { if (player.GetHumanInventory().GetEntityInHands() == this) { m_CurrentLocation = InventoryLocationType.HANDS; } } else { m_CurrentLocation = -1; //Игрок есть, но он не на сервере! } } } if (m_CurrentLocation != -1) { if (!m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: TryToStartTempDecrease: " + GetGame().GetTickTime() + ": this: " + this + ": Start decrease temperature: GetTemperature(): " + GetTemperature() + ": GetHierarchyParent(): " + GetHierarchyParent()); StartTemperatureDecrease(); } } } } // ================================================================================================================== override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc) { super.EEItemLocationChanged(oldLoc,newLoc); if (GetTemperature() > GetInitTemperature()) { if ( !IsInherited(FireplaceBase) ) { m_CurrentLocation = newLoc.GetType(); if (!m_TemperatureDecrease) { m_DecTempAllow = true; //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: " + GetGame().GetTickTime() + ": this: " + this + ": Start decrease temperature: GetTemperature(): " + GetTemperature() + ": newLoc.GetParent(): " + newLoc.GetParent()); StartTemperatureDecrease(); } } } else { if (m_TemperatureDecrease) { //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: EEItemLocationChanged: " + GetGame().GetTickTime() + ": this: " + this + ": End decrease temperature: GetTemperature(): " + GetTemperature() + ": newLoc.GetParent(): " + newLoc.GetParent()); StopTemperatureDecrease(); } } } // ================================================================================================================== private void StartTemperatureDecrease() { DecreaseTemperature(); 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() >= GetDamageTemperaturePlayer()) { AddTemperatureDamageToPlayer(); } } AddTemperature(-GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Decrease: GetTemperature(): " + GetTemperature()); } else { SetTemperature(GetInitTemperature()); StopTemperatureDecrease(); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Stop decrease: GetTemperature(): " + GetTemperature()); } } private bool m_CargoDecTempState = false; void DecreaseCargoTemperature() { ItemBase item; m_CargoDecTempState = false; 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()) { m_CargoDecTempState = true; item.AddTemperature(-item.GetTempDecreaseCoef()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } else { item.SetTemperature(item.GetInitTemperature()); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: DecreaseCargoTemperature: " + GetGame().GetTickTime() + ": this: " + this + ": Stop decrease: item: " + item + ": item.GetTemperature(): " + item.GetTemperature()); } } } } // == COOLING END == // ================================================================================================================== // == DAMAGE == void AddTemperatureDamageToPlayer() { PlayerBase player = PlayerBase.Cast(GetHierarchyParent()); if (player && player.IsAlive()) { 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: " + GetGame().GetTickTime() + ": 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.42); if (IsInherited(Pot)) player.ProcessDirectDamage(DT_CUSTOM, this, "LeftHand", "FireDamage", "0.5 0.5 0.5", idmg * 0.42); //Print("::: SERVER: [ItemBase extends InventoryItem: Decreasetemp]: AddTemperatureDamageToParent: " + GetGame().GetTickTime() + ": this: " + this + ": player: " + player + ": idmg: " + idmg + ": Health: " + player.GetHealth() + ": RightHand: " + player.GetHealth("RightHand","Health") + ": LeftHand: " + player.GetHealth("LeftHand","Health")); } } float GetDamageTemperaturePlayer() { return m_DamageTemperaturePlayer; } 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() { return MiscGameplayFunctions.IsUnderRoof( this ); } // ================================================================================================================== } // ================================================================================================================== // ================================================================================================================== modded class FireplaceBase extends ItemBase { const float PARAM_COOKING_EQUIP_TEMP_INCREASE = 1; //10 override void DestroyFireplace() { if (m_CookingEquipment) { if (m_CookingEquipment.IsInherited(Pot)) { m_CookingEquipment.SetDecTempAllow(true); } } super.DestroyFireplace(); } //Add cooking equipment override void SetCookingEquipment( ItemBase equipment ) { super.SetCookingEquipment( equipment ); m_CookingEquipment = equipment; if (m_CookingEquipment) { if (m_CookingEquipment.IsInherited(Pot)) { //Print("::: SERVER: [FireplaceBase extends ItemBase: Decreasetemp]: SetCookingEquipment: " + GetGame().GetTickTime() + ": this: " + this + ": m_CookingEquipment " + m_CookingEquipment); if (m_HeatingTimer) { m_CookingEquipment.SetDecTempAllow(false); } else { m_CookingEquipment.SetDecTempAllow(true); } } } } //Start heating override protected void StartHeating() { if (m_CookingEquipment && m_CookingEquipment.IsInherited(Pot)) { //Print("::: SERVER: [FireplaceBase extends ItemBase: Decreasetemp]: StartHeating: " + GetGame().GetTickTime() + ": this: " + this + ": m_CookingEquipment " + m_CookingEquipment); m_CookingEquipment.SetDecTempAllow(false); } super.StartHeating(); } //Stop heating override protected void StopHeating() { super.StopHeating(); if (m_CookingEquipment && m_CookingEquipment.IsInherited(Pot)) { //Print("::: SERVER: [FireplaceBase extends ItemBase: Decreasetemp]: StopHeating: " + GetGame().GetTickTime() + ": this: " + this + ": m_CookingEquipment " + m_CookingEquipment); m_CookingEquipment.SetDecTempAllow(true); } } } Думается над еще подкрутить но народ грит норм потому пока не буду Если есть идеи - пишите сюда
  3. 1 балл
    Huskys

    "Грамотная" реализация увеличения зомби

    Поставить вот это: https://steamcommunity.com/sharedfiles/filedetails/?id=1772776141 Настроить под себя. Смешать, но не взбалтывать вот с этим: https://steamcommunity.com/sharedfiles/filedetails/?id=2051775667
×
×
  • Создать...

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

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

Поддержка