как будет выглядеть скрипт, в котором по команде “viptest”,“testvip” будет активироваться определенный товар (привелегия)?
local command = '!viptest'
file.CreateDir( 'viptest_promo' )
hook.Add( 'PlayerSay', 'SayVipGetVip', function( ply, text )
text = string.lower( text )
if text == command then
if not file.Exists( 'viptest_promo/' .. ply:SteamID64() .. '.txt', 'DATA' ) then
file.Write( 'viptest_promo/' .. ply:SteamID64() .. '.txt', 'DATA' )
IGS.PlayerActivateItem(ply, "IGS_ITEM_ID", function() end) -- укажи вместо IGS_ITEM_ID свой ID випки
else
ply:SendLua( 'chat.AddText( Color( 220, 20, 60 ), "[VIP]", Color( 255, 255, 255 ), " Вы уже получили свою випку" ) ' )
end
return ''
end
end)
addons/papka/lua/autorun/server
код что ты сделал - откровенное дерьмо, если помогаешь - то пиши нормально
Спасибо за высер критику
Твой комментарий очень нужен мне.
Напиши же свой код, в чем проблема? Человек сам тогда выберет что ему по душе.
высер?
автору желаю вместо того чтоб использовать код юного lua мастера, создать в донате привилегию VIP Test, и добавить команду которая будет активировать этот ITEM, и вместо того чтобы записывать куда-то, что игрок использовал VIP Test сделать проверку - купил ли игрок этот предмет (IGS/ut_sh.lua at f2a0b317610f7f818a946c68b212ea5112705fef · GM-DONATE/IGS · GitHub). это же уже есть в функционале GMD, зачем придумывать свое откровенное дерьмо? нотификацию можно сделать опять же через GMD (IGS/ut_sv.lua at main · GM-DONATE/IGS · GitHub)
Ты даже на готовые ресурсы не смог ссылки дать, не говоря уже о коде…
Человеку нужен скрипт, а не твои высеры советы. Покажи же мастер класс и напиши ему заветный годно скрипт
UPD. Твой мозг заточен лишь “обосрать”, поэтому для автора:
IGS("Тестовая VIP", "vip_test", 0)
:SetDescription("Тестовая випка на 7 дней")
:SetMaxPlayerPurchases(1)
:SetTerm(7)
И да, SetMaxPlayerPurchases и так отвечает за проверку на максимальное количество покупок, джимии нейтрон с гулем на аве
Тебе не нравится, что используется sendlua? Хорошо, автор заменит на IGS.Notify, ты только подскажи ему.
Тебе не нравится запись в дату? Хорошо, давай эта команда будет абузиться и никак не ограничиваться по количеству использованных раз.
local test_item = IGS('VIP на 3 дня', 'testvip3d')
:SetBAdminGroup('vip', 1) -- пропишите свою админ систему
:SetPrice(0)
:SetTerm(3)
:SetDescription('Вы получите VIP на 3 дня!')
:SetCategory('Группы')
:SetHidden(true)
if SERVER then
local cmds = {
['viptest'] = true,
['testvip'] = true
}
local item_id = test_item.uid
local item_name = test_item.name
function IGS.VIPTestCommand(pl, text)
text = string.Trim(text)
if (text[1] == '!') or (text[1] == '/') then
text = string.sub(text, 2)
if cmds[string.lower(text)] then
local key = string.format('igs:purchases:%s:%s', pl:UniqueID(), item_id)
if bib.getNum(key, 0) >= 1 then IGS.Notify(pl, 'Вы уже использовали тест ' .. item_name .. '!') return '' end
IGS.PlayerActivateItem(pl, item_id, function()
IGS.Notify(pl, 'Вы активировали тест ' .. item_name .. '!')
bib.setNum(key, 1)
end)
return ''
end
end
end
hook.Add('PlayerSay', 'IGS.PlayerSay.VIPTestCommand', IGS.VIPTestCommand)
end
murda, мужик, ты по факту слит, можешь не высирать
Итоги?
работает и мое и твое
любишь позером быть? дело твое
Мой тебе совет: меньше слов - больше дела
Взял, написал код и скинул
работает то оба, но что работает лучше?)
+1 обсер, зачем SetMaxPlayerPurchases?) если автору требуется команда, а там можно просто сделать HasPurchase, ведь даже если оно вышло со срока SetTerm с покупок оно не удаляется =)
на счет HasPurchase - у меня код переделан, по этому SetMaxPlayerPurchases требуется, но в коде мы будем использовать bib.getNum - bib.setNum (это используется там)
и так сколько раз ты обосрался в коде - аж целых 4 раза!
- дата
- sendlua
- function() end в IGS.PlayerActivateItem, зачем? IGS/core_sv.lua at f2a0b317610f7f818a946c68b212ea5112705fef · GM-DONATE/IGS · GitHub
- SetMaxPlayerPurchases, так же - зачем? IGS/core_sv.lua at f2a0b317610f7f818a946c68b212ea5112705fef · GM-DONATE/IGS · GitHub
из-за таких как ты - появляются подобные ребята, которые вместо того чтобы учиться писать код, просто срут в него
да, лучше же промолчать когда рождается еще один говнокодер =)
спасибо
спасибо