• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Help Guys with upgrade system i want Only Gems removed when faild

Ahmed Kotb

Mapper
Joined
Mar 12, 2015
Messages
72
Reaction score
0
Code:
function Upgrade(cid,item,gemscount,oldwand,newwand,item2)

  if item2.itemid == oldwand then  
     rand = math.random(1,10)
     position=getPlayerPosition(cid)
      if getPlayerItemCount(cid,item.itemid) >= gemscount then

     doPlayerRemoveItem(cid,item.itemid,gemscount)
       if rand > 5  then
         doPlayerSendTextMessage(cid,19,"Your Upgrade Has Been Failed")
         doSendAnimatedText(position,"Failed",TEXTCOLOR_RED)
         doSendMagicEffect(position,2)
       else

         doPlayerAddItem(cid,newwand,1)
         doPlayerSendTextMessage(cid,19,"Congratulations! Your Weapon Has Been Successfully Upgraded")
         doSendAnimatedText(position,"Succeed",TEXTCOLOR_RED)
         doSendMagicEffect(position,28)
        
       end
       doRemoveItem(item2.uid,1)
      end
  end

end

function onUse(cid, item, frompos, item2, topos)
-- Arch Gems <Start>
   if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
      Upgrade(cid,item,10,2453,7447,item2) --Wand
    Upgrade(cid,item,10,2352,7448,item2) --Arrow
    Upgrade(cid,item,10,7382,7386,item2) --Sword
    Upgrade(cid,item,10,6553,7434,item2) --Axe
    Upgrade(cid,item,10,7421,7427,item2) --Mace
   end
   if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
      Upgrade(cid,item,40,7447,7446,item2) --Wand
    Upgrade(cid,item,40,7448,7963,item2) --Arrow
    Upgrade(cid,item,40,7386,7390,item2) --Sword
    Upgrade(cid,item,40,7434,2431,item2) --Axe
    Upgrade(cid,item,40,7427,7428,item2) --Mace
   end
   -- Arch Gems <End/>
   -- Inf Gems <Start>
   if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
      Upgrade(cid,item,10,7379,7756,item2) --Wand
    Upgrade(cid,item,10,7365,7746,item2) --Arrow
    Upgrade(cid,item,10,7402,7747,item2) --Sword
    Upgrade(cid,item,10,7413,7752,item2) --Axe
    Upgrade(cid,item,10,7381,7755,item2) --Mace
   end
   if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
      Upgrade(cid,item,40,7756,2187,item2) --Wand
    Upgrade(cid,item,40,7746,7426,item2) --Arrow
    Upgrade(cid,item,40,7747,7748,item2) --Sword
    Upgrade(cid,item,40,7752,7753,item2) --Axe
    Upgrade(cid,item,40,7755,7757,item2) --Mace
   end
   -- Inf Gems <End/>
   -- Ice King Gems <Start>
   if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
      Upgrade(cid,item,10,2183,7773,item2) --Wand
    Upgrade(cid,item,10,7839,7765,item2) --Arrow
    Upgrade(cid,item,10,7407,7766,item2) --Sword
    Upgrade(cid,item,10,7455,7771,item2) --Axe
    Upgrade(cid,item,10,7450,7774,item2) --Mace
   end
   if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
      Upgrade(cid,item,40,7773,7775,item2) --Wand
    Upgrade(cid,item,40,7765,7764,item2) --Arrow
    Upgrade(cid,item,40,7766,7767,item2) --Sword
    Upgrade(cid,item,40,7771,7772,item2) --Axe
    Upgrade(cid,item,40,7774,7776,item2) --Mace
   end
   -- Ice King Gems <End/>
   -- Assasin Gems <Start>
   if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
      Upgrade(cid,item,10,3961,7864,item2) --Wand
    Upgrade(cid,item,10,7850,7854,item2) --Arrow
    Upgrade(cid,item,10,6528,7857,item2) --Sword
    Upgrade(cid,item,10,2415,7862,item2) --Axe
    Upgrade(cid,item,10,2424,7868,item2) --Mace
   end
   if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
      Upgrade(cid,item,40,7864,7866,item2) --Wand
    Upgrade(cid,item,40,7854,7855,item2) --Arrow
    Upgrade(cid,item,40,7857,7858,item2) --Sword
    Upgrade(cid,item,40,7862,7863,item2) --Axe
    Upgrade(cid,item,40,7868,7867,item2) --Mace
   end
   -- Assasin Gems <End/>
   -- Light Gems <Start>
   if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
      Upgrade(cid,item,10,7451,7879,item2) --Wand
    Upgrade(cid,item,10,7838,7871,item2) --Arrow
    Upgrade(cid,item,10,7420,7872,item2) --Sword
    Upgrade(cid,item,10,7454,7877,item2) --Axe
    Upgrade(cid,item,10,2445,7880,item2) --Mace
   end
   if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
      Upgrade(cid,item,40,7879,7881,item2) --Wand
    Upgrade(cid,item,40,7871,7870,item2) --Arrow
    Upgrade(cid,item,40,7872,7873,item2) --Sword
    Upgrade(cid,item,40,7877,7878,item2) --Axe
    Upgrade(cid,item,40,7880,7882,item2) --Mace
   end
   -- Light Gems <End/>
