• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Lua Add lvl req to open quest on my quest script

oliverarrow

Member
Joined
Jul 31, 2015
Messages
82
Reaction score
6
I want add lvl req to quests in my script quests.lua, someone can make it to me? Idk how to do...

Code:
local quests = {
   [8000] = 2384, -- rapier   
   [8001] = 2485, -- doublet
   [8002] = 2526, -- studded shield
   [8003] = 2530, -- copper shield
   [8004] = 2480, -- legion helmet
   [8005] = 2412, -- katana
   [8006] = 2460, -- brass helmet
   [8007] = 2464, -- chain armor
   [8008] = 2152, -- 100gps no lugar da bag,arrow,40gps, bla bla bla chain armor
   [8009] = 1987, -- bag (4 Poison Arrows, 10 Arrows)
   [8010] = 2580, -- fishing rod
   [8011] = 2395, -- carlin sword
   [8012] = 2668, -- salmon
   [8013] = 2668, -- botei 2 salmons pq n sei como vem a carta
   [8014] = 1990, -- present
   [8015] = 2404, -- combat knife
   [8016] = 2006, -- vial, dps trocar pra vial of milk n sei o id
   [8017] = 2563, -- pain
   -- fim rookgaard lembrar de colocar essas quests no mapa de rook se pa fazer um novo
   -- island of peace: mages
   --[8018] = 8820, -- mage hat
   --[8019] = 8819, -- magician robe
   --[8020] = 2175, -- spellbook
   --[8021] = 2190, -- wand of vortex
   --[8022] = 2182, -- snakebit rod
   -- pally
   --[8023] = 2389, -- spear
   --[8024] = 2456, -- bow
   --[8025] = 2544, -- arrow
   --[8026] = 2660, -- range's clorak
   --[8027] = 8923, -- ranger legs
   -- kina
   -- cave de troll \/
   [8028] = 2478, -- brass legs
   [8029] = 2465, -- brass armor
   -- island
   [8030] = 2439, -- club
   [8031] = 8602, -- sword
   [8032] = 8601, -- axe
   -- cave de troll \/
   [8033] = 2509, -- steel shield
   [8034] = 2481, -- soldier helmet
   -- fim island of peace
   [8036] = 2518, -- bonelord shield
   [8037] = 2490, -- dark helmet
   [8038] = 2497, -- crusader helmet
   [8039] = 2487, -- crown armor
   [8040] = 2519, -- crown shield
   -- cyc thais quest
   [8041] = 2491, -- crown helmet
   [8042] = 2486, -- noble armor
   -- im back
   [8043] = 2476, -- karmor OF
   [8044] = 2430, -- kaxe OF
   [8045] = 2392, -- firesword OF
   [8046] = 2432, -- fireaxe
   [8047] = 2491, -- crown helmet - quest cyc norte (nas montanhas com smiths e tals)
   [8048] = 2486, -- noble armor - quest cyc sul
   [8049] = 2520, -- demon shield - behequest
   [8050] = 2427, -- demon shield - guardian halbert
   [8051] = 2466, -- golde armor - behequest
   [8052] = 2171, -- platinum amulet - behequest
   [8053] = 2493, -- DH
   [8054] = 2520, -- demon shield
   [8055] = 2645, -- steel boots
   [8056] = 2407, -- bright sword
   [8057] = 2435, -- dwarvewn axe
   [8058] = 2407, -- bright sword
   -- Deeper Fibula Quest
   [8059] = 2475, -- warrior helmet
   [8060] = 2528, -- tower shield
   [8061] = 2430, -- kina axe
   [8062] = 2198, -- elven amulet
   [8063] = 2213, -- dwarvewn ring
   -- antes da inqui
   [8064] = 2414, -- dragon lance
   [8065] = 2534, -- vampire shield
   [8066] = 2476, -- knight armor
   [8067] = 2409, -- serpent sword
   
   [8068] = 7385, -- crimson sword, minotaur sul aurea
   [8069] = 8892, -- ethno coat, elf > aurea
   [8070] = 8870, -- spirit cloak, elf < ab
   [8071] = 2429, -- barbarian axe, cyc sul
   -- poi
   [8072] = 2365, -- backpack of holding
   [8073] = 6132, -- pair of soft boots
   [8074] = 5791, -- stuffed dragon
   [8075] = 2361, -- frozen starlight
   [8076] = 6561, -- ceremonial ankh
   -- fim poi
   [8077] = 2426, -- naginata
   [8078] = 8306, -- pure energy (quest dos cyclops norte sub solo - lvl 100)
   [8079] = 2454, -- war axe
   [8080] = 2391, -- war hammer
}

