function onUse(cid, item, fromPosition, itemEx, toPosition)
local player = Player(cid)
local skinning = {
{monster = "Killer Camain", corpse = 11431, after = 11432, skin = 11429, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Dragon", corpse = 3104, after = 3105, skin = 5877, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Dragon Lord", corpse = 2881, after = 2882, skin = 5948, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Bonebeast", corpse = 3031, after = 3032, skin = 5925, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Behemoth", corpse = 2931, after = 2932, skin = 5893, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard Sentinel", corpse = 4259, after = 4260, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard Templar", corpse = 4256, after = 4257, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard Snakecharmer", corpse = 4262, after = 4263, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard Dragon Priest", corpse = 11277, after = 11278, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard High Guard", corpse = 11269, after = 11270, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard Legionnaire", corpse = 11273, after = 11274, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lizard Zaogun", corpse = 11281, after = 11282, skin = 5876, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Minotaur", corpse = 3090, after = 3091, skin = 5878, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Minotaur Archer", corpse = 2871, after = 2872, skin = 5878, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Minotaur Mage", corpse = 2866, after = 2867, skin = 5878, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Minotaur Guard", corpse = 2876, after = 2877, skin = 5878, chance = 20, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Lord of Elements", corpse = 9010, after = false, skin = 8310, chance = 100, storage = 10001, special = false, WaitTime = false, achievement = false},
{monster = "The Mutated Pumpkin", corpse = 8961, after = false, skin = false, chance = 100, storage = 23000, special = true, WaitTime = 3600, achievement = false},
{monster = "Pupikin", corpse = 2683, after = 2096, skin = false, chance = 100, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Ice Cube Stage 1", corpse = 7441, after = 7442, skin = false, chance = 70, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Ice Cube Stage 2", corpse = 7442, after = 7444, skin = false, chance = 60, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Ice Cube Stage 3", corpse = 7444, after = 7445, skin = false, chance = 40, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Ice Cube Last Stage", corpse = 7445, after = 7446, skin = false, chance = 30, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Marble Rock Stage 1", corpse = 11343, after = 11344, skin = false, chance = 70, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Marble Rock Stage 2", corpse = 11344, after = 11345, skin = false, chance = 40, storage = false, special = false, WaitTime = false, achievement = false},
{monster = "Marble Rock Last Stage", corpse = 11345, after = 11346, skin = false, chance = 30, storage = false, special = false, WaitTime = false, achievement = false},
}
local especial = {
["The Mutated Pumpkin"] = {
{itemname = "Spiderwebs", itemid = 8860, Count = 1},
{itemname = "Pumpkin", itemid = 2683, Count = 1},
{itemname = "50 Candy Canes", itemid = 2688, Count = 50},
{itemname = "Surprise Bag", itemid = 6571, Count = 1},
{itemname = "Bat Decoration", itemid = 6492, Count = 1},
{itemname = "Bar of Chocolate", itemid = 6574, Count = 1},
{itemname = "Skeleton Decoration", itemid = 6526, Count = 1},
{itemname = "Pumpkinhead", itemid = 2096, Count = 1},
{itemname = "20 Yummy Gummy Worms", itemid = 9005, Count = 20},
{itemname = "Surprise Bag", itemid = 6570, Count = 1},
{itemname = "Toy Spider", itemid = 9006, Count = 1},
},
}
for k, v in pairs(skinning) do
if (v.corpse == itemEx.itemid) then
local iEx = Item(itemEx.uid)
if (v.skin ~= false) and (v.special == false) then
if v.after ~= false then
iEx:transform(v.after)
else
if (v.storage ~= false) then
if player:getStorageValue(v.storage) == 1 then
return false
end
player:setStorageValue(v.storage, 1)
end
end
if math.random(1, 100) <= v.chance then
toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN)
player:addItem(v.skin, 1, true)
else
toPosition:sendMagicEffect(CONST_ME_BLOCKHIT)
end
elseif ((v.skin == false) and (v.special == false) and (v.after ~= false)) then
if math.random(1, 100) <= v.chance then
iEx:transform(v.after)
toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN)
else
toPosition:sendMagicEffect(CONST_ME_BLOCKHIT)
iEx:remove(1, true)
end
elseif ((v.skin == false) and (v.special == true)) then
for id, value in pairs(especial) do
if tostring(id):lower() == tostring(v.monster):lower() then
if (player:getStorageValue(v.storage) - os.time() <= 0) then
local time = os.time() + ( v.WaitTime )
player:setStorageValue(v.storage, time)
local rewards = {}
rewards.id = id
for inf, it in pairs(value) do
rewards[inf] = it
end
local RandomItem = rewards[math.random(1, #rewards)]
player:addItem(RandomItem.itemid, RandomItem.Count, true)
player:say("You found a " .. RandomItem.itemname .. ".", TALKTYPE_ORANGE_1)
else
player:say("You already used your knife on the corpse.", TALKTYPE_ORANGE_1)
return false
end
end
end
end
break
end
end
return true
end