end
 
Last edited by a moderator:
That code is so messy lol, I've got no time to rewrite it all, but hey, try this:
Code:
function Upgrade(cid, item, gemscount, oldwand, newwand, item2)
    if item2.itemid == oldwand then 
        local rand = math.random(1,10)
        local position = getPlayerPosition(cid)
        if getPlayerItemCount(cid,item.itemid) >= gemscount then
            if rand > 5  then
                doPlayerSendTextMessage(cid,19,"Your Upgrade Has Been Failed")
                doSendAnimatedText(position,"Failed",TEXTCOLOR_RED)
                doSendMagicEffect(position,2)
                doPlayerRemoveItem(cid,item.itemid,gemscount)
            else
                doPlayerAddItem(cid,newwand,1)
                doPlayerSendTextMessage(cid,19,"Congratulations! Your Weapon Has Been Successfully Upgraded")
                doSendAnimatedText(position,"Succeed",TEXTCOLOR_RED)
                doSendMagicEffect(position,28)
            end
            doRemoveItem(item2.uid,1)
        end
    end
end

function onUse(cid, item, frompos, item2, topos)
-- Arch Gems <Start>
    if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
        Upgrade(cid,item,10,2453,7447,item2) --Wand
        Upgrade(cid,item,10,2352,7448,item2) --Arrow
        Upgrade(cid,item,10,7382,7386,item2) --Sword
        Upgrade(cid,item,10,6553,7434,item2) --Axe
        Upgrade(cid,item,10,7421,7427,item2) --Mace
    end
    if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
        Upgrade(cid,item,40,7447,7446,item2) --Wand
        Upgrade(cid,item,40,7448,7963,item2) --Arrow
        Upgrade(cid,item,40,7386,7390,item2) --Sword
        Upgrade(cid,item,40,7434,2431,item2) --Axe
        Upgrade(cid,item,40,7427,7428,item2) --Mace
    end
    -- Arch Gems <End/>
    -- Inf Gems <Start>
    if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
        Upgrade(cid,item,10,7379,7756,item2) --Wand
        Upgrade(cid,item,10,7365,7746,item2) --Arrow
        Upgrade(cid,item,10,7402,7747,item2) --Sword
        Upgrade(cid,item,10,7413,7752,item2) --Axe
        Upgrade(cid,item,10,7381,7755,item2) --Mace
    end
    if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
        Upgrade(cid,item,40,7756,2187,item2) --Wand
        Upgrade(cid,item,40,7746,7426,item2) --Arrow
        Upgrade(cid,item,40,7747,7748,item2) --Sword
        Upgrade(cid,item,40,7752,7753,item2) --Axe
        Upgrade(cid,item,40,7755,7757,item2) --Mace
    end
    -- Inf Gems <End/>
    -- Ice King Gems <Start>
    if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
        Upgrade(cid,item,10,2183,7773,item2) --Wand
        Upgrade(cid,item,10,7839,7765,item2) --Arrow
        Upgrade(cid,item,10,7407,7766,item2) --Sword
        Upgrade(cid,item,10,7455,7771,item2) --Axe
        Upgrade(cid,item,10,7450,7774,item2) --Mace
    end
    if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
        Upgrade(cid,item,40,7773,7775,item2) --Wand
        Upgrade(cid,item,40,7765,7764,item2) --Arrow
        Upgrade(cid,item,40,7766,7767,item2) --Sword
        Upgrade(cid,item,40,7771,7772,item2) --Axe
        Upgrade(cid,item,40,7774,7776,item2) --Mace
    end
    -- Ice King Gems <End/>
    -- Assasin Gems <Start>
    if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
        Upgrade(cid,item,10,3961,7864,item2) --Wand
        Upgrade(cid,item,10,7850,7854,item2) --Arrow
        Upgrade(cid,item,10,6528,7857,item2) --Sword
        Upgrade(cid,item,10,2415,7862,item2) --Axe
        Upgrade(cid,item,10,2424,7868,item2) --Mace
    end
    if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
        Upgrade(cid,item,40,7864,7866,item2) --Wand
        Upgrade(cid,item,40,7854,7855,item2) --Arrow
        Upgrade(cid,item,40,7857,7858,item2) --Sword
        Upgrade(cid,item,40,7862,7863,item2) --Axe
        Upgrade(cid,item,40,7868,7867,item2) --Mace
    end
    -- Assasin Gems <End/>
    -- Light Gems <Start>
    if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
        Upgrade(cid,item,10,7451,7879,item2) --Wand
        Upgrade(cid,item,10,7838,7871,item2) --Arrow
        Upgrade(cid,item,10,7420,7872,item2) --Sword
        Upgrade(cid,item,10,7454,7877,item2) --Axe
        Upgrade(cid,item,10,2445,7880,item2) --Mace
    end
    if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
        Upgrade(cid,item,40,7879,7881,item2) --Wand
        Upgrade(cid,item,40,7871,7870,item2) --Arrow
        Upgrade(cid,item,40,7872,7873,item2) --Sword
        Upgrade(cid,item,40,7877,7878,item2) --Axe
        Upgrade(cid,item,40,7880,7882,item2) --Mace
    end
    -- Light Gems <End/>