function onUse(cid, item, fromPos, item2, toPos)

   local quest = quests[item.actionid]
   
   if quest then
     local storage = 200000 + item.actionid
     if getPlayerFreeCap(cid) >= getItemWeightById(quest, 1) then
       if getPlayerStorageValue(cid, storage) < 1 then
         doPlayerAddItem(cid, quest, 1)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..getItemNameById(quest)..'.')
  setPlayerStorageValue(cid, storage, 1)
       else
         doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'It is empty.')
       end
     else
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..getItemNameById(quest)..'. It weighs '..getItemWeightById(quest, 1)..'.00 and it is too heavy.')
     end
   end
   
   return true
end

I want change to::
Code:
 [8000] = 2384, lvl = 1 -- rapier
 [8001] = 2485, lvl = 2 -- doublet
 [8002] = 2526, lvl = 3 -- studded shield
 [8064] = 2414, lvl = 40 -- dragon lance

And when u open the chest if u dont have lvl to quest id, give a error msg and puff

Someone can make it or something like that?
 
Code:
local quests = {
    [8000] = { item = 2384, lvl = 1 }, -- rapier
    [8001] = { item = 2485, lvl = 2 }, -- doublet
    [8002] = { item = 2526, lvl = 3 }, -- studded shield
    [8003] = 2530, -- copper shield
    [8004] = 2480, -- legion helmet
    [8005] = 2412, -- katana
    [8006] = 2460, -- brass helmet
    [8007] = 2464, -- chain armor
    [8008] = 2152, -- 100gps no lugar da bag,arrow,40gps, bla bla bla chain armor
    [8009] = 1987, -- bag (4 Poison Arrows, 10 Arrows)
    [8010] = 2580, -- fishing rod
    [8011] = 2395, -- carlin sword
    [8012] = 2668, -- salmon
    [8013] = 2668, -- botei 2 salmons pq n sei como vem a carta
    [8014] = 1990, -- present
    [8015] = 2404, -- combat knife
    [8016] = 2006, -- vial, dps trocar pra vial of milk n sei o id
    [8017] = 2563, -- pain
    -- fim rookgaard lembrar de colocar essas quests no mapa de rook se pa fazer um novo
    -- island of peace: mages
    --[8018] = 8820, -- mage hat
    --[8019] = 8819, -- magician robe
    --[8020] = 2175, -- spellbook
    --[8021] = 2190, -- wand of vortex
    --[8022] = 2182, -- snakebit rod
    -- pally
    --[8023] = 2389, -- spear
    --[8024] = 2456, -- bow
    --[8025] = 2544, -- arrow
    --[8026] = 2660, -- range's clorak
    --[8027] = 8923, -- ranger legs
    -- kina
    -- cave de troll \/
    [8028] = 2478, -- brass legs
    [8029] = 2465, -- brass armor
    -- island
    [8030] = 2439, -- club
    [8031] = 8602, -- sword
    [8032] = 8601, -- axe
    -- cave de troll \/
    [8033] = 2509, -- steel shield
    [8034] = 2481, -- soldier helmet
    -- fim island of peace
    [8036] = 2518, -- bonelord shield
    [8037] = 2490, -- dark helmet
    [8038] = 2497, -- crusader helmet
    [8039] = 2487, -- crown armor
    [8040] = 2519, -- crown shield
    -- cyc thais quest
    [8041] = 2491, -- crown helmet
    [8042] = 2486, -- noble armor
    -- im back
    [8043] = 2476, -- karmor OF
    [8044] = 2430, -- kaxe OF
    [8045] = 2392, -- firesword OF
    [8046] = 2432, -- fireaxe
    [8047] = 2491, -- crown helmet - quest cyc norte (nas montanhas com smiths e tals)
    [8048] = 2486, -- noble armor - quest cyc sul
    [8049] = 2520, -- demon shield - behequest
    [8050] = 2427, -- demon shield - guardian halbert
    [8051] = 2466, -- golde armor - behequest
    [8052] = 2171, -- platinum amulet - behequest
    [8053] = 2493, -- DH
    [8054] = 2520, -- demon shield
    [8055] = 2645, -- steel boots
    [8056] = 2407, -- bright sword
    [8057] = 2435, -- dwarvewn axe
    [8058] = 2407, -- bright sword
    -- Deeper Fibula Quest
    [8059] = 2475, -- warrior helmet
    [8060] = 2528, -- tower shield
    [8061] = 2430, -- kina axe
    [8062] = 2198, -- elven amulet
    [8063] = 2213, -- dwarvewn ring
    -- antes da inqui
    [8064] = { item = 2414, lvl = 40 }, -- dragon lance
    [8065] = 2534, -- vampire shield
    [8066] = 2476, -- knight armor
    [8067] = 2409, -- serpent sword

    [8068] = 7385, -- crimson sword, minotaur sul aurea
    [8069] = 8892, -- ethno coat, elf > aurea
    [8070] = 8870, -- spirit cloak, elf < ab
    [8071] = 2429, -- barbarian axe, cyc sul
    -- poi
    [8072] = 2365, -- backpack of holding
    [8073] = 6132, -- pair of soft boots
    [8074] = 5791, -- stuffed dragon
    [8075] = 2361, -- frozen starlight
    [8076] = 6561, -- ceremonial ankh
    -- fim poi
    [8077] = 2426, -- naginata
    [8078] = 8306, -- pure energy (quest dos cyclops norte sub solo - lvl 100)
    [8079] = 2454, -- war axe
    [8080] = 2391, -- war hammer
}

