Jump to content



Photo

Improving The Fishing Bot


  • Please log in to reply
62 replies to this topic

#1 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 520 posts

Posted 29 January 2004 - 07:05 PM

Removed

Edited by Ealric, 05 February 2004 - 12:34 PM.






#2 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 520 posts

Posted 30 January 2004 - 02:52 AM

Removed

Edited by Ealric, 05 February 2004 - 12:34 PM.


#3 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 520 posts

Posted 30 January 2004 - 03:07 AM

I want to put the pause command in and I think the way the ffxi engine works is that the key combo has to be a valid in-game combo that is unused. So my theory is using an alt+num combo on a blank macro on the bar.

If anyone wants to test this out let me know. I'm sure we can get the pauses to work. I really feel the pauses should start off in the ON mode when entering the game and then be able to release it. This will allow you to setup and get the tells out of the way.

Please give me some input and I'll start to transition it in.

#4 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 520 posts

Posted 30 January 2004 - 01:00 PM

I'm going to keep working on the script. I really feel that community should bond together and keep coming up with creative solutions. As such, I won't be removing any code or participating in the beta of the new program.

The reasons of course, are because I believe in open source and can't help two people obtain 15 to 20 dollars for a program that is illegal.

I believe you do things at your own risk with any 3rd party program or code and this one can be improved and AI added without any problems at all. The nice thing about autoit is it does not send any "true" third party packets to the server. Using this is pretty much safe for anyone.

Yes the packets are ultimately sent in the form of normal keystrokes to the server but it does not send any third party packets to the server. Just be creative and you can add your own AI effects to the script and do a multitude of things. When I get my script working 100% and so far I have not been banned and I have made a lot of fishing skill and money, I will PM send it to those that want it for "FREE".

#5 Guest_X-Bond 007_*

Guest_X-Bond 007_*
  • Guests

Posted 30 January 2004 - 03:22 PM

Good job :whistle:

I'm glad to see different options available and look forward to what you can do with this script!

-xbond

#6 ZootZootZootie

ZootZootZootie

    Seeker

  • New Members
  • 7 posts

Posted 30 January 2004 - 11:11 PM

Some ideas that you might want to consider with the above bot.

Since its calling a macro ingame, you don't need to have an autobait command in the script. Just use the macro to equip the ammo. This also makes equipping it faster.

Using a modified version of the autosort function, I think its possible to make an auto rusty item dropper.

Just need the color code for the rusty part. This may be detrimental in the long run since some rusty items are worth more than fish (but do take up more space).

#7 ZootZootZootie

ZootZootZootie

    Seeker

  • New Members
  • 7 posts

Posted 31 January 2004 - 09:00 AM

I decided to write an itemdrop function. Haven't put in the checks of Y/N on rusty items though. This func should be called after Send ("!i"); of the autosort func.

Haven't tested it yet but it should work. Correct if you see a problem.

Func ItemDrop()

Edited by ZootZootZootie, 04 February 2004 - 12:09 AM.


#8 Guest_Bul_*

Guest_Bul_*
  • Guests

Posted 31 January 2004 - 12:23 PM

ir0nfist,
that script seems to be the bomb. ive used it three or four times, and everything run smoothly, even made catchs each time. but having a problem when it comes to writing to file. right now, after i made the catch, ffxi closes because autoit brings up an error message.. i created a file in the same folder as the script and the auto it .exe, called Caught Fish.txt.. still no luck. any suggestions?

Bul

#9 Guest_Poormage_*

Guest_Poormage_*
  • Guests

Posted 31 January 2004 - 12:42 PM

Everything works fine for me except for the auto sort, it opens the menu nicely but it will not press up to select yes.

You don't seem to have any problems, is it because i am using XP ?

Also when i try to load your script ir0n, it gives me a error saying;

If PixelGetColor(128,735)= 16777215 AND PixelGetColor(74,1168)=
"If statements must have a then keyword"

sorry but i have little knowledge of theese sorts of things :whistle: help me out ?

Edited by Poormage, 31 January 2004 - 12:51 PM.


#10 LifestoneExpress

LifestoneExpress

    Seeker

  • Active Members
  • 15 posts

Posted 31 January 2004 - 02:14 PM

Nice script.


The thing everyone seems to be wanting, and not able to get ... is some sort of pausing button.


A great way to get around this, is to have the macro start when you actually catch your first fish, have that start the macro.

Use the "You can not fish here" error ingame, to pause the macro untill you catch another fish.


That would allow you to simply turn your body a little, get the error message and have the macro pause.

Maybe someone will figure out how to actually set up a button to toggle pause / unpause, but from what i have read, no one can figure it out :whistle:

#11 ir0nfist

ir0nfist

    Seeker

  • Active Members
  • 32 posts

Posted 31 January 2004 - 02:28 PM

Bul, i can't test till monday, but i am assuming that the problem writing the file is either 1. specify the full path to where you want the file written eg. C:\blah\blah\fish caught.txt . This is my first time scripting and i just read a little bit on autoit to figure this out so I can't tell by just looking at it.
or
2. Has something to do with the autoit version you are using as the command for filewrite may have been changed? I dunno, try #1.

As far as the pixelgetcolor problem, when i pasted this script on forum it for some reason placed spaces in the code where they shouldn't be. You need to bring the 16777215 Then back up into place I think. Hopefully that will make it run properly.

#12 Corosive

Corosive

    Seeker

  • New Members
  • 5 posts

Posted 31 January 2004 - 03:34 PM

Mine works fine... the only problem is it seems to reel in the hook too fast (without a bite).. This is my script.. I edited it.. and I am pretty new with autoit.. Please tell me how to make the timer for fishing longer. :whistle:
Thanks! ^^

800x600 resolution

Sleep (100000);give time to open FFXI
$fisha = 1;
$biteyes = 0;
$bite = 0;
$failsafe=0;
WinWaitActive("FFXiApp");


While $fisha > 0

AutoItSetOption("SendKeyDelay", 15);
autosort()
Send("/fish{ENTER}"); fishing macro
$biteyes = 0;
$failsafe = 0;
Do
If PixelGetColor(229,572) = 16777215 Then
$bite = $bite + 1;
AutoItSetOption("SendKeyDelay", 15);
  Sleep(Random(2500,3500));
Send("{ENTER}");
  Sleep(3500);
$biteyes = 1;
EndIf

If PixelGetColor(194,570) = 16777215 Then
AutoItSetOption("SendKeyDelay", 15);
$biteyes = 1;
EndIf
Sleep(3500);
$failsafe = $failsafe+1

If $failsafe = 20 Then
$biteyes = 1;
EndIf

Until $biteyes = 1
Sleep(13000);
WEnd


Func sort()

EndFunc



; Copyright z33to ^^

Func autosort()
AutoItSetOption("SendKeyDelay", 200) ;slow key delay a bit
Send ("{NUMPADSUB}") ;opens menu
Send ("{DOWN}") ;moves menu down 1
Sleep (0100) ;Sleep for a little bit
Send ("{DOWN}") ;moves menu down 1
Send ("{DOWN}") ;moves menu down 1
Sleep (0100) ;Sleep for a little bit
Send ("{ENTER}") ;enter the item menu
Send ("{NUMPADADD}") ;goes to sort
Sleep (0100) ;Sleep for a little bit
Send ("{ENTER}") ;enters stack menu
Send ("{up}") ;sends it up
Sleep (0100) ;Sleep for a little bit
Send ("{ENTER}") ;complete auto stack
Send ("{ESCAPE}") ;exits menu
Sleep (0100) ;Sleep for a little bit
Send ("{UP}") ;moves menu up 1
Send ("{UP}") ;moves menu up 1
Sleep (0100) ;Sleep for a little bit
Send ("{UP}") ;moves menu up 1
Send ("{ESCAPE}") ;exits complete to finish stack
Sleep (0100) ;Sleep
Send ("/")
Send ("{UP}")
Send ("{UP}")
Send ("{ENTER}")
EndFunc