end
 
That code is so messy lol, I've got no time to rewrite it all, but hey, try this:
Code:
function Upgrade(cid, item, gemscount, oldwand, newwand, item2)
    if item2.itemid == oldwand then
        local rand = math.random(1,10)
        local position = getPlayerPosition(cid)
        if getPlayerItemCount(cid,item.itemid) >= gemscount then
            if rand > 5  then
                doPlayerSendTextMessage(cid,19,"Your Upgrade Has Been Failed")
                doSendAnimatedText(position,"Failed",TEXTCOLOR_RED)
                doSendMagicEffect(position,2)
                doPlayerRemoveItem(cid,item.itemid,gemscount)
            else
                doPlayerAddItem(cid,newwand,1)
                doPlayerSendTextMessage(cid,19,"Congratulations! Your Weapon Has Been Successfully Upgraded")
                doSendAnimatedText(position,"Succeed",TEXTCOLOR_RED)
                doSendMagicEffect(position,28)
            end
            doRemoveItem(item2.uid,1)
        end
    end
end

function onUse(cid, item, frompos, item2, topos)
-- Arch Gems <Start>
    if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
        Upgrade(cid,item,10,2453,7447,item2) --Wand
        Upgrade(cid,item,10,2352,7448,item2) --Arrow
        Upgrade(cid,item,10,7382,7386,item2) --Sword
        Upgrade(cid,item,10,6553,7434,item2) --Axe
        Upgrade(cid,item,10,7421,7427,item2) --Mace
    end
    if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
        Upgrade(cid,item,40,7447,7446,item2) --Wand
        Upgrade(cid,item,40,7448,7963,item2) --Arrow
        Upgrade(cid,item,40,7386,7390,item2) --Sword
        Upgrade(cid,item,40,7434,2431,item2) --Axe
        Upgrade(cid,item,40,7427,7428,item2) --Mace
    end
    -- Arch Gems <End/>
    -- Inf Gems <Start>
    if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
        Upgrade(cid,item,10,7379,7756,item2) --Wand
        Upgrade(cid,item,10,7365,7746,item2) --Arrow
        Upgrade(cid,item,10,7402,7747,item2) --Sword
        Upgrade(cid,item,10,7413,7752,item2) --Axe
        Upgrade(cid,item,10,7381,7755,item2) --Mace
    end
    if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
        Upgrade(cid,item,40,7756,2187,item2) --Wand
        Upgrade(cid,item,40,7746,7426,item2) --Arrow
        Upgrade(cid,item,40,7747,7748,item2) --Sword
        Upgrade(cid,item,40,7752,7753,item2) --Axe
        Upgrade(cid,item,40,7755,7757,item2) --Mace
    end
    -- Inf Gems <End/>
    -- Ice King Gems <Start>
    if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
        Upgrade(cid,item,10,2183,7773,item2) --Wand
        Upgrade(cid,item,10,7839,7765,item2) --Arrow
        Upgrade(cid,item,10,7407,7766,item2) --Sword
        Upgrade(cid,item,10,7455,7771,item2) --Axe
        Upgrade(cid,item,10,7450,7774,item2) --Mace
    end
    if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
        Upgrade(cid,item,40,7773,7775,item2) --Wand
        Upgrade(cid,item,40,7765,7764,item2) --Arrow
        Upgrade(cid,item,40,7766,7767,item2) --Sword
        Upgrade(cid,item,40,7771,7772,item2) --Axe
        Upgrade(cid,item,40,7774,7776,item2) --Mace
    end
    -- Ice King Gems <End/>
    -- Assasin Gems <Start>
    if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
        Upgrade(cid,item,10,3961,7864,item2) --Wand
        Upgrade(cid,item,10,7850,7854,item2) --Arrow
        Upgrade(cid,item,10,6528,7857,item2) --Sword
        Upgrade(cid,item,10,2415,7862,item2) --Axe
        Upgrade(cid,item,10,2424,7868,item2) --Mace
    end
    if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
        Upgrade(cid,item,40,7864,7866,item2) --Wand
        Upgrade(cid,item,40,7854,7855,item2) --Arrow
        Upgrade(cid,item,40,7857,7858,item2) --Sword
        Upgrade(cid,item,40,7862,7863,item2) --Axe
        Upgrade(cid,item,40,7868,7867,item2) --Mace
    end
    -- Assasin Gems <End/>
    -- Light Gems <Start>
    if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
        Upgrade(cid,item,10,7451,7879,item2) --Wand
        Upgrade(cid,item,10,7838,7871,item2) --Arrow
        Upgrade(cid,item,10,7420,7872,item2) --Sword
        Upgrade(cid,item,10,7454,7877,item2) --Axe
        Upgrade(cid,item,10,2445,7880,item2) --Mace
    end
    if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
        Upgrade(cid,item,40,7879,7881,item2) --Wand
        Upgrade(cid,item,40,7871,7870,item2) --Arrow
        Upgrade(cid,item,40,7872,7873,item2) --Sword
        Upgrade(cid,item,40,7877,7878,item2) --Axe
        Upgrade(cid,item,40,7880,7882,item2) --Mace
    end
    -- Light Gems <End/>
