Подскажте как сделать что бы если человек купил в донате иммунитет то при смерти с него не падали деньги
Держи, все-таки дошли руки)
-
Что нам нужно, это изменить код в режиме: DarkRP (Все делаем, как написал)
Заходим в путь: garrysmod/gamemodes/darkrp/gamemode/modules/base, находим файл с названием: sv_gamemode_functions.lua
-
Как войдем в данный файл, у нас будет слева колонка с цифрами
Начинаем искать цифру: 545, как находим должно что-то быть похожее:
DarkRP/sv_gamemode_functions.lua at 8c0035710adefa47c1dbffc9ae65461f66ae73f4 · FPtje/DarkRP (github.com)
Добавляем строчку кода, как показано ниже:
if hook.Call("canLoseMoney", nil, ply) == false then return end
После всех действий нужно сохранить файл, и создать предмет:
IGS("Анти-теряшка", "no_lose_money")
:SetPrice(100)
:SetDescription("Вы никогда не будете терять свои деньги!")
Нужно добавить код на сервер, чтобы все работало:
Установка:
-- addons/anyname/lua/autorun/server/nolooose.lua
hook.Add("canLoseMoney", "IGS_NoLoseMoney", function(ply)
if ply:HasPurchase("no_lose_money") then
return false
end
end)
P.S Не умею писать красивые текста, для всех действий нужен хотя бы Notepad++ (Редактор текста)
@Tvoya_Vaify проверь, работает ли и отпиши сюда
Я проверял лично, и все работать должно
я хочу знать, подходит ли решение автору темы, поскольку само решение может и работает но реализовано оно костыльно
ну а как можно лучше сделать?
если бы у меня было время, я бы постарался ответить, но не могу…
Я не нашел эти строчки, все вроде посмотрел и через поиск не находит
if GAMEMODE.Config.dropmoneyondeath then
local amount = GAMEMODE.Config.deathfee
if not ply:canAfford(GAMEMODE.Config.deathfee) then
amount = ply:getDarkRPVar("money")
end
if amount > 0 then
ply:addMoney(-amount)
DarkRP.createMoneyBag(ply:GetPos(), amount)
end
end