Здравствуйте, жители форума gm-donate! У меня возник вопрос с функцией :SetGetPrice(func)
от этого прекрасного автодоната. Можете привести пример использование сией функции?
Пример использования (я тестил снизу sh_additems.lua файла)
for _,ITEM in pairs( IGS.GetItems() ) do
ITEM:SetGetPrice(function(pl)
if pl == player.GetBySteamID("string steamID") then
ITEM:SetDiscountedFrom(ITEM.price)
return ITEM.price * 0.1
end
end)
end
Код делал скидку 10% на все предметы для одного игрока
Спасибо, значит оно работает как я и хотел. Теперь смогу сделать скидку на привилегии если у тебя была привилегия ниже
А можешь скинуть такой код? Если не против конечно
Если я правильно понял, то должно выглядеть примерно вот так
IGS("vip", "vip"):SetULXGroup("vip")
:SetPrice(100)
:SetTerm(30)
:SetCategory("Группы")
IGS("moderator", "moderator"):SetULXGroup("moderator")
:SetPrice(150)
:SetGetPrice(function(pl, ITEM)
if pl:HasPurchase("vip") then -- проверка есть ли у нас привилегия ниже(в моем случае vip)
ITEM:SetDiscountedFrom(ITEM.price)
return ITEM.price * 0.5 -- делаем скидку 50%
end
end)
:SetTerm(30)
:SetCategory("Группы")
На первый взгляд, правильно
А можно ли сделать чтобы скидка писалась в донат меню?
Не понял
Если в SetGetPrice используется метод pl:HasPurchase(“uid”), то для предмета “uid”, нужно еще сделать :SetNetworked()
, чтобы информация о его покупке передавалась на клиент
Просто в данный код вставить :SetNetworked()
? или нужно еще что-то добавить не совсем понимаю
local ITEM = IGS("VIP на 1 месяц", "vip_odin_mesac")
:SetULXGroup("vip")
:SetPrice(89)
:SetGetPrice(function(pl, ITEM)
if pl:HasPurchase("vip_na_semday") then
ITEM:SetDiscountedFrom(ITEM.price)
return ITEM.price * 0.8
end
end)
:SetTerm(30)
:SetIcon("https://i.imgur.com/pb39VTk.png")
:SetCategory("Донат привилегии")
:SetDescription(viptext)
:SetCanActivate(function(ply)
if ply:GetUserGroup() == "superadmin" or ply:GetUserGroup() == "helper" or ply:GetUserGroup() == "moder" or ply:GetUserGroup() == "admin" or ply:GetUserGroup() == "curator" then
return "Вы находитесь в команде проекта и не можете использовать эту услугу!"
end
end)
VIPS:AddItem(ITEM)
1 лайк
Для итема vip_na_semday
нужно прописать SetNetworked()