end

lol man if item get faild i lost staff and no lost gems i want it if it get faild remove gems only

guys please help
 
Last edited by a moderator:
move line 21 { doRemoveItem(item2.uid,1) }
somewhere into lines 10-12.
 
can Fix it and send it to me when get Fixed

lol now Dont remove anything old wand still with me after success and gems
 
Last edited by a moderator:
I was going to fix it more.. but I don't have time.
Code:
function Upgrade(cid, item, gemscount, oldwand, newwand, item2)

   position = getPlayerPosition(cid)
   rand = math.random(1,10)
     
   -- check if fail
   if rand > 5  then
     doPlayerSendTextMessage(cid, 19, "Your Upgrade Has Been Failed")
     doSendAnimatedText(position, "Failed", TEXTCOLOR_RED)
     doSendMagicEffect(position, 2)   
     
   -- if not fail, upgrade item.   
   else
     if item2.itemid == oldwand then  
       doPlayerAddItem(cid, newwand, 1)
       doPlayerSendTextMessage(cid, 19, "Congratulations! Your Weapon Has Been Successfully Upgraded")
       doSendAnimatedText(position, "Succeed", TEXTCOLOR_RED)
       doSendMagicEffect(position, 28)
       doRemoveItem(item2.uid, 1) -- removes old_item
     end
   end
   
   doPlayerRemoveItem(cid, item.itemid, gemscount) -- removes gems.
end

function onUse(cid, item, frompos, item2, topos)

-- Arch Gems
   if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
     Upgrade(cid,item,40,7447,7446,item2) --Wand
     Upgrade(cid,item,40,7448,7963,item2) --Arrow
     Upgrade(cid,item,40,7386,7390,item2) --Sword
     Upgrade(cid,item,40,7434,2431,item2) --Axe
     Upgrade(cid,item,40,7427,7428,item2) --Mace
   elseif item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
     Upgrade(cid,item,10,2453,7447,item2) --Wand
     Upgrade(cid,item,10,2352,7448,item2) --Arrow
     Upgrade(cid,item,10,7382,7386,item2) --Sword
     Upgrade(cid,item,10,6553,7434,item2) --Axe
     Upgrade(cid,item,10,7421,7427,item2) --Mace

-- Inf Gems
   elseif item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
     Upgrade(cid,item,40,7756,2187,item2) --Wand
     Upgrade(cid,item,40,7746,7426,item2) --Arrow
     Upgrade(cid,item,40,7747,7748,item2) --Sword
     Upgrade(cid,item,40,7752,7753,item2) --Axe
     Upgrade(cid,item,40,7755,7757,item2) --Mace
   elseif item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
     Upgrade(cid,item,10,7379,7756,item2) --Wand
     Upgrade(cid,item,10,7365,7746,item2) --Arrow
     Upgrade(cid,item,10,7402,7747,item2) --Sword
     Upgrade(cid,item,10,7413,7752,item2) --Axe
     Upgrade(cid,item,10,7381,7755,item2) --Mace

-- Ice King Gems
   elseif item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
     Upgrade(cid,item,40,7773,7775,item2) --Wand
     Upgrade(cid,item,40,7765,7764,item2) --Arrow
     Upgrade(cid,item,40,7766,7767,item2) --Sword
     Upgrade(cid,item,40,7771,7772,item2) --Axe
     Upgrade(cid,item,40,7774,7776,item2) --Mace
   elseif item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
     Upgrade(cid,item,10,2183,7773,item2) --Wand
     Upgrade(cid,item,10,7839,7765,item2) --Arrow
     Upgrade(cid,item,10,7407,7766,item2) --Sword
     Upgrade(cid,item,10,7455,7771,item2) --Axe
     Upgrade(cid,item,10,7450,7774,item2) --Mace

