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