local items_player_needs = {
[1] = {itemID = 111111, itemCount = 1111},
[2] = {itemID = 111111, itemCount = 1111},
[3] = {itemID = 111111, itemCount = 1111}
}
local what_player_receives = {
item_ID = 111111,
item_count = 1111
}
local config = {
lever_reset_time_in_seconds = 60
}
local function reset(p)
doTransformItem(getTileItemById(p, 1946).uid, 1945)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
-- check if lever is currently used
if item.itemid == 1946 then
return doPlayerSendTextMessage(cid, 22, "Wait for switch to reset.")
end
-- check player inventory to see what items they have
count = 0
for i = 1, #items_player_needs do
if getPlayerItemCount(cid, items_player_needs[i].itemID) >= items_player_needs[i].itemCount then
count = count + 1
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You require more ".. getItemNameById(items_player_needs[i].itemID) .."'s to successfully convert items.")
break
end
end
-- check amount of items in table
table_count = 0
for k,v in pairs(items_player_needs) do
table_count = table_count + 1
end
-- check if count = tableCount
if table_count ~= count then
return true
end
-- remove required items
for i = 1, #items_player_needs do
doPlayerRemoveItem(cid, items_player_needs[i].itemID, items_player_needs[i].itemCount)
end
-- give player item
stack = 0
if isItemStackable(what_player_receives.item_ID) == true then
stack = stack + 1
end
if stack == 1 then
doPlayerAddItem(cid, what_player_receives.item_ID, what_player_receives.item_count, true)
else
repeat
doPlayerAddItem(cid, what_player_receives.item_ID, 1, true)
stack = stack + 1
until stack == (what_player_receives.item_count)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have received ".. what_player_receives.item_count .." ".. getItemNameById(what_player_receives.item_ID) ..".")
-- transform lever, and add reset
doTransformItem(item.uid, item.itemid + 1)
addEvent(reset, config.lever_reset_time_in_seconds * 1000, toPosition)
return true
end