Плата за спавн пропов

Как сделать покупку пропов при спавне пропа?
1 проп = 100$

Оказывается я программист.
Если вы можете как-то улучшить это то с радостью жду ваш код)
И подскажите как вставлять текст с переменной в месте, а то хочу переменную поставить чтобы менять текст в notify и addmoney в одном месте

hook.Add("PlayerSpawnedProp", "PropSalary" , function(pl)
    pl:addMoney(-100)
    DarkRP.notify(pl, 0, 5, "Вы купили проп за 100₽")
end)
1 лайк
local PROP_PRICE = 100

hook.Add("PlayerSpawnedProp", "PropSalary" , function(pl)
	if not pl:canAfford(PROP_PRICE) then
		pl:ChatPrint("Нет денег на покупку пропа")
		return false
	end

	pl:addMoney(-PROP_PRICE)
	DarkRP.notify(pl, 0, 5, "Вы купили проп за " .. PROP_PRICE .. "₽")
end)

Добавил еще проверку, чтобы игрок не мог загнать свой баланс в минус


Может быть также полезно:

Увеличение лимита пропов за донат:

Поднимаю тред
Это не работает он все равно спавнит пропы

upd Я сделал чтобы пропы не появлялись, но не думаю что это правильное решение

local PROP_PRICE = 100

hook.Add("PlayerSpawnedProp", "PropSalary" , function(pl, model, ent)
    if not pl:canAfford(PROP_PRICE) then
        DarkRP.notify(pl, 0, 5, "У вас нет " .. PROP_PRICE .. "₽ для покупки пропа!")
        ent:Remove()
        return false
    end
    if pl:canAfford(PROP_PRICE) then
        pl:addMoney(-PROP_PRICE)
        DarkRP.notify(pl, 0, 5, "Вы купили проп за " .. PROP_PRICE .. "₽")
    end
end)

Попробуй так

local PROP_PRICE = 100

hook.Add("PlayerCheckLimit", "PropSalary" , function(pl, limit_name)
	if limit_name ~= "props" then return end

	if not pl:canAfford(PROP_PRICE) then
		pl:ChatPrint("Нет денег на покупку пропа")
		return false
	end

	pl:addMoney(-PROP_PRICE)
	DarkRP.notify(pl, 0, 5, "Вы купили проп за " .. DarkRP.formatMoney(PROP_PRICE))
end)

Да это работает, но вылезает уведомление о лимите

ну, только так

Думаю, так будет лучше

local PROP_PRICE = 100

hook.Add('PlayerSpawnProp', 'checkmoney', function(ply)
      if not ply:canAfford(PROP_PRICE) then
		ply:ChatPrint('Нет денег на покупку пропа')
		return false
      end
end)

hook.Add('PlayerSpawnedProp', 'PropSalary', function(ply)
	ply:addMoney(-PROP_PRICE)
	DarkRP.notify(ply, 0, 5, 'Вы купили проп за ' .. DarkRP.formatMoney(PROP_PRICE))
end)
1 лайк

Точно. Молодец :heart: