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

Несколько переменных

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
на серверной части 2 переменных, назовем их Cooldown =5 и TIME_INVIS=10
Мне надо передать их на клиент. На сервере
util.AddNetworkString('Status')

функция
net.Start("Status")
net.WriteBool(Invisible)
net.WriteInt(TIME_INVIS, 9)
net.WriteInt(Cooldown, 9)
net.Send(ply)
енд функции

на клиенте
net.Receive("Status", function()
local Invisible = net.ReadBool()
local TIME_INVIS = net.ReadInt(9)
local Cooldown = net.ReadInt(9)

hook.Add("HUDPaint", "MyHUDPaint", function()

if Invisible then
draw.SimpleText("INVISIBLE " .. TIME_INVIS .. " СЕКУНД", "MatrixFont", 10, ScrH() - 20, Color(0, 255, 0, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM)
else
draw.SimpleText("VISIBLE " ..Cooldown1.." SECONDS", "MatrixFont", 10, ScrH() - 20, Color(0, 255, 0, 255), TEXT_ALIGN_LEFT, TEXT_ALIGN_BOTTOM)
end
end)
end)
Успешно передается TIME_INVIS и буль Invisible. С Cooldown творится дичь, ему передается 0, хотя если оставить Cooldown единственной цифрой, то он передается как 5(ка и надо).

Такой вопрос: надо два AddNetworkString? хотя пробовал и творится по прежнему какая-то дичь, хотя прописано, как кажется, правильно.
И может быть на клиенте задать по новой эти 2 переменных? Чтоб уже мозги себе не делать. Хотя мне что-то подсказывает что тут есть подводные
 

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
ошибка не в Cooldown1, я его поменял
 

askwer

Пользователь
Регистрация
28 Янв 2023
Сообщения
31
Реакции
3
Баллы
4
Я думаю, что тебе определенно нужно найти другой способ передачи подобной информации. Не знаю чего ты этим добиваешься, но по твоей задумке кулдаун будет уходить в минус. В целом можно привязать это к установке игрока в невидимость, не передавая счетчики, а расчитывая их на клиенте при изменении статуса. Для таймеров в худе рекомендуется использовать CurTime() - time (сохраненное CurTime()) для расчета в сторону возрастания и СurTime() - time (CurTime() + определенное время в секундах) для обеспечения убывающего счетчика.
 

DeadMeat

Пользователь
Регистрация
21 Янв 2019
Сообщения
17
Реакции
0
Баллы
15
Я хочу чтобы кулдаун с сервера передался на клиент. Передается чисто переменная, а на клиенте убывающий счетчик сколько времени осталось. Но со второй переменной какая-то жуть творится. Это я делал для того что если придется менять, менять только на сервере, а не по всем файлам аддона.
Если же я создам новые переменные на клиенте, но с такими же значениями, избежав всей этой net херни, это ж не приведет ни к каким проблемам?
 
Назад
Сверху Снизу