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 windows

Tip

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

Built With

  • Python 3.11
  • PyAutoGUI

Getting Started

Prerequisites

Install

Download the repository and unzip it, or:

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

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"
  • Change game language to "English"
  • Set interface scale to "1x"
  • Set display mode to "borderless windowed" or "window mode"
  • 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

Before you start...

  • Move your character to the fishing spot before executing the script
  • Spin Fishing/Marine Fishing/Float 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 telescopic rod for float fishing.

Important

You should change the value of window_size in config.ini to your game window size for float 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

Warning

If the script doesn't focus on the game window automatically, you might need to run your terminal as administrator.

  • Display help information
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
  • Set the language setting in config.ini and add missing images if the integrity check failed.
  • To enable email notification, set your Gmail address and Google app password in .env
  • Edit SMTP_SERVER in .env if you want to use SMTP server other than Gmail 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?

  • Change the game resolution until the validation.py is pass
  • Lower the value of spool_icon_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

[email protected]