Jump to content

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Find out more here. X
X


Photo

Improving The Fishing Bot


  • Please log in to reply
62 replies to this topic

#21 fishinforgil

fishinforgil

    Seeker

  • New Members
  • 7 posts

Posted 01 February 2004 - 05:37 AM

Autosort Function Not Working For Me!!!!!!

I have fooled arround with the code abit, nothing major just some delays and stuff. For the most part it works fine. The one problem I am having is the autosort function. Mine looks like this: (I certainly don't take credit for the code I just modified it slightly)
Func autosort() AutoItSetOption("SendKeyDelay", 225); Sleep (0125); Send ("!i"); Sleep (0500); Send ("{NUMPADADD}"); Sleep (0250); Send ("{ENTER}"); Sleep (0250); Send ("{up}"); Sleep (0250); Send ("{ENTER}"); Sleep (0250); Send ("{ESCAPE}"); Send ("{ESCAPE}"); Sleep (0125); Send ("!2"); Equip New Rod & Bait Sleep (0100) EndFunc


As far as I can tell this code works fine except for me and one other who posted on this forum. The "Send ("{up}"); line does nothing when in-game. I have tested the following without any change to the result.

Changed KB type to compact and used the "k" key (down arrow) instead.
Changed the {up} to uppercasse {UP}.
Changed {up} to {down}.
Added more pause time in the script before and after the {up} command.

Nothing seems to work. The only similarity I can see between myself and the other guy posting here is that we are both running the XP operating system. I can't believe that this would make any difference but you never know.

Also I have tested that AutoIT is sending the keyboard command;
Send ("{up}");
outside of FFXI running a test script in notepad.

If anyone has a suggestion or has got the autosort function to work in XP let me know as this is a critical function of the scripts usefullness.







#22 HC1976

HC1976

    Seeker

  • Active Members
  • 12 posts

Posted 01 February 2004 - 03:32 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.

This isn't exactly a pause function. You could stop it from fishing, but what about other features like the auto inventory sorting and such?

#23 ZootZootZootie

ZootZootZootie

    Seeker

  • New Members
  • 7 posts

Posted 01 February 2004 - 04:46 PM

This isn't exactly a pause function.  You could stop it from fishing, but what about other features like the auto inventory sorting and such?

The autosort command will only activate when a fish is caught. Has to satisfy a few checkpoints before it'll occur.

Its the easies pause solution I could think imagine. Not elegant but might work.

#24 Guest_swiftuser_*

Guest_swiftuser_*
  • Guests

Posted 01 February 2004 - 07:44 PM

One hint for you trying to use {UP} for the autosort rather than a mouse move. If you switch to compact keyboard layout the i key works to move up in a menu.

Also if you are unable to get !1 or ^1 (Alt+1 or CTRL+1) keys to work I suggest using {ALTDOWN} or {CTRLDOWN} which will hold the key down and then hitting the appropriate selection and {ALTUP} or {CTRLUP} to release the key.

Sample:

Send ("{ESCAPE}") ;Exits open windows
Sleep (0250) ;Sleeps
Send ("{CTRLDOWN}") ;Holds CTRL down key
Sleep (0250) ;Sleeps
send( "{1 down}") ;Holds 1 down key
sleep(250) ;Sleeps
Send("{1 up}") ;Releases 1 key
Sleep (0250) ;Sleeps
Send ("{CTRLUP}") ;Releases CTRL key
Sleep (0250) ;Sleeps

This would hit Ctrl 1 macro key to activate that macro.
:whistle:

#25 Neesnu

Neesnu

    Seeker

  • Active Members
  • 18 posts

Posted 01 February 2004 - 08:58 PM

OK, ive fixed the "Does not autosort" problem for myself, anyone else with the problem can try this code

I do not take credit for this code, since i just tweaked the autosort function.

Edited by Neesnu, 05 February 2004 - 04:04 AM.


#26 ir0nfist

ir0nfist

    Seeker

  • Active Members
  • 32 posts

Posted 01 February 2004 - 10:01 PM

Ok you guys wanted a pause function, so I went ahead and made it. I don't really need it but i figured it would be ok as i could just walk off and not worry about it. The pause is configurable to either logout or pause when it reads, You cannot fish here. Choose the option you want. I may have introduced some little quirks while doing this as i have not tested it for a long period of time, but i'm sure you guys will. So anyways, here ya go!
Edit* I forgot to mention that the script will stay paused when you start it also. To begin the script, start fishing with /fish or whatever. This is also the way to unpause it when you are already in game and it pauses when seeing the You cannot fish here. text.

I removed this code because i noticed an error but i can't fix it till tomorrow cause superbowl. I will fix it tomorrow and post.

Edited by ir0nfist, 01 February 2004 - 10:52 PM.


#27 ravenfyre

ravenfyre

    Wayfarer

  • Active Members
  • Pip
  • 77 posts

Posted 01 February 2004 - 11:37 PM

Don't know what you error is but this is what I used for the you cannot fish here error,

$var1 = PixelGetColor(71,739);
$var2 = PixelGetColor(86,739);
$var3 = PixelGetColor(135,742);

If $var1 = $var2 AND $var2 = $var3 AND $var1 = $var3 Then
$logtime = 2
EndIf

My script logs out but you can do whatever :whistle:. The color slightly changes of that error text so I just make it compare 3 points. Had it running for a few days now without any problems. This is for a res of 1024x768 by the way.


I actually havn't looked at your script yet but I will definitely once you post your newest one. I never got pause to work in my script, couldn't find a key FFXI would let through.

#28 Valik

Valik

    Former developer.

  • Active Members
  • PipPipPipPipPipPip
  • 18,879 posts

Posted 02 February 2004 - 03:55 AM

If $var1 = $var2 AND $var2 = $var3 AND $var1 = $var3

You realize that if $var1 = $var2 and $var2 = $var3 that it's automatically guaranteed that $var1 will equal $var3, right? The same would hold true for:
$var1 = $var2 AND $var1 = $var3
or
$var2 = $var1 AND $var2 = $var3

Seems like a pointless comparison since it isn't necessary (I'm a minimalist at times).

#29 ir0nfist

ir0nfist

    Seeker

  • Active Members
  • 32 posts

Posted 02 February 2004 - 07:05 AM

Well the error doesn't really have to do with the pause function. The pause works fine every time. I just need to get a screenshot of an in game macro running an echo of /echo Fish
This is used to do a check on the keypress of your fishing macro, as sometimes when pressing macros they don't send in FFXI for whatever reason, so i made a keypress check to ensure that the fishing macro key has been pressed with variables that will lead to the pause function if it reads, You cannot fish here, and one that leads to repressing the fishing macro key if the script tries to fish before you have waited the specified amount of time before you can fish again so that it will eliminate any mistimings on this and make it more time efficient, or repress the fishing macro until FFXI reads the keypress.
This is contigent upon your macro being set up like so

/equip ammo "your bait"
/fish
/echo Fish

I know some people seem to be against using echo's, and I'm sorry to say this will not work if the first 4 letters of your echo are not "Fish". But i feel this is the more efficient way to do it. Everybody that has an ingame fishing macro pretty much uses /echo Begin Fishing or /echo Fish! or something of like that so that they know the key was registered when pressed. If you are totally against using an echo command, then you will have to alter the check key press part of the script and take it out and change it to what you want to use.
Tomorrow, I plan to include a rusty item drop to the script also. Might be finished by tomorrow evening, should be mid day i would guess. Already have a pretty good idea as to how i am gonna do it so just a matter of getting some pictures and then writing it. Should be pretty simple. I'll just write it as a separate function i think after I look at it for a bit. So, expect that soon.
I would have the current script up now, but I can't log in to the game cause of the 3101 error to get a pic. *shrug*

