Action Advanced Fishing System (allow to find items)

andu

Sold 649 scripts, 25 maps and 9 events!
Joined
Aug 7, 2009
Messages
920
Best answers
13
Reaction score
277
I fixed some bugs now it working :)
Tested on TFS 0.3.5pl1

At fishing level less then 20 you can fishing: Small Stones, Dirty Capes, Fish Bones and you have ~50% chance to catch a fish!
When you fishing level grown you can fishing better items and better fish, like Green Perches.

If your character have (quest) storage id 14900 then is possible to catch pirate items: Pirate Boots, Pirate Cap etc.

Tommorow i will add some NPCs with quests for fishing.
If someone have good idea about quest, reply here please.

Sorry for my ENG.


Code:
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 = true, storage = 14900}},        -- pirate hat 0,05%
    [10] = {item = {5917, 1}, chance = 3500, fishing = 0, quest = {enable = true, storage = 14900}},    -- bandana 0,35%
    [11] = {item = {5918, 1}, chance = 1000, fishing = 0, quest = {enable = true, storage = 14900}},    -- pirate knee breeches 0,1%
    [12] = {item = {5462, 1}, chance = 1000, fishing = 0, quest = {enable = true, storage = 14900}},    -- pirate boots 0,1%
    [13] = {item = {2009, 1}, chance = 450, fishing = 0, quest = {enable = true, 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
 
Last edited:
OP
andu

andu

Sold 649 scripts, 25 maps and 9 events!
Joined
Aug 7, 2009
Messages
920
Best answers
13
Reaction score
277
yeh, this needs tables and loops

already i making tables and loops whit help of Chojrak
i will add i new version fishing items for fishing level and only to players who have storageID (quest)

sorry for my eng
 
OP
andu

andu

Sold 649 scripts, 25 maps and 9 events!
Joined
Aug 7, 2009
Messages
920
Best answers
13
Reaction score
277
looks like a alrite script idea, but shouldnt this be in requests/support?
already i edited this script with help of Chojrak.
Aslo i added 2 new options.
 
OP
andu

andu

Sold 649 scripts, 25 maps and 9 events!
Joined
Aug 7, 2009
Messages
920
Best answers
13
Reaction score
277
updated
 

cbrm

Top Class brunet scripter
Staff member
Global Moderator
Joined
Jan 6, 2009
Messages
6,585
Best answers
3
Reaction score
851
Location
Caribbean Sea
beautiful =D
 

Teckman

Intermediate OT User
Joined
Jul 5, 2008
Messages
913
Best answers
0
Reaction score
132
very nice, usefull. : )
 

Sir Knighter

ArchlightOnline.com
Premium User
Joined
Jun 29, 2009
Messages
4,141
Best answers
0
Reaction score
1,204
Location
Canada
Must we put anything in the actions.xml?
 

munch

New Member
Joined
Mar 26, 2010
Messages
143
Best answers
0
Reaction score
0
A few suggestions:
You have a small chance to fish up Quaras (but preferably scouts only).

There could be an NPC where you pay a certain amount of money, and you are teleported to a boat far out in the sea, where you have a X time limit to fish.
From this boat, you have a much higher chance to get rare fishes (e.g. Rainbow Trout).
The captain with you out on the sea could say some lame phrases as: "There's something fishy going on.", "Come here, fishy fishy.", "Where can that fish be? It is a most elusive fish!"

Rubbish: Fish Tail, Fishbone, Rotten Meat, Banana Skin, Bone, Big Bone, Skull, Skeleton etc.

Only from certain shores you can fish certain fishes (e.g. need to fish in Greenshore to get Green Perch etc.).

Edit:
An NPC similar to Grizzly Adams, that requires you to find 15 Green Perch, then 10 Northern Pike, then 5 Rainbow Trout and 1 Marlin.
Each of the fishes can only be fished from a certain place (e.g. Green Perch from Greenshore, Northern Pike from Svargrond, Rainbow Trout from a fishing boat and Marlin from a specific shore in Tiquanda).
Maybe there could be some use to the Mechanic Fishing Rod than just for one quest only, something like either getting better fishes or required within the fishing quests itself etc.
 
Last edited:

Swiff

Member
Joined
Apr 6, 2009
Messages
366
Best answers
0
Reaction score
12
Location
Sweden
Error attempt to index local 'now' a nil value
line 73

This happens while fishing
 

elnelson

Lunaria World Dev
Joined
Jun 20, 2009
Messages
456
Best answers
2
Reaction score
23
Location
México
[16:38:25.417] [Error - Action Interface]
[16:38:25.421] data/actions/scripts/craft/fishing.lua:eek:nUse
[16:38:25.424] Description:
[16:38:25.426] data/actions/scripts/craft/fishing.lua:64: attempt to compare number with nil
[16:38:25.427] stack traceback:
[16:38:25.431] data/actions/scripts/craft/fishing.lua:64: in function <data/actions/scripts/craft/fishing.lua:59>
 
Top