# qadr\_fishing

|                       |                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Code accessible       | No                                                                                                                                                                                                                                                                                                                                                                                    |
| Subscription based    | No                                                                                                                                                                                                                                                                                                                                                                                    |
| Lines (approximately) | 1.900                                                                                                                                                                                                                                                                                                                                                                                 |
| Requirements          | <p><a href="https://github.com/RedEM-RP/redem_roleplay">redem\_roleplay</a></p><p><a href="https://github.com/RedEM-RP/redemrp_inventory">redemrp\_inventory</a></p><p><a href="https://github.com/RedEM-RP/redemrp_inventory/pull/31">Also need this inventoryPR changes</a></p><p><a href="https://github.com/abdulkadiraktas/redemrp_menu_base">qadr\_version of menu base</a></p> |
| Support               | Yes                                                                                                                                                                                                                                                                                                                                                                                   |

{% tabs %}
{% tab title="Buy" %}
For Older Version RedemRP

{% embed url="<https://west-world.tebex.io/package/5100985>" %}
For Older Version RedemRP
{% endembed %}

For Redemrp Reboot 2023

{% embed url="<https://west-world.tebex.io/package/5651869>" %}
For Redemrp Reboot 2023
{% endembed %}
{% endtab %}

{% tab title="Forum" %}
{% embed url="<https://forum.cfx.re/t/paid-qadr-fishing-for-redem-rp-v0-1/4852752>" %}
{% endtab %}

{% tab title="Discord" %}
{% embed url="<https://dc.abdulkadiraktas.com.tr/>" %}
{% endtab %}
{% endtabs %}

This script uses these data from your server :