-- Assasin Gems
   elseif item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
     Upgrade(cid,item,40,7864,7866,item2) --Wand
     Upgrade(cid,item,40,7854,7855,item2) --Arrow
     Upgrade(cid,item,40,7857,7858,item2) --Sword
     Upgrade(cid,item,40,7862,7863,item2) --Axe
     Upgrade(cid,item,40,7868,7867,item2) --Mace
   elseif item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
     Upgrade(cid,item,10,3961,7864,item2) --Wand
     Upgrade(cid,item,10,7850,7854,item2) --Arrow
     Upgrade(cid,item,10,6528,7857,item2) --Sword
     Upgrade(cid,item,10,2415,7862,item2) --Axe
     Upgrade(cid,item,10,2424,7868,item2) --Mace

-- Light Gems
   elseif item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
     Upgrade(cid,item,40,7879,7881,item2) --Wand
     Upgrade(cid,item,40,7871,7870,item2) --Arrow
     Upgrade(cid,item,40,7872,7873,item2) --Sword
     Upgrade(cid,item,40,7877,7878,item2) --Axe
     Upgrade(cid,item,40,7880,7882,item2) --Mace
   elseif item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
     Upgrade(cid,item,10,7451,7879,item2) --Wand
     Upgrade(cid,item,10,7838,7871,item2) --Arrow
     Upgrade(cid,item,10,7420,7872,item2) --Sword
     Upgrade(cid,item,10,7454,7877,item2) --Axe
     Upgrade(cid,item,10,2445,7880,item2) --Mace
     
   end

   return true -- was missing?
end
 
I was going to fix it more.. but I don't have time.
Code:
function Upgrade(cid, item, gemscount, oldwand, newwand, item2)

   position = getPlayerPosition(cid)
   rand = math.random(1,10)
    
   -- check if fail
   if rand > 5  then
     doPlayerSendTextMessage(cid, 19, "Your Upgrade Has Been Failed")
     doSendAnimatedText(position, "Failed", TEXTCOLOR_RED)
     doSendMagicEffect(position, 2)  
    
   -- if not fail, upgrade item.  
   else
     if item2.itemid == oldwand then 
       doPlayerAddItem(cid, newwand, 1)
       doPlayerSendTextMessage(cid, 19, "Congratulations! Your Weapon Has Been Successfully Upgraded")
       doSendAnimatedText(position, "Succeed", TEXTCOLOR_RED)
       doSendMagicEffect(position, 28)
       doRemoveItem(item2.uid, 1) -- removes old_item
     end
   end
  
   doPlayerRemoveItem(cid, item.itemid, gemscount) -- removes gems.
end

function onUse(cid, item, frompos, item2, topos)

-- Arch Gems
   if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
     Upgrade(cid,item,40,7447,7446,item2) --Wand
     Upgrade(cid,item,40,7448,7963,item2) --Arrow
     Upgrade(cid,item,40,7386,7390,item2) --Sword
     Upgrade(cid,item,40,7434,2431,item2) --Axe
     Upgrade(cid,item,40,7427,7428,item2) --Mace
   elseif item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
     Upgrade(cid,item,10,2453,7447,item2) --Wand
     Upgrade(cid,item,10,2352,7448,item2) --Arrow
     Upgrade(cid,item,10,7382,7386,item2) --Sword
     Upgrade(cid,item,10,6553,7434,item2) --Axe
     Upgrade(cid,item,10,7421,7427,item2) --Mace

-- Inf Gems
   elseif item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
     Upgrade(cid,item,40,7756,2187,item2) --Wand
     Upgrade(cid,item,40,7746,7426,item2) --Arrow
     Upgrade(cid,item,40,7747,7748,item2) --Sword
     Upgrade(cid,item,40,7752,7753,item2) --Axe
     Upgrade(cid,item,40,7755,7757,item2) --Mace
   elseif item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
     Upgrade(cid,item,10,7379,7756,item2) --Wand
     Upgrade(cid,item,10,7365,7746,item2) --Arrow
     Upgrade(cid,item,10,7402,7747,item2) --Sword
     Upgrade(cid,item,10,7413,7752,item2) --Axe
     Upgrade(cid,item,10,7381,7755,item2) --Mace

-- Ice King Gems
   elseif item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
     Upgrade(cid,item,40,7773,7775,item2) --Wand
     Upgrade(cid,item,40,7765,7764,item2) --Arrow
     Upgrade(cid,item,40,7766,7767,item2) --Sword
     Upgrade(cid,item,40,7771,7772,item2) --Axe
     Upgrade(cid,item,40,7774,7776,item2) --Mace
   elseif item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
     Upgrade(cid,item,10,2183,7773,item2) --Wand
     Upgrade(cid,item,10,7839,7765,item2) --Arrow
     Upgrade(cid,item,10,7407,7766,item2) --Sword
     Upgrade(cid,item,10,7455,7771,item2) --Axe
     Upgrade(cid,item,10,7450,7774,item2) --Mace

