Ситуация : После написания в консоль god у нас включаеся god, и когда я падаю в faking (ragdoll) то у меня все работает(я не получаю дамаг когда я падаю с большой высоты), начинаю вставать и еще раз падаю с высоты той-же, я получаю дамаг и умераю. Короче слетает у меня год и прочее фигня… Вот исходный код:
Приклепленный файл
sv_fake.lua (45,4 КБ)
sv_fake_modified.lua (1,6 КБ)
- Добавил таблицу для хранения состояния god mode:
local playerGodMode = {}
Это нужно, чтобы сервер мог отслеживать, у кого из игроков включён god mode, и сохранять его состояние при переходе в ragdoll
- Обновил функцию для переключения god mode:
local function ToggleGodMode(ply)
if not IsValid(ply) then return endif playerGodMode[ply] then ply:GodDisable() playerGodMode[ply] = nil ply:ChatPrint("God mode disabled.") else ply:GodEnable() playerGodMode[ply] = true ply:ChatPrint("God mode enabled.") end
end
Теперь сервер сохраняет или убирает состояние god в таблице playerGodMode, чтобы оно правильно сохранялось даже после выхода из ragdoll
- Добавил hook для сохранения состояния god при входе в ragdoll:
hook.Add(“PlayerEnteredRagdoll”, “SaveGodModeState”, function(ply)
if not IsValid(ply) then return endif ply:IsGod() then playerGodMode[ply] = true end
end)
Здесь сервер проверяет, включён ли god mode у игрока, и сохраняет это в таблице.
- Добавил hook для восстановления god после выхода из ragdoll:
hook.Add(“PlayerLeaveRagdoll”, “RestoreGodModeState”, function(ply)
if not IsValid(ply) then return endif playerGodMode[ply] then ply:GodEnable() end
end)
Когда игрок выходит из ragdoll, сервер проверяет таблицу playerGodMode и включает god обратно, если он был включён до этого
- Очистка данных при отключении игрока:
hook.Add(“PlayerDisconnected”, “CleanupGodModeData”, function(ply)
playerGodMode[ply] = nil
end)
Это нужно, чтобы сервер удалял информацию об игроке из таблицы playerGodMode, если он покидает сервер
Надеюсь помог
*Возможно код требует доработки, но у меня все работает
Такое чувство что писал ChatGPT.
Если ты действительно так пишешь код - мое уважение.
Но бля проверки год мода делается ply:HasGodMode()
Да, пишу сам, извиняюсь у меня в библиотеке функция проверки другая, исправлю