unsullied Posted September 15, 2013 Share Posted September 15, 2013 Greetings, I need some input here, speculation is fine but I would prefer input with some links to supporting documenation if you have it... The 'Duty Finder' (party finder for dungeons, etc.) in Final Fantasy: A Realm Reborn is terribly implemented at this point. For various reasons (not gonna bore you with details) Tanks and Healers are in very short supply for the Duty Finder, so DPS classes end up waiting for more than an hour to get in a party sometimes. I get bored waiting (ADHD kicks in) and I end up watching youtube or hulu on my second screen and I often miss they Duty FInder queue when the dialog pops because I am not paying attention. So I wrote a script that searches a selected portion of the screen for a color present in the duty finder dialog, where I expect the dialog to be displayed, and when the dialog is displayed the script plays a .wav file to alert me the queue has popped. My quandry is this: Is this tecnically cheating? It is not automating game play, just notifying me when a dialog is displayed... so my interpretation is that it's not a 'bot', because it isn't unattended game play. Thoughts? Anyone have any links to information that would clarify this one way or another? I've attached my code below for review.. Thanks in advance for any input! Cheers expandcollapse popup#Region #AutoIt3Wrapper_outfile=FFXIV_ARR_Duty_Notifier.exe #AutoIt3Wrapper_Compression=4 #EndRegion #Include <Misc.au3> opt("SendKeyDelay",50) HotKeySet("{pause}", "Quit") Global $searchL, $searchT, $searchR, $searchB, $color, $timer, $queueTime, $searchPoint $prog = "FFXIV: ARR Duty Notifier" $winHandle = WinGetHandle("FINAL FANTASY XIV: A Realm Reborn") Main() Func Main() $ptColor = 'E0E0D6' ;color of duty finder dialog background ToolTip("Making FFXIV: ARR window Active",0,0,"",2) If WinActive($winHandle) = 0 Then WinActivate($winHandle) Sleep(2000) $dll = DllOpen("user32.dll") ; User32.ddl speeds up _IsPressed ; Select the lower right of the search area ToolTip("Click in the top left corner of the search area",0,0,"",2) While -1 If WinActive($winHandle) = 0 Then WinActivate($winHandle) ; Make sure window is active while selecting position If _IsPressed("01",$dll) Then ExitLoop ; Exit loop when user left clicks WEnd $mouse = MouseGetPos() $searchL = $mouse[0] $searchT = $mouse[1] Sleep(500) ; Select the lower right of the search area ToolTip("Click in the bottom right corner of the search area",0,0,"",2) While -1 If WinActive($winHandle) = 0 Then WinActivate($winHandle) ; Make sure window is active while selecting position If _IsPressed("01",$dll) Then ExitLoop ; Exit loop when user left clicks WEnd $mouse = MouseGetPos() $searchR = $mouse[0] $searchB = $mouse[1] DllClose($dll) ; Close DLL ToolTip("",0,0,"",2) Sleep(1000) $color = "0x" & $ptColor ToolTip("Initializing...",0,0,"",2) sleep(500) ToolTip("",0,0,"",2) $timer = TimerInit() While -1 $timerDiff = TimerDiff($timer) $queueTime = Floor($timerDiff/3600000) & " hours, " & _ Floor(Mod($timerDiff,3600000)/60000) & " minutes, " & _ Floor(Mod($timerDiff,60000)/1000) & " seconds." ToolTip("Waiting for Duty.. Time in queue = " & $queueTime,0,0,"",2) $searchPoint = PixelSearch($searchL,$searchT,$searchR,$searchB,"0x" & Hex($color,6),10,1) ; Look for specific color in the selected area If @error <> 1 Then ; When color is found, play notification sound and bail out of the loop SoundSetWaveVolume(100) SoundPlay("FFXIV_ARR_Duty_Notifier_Success.wav", 1) ExitLoop EndIf Wend While -1 ;loop until pause button is pressed so user can see timer before script exits Wend EndFunc ; Quit the script when the user presses {pause} Func Quit() Exit EndFunc Link to comment Share on other sites More sharing options...
TheSaint Posted September 15, 2013 Share Posted September 15, 2013 (edited) Welcome to the forum. You appear to have missed some of the rules on your way in. Please check the section on Game Automation. We do not assist with that at all here ... no exceptions whatsoever. We look forward to other queries from you here, not game related or to this post/topic. A MOD will be along shortly to lock this topic. Cheers! EDIT Just now, read your whole post. Anything to do with Game interaction, is classed as Game automation, sorry! While you might be a genuine good person, the same cannot be said for all who see any code, help, etc. So over the years here, the powers that be have found it best not to allow any exceptions at all. Edited September 15, 2013 by TheSaint jaberwacky 1 Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage) Link to comment Share on other sites More sharing options...
unsullied Posted September 15, 2013 Author Share Posted September 15, 2013 (edited) This does not do any game automation whatsoever, that's my point. all it does it notify me when a dialog is displayed based on the colors displayed on the screen. it does not click anything, it does not do anything with the game, which is why I think it's a 'grey' area, thus my point of posting. I mean, when it notifies me the color is found (i.e. the dialog has been displayed), I am still required to manually click the button on the dialog, otherwise nothing happens. No automated interaction is performed. No game interaction is performed with the script at all. The (AutoIt) rules that I have found that might pertain to this situation are: Automation of software/sites contrary to their EULA (see Reporting bullet below). Launching, automation or script interaction with games or game servers, regardless of the game. This script does not violate the EULA for FFXIV: ARR, I've checked, and I submitted a support ticket asking if 'attended automation with no game interaction' was a violation and they replied it was not. And this script does not 'launch, automate or interact' with the game in any fashion. I still have to be sitting at the computer, and I have to click the button to join the party and play the game. So... it appears to be ok from the EULA perspective, the question is more of an ethical one and one for the AutoIt developer community... Edited September 15, 2013 by unsullied Link to comment Share on other sites More sharing options...
TheSaint Posted September 15, 2013 Share Posted September 15, 2013 Anything related to elements that interact with a Game, be it Windows, Dialogs, Colors, etc is still interacting with the Game. We have had many discussions over the years about all this, and now just have a blanket rule. It's never based on your intent or how similar it may be to regular AutoIt use. Once a Game is mentioned or insinuated, that topic is locked and any related topics too. jaberwacky 1 Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage) Link to comment Share on other sites More sharing options...
unsullied Posted September 15, 2013 Author Share Posted September 15, 2013 Interesting. So is it a liability issue? I mean is AutoIt potentially liable if people are posting game automation topics? If I didn't mention the name of the game, would it be a valid topic for discussion? Thanks for the info, guess I misinterpreted the rules. Link to comment Share on other sites More sharing options...
TheSaint Posted September 15, 2013 Share Posted September 15, 2013 (edited) AutoIt has a reputation to uphold, and issues with Anti-Virus companies, Game/Program manufacturers and Website controllers, etc can, have and do cause problems. As to your question, the key is in the word I said - insinuated. P.S. That also means, don't (like many fools in the past) just change your topic to exclude references that seem Game related. It's essentially too late for that topic and any bearing resemblance. P.S.S. The MODS must be busy elsewhere, being Sunday I guess, as you don't usually get to have this discussion before a topic is closed. Once you qualify for the Chat section, then you can search and find plenty of topics on Game Automation there. Edited September 15, 2013 by TheSaint jaberwacky 1 Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage) Link to comment Share on other sites More sharing options...
unsullied Posted September 15, 2013 Author Share Posted September 15, 2013 wow that really tells me nothing. thanks, i guess. but i suppose it's about on par with the rest of the useless information you've provided. bravo. now i see why you get flamed all the time on your posts, 'TheSaint' ROFLMAO sgorby 1 Link to comment Share on other sites More sharing options...
TheSaint Posted September 15, 2013 Share Posted September 15, 2013 Well, I guess all my time being civil to you and giving you an explanation, where most here wouldn't have bothered, has paid off, as we now know the cut of your jib. Have a good life. jaberwacky 1 Make sure brain is in gear before opening mouth! Remember, what is not said, can be just as important as what is said. Spoiler What is the Secret Key? Life is like a Donut If I put effort into communication, I expect you to read properly & fully, or just not comment. Ignoring those who try to divert conversation with irrelevancies. If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it. I'm only big and bad, to those who have an over-active imagination. I may have the Artistic Liesense to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage) Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted September 15, 2013 Moderators Share Posted September 15, 2013 unsullied,What you want to do is "game interaction" in my opinion - which is the one that counts. And any flex I might have been prepared to show disappeared the moment you started attacking a forum MVP. So despite your name, your reputation here is now firmly "sullied" and this thread is locked. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Recommended Posts