-- Assasin Gems
   elseif item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
     Upgrade(cid,item,40,7864,7866,item2) --Wand
     Upgrade(cid,item,40,7854,7855,item2) --Arrow
     Upgrade(cid,item,40,7857,7858,item2) --Sword
     Upgrade(cid,item,40,7862,7863,item2) --Axe
     Upgrade(cid,item,40,7868,7867,item2) --Mace
   elseif item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
     Upgrade(cid,item,10,3961,7864,item2) --Wand
     Upgrade(cid,item,10,7850,7854,item2) --Arrow
     Upgrade(cid,item,10,6528,7857,item2) --Sword
     Upgrade(cid,item,10,2415,7862,item2) --Axe
     Upgrade(cid,item,10,2424,7868,item2) --Mace

-- Light Gems
   elseif item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
     Upgrade(cid,item,40,7879,7881,item2) --Wand
     Upgrade(cid,item,40,7871,7870,item2) --Arrow
     Upgrade(cid,item,40,7872,7873,item2) --Sword
     Upgrade(cid,item,40,7877,7878,item2) --Axe
     Upgrade(cid,item,40,7880,7882,item2) --Mace
   elseif item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
     Upgrade(cid,item,10,7451,7879,item2) --Wand
     Upgrade(cid,item,10,7838,7871,item2) --Arrow
     Upgrade(cid,item,10,7420,7872,item2) --Sword
     Upgrade(cid,item,10,7454,7877,item2) --Axe
     Upgrade(cid,item,10,2445,7880,item2) --Mace
    
   end

   return true -- was missing?
end


lol when i use the gems can use in any thing not and lost 80 Gems every time and it was 10 to do rare and 40 to do legendary

---This script when get faild remove staff and Gems i want it when fail Only Remove Gems Guys please----
Code:
function Upgrade(cid,item,gemscount,oldwand,newwand,item2)

if item2.itemid == oldwand then
rand = math.random(1,10)
position=getPlayerPosition(cid)
if getPlayerItemCount(cid,item.itemid) >= gemscount then

doPlayerRemoveItem(cid,item.itemid,gemscount)
if rand > 5 then
doPlayerSendTextMessage(cid,19,"Your Upgrade Has Been Failed")
doSendAnimatedText(position,"Failed",TEXTCOLOR_RED)
doSendMagicEffect(position,2)
else

doPlayerAddItem(cid,newwand,1)
doPlayerSendTextMessage(cid,19,"Congratulations! Your Weapon Has Been Successfully Upgraded")
doSendAnimatedText(position,"Succeed",TEXTCOLOR_RED)
doSendMagicEffect(position,28)

end
doRemoveItem(item2.uid,1)
end
end

end

function onUse(cid, item, frompos, item2, topos)
-- Arch Gems <Start>
if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
Upgrade(cid,item,10,2453,7447,item2) --Wand
Upgrade(cid,item,10,2352,7448,item2) --Arrow
Upgrade(cid,item,10,7382,7386,item2) --Sword
Upgrade(cid,item,10,6553,7434,item2) --Axe
Upgrade(cid,item,10,7421,7427,item2) --Mace
end
if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
Upgrade(cid,item,40,7447,7446,item2) --Wand
Upgrade(cid,item,40,7448,7963,item2) --Arrow
Upgrade(cid,item,40,7386,7390,item2) --Sword
Upgrade(cid,item,40,7434,2431,item2) --Axe
Upgrade(cid,item,40,7427,7428,item2) --Mace
end
-- Arch Gems <End/>
-- Inf Gems <Start>
if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
Upgrade(cid,item,10,7379,7756,item2) --Wand
Upgrade(cid,item,10,7365,7746,item2) --Arrow
Upgrade(cid,item,10,7402,7747,item2) --Sword
Upgrade(cid,item,10,7413,7752,item2) --Axe
Upgrade(cid,item,10,7381,7755,item2) --Mace
end
if item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
Upgrade(cid,item,40,7756,2187,item2) --Wand
Upgrade(cid,item,40,7746,7426,item2) --Arrow
Upgrade(cid,item,40,7747,7748,item2) --Sword
Upgrade(cid,item,40,7752,7753,item2) --Axe
Upgrade(cid,item,40,7755,7757,item2) --Mace
end
-- Inf Gems <End/>
-- Ice King Gems <Start>
if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
Upgrade(cid,item,10,2183,7773,item2) --Wand
Upgrade(cid,item,10,7839,7765,item2) --Arrow
Upgrade(cid,item,10,7407,7766,item2) --Sword
Upgrade(cid,item,10,7455,7771,item2) --Axe
Upgrade(cid,item,10,7450,7774,item2) --Mace
end
if item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
Upgrade(cid,item,40,7773,7775,item2) --Wand
Upgrade(cid,item,40,7765,7764,item2) --Arrow
Upgrade(cid,item,40,7766,7767,item2) --Sword
Upgrade(cid,item,40,7771,7772,item2) --Axe
Upgrade(cid,item,40,7774,7776,item2) --Mace
end
-- Ice King Gems <End/>
-- Assasin Gems <Start>
if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
Upgrade(cid,item,10,3961,7864,item2) --Wand
Upgrade(cid,item,10,7850,7854,item2) --Arrow
Upgrade(cid,item,10,6528,7857,item2) --Sword
Upgrade(cid,item,10,2415,7862,item2) --Axe
Upgrade(cid,item,10,2424,7868,item2) --Mace
end
if item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
Upgrade(cid,item,40,7864,7866,item2) --Wand
Upgrade(cid,item,40,7854,7855,item2) --Arrow
Upgrade(cid,item,40,7857,7858,item2) --Sword
Upgrade(cid,item,40,7862,7863,item2) --Axe
Upgrade(cid,item,40,7868,7867,item2) --Mace
end
-- Assasin Gems <End/>
-- Light Gems <Start>
if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
Upgrade(cid,item,10,7451,7879,item2) --Wand
Upgrade(cid,item,10,7838,7871,item2) --Arrow
Upgrade(cid,item,10,7420,7872,item2) --Sword
Upgrade(cid,item,10,7454,7877,item2) --Axe
Upgrade(cid,item,10,2445,7880,item2) --Mace
end
if item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
Upgrade(cid,item,40,7879,7881,item2) --Wand
Upgrade(cid,item,40,7871,7870,item2) --Arrow
Upgrade(cid,item,40,7872,7873,item2) --Sword
Upgrade(cid,item,40,7877,7878,item2) --Axe
Upgrade(cid,item,40,7880,7882,item2) --Mace
end
-- Light Gems <End/>
end
 
