I don't know lua or the modules themselves that well...
Code:
function items.check_turn_in(trade, trade_check)
--create trade_return table == trade
--shallow copy
local trade_return = {};
for key, value in pairs(trade) do
trade_return[key] = value;
end
--for every item in trade_check check trade_return
--if item exists in trade_return then
--remove that item from trade_return
--else
--failure
for i = 1, 4 do
local key = "item" .. i;
if(trade_check[key] ~= nil and trade_check[key] ~= 0) then
local found = false;
for j = 1, 4 do
local inst = trade_return["item" .. j];
if(inst.valid and trade_check[key] == inst:GetID()) then
*** -> trade_return["item" .. j] = ItemInst();
found = true;
break;
end
end
if(not found) then
return false;
end
end
end
...
end
There is a 'default' constructor declared for ItemInst in lua:
https://github.com/EQEmu/Server/blob...minst.cpp#L269
..but, there doesn't appear to be a definition:
https://github.com/EQEmu/Server/blob...eminst.cpp#L11
That said, the marked line should probably be:
Code:
trade_return["item" .. j] = ItemInst(inst:GetID());
..or..
Code:
trade_return["item" .. j] = inst;
I honestly just don't know since I don't code these scripts...