Welcome to Сообщество игровых серверов NETZONA.ORG

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. Зарегистрировавшись и войдя в систему, вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию другим участникам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?
  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Плагин на голод

Статус
В этой теме нельзя размещать новые ответы.

Ледкол

Пользователь
Регистрация
5 Ноя 2015
Сообщения
108
Реакции
0
Баллы
29
Возраст
23
Пол
Написал простенький плагин на голод, по задумке, когда его значение становится равным 0, то стамина тоже становится равным 0. Но судя по bar'ам и тому, что можно бегать значение стамины чуть больше 0.
Вот сам код плагина
Код:
if (SERVER) then
    function PLUGIN:PostPlayerLoadout(client)
        client:setLocalVar("hgr", 100)

        local uniqueID = "nutHung"..client:SteamID()

        timer.Create(uniqueID, 0.25, 0, function()
            if (IsValid(client)) then
                local character = client:getChar()     
                    local current = client:getLocalVar("hgr", 0) - 10
                    local value = math.Clamp(current, 0, 100)

                 
                        client:setLocalVar("hgr", value)

                        if (value == 0) then
                            if (client:Health() > 0) then
                                client:setLocalVar("stm", 0)
                                client:SetHealth(client:Health() - 0.003)
                                --client.nutBreathing = false
                            else
                                client:Kill()
                                timer.Remove(uniqueID)
                               end                     
                    end
             
            else
                timer.Remove(uniqueID)
            end
        end)
    end


Думал, что проблема с регенерацией, но добавление условия в функцию restoreStamina(amount) результата не дало. Вот как выглядит эта функция теперь
Код:
    function playerMeta:restoreStamina(amount)
        if (self:getLocalVar("hgr", 0) > 0) then
        local current = self:getLocalVar("stm", 0)
        local value = math.Clamp(current + amount, 0, 100)    
        self:setLocalVar("stm", value)
        end
    end
 

Ледкол

Пользователь
Регистрация
5 Ноя 2015
Сообщения
108
Реакции
0
Баллы
29
Возраст
23
Пол
Проблема была решена.
 

Ледкол

Пользователь
Регистрация
5 Ноя 2015
Сообщения
108
Реакции
0
Баллы
29
Возраст
23
Пол
Плагин на голод и так есть, зачем писать свой?
Из плагинов я нашёл только cookf00d, и, как я понимаю, он создан на NS 1.0. Потратил я на написание этого плагина с учётом перековыревания стамины 20 минут.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу