Выпадение всех денег и лицензии при смерти

Как сделать что бы когда человек умирал или его убивали,то с его кармана выпадали все деньги и + исчезала лицензия? Не будет же игрок носить с собой миллионы в кармане,для этого есть банкоматы. И в settings.lua там только настройка выпадения денег одноразовой смерти (т.e выпадения определенной суммы для всех игроков) Буду рад если кто то поможет)

Выпадение денег

Поменять на

if GAMEMODE.Config.dropmoneyondeath then
    local amount = ply:getDarkRPVar("money")

    if amount > 0 then
        ply:addMoney(-amount)
        DarkRP.createMoneyBag(ply:GetPos(), amount)
    end
end

Удаление лицензии

Вписывать в SV часть.
Код удаляет лицензию после смерти у людей, которые взяли у мэра. Но не у людей у которых сразу есть лицензия (Полиция, Спецназ и тд)

hook.Add("PlayerDeath", "RemoveLicenseOnDeath", function(ply)
    local job = RPExtraTeams[ply:Team()]

    if ply:getDarkRPVar("HasGunlicense") and not job.hasLicense then
        ply:setDarkRPVar("HasGunlicense", nil)
        DarkRP.notify(ply, 1, 4, "Ваша лицензия теперь недействительна.")
    end
end)

Я заменил код на тот который ты мне предложил. Но ничего не изменилось,снимаются только те деньги которые были указаны в settings.lua

Перезагрузил сервер? Код 100% рабочий

Перезагрузил сервер,но как я и сказал ранее снимаются только те деньги которые были указаны в settings.lua. Держи скрин кода
view

Ты заменил именно те строки которые я указал?

Вот эти строки

Да,но прикол еще кстати в том что у меня строчек меньше чем в коде гитхаба
Там 1140 строчек а у меня 965 строчек. и на 545 строчке у меня
ply.LastLetterMade = CurTime() - 61
ply.LastVoteCop = CurTime() - 61

ply:SetTeam(GAMEMODE.DefaultTeam)
ply.DarkRPInitialised = true

-- Whether or not a player is being prevented from joining
-- a specific team for a certain length of time
if GAMEMODE.Config.restrictallteams then
    for i = 1, #RPExtraTeams do
        ply:teamBan(i, 0)
    end
end

end

Значит версия старая. Ищи эти строки у себя в файле и заменяй их моими

Я так и сделал. Код который надо было заменить на 426 - 433 строчке
Попробую щас полностью заменить код с гитхаба и заменить код.
У меня кстати darkrpfix GitHub - timegivenzero/Darkrp-2.7-Fix: Removed Billboards, Brought Back Adverts, Lowered Delay from 2.5 to 1.0 Если эта версия дарк рп старая,можешь пожалуйста скинуть новую?

Всегда актуальную версию DarkRP можно получить тут:

Как скачать с DarkRP GitHub

А фикс на Billboard есть в виде кода тут:

Странно, я поменял gamemode darkrp на новый и код был на 545 строчке как и на гитхабе,я его заменил. Но когда тебя убивают или ты умираешь сам все деньги с кошелька не выпадают,выпадает только то что указал в settings.lua

Может быть у тебя с кодом что то не то? Просто как он может не работать когда я уже поставил новый дарк рп и заменил код гитхаба на твой

Код не может “не работать”. Там всё рабочее. У меня также всё работает

А может быть это из за того что у меня не установлена система инвентаря? мб что бы от туда выпадали,но у меня деньги после смерти выпадают,но не все. Это странно
У меня это по пути: E:\ServerGmod\steamapps\common\GarrysModDS\garrysmod\gamemodes\darkrp\gamemode\modules\base


Я не понимаю почему код не работает,если я делаю по сути все правильно.

Инвентарь тут не причем.
Поищи в файле строку “GAMEMODE.Config.deathfee
Если есть то отправь скриншот

GAMEMODE.Config.deathfee ” искать в sv_gamemode_functions.lua? Если да ,то у меня нету этой строчки. Или скажи число строки

sv_gamemode_functions.lua (35,1 КБ)
Вот код,мб сам чет можешь посмотреть

Потому что вы гении - вы сперва забираете все деньги, а потом нулевое значение спавните -_-

Просто хук юзай и все (lua/autorun/server)

local hook_Add = hook.Add
local rp = DarkRP

local function postdeath(ply)
	if IsValid(ply) && ply:IsPlayer() && !ply:IsBot() then
		local allmoney = ply:getDarkRPVar('money')
		rp.createMoneyBag(ply:GetPos(), allmoney)
		ply:addMoney(-allmoney)
		ply:setDarkRPVar("HasGunlicense", nil)
	end
end

hook_Add('PlayerDeath', 'DropMoneyNlicense', postdeath)

Я просто сделал как в гитхабе :pleading_face:
Но у меня почему то работает :man_shrugging:

Фиговый гитхаб значит)
Структура кода же:

  1. забираем деньги которые есть у игрока (деньги = 0)
  2. спавним все деньги игрока (а они у нас = 0 поэтому спавнить нечего)

:melting_face: