FinalDoom / FFXI-FishingForm

C# GUI for automated fishing in Final Fantasy XI.
3 stars 2 forks source link
bot ffxi final-fantasy-xi fishing-game fishing-tool

========== Deprecated

Unfortunately, it looks like the necessary FFACE.dll can no longer be downloaded or updated. It used to be hosted on FFEVO, which appears to have been down for several years. If anyone knows of a new source, please let me know. It is possible this could be ported to utilitze Ashita, if that is still soemthing that works. However, I no longer have access to FFXI myself. It's possible the most recent FFACE is available at https://github.com/h1pp0/FishingForm/commit/263dc4184ae0e422e8ced160f90c8333873fbcf7 but I am unable to verify it myself.

If anyone wants to pick it up, fixing the missing portions should be somewhat simple, but probably less effective than the FFACE method. What we'd need are:

============================= FishingForm FinalDoom Edition

Note: I have taken down the database and added a dump to the project files as I can no
longer justify the monthly server expense. This should not affect program functionality.
It will just pop up an error that it wasn't able to connect to the database. If anyone
wants to host the database themselves, you're more than welcome.

Overview

.. _MisterC's version: .. _its FFEvo download page: http://www.ffevo.net/files/file/171-fishingform-v1662-mczip/.

A continuation of MisterC's FishingForm, done by FinalDoom. This edition seeks to add additional features and fixes. MisterC's version can be found at its FFEvo download page.

FishingForm is a GUI application built with Microsoft .NET 3.5 in C#. It is meant to run along side Final Fantasy XI to automate the tedium that is fishing. It has limited cheat capabilities, namely the ability to "kill" a fish, regardless of player fishing skill level and reel it in. This can be useful for legendary fish when the player is not equipped with special rings.

.. _the bitbucket: .. _the FinalDoom edition bitbucket : https://bitbucket.org/FinalDoom/ffxi-fishingform/ .. _the FFEvo download page: http://www.ffevo.net/files/file/214-fishingform-fd-edition/ .. _TortoiseHG: http://tortoisehg.bitbucket.org/

For the FinalDoom edition, you can check out the source and submit bugs or ideas at the FinalDoom edition bitbucket. Version control is done using Mercurial (try TortoiseHG), and issue tracking uses bitbucket's built-in JIRA-like system. The "official" site for downloading the most recent version is the bitbucket or at the FFEvo download page.

For Ashita users, make sure you download the most recent Windower resources xml package and put it in the same directory as FishingForm.exe, as with most other programs. You should have areas.xml etc. in a folder called resources in the program directory.

.. _guide here: http://www.howtogeek.com/howto/windows-vista/make-user-account-control-uac-stop-blacking-out-the-screen-in-windows-vista/

.. IMPORTANT:: Windows Vista+ Notice

If you are running a system which uses UAC, there are a
few extra steps that are necessary to run this (and many other
related applications). Firstly, the program must be run as an admin.
It currently displays an error about not being able to find FFACE.dll
if it is not. Secondly, your UAC settings must be modified to not
dim the desktop when requesting administrator privileges. The dimming
is actually Windows switching to another desktop, which breaks
Final Fantasy for whatever reason. (Note that locking your screen will
do the same thing). See the `guide here`_ for how to disable the
screen dimming thing. There are a variety of ways to satisfy whatever
level of technical expertise you like to practice.

Features


Instructions

The program is meant to be straightforward to run. Extract the files anywhere you please and run it (as an administrator, if necessary), get your character to a fishing spot, and click the start button. You will probably want to take a look at the options before doing so, however. Standard defaults should work for the most part but customization is sometimes necessary or desirable. If run while dual boxing with two characters logged in, a window will appear asking you to select a character. Otherwise, it will automatically attach to any logged in character, or show a message suggesting you log in.

If bait and rod are specified in the gear options page, no bait or rod need be equipped. Otherwise, you must equip appropriate bait and rod before clicking start. The lists under the start button will be populated with fish that have been found in your area, with your bait and rod. As new fish are encountered, they will be added to the list. However, unless the "unknowns?" checkbox is checked, all fish fish not in the "wanted" list will be released. Items and monsters will also be released according to options set in Options>Fight.

Fish may be moved between the "wanted" and "unwanted" lists by double clicking the fish name. They may also be renamed by right clicking and selecting rename. Monsters are given sequential names, eg. Monster (42), so please rename them appropriately.

As you fish, the stats and info tabs will be updated to reflect fishing history and ingame status. The stats can be cleared by right clicking and selecting clear stats. The wait time between casts will be updated as fishing fatigue sets in, and fishing will stop after fatigue is detected. It can also be set to stop after a number of catches or skillups, and will stop when your inventory is full by default. Several options exist to handle what to do after these stops.