Some other things I was thinking about implementing
- Skill raise monitoring and writing to file and sound alert
- Sound alert on tell recieved
- GM sound alert upon recieving a tell from one (need pic of text) I may try to procure this myself i guess.
- Possible auto replies to tells and/or GM tells
- Type of fish caught recognition and logging to file (this would take alot of time so may never happen, as I'm not sure how useful it would really be though it would be neat) which could lead to auto dropping of fish types you don't want.
- I may put a timer in to specify a certain amount of time to fish then logout
- I toyed with the idea of having an auto straightening function if you are turned by taking points on the compass. I haven't tried this so not sure if it is possible, but might be.
- Keep track of total fish caught using the script.

Some of the above I may not implement. But a few of them will be, just a matter of finding the time and getting the resources needed.
If anyone has a suggestion or something they would like to see that would be helpful but don't know how/have the time to try and do it themselves feel free to post your suggestion and I will take it into consideration.
I am also toying with the idea of writing some job specific scripts regarding abilities or maybe just timers on abilities etc, as I play a bard/whm in game I think it would be useful to have a 30 second warning on songs etc and maybe some other stuff. Anyways, just typing what's on my mind at the moment.
It's like a puzzle, I love it! ^^

Edited by ir0nfist, 02 February 2004 - 07:25 AM.


#30 Guest_areamil_*

Guest_areamil_*
  • Guests

Posted 02 February 2004 - 07:22 AM

ya so i know this is the wrong topic but what the heck is that 3101 error.....i figured i hadn't paid my bill or something.......not that important i guess....hehe....just frustated

#31 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 521 posts

Posted 02 February 2004 - 01:01 PM

Server's down today so I can't check my new script.

I figured out a way to pause the game and it's by using pixel colors. Here's the way it works.

Fising is done through the alt key.

Pausing is done through the control key.

When you hold down the control key for 3 seconds it brings up the control macro bar. By using pixel shading on various characters located on the control bar, you can tell the script to pause. :whistle: You can use the same function to unpause the game as well.

This allows you to do the things you would like. I'm not posting the code yet because I want to make sure it works perfectly. Look for it later on today.

#32 escrima

escrima

    Seeker

  • Active Members
  • 30 posts

Posted 02 February 2004 - 01:23 PM

ir0nfist:

- Possible auto replies to tells and/or GM tells
- Type of fish caught recognition and logging to file (this would take alot of time so may never happen, as I'm not sure how useful it would really be though it would be neat) which could lead to auto dropping of fish types you don't want.


I would be very impressed if you could auto reply back to a GM. You'd have to have some type of OCR that could read the name and recognize it. This won't work with the current pixel detect.... any ideas how you would start it? very intersted.

the types of fish wouldn't be a problem. you would just have to make unique different pixels that... sounds simple enough.. jsut time consuming... what about really be awesome is if it we threw a gui in the beginning with check boxes for this sort of thing. if your looking to get together for any big projects, let me know. i have a pretty advanced script that does all my fishing right now that I scripted myself.

#33 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 521 posts

Posted 02 February 2004 - 02:09 PM

Removed

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


#34 ir0nfist

ir0nfist

    Seeker

  • Active Members
  • 32 posts

Posted 02 February 2004 - 02:24 PM

Great job on that Ealric. Interesting to see how people take different routes to accomplish the same goal. Gives people some option as to how they want their scripts to behave etc. Anyways, good job with the forward thinking and taking the time to script this for everyone to enjoy. Keep it free right? :whistle:........ Everyone keeping up on this thread, get your heads working and let's make something really nice in a good share of knowledge and ideas! Keep em coming!

#35 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 521 posts

Posted 02 February 2004 - 02:33 PM

Removed.

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


#36 Guest_BamBam_*

Guest_BamBam_*
  • Guests

Posted 02 February 2004 - 05:48 PM

Would anyone be so kind at to post the needed variables for Ealric's version for a 1280x1024 res? Thank you. Nice script!

#37 Sleepyfox

Sleepyfox

    Seeker

  • Active Members
  • 21 posts

Posted 02 February 2004 - 07:25 PM

:whistle: By anychance will you be releasing your awsome bot to the public for free B)

#38 Ealric

Ealric

    Universalist

  • Active Members
  • PipPipPipPipPipPip
  • 521 posts

Posted 02 February 2004 - 07:43 PM

I'll post a 1280 x 1024 version tomorrow that fully works with my script. I think that should be the default anyways. Everyone I know has a flat screen monitor :whistle:.

However, I'd like to see how Ironfists script works out with the new features.

#39 ravenfyre

ravenfyre

    Wayfarer

  • Active Members
  • Pip
  • 77 posts

Posted 02 February 2004 - 08:44 PM

Ir0nfist, I see from your macro that you are equiping bait everytime you fish. I think this is a bad idea because this command is confirmed in the chat box. Most likely a GM is monitoring your chat box and if he/she sees the message "Your equipment has changed" over and over again then they will smell something fishy :angry:.

Best to make the script look for the text "you cannot fish without bait" and then /equp ammo. This command would be used less frequently and you will look less suspicious.

My theory is to keep the GM's away keep your chat box clean. The /echo Fish still might be a give away but that would inidicate you are using a macro to fish and that should be safe B). I've been using my own scripts for a long time even before I found this site, I used a different method of equping bait everytime by going into the equiping menu. It didn't register the equipment change in the chat box and I think that's what really kept me safe all this time :whistle:. Still I think the /equip ammo method is still better BUT ONLY if it equips ammo once you run out indicated by the error "You cannot fish without bait". After all, this is how a person would do it if he/she would be actually there :evil:. Who would keep equiping ammo even though you knew you still had some afterall.

This is what I have for my res 1024x768:

If PixelGetColor(28,735) = 16777215 AND PixelGetColor(86,735) = 16777215 AND PixelGetColor(334,745) = 16777215 Then $nobait = 1; EndIf


And somewhere later in the script,

If $nobait = 1 Then Send("/equip ammo ""Little Worm""{ENTER}"); EndIf

Edited by ravenfyre, 02 February 2004 - 09:19 PM.


#40 fishinforgil

fishinforgil

    Seeker

  • New Members
  • 7 posts

Posted 02 February 2004 - 09:53 PM

i agree with ravenfyre, the script needs to be streamlined to perform only actions which are required as a result of an event. Such as running out of bait.

One thing I would find helpfull, since I am not involved with programing the script just using it and providing feedback :whistle:, would be if there was a titleblock you could use to indicate what res, kb layout, and any other config requirements are needed to use the code.

Example:

;***************************************
;Created by: SuperNatural Human Being
;Date: When
;Rev: 1.0.3.5.6.2.34.6
;Notes: 1024x768, Must use Compact KB, etc...
;Features: Autosorts, Destroys Rusty Equip,
; Auto Logout when GM msg you.
;***************************************

I know this can be a pain in the ass but from an end user standpoint this would assist us in knowing what we are about to execute.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users