Skip to content

dereklee0310/RussianFishing4Script

Repository files navigation

RF4S

RF4S

A simple bot for Russian Fishing 4, supporting spin, bottom, marine, and float fishing.

Python badge Windows badge

Tip

Join us on our Discord server to get the latest news about the project.

Getting Started

Prerequisites

Install

Download the repository and unzip it, or:

git clone https://github.com/dereklee0310/RussianFishing4Script

Important

Download path cannot contain non-English characters.

Dependencies

cd "the path of the project"
.\setup.bat

Tip

If you already have Python installed on your computer, create a virtual environment to prevent version conflicts.

Usage

Prerequisites

  • Enable Mouse ClickLock in Windows mouse settings and set the time before locking to "Long"
  • Set the language in config.ini
  • Set interface scale to "1x"
  • Set display mode to "borderless windowed"
  • Make sure your reel is fully loaded, or use -R along with a rainbow line when executing the main script
  • Add tea, carrot, and coffee to your favorites so that they can be selected through quick food selection menu
  • To enable broken lure replacement, the lures for replacement must also be added to favorites

Important

Please follow the instructions above, otherwise, you may encounter unexpected errors at runtime

Before you start...

  • Move your character to the fishing spot before executing the script
  • Spin/marine/float/wakey rig fishing: Pick up the rod you want to use
  • Bottom Fishing: Add the tackles you want to use to the quick selection slots, cast them, and place them nearby to let the bot access them via shortcuts (1 ~ 3)

Note

Currently, We only support single rod for float fishing and wakey rig fishing.

1. Change the current working directory

cd "the path of the project"
cd src

2. Execute the main script

Here are some examples of how to execute the script with different arguments:

  • Run with default settings
python app.py
  • Display help message
python app.py -h
  • Display a list of available user profiles and set the number of fishes in the keepnet to 32 (68 fishes to catch)
python app.py -n 32
  • Select profile 3, drink the coffee while battling against fish, and send an email to yourself after it's terminated
python app.py -p 3 --coffee --email
  • Release unmarked fish, enable hunger and comfort refill, and plot a catch/hour chart after it's terminated
python app.py -mrP

Other Useful Scripts

Toggle moving forward

  • Press w to stop/continue, press s to quit.
  • Use -s to hold the Shift key
python move.py [-s]

Item crafting

  • Specify the number of items to craft with -n QUANTITY
  • Use -d to discard all the crafted items
python craft.py [-d] [-n QUANTITY]

Important

The materials must be selected before the execution.

Calculate the maximum friction brake you can use on your tackle

python calculate.py

Harvest baits and refill stats automatically

  • Start a harvesting loop without moving or fishing
  • Use -s to open control panel while waiting for energy to regenerate
  • Use -n CHECK_DELAY_SECOND to specify the delay between two checks
python harvest.py [-s] [-n CHECK_DELAY_SECOND]

Configuration

  • Please refer to the guides and examples in template.ini and edit your settings in config.ini
  • To enable email notification, set your Gmail address and Google app password in .env
  • Edit SMTP_SERVER in .env if you want to use other SMTP server

Troubleshooting

How to exit the program?

  • Type Ctrl + C in your terminal.

Cannot quit the program?

  • The Shift key might have been pressed down, press again to release it and type Ctrl-C as usual.

Rod not getting lifted after the retrieval is finished?

  • Fill up your reel, or use a rainbow main line with -R flag
  • Change the game window size
  • Lower the value of retrieval_detect_confidence in config.ini
  • Keep away from light sources or turn off the boat light

License

GNU General Public License version 3

Contributing

Any contribution, bug report, or idea about new features is welcome.

Contact me

dereklee0310@gmail.com