[IGS] attempt to index local ‘STORE_ITEM’ (a nil value)

В max.lua поменяй первую строчку на local STORE_ITEM = MT_IGSItem.

Если в коде сервера еще где-то используется FindMetaTable("IGSItem"), то замени по тому самому принципу.

Ломающее обновление: Release Фиксы debug.getregistry · GM-DONATE/IGS · GitHub

Вот полный пример файла:

local STORE_ITEM = MT_IGSItem

-- Возволяет настроить максимальное количество ПОКУПОК одного предмета
-- Работает только для одного сервера, независимо от того, указан ли bGlobal
function STORE_ITEM:SetMaxPurchases(iLimit)
	return self:SetMeta("purchasesLimit", iLimit)
end

if CLIENT then return end

local function bibKey(pl,ITEM)
	return "igs:purchases:" .. pl:UniqueID() .. ":" .. ITEM:UID()
end

hook.Add("IGS.CanPlayerBuyItem", "purchasesLimit", function(pl, ITEM) -- bGlobal
	local limit = ITEM:GetMeta("purchasesLimit")
	if limit and bib.getNum(bibKey(pl, ITEM),0) >= limit then
		return false, "Этот предмет можно купить только " .. limit .. " раз(а)"
	end
end)

hook.Add("IGS.PlayerPurchasedItem", "purchasesLimit", function(pl, ITEM) -- bGlobal, iID
	local limit = ITEM:GetMeta("purchasesLimit")
	if limit then
		local key = bibKey(pl, ITEM)
		bib.setNum(key, bib.getNum(key,0) + 1)
		IGS.Notify(pl, "Вы купили " .. ITEM:Name() .. " " .. bib.getNum(key,0) .. " раз из " .. limit)
	end
end)

P.S. В идеале отказаться от этого файла. Он плоховато написан, да и название метода не совсем коректно отражает суть. Короче лично мне не нравится этот модуль. Не помню где я это публиковал, но если найдешь – дай знать, хоть рефакторинг небольшой сделаю