Вопрос по промокодам

вопрос, можно ли сделать промокод который выдаёт донат вещ а не донат рубли?

Можно, но для такого промокода тебе понадобится создать хук на PlayerSay с функцией
PlayerActivateItem()

Самый простой промокод

Кидать в lua/autorun/server или в любую папку addons, где есть папка server

local command = '/promo' -- команда для получения награды

local reward = 'igs_item_id' -- сюда вписывать ID предмета из sh_additems.lua

file.CreateDir( 'promo' )

hook.Add( 'PlayerSay', 'mypromo', function( ply, text ) 

	text = string.lower( text )
	if text == command then
		if not file.Exists( 'promo/' .. ply:SteamID64() .. '.txt', 'DATA' ) then
			file.Write( 'promo/' .. ply:SteamID64() .. '.txt', 'DATA' )
			    IGS.PlayerActivateItem(ply, reward, function()	end)
			    ply:SendLua( 'chat.AddText( Color( 220, 20, 60 ), "[Промокод]", Color( 255, 255, 255 ), "Награда получена" ) ' )
		else
			ply:SendLua( 'chat.AddText( Color( 220, 20, 60 ), "[Промокод]", Color( 255, 255, 255 ), "Вы уже получили свою награду" ) ' )
		end
		return ''
	end

end)

PlayerActivateItem() типо в папке igs? я просто недавно начал пользоваться igs и не знаю многого о том что куда кидать и что где вписывать

Функция IGS

и ещё 1 вопрос, последний, id предмета типо каким он идёт по счёту или как?

[igs-modification] addons/igs-modification/lua/igs/settings/sh_additems.lua:61: attempt to call method ‘PlayerActivateItem’ (a nil value)

  1. unknown - addons/igs-modification/lua/igs/settings/sh_additems.lua:61
  2. cl - [C]:-1
    3. sh - autorun/l_ingameshop.lua:25
    4. unknown - igs/launcher.lua:66
    5. RunString - [C]:-1
    6. sh - autorun/l_ingameshop.lua:41
    7. unknown - autorun/l_ingameshop.lua:158
    8. RunString - [C]:-1
    9. cb - addons/igs-modification/lua/autorun/l_ingameshopmod.lua:47
    10. onsuccess - addons/igs-modification/lua/autorun/l_ingameshopmod.lua:32
    11. unknown - lua/includes/modules/http.lua:29