• 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!

Error - Action Lumberjack

renancs

New Member
Joined
Jul 8, 2008
Messages
252
Reaction score
3
Hi guys i try to use this script:

PHP:
local configs = {
 sign = {{level = {0,9}, quant = {1,2}, percent = 100},
         {level = {10,19}, quant = {5,10}, percent = 20},
         {level = {20,29}, quant = {11,15}, percent = 10},
         {level = {30,39}, quant = {15,20}, percent = 55},
         {level = {40,49}, quant = {5,10}, percent = 60},
         {level = {50,59}, quant = {6,12}, percent = 65},
         {level = {60,69}, quant = {7,14}, percent = 70},
         {level = {70,79}, quant = {8,16}, percent = 75},
         {level = {80,89}, quant = {9,18}, percent = 80},
         {level = {90,99}, quant = {10,20}, percent = 85},
         {level = {100}, quant = {11,22}, percent = 90}},
 trees = {2707, 2704},
 woods = {{5901, 'all'}},
 tree_delay = 10,
 MaxLevel = 100
}
--END Configs--
function onUse(cid, item, fromPosition, itemEx, toPosition)
local STORAGE_SKILL_LEVEL = 10000
local STORAGE_SKILL_TRY = 10001  
local skillLevel = getPlayerStorageValue(cid,STORAGE_SKILL_LEVEL)
local skillTry = getPlayerStorageValue(cid,STORAGE_SKILL_TRY)
local objeto2 = getThingFromPos(toPosition)
local player = getCreaturePosition(cid)

  if skillLevel == -1 then 
   setPlayerStorageValue(cid,STORAGE_SKILL_LEVEL,1)
  end
  for Q = 1, #configs.sign do
    if configs.sign[Q].level[2] == nil then
    configs.sign[Q].level[2] = configs.sign[Q].level[1]
    end
     if skillLevel >= configs.sign[Q].level[1] and skillLevel <= configs.sign[Q].level[2] then
     quant = math.random(configs.sign[Q].quant[1],configs.sign[Q].quant[2])
     percent = configs.sign[Q].percent
      break
     end
  end
 for i = 1, #configs.trees do
  if objeto2.itemid == configs.trees[i] then
    if math.random(1,100) <= percent then
    possible_woods = {{},{}}
        for h = 1, #configs.woods do
          if configs.woods[h][2] == objeto2.itemid then
           possible_woods[1][#possible_woods[1]+1] = configs.woods[h][1] 
          else
            if configs.woods[h][2] == 'all' then
             possible_woods[2][#possible_woods[2]+1] = configs.woods[h][1]
            end
          end
        end
      if possible_woods[1][1] == nil and possible_woods[2][1] == nil then    
       doPlayerSendTextMessage(cid,22,"This tree can not be cut.")
      elseif possible_woods[1][1] ~= nil then    
        doPlayerAddItem(cid,possible_woods[1][math.random(1,#possible_woods[1])],quant)
      elseif possible_woods[1][1] == nil and possible_woods[2][1] ~= nil then    
        doPlayerAddItem(cid,possible_woods[2][math.random(1,#possible_woods[2])],quant)    
      end
     if possible_woods[1][1] ~= nil or possible_woods[2][1] ~= nil then
      if skillTry >= 0 then
        setPlayerStorageValue(cid,STORAGE_SKILL_TRY,skillTry + 1) 
      else 
       doPlayerAddSkillTry(cid, 1, 20)
      end
      doSendMagicEffect(getCreaturePosition(cid), 12)
      doPlayerSendTextMessage(cid,22,"You got "..quant.." wood "..getItemNameById(objeto2.itemid)..".")
      doSendAnimatedText(getCreaturePosition(cid), ''..quant..'', 192, cid) 
      doItemSetAttribute(objeto2.uid, 'A trunk of '..getItemNameById(objeto2.itemid))
      doSendMagicEffect(toPosition, 3)
      addEvent(doTreeReturn,configs.tree_delay * 1000,toPosition,objeto2.itemid)
      doTransformItem(objeto2.uid, 8792)
      break
     end
    else
     doPlayerSendCancel(cid,"You got nothing") 
     doSendMagicEffect(toPosition, 3)
     doItemSetAttribute(objeto2.uid, 'A trunk of '..getItemNameById(objeto2.itemid))
     doSendAnimatedText(getCreaturePosition(cid), 'Fail!', 180, cid)
     addEvent(doTreeReturn,configs.tree_delay * 1000,toPosition,objeto2.itemid)
     doTransformItem(objeto2.uid, 8792)
     break
    end
  else
   doPlayerSendCancel(cid,"You can only cut trees")
  end
 end
  if skillTry >= ((skillLevel+1)*3)  then
    if skillLevel == configs.MaxLevel then
     doPlayerSendTextMessage(cid, 22, "Max level reached in lumberjacking.")
     setPlayerStorageValue(cid,STORAGE_SKILL_TRY,0)
    else
     setPlayerStorageValue(cid,STORAGE_SKILL_LEVEL,skillLevel + 1)
     setPlayerStorageValue(cid,STORAGE_SKILL_TRY,0)
     doPlayerSendTextMessage(cid, 22, "You advanced from level ".. skillLevel .." to level ".. skillLevel + 1 .." in Lumberjacking.")
     doSendMagicEffect(getCreaturePosition(cid),14)
     doSendAnimatedText(getCreaturePosition(cid), 'Advance!', 18, cid)
    end
  end
end

 function doTreeReturn(itemposition,oldid)
 local pos = getThingfromPos(itemposition)
  doTransformItem(pos.uid,oldid)
  doItemSetAttribute(pos.uid, getItemNameById(oldid))
  doSendMagicEffect(itemposition,math.random(28,30))
 end



But i have this error:

PHP:
[Error - Action Interface]
In a timer event called from:
data/actions/scripts/lumberjack.lua:onUse
Description:
<luaDoItemSetAttribute> Item not found


What is the problem?
 
sure!
<action itemid="2558" script="lumberjack.lua"/>

the script work normaly, but when i cut the three and is counting down to 'resurrection' the three, in console
show this error :S
 
Back
Top