Умножение доната x2

Здравствуйте, как можно сделать двойной донат в любое время и любое количество раз?

Есть такой скрипт:

Для постоянного удвоения используй этот код:

hook.Add("IGS.PlayerDonate", "double_donation", function(pl, sum)
	pl:AddIGSFunds(sum, "Удвоение доната")
	IGS.Notify(pl, "Вы пополнили счет на " .. PL_MONEY(sum) .. " и получили столько же сверху")
end)

Сообщи, сработает ли

Igs-modules это любая папка? Или где ее взять?

Просто закинь файл по пути addons/igs-modification/lua/autorun/server/doubledon.lua

Спасибо, все работает)

Спасибо, работает, но разве эту тему уже не выставляли?

Куда выставляли?

P.S. Твоя ссылка ведет на эту тему

Раньше была такая тема уже на каком-то ноу нейм форуме, возможно этого форму уже нет

Как реализовать X3 донат?

Думаю что нужно сделать, sum * 2

Как х2, но х3

Кст это будет работать только если игрок на сервере)
Некоторые игроки оплачивают с сайта (или могут выйти с сервера)

Можно использовать хук IGS.IncomingMessage

local note = "x2 к пополнению"
hook.Add( "IGS.IncomingMessage", "IGS x2", function( d, method )
    if method ~= "payment.UpdateStatus" or d.method ~= "pay" then return end
    local targ = player.GetBySteamID64( d.SteamID64 )
    local amount = IGS.RealPrice( d.orderSum )

    if targ then
        targ:AddIGSFunds( amount, note, function( )
            if !IsValid( targ ) then return end
            IGS.Notify( targ, "Задействован бонус '" .. note .. "'!" )
        end )
    else
        IGS.Transaction( d.SteamID64, amount, note )
    end
end )

FYI

2 лайка

Так и есть, ты внимательный. Молодец

Я кстати вспомнил зачем была проверка на игрока. Если у проекта несколько серверов, то оно удвоит столько раз, сколько серверов будет запущено в момент удвоения доната

Удвоение доната 1 раз в сутки

local HOUR = 60 * 60
hook.Add("IGS.PlayerDonate", "double_donation", function(pl, sum)
	local cookie_uid = "igs:x2received:" .. pl:SteamID64()
	if os.time() - (cookie.GetNumber(cookie_uid_today) or 0) <= (HOUR * 20) then
		IGS.Notify(pl, "Сегодня вы уже получали x2 за донат")
		return
	end
	cookie.Set(cookie_uid, os.time())

	pl:AddIGSFunds(sum, "Удвоение доната")
	IGS.Notify(pl, "Вы пополнили счет на " .. PL_MONEY(sum) .. " и получили столько же сверху")
end)

Хм, да, ты прав. Тогда я не вижу решения этой проблемы) Придется игрокам быть в онлайне