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

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

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

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

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

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


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

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

  1. 0 баллов
    123new

    Порча химзащиты в радиационной зоне

    насчет при спавне игрока - если скриптов никаких не стоит, то стандартная система спавна игрока - в init.c миссии сервера функция StartingEquipSetup(PlayerBase player, bool clothesChosen) выдает стартовый лут. В функции SetRandomHealth(EntityAI itemEnt) которая из выше названной вызывается для одного из предметов есть явный пример того как задавать здоровье вещички. Попробуйте поиграться с коммандами, обучитесь сами, опыт хороший.
  2. 0 баллов
    123new

    Порча химзащиты в радиационной зоне

    значит касаемо радиации. scripts\4_World\classes\playermodifiers\modifiers\biohazzard.c при активации зоны (входе игрока) override protected void OnActivate(PlayerBase player) { if (player.GetNotifiersManager()) player.GetNotifiersManager().ActivateByType(MedicalAttentionNotifiers.NTF_POISONED); } при деактивации зоны (выходе игрока) override protected void OnDeactivate(PlayerBase player) { if (player.GetNotifiersManager()) player.GetNotifiersManager().DeactivateByType(MedicalAttentionNotifiers.NTF_POISONED); } во время нахождения в зоне игрока override protected void OnTick(PlayerBase player, float deltaT) { int count = player.GetSingleAgentCount(MedicalAttentionAgents.UNKNOWN_TOXINE); int countMax = PluginTransmissionAgents.GetAgentMaxCount(MedicalAttentionAgents.UNKNOWN_TOXINE); float protection = (float)player.m_SuitProtectionLevel / 100; if (protection > 1) { protection = 1; } float accumulationRate = 0; if (protection == 1) { accumulationRate = 0.278; //PluginTransmissionAgents.GetDieOffSpeed(MedicalAttentionAgents.UNKNOWN_TOXINE); } else // protection < 1 { float accumulationTime = Math.Lerp(MAGlobals.Get().g_ToxinAccumulationTimeMin, MAGlobals.Get().g_ToxinAccumulationTimeMax, protection) * 60; accumulationRate = (float)countMax / accumulationTime + 0.278; } float amount = accumulationRate * deltaT; if (count + amount > countMax) { amount = countMax - count; } player.InsertAgent(MedicalAttentionAgents.UNKNOWN_TOXINE, amount); // Obsolete float damage = MAGlobals.Get().g_BiohazardDamage * (1 - protection); player.AddHealth("GlobalHealth", "Health" , damage * deltaT * -1); } что дописывать: EntityAI attachment = player.FindAttachmentBySlotName("Mask"); if ( attachment && attachment.IsItemBase() ) { ItemBase item = Class.Cast(attachment); string className = item.GetType(); if ( className.Contains("GP5GasMask") ) { itemEnt.SetHealth("","",itemEnt.GetHealth() - 0.2); } } ну и по аналогии с нужными слотами в инвентаре и id вещей блоки делаем (я просто понятия не имею из чего там сет состоит и куда крепится). В примере если в слоте масок найден гп5 то здоровье предмета на 0.2 уменьшится. id слотов можешь найти в скрипте например тут Что модифицировать - думаю функцию OnTick
×
×
  • Создать...

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

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

Поддержка