function isLevelRequired(value)
    return type(value) == "table" and true, value.item, value.lvl or false, value
end

function onUse(cid, item, fromPos, item2, toPos)

    local levelRequired, quest, level = isLevelRequired(quests[item.actionid])
  
    if levelRequired then
        if getPlayerLevel(cid) < level then
            doPlayerSendCancel(cid, "Sorry, you need to be " .. level .. " or higher to complete this quest.")
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
            return false
        end
    end
  
    if quest then
        local storage = 200000 + item.actionid
        if getPlayerFreeCap(cid) >= getItemWeightById(quest, 1) then
            if getPlayerStorageValue(cid, storage) < 1 then
                doPlayerAddItem(cid, quest, 1)
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..getItemNameById(quest)..'.')
                setPlayerStorageValue(cid, storage, 1)
            else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'It is empty.')
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..getItemNameById(quest)..'. It weighs '..getItemWeightById(quest, 1)..'.00 and it is too heavy.')
        end
    end
   
    return true
end
 
Code:
local quests = {
    [8000] = { item = 2384, lvl = 1 }, -- rapier
    [8001] = { item = 2485, lvl = 2 }, -- doublet
    [8002] = { item = 2526, lvl = 3 }, -- studded shield
    [8003] = 2530, -- copper shield
    [8004] = 2480, -- legion helmet
    [8005] = 2412, -- katana
    [8006] = 2460, -- brass helmet
    [8007] = 2464, -- chain armor
    [8008] = 2152, -- 100gps no lugar da bag,arrow,40gps, bla bla bla chain armor
    [8009] = 1987, -- bag (4 Poison Arrows, 10 Arrows)
    [8010] = 2580, -- fishing rod
    [8011] = 2395, -- carlin sword
    [8012] = 2668, -- salmon
    [8013] = 2668, -- botei 2 salmons pq n sei como vem a carta
    [8014] = 1990, -- present
    [8015] = 2404, -- combat knife
    [8016] = 2006, -- vial, dps trocar pra vial of milk n sei o id
    [8017] = 2563, -- pain
    -- fim rookgaard lembrar de colocar essas quests no mapa de rook se pa fazer um novo
    -- island of peace: mages
    --[8018] = 8820, -- mage hat
    --[8019] = 8819, -- magician robe
    --[8020] = 2175, -- spellbook
    --[8021] = 2190, -- wand of vortex
    --[8022] = 2182, -- snakebit rod
    -- pally
    --[8023] = 2389, -- spear
    --[8024] = 2456, -- bow
    --[8025] = 2544, -- arrow
    --[8026] = 2660, -- range's clorak
    --[8027] = 8923, -- ranger legs
    -- kina
    -- cave de troll \/
    [8028] = 2478, -- brass legs
    [8029] = 2465, -- brass armor
    -- island
    [8030] = 2439, -- club
    [8031] = 8602, -- sword
    [8032] = 8601, -- axe
    -- cave de troll \/
    [8033] = 2509, -- steel shield
    [8034] = 2481, -- soldier helmet
    -- fim island of peace
    [8036] = 2518, -- bonelord shield
    [8037] = 2490, -- dark helmet
    [8038] = 2497, -- crusader helmet
    [8039] = 2487, -- crown armor
    [8040] = 2519, -- crown shield
    -- cyc thais quest
    [8041] = 2491, -- crown helmet
    [8042] = 2486, -- noble armor
    -- im back
    [8043] = 2476, -- karmor OF
    [8044] = 2430, -- kaxe OF
    [8045] = 2392, -- firesword OF
    [8046] = 2432, -- fireaxe
    [8047] = 2491, -- crown helmet - quest cyc norte (nas montanhas com smiths e tals)
    [8048] = 2486, -- noble armor - quest cyc sul
    [8049] = 2520, -- demon shield - behequest
    [8050] = 2427, -- demon shield - guardian halbert
    [8051] = 2466, -- golde armor - behequest
    [8052] = 2171, -- platinum amulet - behequest
    [8053] = 2493, -- DH
    [8054] = 2520, -- demon shield
    [8055] = 2645, -- steel boots
    [8056] = 2407, -- bright sword
    [8057] = 2435, -- dwarvewn axe
    [8058] = 2407, -- bright sword
    -- Deeper Fibula Quest
    [8059] = 2475, -- warrior helmet
    [8060] = 2528, -- tower shield
    [8061] = 2430, -- kina axe
    [8062] = 2198, -- elven amulet
    [8063] = 2213, -- dwarvewn ring
    -- antes da inqui
    [8064] = { item = 2414, lvl = 40 }, -- dragon lance
    [8065] = 2534, -- vampire shield
    [8066] = 2476, -- knight armor
    [8067] = 2409, -- serpent sword

    [8068] = 7385, -- crimson sword, minotaur sul aurea
    [8069] = 8892, -- ethno coat, elf > aurea
    [8070] = 8870, -- spirit cloak, elf < ab
    [8071] = 2429, -- barbarian axe, cyc sul
    -- poi
    [8072] = 2365, -- backpack of holding
    [8073] = 6132, -- pair of soft boots
    [8074] = 5791, -- stuffed dragon
    [8075] = 2361, -- frozen starlight
    [8076] = 6561, -- ceremonial ankh
    -- fim poi
    [8077] = 2426, -- naginata
    [8078] = 8306, -- pure energy (quest dos cyclops norte sub solo - lvl 100)
    [8079] = 2454, -- war axe
    [8080] = 2391, -- war hammer
}

function isLevelRequired(value)
    return type(value) == "table" and true, value.item, value.lvl or false, value
end

function onUse(cid, item, fromPos, item2, toPos)

    local levelRequired, quest, level = isLevelRequired(quests[item.actionid])
 
    if levelRequired then
        if getPlayerLevel(cid) < level then
            doPlayerSendCancel(cid, "Sorry, you need to be " .. level .. " or higher to complete this quest.")
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
            return false
        end
    end
 
    if quest then
        local storage = 200000 + item.actionid
        if getPlayerFreeCap(cid) >= getItemWeightById(quest, 1) then
            if getPlayerStorageValue(cid, storage) < 1 then
                doPlayerAddItem(cid, quest, 1)
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..getItemNameById(quest)..'.')
                setPlayerStorageValue(cid, storage, 1)
            else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'It is empty.')
            end
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found a '..getItemNameById(quest)..'. It weighs '..getItemWeightById(quest, 1)..'.00 and it is too heavy.')
        end
    end
  
    return true
end

Ty so much!!!!
 
Back
Top