Last edited by a moderator:
Oh. My. God.
I told you I didn't finish fixing everything.
I thought if you could make the script that far you'd see what needs to be finished.
But I forgot everyone with less then 100 posts is lazy af.
Code:
function Upgrade(cid, item, gemscount, oldwand, newItem, item2)

   position = getPlayerPosition(cid)
   rand = math.random(1,10)
     
   -- check if fail
   if rand > 5  then
     doPlayerSendTextMessage(cid, 19, "Your Upgrade Has Been Failed")
     doSendAnimatedText(position, "Failed", TEXTCOLOR_RED)
     doSendMagicEffect(position, 2)   
     
   -- if not fail, upgrade item.   
   else
     doPlayerAddItem(cid, newItem, 1)
     doPlayerSendTextMessage(cid, 19, "Congratulations! Your Weapon Has Been Successfully Upgraded")
     doSendAnimatedText(position, "Succeed", TEXTCOLOR_RED)
     doSendMagicEffect(position, 28)
     doRemoveItem(item2.uid, 1) -- removes old_item
   end
   
   doPlayerRemoveItem(cid, item.itemid, gemscount) -- removes gems.
end

function onUse(cid, item, frompos, item2, topos)

-- Arch Gems
   if item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 40 then
     if item2.itemid == 7447 then
       Upgrade(cid, item, 40, 7446, item2) --Wand
     elseif item2.itemid == 7448 then
       Upgrade(cid, item, 40, 7963, item2) --Arrow
     elseif item2.itemid == 7386 then
       Upgrade(cid, item, 40, 7390, item2) --Sword
     elseif item2.itemid == 7434 then
       Upgrade(cid, item, 40, 2431, item2) --Axe
     elseif item2.itemid == 7427 then
       Upgrade(cid, item, 40, 7428, item2) --Mace
     end
   elseif item.itemid == 2146 and getPlayerItemCount(cid,2146) >= 10 then
     if item2.itemid == 2453 then
       Upgrade(cid, item, 10, 7447, item2) --Wand
     elseif item2.itemid == 2352 then
       Upgrade(cid, item, 10, 7448, item2) --Arrow
     elseif item2.itemid == 7382 then
       Upgrade(cid, item, 10, 7386, item2) --Sword
     elseif item2.itemid == 6553 then
       Upgrade(cid, item, 10, 7434, item2) --Axe
     elseif item2.itemid == 7421 then
       Upgrade(cid, item, 10, 7427, item2) --Mace
     end

-- Inf Gems
   elseif item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 40 then
     if item2.itemid == 7756 then
       Upgrade(cid, item, 40, 2187, item2) --Wand
     elseif item2.itemid == 7746 then
       Upgrade(cid, item, 40, 7426, item2) --Arrow
     elseif item2.itemid == 7747 then
       Upgrade(cid, item, 40, 7748, item2) --Sword
     elseif item2.itemid == 7752 then
       Upgrade(cid, item, 40, 7753, item2) --Axe
     elseif item2.itemid == 7755 then
       Upgrade(cid, item, 40, 7757, item2) --Mace
     end
   elseif item.itemid == 7760 and getPlayerItemCount(cid,7760) >= 10 then
     if item2.itemid == 7379 then
       Upgrade(cid, item, 10, 7756, item2) --Wand
     elseif item2.itemid == 7365 then
       Upgrade(cid, item, 10, 7746, item2) --Arrow
     elseif item2.itemid == 7402 then
       Upgrade(cid, item, 10, 7747, item2) --Sword
     elseif item2.itemid == 7413 then
       Upgrade(cid, item, 10, 7752, item2) --Axe
     elseif item2.itemid == 7381 then
       Upgrade(cid, item, 10, 7755, item2) --Mace
     end