As of version 1.7, FishDB additions are added to a remote database, and the program will automatically update your local FishDB with others' additions. No identifiable information is sent or accessible to any developer or other persons. See FishDB Information below for more details.


Options

General

Chat

Fight

Gear

Other


FishDB Information

All fish are identified by 3 IDs ingame (a fourth is ignored). These IDs, fish names, bait, zones and their position in the Wanted or Unwanted list are stored in XML files according to the rod used to catch them. These XML files are stored in the FishDB folder next to the FishingForm executable. In general, it should not be necessary to modify these files. If you do so, please be careful, as they are integral to the functioning of the program.

Rod XML

All but one XML file (DBSync.xml, described later) are of the following format:

.. code:: xml

Bait Name Windower Resources.xml Zone Name

All fish must have at a minimum a name, wanted status (Yes or No), and 3 integer IDs. The fourth is sometimes present on older fish, but it is now ignored.

In the event that you are manually modifying an XML file, you will want to take note of the new and rename attributes for fish, and the new attribute for baits and zones. At present, the DBs are only additive. Any removals will only be reflected on your local system. If you add a new fish, bait, or zone, be sure to attach the new attribute with any value. If you rename a fish, add the rename attribute with its value set to the old fish name, exactly as it was. These attributes are how the program knows what parts of the XML to upload to the remote database. Without the rename attribute, duplicate fish will appear. When modifying rod xml files, you will likely also want to examine the DBSync.xml file, described below.

DBSync XML

DBSync.xml is a file used to reduce load on the remote database. Its format is as follows:

.. code:: xml

All are required elements, and there is only one you should be concerned with changing, the xml attribute of a node. This attribute is a UTC timestamp of the format M[M]/D[D]/YYYY H[H]:mm:ss [PM|AM]. It is used to track the last time the XML file the rod node describes, which can be referenced by comparing the name attribute to that in another xml file. Should you edit any rod XML file and append new or rename attributes to any fish, bait, or zone nodes, update the xml attribute so that its date is at least one second larger than that in the db attribute. This will tell the program you have XML changes to upload.

If a rod XML is messed up, dirty, deleted, or otherwise unsatisfactory, an easy fix is to delete the file and delete the corresponding line in DBSync.xml. The program will then download the file as it exists in the remote database.

Other attributes in the DBSync file are described below. None of the following attributes should be modified by hand for any reason.

There can be multiple updates, depending on what database is in use. They are keyed by the host attribute, which is set to the connection string used to connect to the remote database. If you alter this, your whole FishDB will be resynced, which takes 20 or more seconds, depending on connection speed. Please do not do this. FishingForm currently utilizes a free database, and the only real limitation is number of concurrent connections (5). More, longer connections means some people can't connect. Additionally, the access string is associated with a limited user account which can only execute routines (which you will have to find in the code). Please don't use it to connect and screw around with things.

The dbver attribute denotes the version of the program the database is associated with. If this value is below a required threshold, defined in the exe, all child nodes will be reset to default and all FishDB data will be synced, so please don't alter this.

The name attribute corresponds to the name attribute on a similar node found in each rod XML file.

The db attribute of the nodes denotes the last time (UTC) a database sync was performed for the noted rod. Some rods do not have any data, so the default value remains.


Changes

1.7.1.5

1.6.7.50

1.7.1.5

1.7.1.4

1.7.1.3

1.7.1.2

1.7.1.1

1.7.1.0

1.7.0.25

1.7.0.24

1.7.0.23

1.7.0.22

1.7.0.21

1.7.0.20

1.7.0.19

1.7.0.18

1.7.0.17

1.6.7.49

1.7.0.16

1.7.0.15

1.7.0.14

1.7.0.13

1.7.0.12

1.7.0.11

1.7.0.10

1.7.0.9

1.7.0.8

1.7.0.7

1.6.7.48

1.7.0.6

1.7.0.5

1.7.0.1

1.7.0.0

1.6.7.41

1.6.7.40

1.6.7.39

1.6.7.36

1.6.7.35

1.6.7.34

1.6.7.33

1.6.7.32

1.6.7.31

1.6.7.30

1.6.7.29

1.6.7.28

1.6.7.27

1.6.7.26

1.6.7.25

1.6.7.24

1.6.7.23

1.6.7.22

1.6.7.21

1.6.7.20

1.6.7.19

1.6.7.18

1.6.7.17

1.6.7.16

1.6.7.13

1.6.7.8

1.6.7.3

Previous