![](https://forum.cfx.re/uploads/default/original/4X/0/8/5/085346b886891fdfcc20fece454eaaa2aa66693b.png)

{% hint style="info" %}
Check inventoryitemimg folder for images.
{% endhint %}

{% tabs %}
{% tab title="Folder structure" %}

```
qadr_fishing
   │   config.lua
   │   fxmanifest.lua
   │   readme.md
   │
   ├───Client
   │       client.lua
   │       eventhandler.lua
   │
   ├───inventoryitemimg
   │       *.png
   │
   ├───Server
   │       server.lua
   │
   └───Shared
           dataview.lua
           functions.lua
```

{% endtab %}

{% tab title="Escrow ignore" %}

```lua
escrow_ignore {
    "api/*.lua",
    "config.lua",
    "Shared/dataview.lua",
    "readme.md",
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Video" %}
{% embed url="<https://www.youtube.com/watch?v=GrDpanhcSkw>" %}
{% endtab %}
{% endtabs %}

<details>

<summary>Features</summary>

* Changeable bait UI&#x20;
* Market system for selling fish.&#x20;
* Unlimited addable market&#x20;
* Selling large fish to market without inventory&#x20;
* Looting fish system
* Large fish quality system for xp and money&#x20;
* All market has own xp and money multiplier&#x20;
* Custom Fish Desc. or use rdr2 default&#x20;
* Multi-language support
* Rotting fish system
  * if you set true in config.
  * When the fish begins to rot, the selling price will decrease.
  * You can set fullrottentime
  * Check readme.md or config.lua
* Use metadata&#x20;
* Include item images
* Debug mode &#x20;
  * If the marker color is blue, the fish are interested in your bait.&#x20;
* Rdr2 fish mini-game system&#x20;
* Changeable difficulty&#x20;
* Bait system for each fish&#x20;
* Low resmon : idle 0.0 active max. 0.8&#x20;
* No c# no JS only lua coded

</details>

<details>

<summary>All usable baits</summary>

Your bait item name must be like this. Item names are case-sensitive.

```
p_baitBread01x
p_baitCheese01x
p_baitCorn01x
p_baitCricket01x
p_finisheDragonfly01x
p_finisdFishlure01x
p_finishdCrawd01x
```

</details>

<details>

<summary>inventory items</summary>

```lua
["fish"] =  --Do not change item name
{
    label = "Fish",  --You can change this one
    description = "?????????",
    weight = 0.3,
    canBeDropped = true,
    canBeUsed = false,
    requireLvl = 0,
    limit = 20,
    imgsrc = "items/provision_fish_bluegill.png",
    type = "item_standard",


},
["p_baitBread01x"] =
{
    label = "Bread Bait",
    description = "?????????",
    weight = 0.01,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 32,
    imgsrc = "items/bread_bait.png",
    type = "item_standard",

},
["p_baitCheese01x"] =
{
    label = "Cheese Bait",
    description = "?????????",
    weight = 0.01,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 48,
    imgsrc = "items/cheese_bait.png",
    type = "item_standard",

},
["p_baitCorn01x"] =
{
    label = "Corn Bait",
    description = "?????????",
    weight = 0.01,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 48,
    imgsrc = "items/corn_bait.png",
    type = "item_standard",

},
["p_baitCricket01x"] =
{
    label = "Cricket Bait",
    description = "?????????",
    weight = 0.01,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 32,
    imgsrc = "items/cricket_bait.png",
    type = "item_standard",

},
["p_finisheDragonfly01x"] =
{
    label = "River Bait",
    description = "?????????",
    weight = 0.05,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 5,
    imgsrc = "items/river_bait.png",
    type = "item_standard",

},

["p_finisdFishlure01x"] =
{
    label = "Lake Bait",
    description = "?????????",
    weight = 0.05,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 5,
    imgsrc = "items/lake_bait.png",
    type = "item_standard",

},
["p_finishdCrawd01x"] =
{
    label = "Swamp Bait",
    description = "?????????",
    weight = 0.05,
    canBeDropped = true,
    canBeUsed = true,
    requireLvl = 0,
    limit = 5,
    imgsrc = "items/swamp_bait.png",
    type = "item_standard",

},
```

</details>

<details>

<summary>Market adding</summary>

```lua
["Valentine"] = {                               -- Valentine is the name of the market
    coords = vector3(-334.04, 789.53, 115.40),  -- Coordinates of the market
    marker_draw = true,                         -- Draw a marker on world
    marker_draw_range = 5.9,                    -- Range of the marker
    market_range = 1.2,                         -- Range of the market for button
    markercolor = vector3(0, 255, 0),           -- Color of the marker (r,g,b)
    markeralpha = 140,                          -- Transparency of the marker
    markerrotaion = true,                       -- Rotation of the marker (true of false)
    market_xp_multiplier = 1.0,                 -- Market multiplier character experience for selling
    market_money_multiplier = 1.0,              -- Market multiplier character money for selling
    blip = true,                                -- Draw a blip on map. (true/false) or delete line to disable
    blipname = "%s fish market",                -- Name of the blip (%s equals the name of the market)
    bliptip = "blip_shop_market_stall",         -- blip texture more blips = https://github.com/abdulkadiraktas/rdr3_discoveries/tree/master/useful_info_from_rpfs/textures/blips
    scale = 0.4,                                -- Scale of the blip
}
```

</details>

<details>

<summary>Editable fish data</summary>

You can associate the fish food you want with the fish you want. So you can catch that fish with that bait. Check `qadr.fishData` array in your config.lua

Check example! If you want add all bait to any fish.

```lua
qadr.fishData = {
    [GetHashKey("A_C_FISHBLUEGIL_01_MS")] = {           -- do not change
        location = "River",                             -- do not change for now not important
        fishBait ={
            ["p_finisheDragonfly01x"] = true,           -- you can add more bait here. but you must add min one
            ["p_baitBread01x"] = true,
            ["p_baitCheese01x"] = true,
            ["p_baitCorn01x"] = true,
            ["p_baitCricket01x"] = true,
            ["p_finisdFishlure01x"] = true,
            ["p_finishdCrawd01x"] = true,
        },
        min = 0.2,                                      -- minimum weight of fish
        max = 0.9,                                      -- maximum weight of fish
        type = "smallfish",                             -- type of fish  No need change
        addinv = true,                                  -- This fish automatically added to inventory. DO NOT CHANGE!!
        name = "PROVISION_FISH_BLUEGILL",               -- name of fish DO NOT CHANGE !!
        ad = "Bluegill",                                -- name of fish for inventory meta data you can change
        desc = "PROVISION_BLUEGILL_DESC",               -- description of fish DO NOT CHANGE !!
        customdesc = "Custom Desc",                     -- custom description of fish. If you don't want to use this, just set nil or delete this line
    }
}
```

You can associate the fish food you want with the fish you want. So you can catch that fish with that bait. Check `qadr.fishData` array in your config.lua

Check example! If you want add all bait to any fish.

</details>

<details>

<summary>Rotting system</summary>

If you want you can use this system. Update these configs in your config.lua

```lua
rotten = false,         -- Enable rotten system
rottentime = 1,         -- starting time for rotten system  type : second
                        -- When will it start to rot after catching the fish?
                        -- Calculate price and xp for the fish
                        -- local time = now-catchtime
                        -- local percentage = (time/qadr.fishing.fullrottentime)*100
                        -- price = price-((price/100)*percentage)
                        -- xp = xp-((xp/100)*percentage)

fullrottentime = 30000, -- ending time for rotten system type : second
                        -- When will it end to rot after catching the fish?
                        -- Calculate price and xp for the fish
                        -- price = 0
                        -- xp = 0
```

</details>

<details>

<summary>Looting Fish</summary>

If you want looting fish on ground, set this to true in your config.lua

```lua
uselootfish = true
-- If you set to true, idle ms value increase to 0.02
-- But you can collect fish on the ground.
```

</details>

<details>

<summary>Multi Lang. Example</summary>

Add this to qadr.language array in your config.lua

```lua
tr = {
    ["openmarket"] = "Marketi Aç",
    .
    .
    .
}
```

After that: set language in your config.lua

```lua
qadr.fishing = {
    lang = "tr",
    .
    .
}
```

</details>

<details>

<summary>Triggerable client events</summary>

```lua
TriggerEvent("qadr_fishing:opensellmenu",marketname) --Open market sell menu with name from client
TriggerClientEvent("qadr_fishing:opensellmenu",source, marketname) --Open market sell menu with name from server
```

</details>

<details>

<summary>Listenable Client Events</summary>

```lua
AddEventHandler("qadr_fishing:getAllFish",function(inventoryitems)
  --Getting all inventory items from server
  print(json.encode(inventoryitems))
end)

AddEventHandler("qadr_fishing:UseBait",function(bait,baitname)
  print(bait,baitname)
end)
```

</details>

<details>

<summary>Listenable Server Events</summary>

```lua
AddEventHandler("qadr_fishing:AddFish", function(fishdata)
  print(json.encode(fishdata)
  -- catch fish
end)
AddEventHandler("qadr_fishing:AddFishWhitOutWeight", function(fishdata)
  print(json.encode(fishdata)
  -- loot fish
end)
AddEventHandler("qadr_fishing:SellFish", function(fishdata)
  -- sell fish
  print(json.encode(fishdata)
end)
AddEventHandler("qadr_fishing:RemoveBait", function(itemname)
  print(itemname)
  -- delete bait item from inventory
end)
```

</details>

If you need metadata support for inventory, you can use this pr changes.\
<https://github.com/abdulkadiraktas/redemrp_inventory/commit/0c937d3ea89558b6ff0eda851de18294d12baea3>&#x20;

For Reboot version check this PR : <https://github.com/abdulkadiraktas/redemrp_inventory/commit/9f14f1ecbe14f4b46c1356e0f727c4970cabe61b>\
So, you can see fish images, descriptions, and even their levels in your inventory.<br>

![](https://580445893-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fzf2ZAqGbUPk9K8cVFSgd%2Fuploads%2FtlKklSsZebPuTJghzG23%2Fimage.png?alt=media\&token=ed717a12-e18a-4bb7-bf0c-c90452948df9)

**SETUP**

1. Download script from keymaster
2. Extrach zip to your resource folder
3. Read this page for setup
4. Copy inventory item side and paste/update items from inventory config or check [this PR](https://github.com/abdulkadiraktas/redemrp_inventory/commit/66c51a7adbcbcac8a1b2e49618d03e7306ab3abe).
5. Do not change "fish" item name
6. Copy images from "inventoryitemimg" folder then paste inventory item image side or [check this PR](https://github.com/abdulkadiraktas/redemrp_inventory/commit/2e22aaf75757afcd64d2f19b7114920568202867)
7. Check config.lua for settings
8. Add "ensure qadr\_fishing" to your server.cfg file after requirements