#13 Guest_Bul_*

Guest_Bul_*
  • Guests

Posted 31 January 2004 - 05:16 PM

ir0nfist,
i fixed the log problem by doing exactly what u said and laid out the root of the txt document. one other question, sometimes i seem to get the /logout command be put out for some purpose. im trying to learn the auto it language quickly, but what does $logtime have to do with the /logout sequence?
thanks alot
bul

#14 ZootZootZootie

ZootZootZootie

    Seeker

  • New Members
  • 7 posts

Posted 31 January 2004 - 06:02 PM

This is the code that I've changed. I've decided to see if I can use the /echo command in that I use in my fishing ffxi macro as a checkpoint measure. When I tested it out, it keeps pushing the fishing macro command, so my checkpoint stop isn't working.

Also this is for 1280x1024. Suggestions are appreciated.

; Original Script by z33to

Edited by ZootZootZootie, 04 February 2004 - 12:09 AM.


#15 Sumoman

Sumoman

    Seeker

  • Active Members
  • 30 posts

Posted 31 January 2004 - 07:37 PM

weird...
I followed all the introduction instructions for running the script with autoit, but whenever i try to run the script it tells me that "$fisha = 1;" is an unknown command...

What am I doing wrong?

#16 HC1976

HC1976

    Seeker

  • Active Members
  • 12 posts

Posted 31 January 2004 - 07:51 PM

If anybody can get the Pause/Unpause to work, this would be sweet. I only use the script when i'm LFG, and it's annoying to need to logout to stop the script whenever i get into a group.

Otherwise, this seems to work just fine. I've only been testing it for 20 mins or so, but it's been absolutely perfect.

#17 Guest_FishAtNight_*

Guest_FishAtNight_*
  • Guests

Posted 31 January 2004 - 09:14 PM

You can't get pause to function via hotkeys currently under 2000/XP. Hotkeys don't work in game, and it's not so much FFXI blocking anything as it is AutoIt isn't low-level enough to hook the keys. Many other programs can catch the same keystrokes with FF running in the foreground, still some others cannot. No idea if it works in Win98 or not.

Pause functionality would have to use either AutoHotKey, or a version of AutoIt with revamped hotkey grabbing.

To test this yourself, use the following script:

Plain Text         
HotKeySet("{INS}", "Ding") HotKeySet("{DEL}", "Ding") HotKeySet("{HOME}", "Ding") HotKeySet("{END}", "Ding") HotKeySet("^a", "Ding") HotKeySet("!a", "Ding") HotKeySet("+A", "Ding") HotKeySet("#a", "Ding") HotKeySet("]", "Ding") HotKeySet("=", "Ding") HotKeySet("{F7}", "Ding") HotKeySet("{F8}", "Ding") HotKeySet("{F9}", "Ding") HotKeySet("{F10}", "Ding") HotKeySet("{F11}", "Ding") HotKeySet("^{F7}", "Ding") HotKeySet("^{F8}", "Ding") HotKeySet("^{F9}", "Ding") HotKeySet("^{F10}", "Ding") HotKeySet("^{F11}", "Ding") HotKeySet("!{F7}", "Ding") HotKeySet("!{F8}", "Ding") HotKeySet("!{F9}", "Ding") HotKeySet("!{F10}", "Ding") HotKeySet("!{F11}", "Ding") $looping = 1; While $looping      sleep(10000)      SoundPlay("ding.wav", 0) WEnd Func Ding()  SoundPlay("ding.wav", 0) EndFunc


Change the ding.wav to point at the windows Ding, sometimes in C:\WINDOWS\Media\. The script then dings every 10 seconds to verify that you can hear the sound, then pressing any of those hotkeys inside will make a ding - unless you're inside FFXI. In which case you'll hear the 10second ding, but hotkeys will no longer work.

