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

Lua [HELP] Fishing Script

middley

New Member
Joined
Oct 2, 2019
Messages
40
Reaction score
4
Hi, I found a fishing script here on the forum, I'm using an OTX2 engine. The script does not work, an error appears in the console as below in the picture. How to fix it?

Lua:
local config = {
    [1] = {item = {1294, 1}, chance = 25000, fishing = 0, quest = {enable = false, storage = nil}},        -- Small Stones 2,5%
    [2] = {item = {2237, 1}, chance = 135000, fishing = 0, quest = {enable = false, storage = nil}},    -- Dirty Capes 13,5%
    [3] = {item = {2759, 1}, chance = 30000, fishing = 0, quest = {enable = false, storage = nil}},        -- Orange Stars 3%
    [4] = {item = {4839, 1}, chance = 30000, fishing = 0, quest = {enable = false, storage = nil}},        -- Bottle 3%
    [5] = {item = {1947, 1}, chance = 5000, fishing = 0, quest = {enable = false, storage = nil}},        -- Blank Papers 0,5%
    [6] = {item = {2226, 1}, chance = 150000, fishing = 0, quest = {enable = false, storage = nil}},    -- Fish Bones 15%
    [7] = {item = {2333, 1}, chance = 40000, fishing = 0, quest = {enable = false, storage = nil}},        -- Stamped Letters 4%
    [8] = {item = {5951, 1}, chance = 50000, fishing = 0, quest = {enable = false, storage = nil}},        -- Fish Tails 5%

    [9] = {item = {6096, 1}, chance = 500, fishing = 0, quest = {enable = false, storage = 14900}},        -- pirate hat 0,05%
    [10] = {item = {5917, 1}, chance = 3500, fishing = 0, quest = {enable = false, storage = 14900}},    -- bandana 0,35%
    [11] = {item = {5918, 1}, chance = 1000, fishing = 0, quest = {enable = false, storage = 14900}},    -- pirate knee breeches 0,1%
    [12] = {item = {5462, 1}, chance = 1000, fishing = 0, quest = {enable = false, storage = 14900}},    -- pirate boots 0,1%
    [13] = {item = {2009, 1}, chance = 450, fishing = 0, quest = {enable = false, storage = 14900}},        -- green flask 0,045%

    [14] = {item = {2798, 1}, chance = 2000, fishing = 20, quest = {enable = false, storage = nil}},    -- Blood Herb 0,2%
    [15] = {item = {5899, 1}, chance = 18000, fishing = 20, quest = {enable = false, storage = nil}},    -- Turtle Shells 1,8%
    [16] = {item = {2346, 1}, chance = 500, fishing = 20, quest = {enable = false, storage = nil}},        -- tear of daraman 0,05%
    [17] = {item = {2663, 1}, chance = 425, fishing = 20, quest = {enable = false, storage = nil}},        -- mystic turban 0,0425%
    [18] = {item = {2185, 1}, chance = 1500, fishing = 20, quest = {enable = false, storage = nil}},    -- necrotic rod 0,15%
    [19] = {item = {2670, 1}, chance = 10000, fishing = 20, quest = {enable = false, storage = nil}},    -- shrimp 1%

    [20] = {item = {7159, 1}, chance = 100000, fishing = 30, quest = {enable = false, storage = nil}},    -- # FISH GREEN PERCHES 10%
    [21] = {item = {8872, 1}, chance = 1950, fishing = 30, quest = {enable = false, storage = nil}},        -- belted cape 0,195%
    [22] = {item = {8865, 1}, chance = 250, fishing = 30, quest = {enable = false, storage = nil}},        -- dark lord's cape 0,025%
    [23] = {item = {2185, 1}, chance = 500, fishing = 30, quest = {enable = false, storage = nil}},        -- necrotic rod 0,05%

    [24] = {item = {8910, 1}, chance = 50, fishing = 40, quest = {enable = false, storage = nil}},        -- underworld rod 0,005%
    [25] = {item = {8849, 1}, chance = 100, fishing = 40, quest = {enable = false, storage = nil}},        -- modified crossbow 0,01%
    [26] = {item = {2662, 1}, chance = 50, fishing = 40, quest = {enable = false, storage = nil}},        -- magician hat 0,005%

    [27] = {item = {7158, 1}, chance = 100000, fishing = 50, quest = {enable = false, storage = nil}},    -- # FISH RAINBOW RTOUTS 10%
    [28] = {item = {8911, 1}, chance = 50, fishing = 50, quest = {enable = false, storage = nil}},        -- northwind rod 0,005%
    [29] = {item = {2185, 1}, chance = 500, fishing = 50, quest = {enable = false, storage = nil}},        -- Fish Fin 0,05%

    [30] = {item = {8850, 1}, chance = 100, fishing = 60, quest = {enable = false, storage = nil}},        -- chain bolter 0,01%
    [31] = {item = {2644, 1}, chance = 15, fishing = 60, quest = {enable = false, storage = nil}},        -- bunny slippers 0,0015%
    [32] = {item = {2196, 1}, chance = 5, fishing = 60, quest = {enable = false, storage = nil}},        -- broken amulet 0,0005%
    [33] = {item = {2508, 1}, chance = 5, fishing = 60, quest = {enable = false, storage = nil}},        -- native armor 0,0005%
    [34] = {item = {8853, 1}, chance = 65, fishing = 60, quest = {enable = false, storage = nil}},        -- ironworker 0,0065%

    [35] = {item = {2669, 1}, chance = 100000, fishing = 70, quest = {enable = false, storage = nil}},    -- Northern Pikes 10%
    [36] = {item = {2183, 1}, chance = 15, fishing = 70, quest = {enable = false, storage = nil}},        -- hailstorm rod 0,0015%
    [37] = {item = {8912, 1}, chance = 15, fishing = 70, quest = {enable = false, storage = nil}},        -- springsprout rod 0,0015%
    [38] = {item = {8856, 1}, chance = 50, fishing = 70, quest = {enable = false, storage = nil}},        -- yol's bow 0,005%

    [39] = {item = {7963, 1}, chance = 100000, fishing = 80, quest = {enable = false, storage = nil}},    -- # FISH SHARK FISH 10%
    [40] = {item = {8858, 1}, chance = 10, fishing = 80, quest = {enable = false, storage = nil}},        -- elethriel's elemental bow 0,001%

    [41] = {item = {8888, 1}, chance = 1, fishing = 90, quest = {enable = false, storage = nil}},        -- master archer's armor 0,0001%

    [42] = {item = {2130, 1}, chance = 1, fishing = 100, quest = {enable = false, storage = nil}},        -- golden amulet 0,0001%
    [43] = {item = {2646, 1}, chance = 1, fishing = 100, quest = {enable = false, storage = nil}},        -- golden boots 0,0001%

    [44] = {item = {ITEM_WORM, 1}, chance = 92392, fishing = 0, quest = {enable = false, storage = nil}}
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local playerFishing = getPlayerSkill(cid, SKILL_FISHING)



    local now = nil
    for i = 1, #config do
        if (config.chance > math.random(1, 1000000)) then
            now = config
            break
        end
    end

    if(itemEx.itemid >= 4608 and itemEx.itemid <= 4625 or itemEx.itemid == 493) then
        if(math.random(1, (100 + (playerFishing / 10))) <= playerFishing) then
            if getPlayerItemCount(cid, ITEM_WORM) > 0 then
                if(playerFishing >= now.fishing) then
                    if(now.quest.enable) then
                        if(getPlayerStorageValue(cid, now.quest.storage) < 0) then
                            doPlayerAddItem(cid, now.item[1], now.item[2])
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a "..getItemNameById(now.item[1]).."!")
                        else
                            doPlayerAddItem(cid, ITEM_FISH, 1)
                            doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")
                        end
                    else
                        doPlayerAddItem(cid, now.item[1], now.item[2])
                        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught "..getItemNameById(now.item[1]).."!")
                    end
                else
                    doPlayerAddItem(cid, ITEM_FISH, 1)
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "You caught a fish!")
                end
            end
                doPlayerAddSkillTry(cid, SKILL_FISHING, 1)
        end
        doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
        doPlayerRemoveItem(cid, ITEM_WORM, 1)
    end
    return true