-- Ice King Gems
   elseif item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 40 then
     if item2.itemid == 7773 then
       Upgrade(cid, item, 40, 7775, item2) --Wand
     elseif item2.itemid == 7765 then
       Upgrade(cid, item, 40, 7764, item2) --Arrow
     elseif item2.itemid == 7766 then
       Upgrade(cid, item, 40, 7767, item2) --Sword
     elseif item2.itemid == 7771 then
       Upgrade(cid, item, 40, 7772, item2) --Axe
     elseif item2.itemid == 7774 then
       Upgrade(cid, item, 40, 7776, item2) --Mace
     end
   elseif item.itemid == 7759 and getPlayerItemCount(cid,7759) >= 10 then
     if item2.itemid == 2183 then
       Upgrade(cid, item, 10, 7773, item2) --Wand
     elseif item2.itemid == 7839 then
       Upgrade(cid, item, 10, 7765, item2) --Arrow
     elseif item2.itemid == 7407 then
       Upgrade(cid, item, 10, 7766, item2) --Sword
     elseif item2.itemid == 7455 then
       Upgrade(cid, item, 10, 7771, item2) --Axe
     elseif item2.itemid == 7450 then
       Upgrade(cid, item, 10, 7774, item2) --Mace
     end

-- Assasin Gems
   elseif item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 40 then
     if item2.itemid == 7864 then
       Upgrade(cid, item, 40, 7866, item2) --Wand
     elseif item2.itemid == 7854 then
       Upgrade(cid, item, 40, 7855, item2) --Arrow
     elseif item2.itemid == 7857 then
       Upgrade(cid, item, 40, 7858, item2) --Sword
     elseif item2.itemid == 7862 then
       Upgrade(cid, item, 40, 7863, item2) --Axe
     elseif item2.itemid == 7868 then
       Upgrade(cid, item, 40, 7867, item2) --Mace
     end
   elseif item.itemid == 7761 and getPlayerItemCount(cid,7761) >= 10 then
     if item2.itemid == 3961 then
       Upgrade(cid, item, 10, 7864, item2) --Wand
     elseif item2.itemid == 7850 then
       Upgrade(cid, item, 10, 7854, item2) --Arrow
     elseif item2.itemid == 6528 then
       Upgrade(cid, item, 10, 7857, item2) --Sword
     elseif item2.itemid == 2415 then
       Upgrade(cid, item, 10, 7862, item2) --Axe
     elseif item2.itemid == 2424 then
       Upgrade(cid, item, 10, 7868, item2) --Mace
     end

-- Light Gems
   elseif item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 40 then
     if item2.itemid == 7879 then
       Upgrade(cid, item, 40, 7881, item2) --Wand
     elseif item2.itemid == 7871 then
       Upgrade(cid, item, 40, 7870, item2) --Arrow
     elseif item2.itemid == 7872 then
       Upgrade(cid, item, 40, 7873, item2) --Sword
     elseif item2.itemid == 7877 then
       Upgrade(cid, item, 40, 7878, item2) --Axe
     elseif item2.itemid == 7880 then
       Upgrade(cid, item, 40, 7882, item2) --Mace
     end
   elseif item.itemid == 7762 and getPlayerItemCount(cid,7762) >= 10 then
     if item2.itemid == 7451 then
       Upgrade(cid, item, 10, 7879, item2) --Wand
     elseif item2.itemid == 7838 then
       Upgrade(cid, item, 10, 7871, item2) --Arrow
     elseif item2.itemid == 7420 then
       Upgrade(cid, item, 10, 7872, item2) --Sword
     elseif item2.itemid == 7454 then
       Upgrade(cid, item, 10, 7877, item2) --Axe
     elseif item2.itemid == 2445 then
       Upgrade(cid, item, 10, 7880, item2) --Mace
     end
     
   end

   return true
end
 
Lua Script Error: [Action Interface]
data/actions/scripts/upgrade.lua:eek:nUse

luaDoPlayerAddItem(). Item not found

Lua Script Error: [Action Interface]
data/actions/scripts/upgrade.lua:eek:nUse

data/actions/scripts/upgrade.lua:18: attempt to index local 'item2' (a nil value
)
 
Lua Script Error: [Action Interface]
data/actions/scripts/upgrade.lua:eek:nUse

luaDoPlayerAddItem(). Item not found

Lua Script Error: [Action Interface]
data/actions/scripts/upgrade.lua:eek:nUse

data/actions/scripts/upgrade.lua:18: attempt to index local 'item2' (a nil value
)
My bad.
change line 1 to this.
Code:
function Upgrade(cid, item, gemscount, newItem, item2)
 
Back
Top