#18 ZootZootZootie

ZootZootZootie

    Seeker

  • New Members
  • 7 posts

Posted 31 January 2004 - 09:48 PM

A pause function could be implemented with the ingame macros. Just change your macro palettes to a set that has a blank alt+1. The macro will still call but won't run. Its not a perfect soution but it might work.

#19 ir0nfist

ir0nfist

    Seeker

  • Active Members
  • 32 posts

Posted 01 February 2004 - 12:07 AM

Bul, i am assuming this happens when the script does not catch the Something Caught the Line! text twice in a row, therefore it hits the failsafe, 2 times consecutively and logs out. Unfortunately, There is not much i can do to fix this unless someone can find some viable points in the You cannot fish here. text to change the way the logout works. If this is causing a problem for you, remove the logout part of the script, but obviously, this will not log you out if you are turned from the place you are fishing. Dunno. I will look again and try and search the text for viable points but I just can't seem to find something consistent. Sorry.

#20 Guest_crony333_*

Guest_crony333_*
  • Guests

Posted 01 February 2004 - 12:27 AM

:whistle: Alright I am a big n00b when it comes to scripts and programing, but I have taken up a little intrest lately messing around with these fishing bots and I was trying to come up with a way to make the macro pause.
I was thinking of maybe running a main macro that is always running checking for the red "you can't fish here" line and going with that but I couldn't seem to get it to work maybe someone knows what I did wrong. Like I said total n00b with this stuff so sorry if I totally messed this up. just trying to give my 2cents.

[code=auto:0]AutoItSetOption("SendKeyDelay", 25)
$check = 1
$fishing = 0

While $check > 0

Sleep (5000)
If PixelGetColor(225,440) = 16777215 Then;Caught Nothing
Sleep (0200)
$fishing = 1
EndIf

While $fishing = 1
 
Do
 
 $obtainedcheck = 0
 $timer = 0

 Do

  If PixelGetColor(179,454) = 8555775
  $fishing = 0
  Exitloop
 
  If PixelGetColor(231,453) = 16777215 Then;Something on Hook
  Sleep(Random(2000,3500))
  Send("{Enter}")
  Sleep (0200)
  ExitLoop
  EndIf

  If PixelGetColor(225,440) = 16777215 Then;Caught Nothing
  Sleep (0200)
  ExitLoop
  EndIf

  Sleep (200)
  $timer = $timer + 1
 Until $timer = 90

;Do
 ;If PiXelGetColor
 ;Sleep (2000)
 ;Send("{CTRLDOWN}")
 ;Sleep (0200)
 ;Send("{i down}")
 ;Sleep (0200)
 ;Send("{i up}")
 ;Sleep (0200)
 ;Send("{CTRLUP}")
 ;Sleep (0200)
 ;Send ("{NUMPADADD}")
 ;Sleep (0200)
 ;Send ("{ENTER}")
 ;Sleep (0200)
 ;Send ("{up}")
 ;Sleep (0200)
 ;Send ("{ENTER}")
 ;Sleep (0200)
 ;Send ("{ESCAPE}")
 ;Sleep (0200)
 ;ExitLoop
 ;Else
 ;Sleep (0100)
 ;$obtainedcheck = $obtainedcheck + 1
;Until $obtainedcheck = 10

 
 Sleep (15000)
 Send ("/Equip ammo "Lugworm"{ENTER}")
 Sleep (0200)  
 Send ("/fish{ENTER}");start the 'fishing' action
 Sleep (0200)

Until $fishing = 0

WEnd

WEnd[code=auto:0]

oh I apologize the autosort is not working right now because I was going to get the mouse positions and color for obtained items so it would only run when I caught something. I was hoping to make this very simple it seems like some of the scripts have gotten to complicated for the very simple task that needs to be done. well if anyone knows how to fix this, would be great to have something that pauses your script.

Edited by crony333, 01 February 2004 - 12:29 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users