end


[Error - Action Interface]
data/actions/scripts/fishing_rod.lua:eek:nUse
Description:
data/actions/scripts/fishing_rod.lua:64: attempt to compare number with nil
stack traceback:
data/actions/scripts/fishing_rod.lua:64: in function <data/actions/scripts/fishing_rod.lua:59>
 
Solution
Lua:
    local now
    for i = 1, #config do
        if (config[i].chance > math.random(1, 1000000)) then
            now = config[i]
            break
        end
    end

if not now then
        doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
        doPlayerRemoveItem(cid, ITEM_WORM, 1)
        return true
end
Lua:
    local now
    for i = 1, #config do
        if (config[i].chance > math.random(1, 1000000)) then
            now = config[i]
            break
        end
    end

if not now then
        doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
        doPlayerRemoveItem(cid, ITEM_WORM, 1)
        return true
end
 
Solution
Lua:
    local now
    for i = 1, #config do
        if (config[i].chance > math.random(1, 1000000)) then
            now = config[i]
            break
        end
    end

if not now then
        doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY)
        doPlayerRemoveItem(cid, ITEM_WORM, 1)
        return true
end
yeah, script start working, but now sometimes shows

Lua:
[Error - Action Interface]
data/actions/scripts/fishing_rod.lua:onUse
Description:
data/actions/scripts/fishing_rod.lua:73: attempt to index local 'now' (a nil value)
stack traceback:
        data/actions/scripts/fishing_rod.lua:73: in function <data/actions/scripts/fishing_rod.lua:59>
 
same,

attempt to index local 'now' (a boolean value)

@EDIT
I Fix it, problem is with chance math.random just delete one "0" and working finely.
Thank you Itutorial!!!
 
Back
Top