|Go to Page...|
|Thread Tools||Display Modes|
|10/07/17, 01:08 AM||#1|
I decided to write a bot reporting addon. The irony of automating the process of reporting automated players was too good to pass up... For the most part it works about as well as I had envisioned except for the actual bot reporting part.
The only function I was able to dig up from the wiki and the source code that wasn't just nil is
This function is bound and works pretty much exactly as advertised, i.e. opens the report window with the player name filled in, but I would like to include more actionable information automatically populated within the description field (information that my addon already gathers).
I can see the abuse potential for zero interaction player reporting, but automatic population of fields (but manual submission button) would be really nice.
A promising looking function in the API section on the wiki is:
I've considered trying to find a way to detect that the description field is active, and just adding a string at the cursor... but there isn't an obvious way I can see to either detect such a thing or to place text at the current cursor location.
Any suggestions for handling the reporting window would be appreciated, thank you!
It is probably worth mentioning that the similar function
|10/07/17, 05:32 AM||#2|
Just a quaick & dirty idea without further checks:
The name says it's a scene? So you could check if it is really a scene, using SCENE_MANAGER to check if the activeScene is filled with something like "help_generic_ticket" or similar.
Then use your own scene's callback function for the onSceneChange function (see this thread for a scene's fragment, but pretty works the same for a scene: http://www.esoui.com/forums/showthre...ighlight=scene)
and check if the edit field fpr the description etc. is not hidden editCtrl:IsHidden().
If it's shown: Fill it with your text (something like editCtrl:SetText("hello world")
|10/07/17, 11:51 AM||#3|
|10/08/17, 07:21 AM||#4|
Just checked ingame:
If the "report player" screen is shown the variable SCENE_MANAGER.currentScene.name = "helpCustomerSupport".
Scene = HELP_CUSTOMER_SUPPORT_SCENE
One fragment of this scene (SCENE_MANAGER.currentScene.fragments) is (within keyboard mode! Did not check the gamepad mode!)
So you could try to check if this fragment is only active as the "report player" interaction was executed (or maybe too if the /bug report is started).
You could use the callback funciton on "fragment_shown" state, as shown in the thread that I've linked above, to check for the edit controls are not hidden.
The edit control names are
Player name to report (CT_LABEL)
Description text (CT_LABEL)
You are able to change the text in the description field by using something like this:
This worked for me.
If this doesn't work maybe try to add a small delay via function zo_callLater(function(), delayInMilliseconds) for testing purposes before the control get's assigned to descCtrl. Sometimes the controls are not always "there" already if a sene or fragment is shown.
Last edited by Baertram : 10/08/17 at 07:25 AM.
|10/08/17, 03:15 PM||#5|
You were extremely close with your Controls, specifically
However, some poking around revealed its parent
Even better, no delay or extra callbacks are even required. I can just call up the report window and instantly set the control fields.
Your insight and guidance was invaluable, now that I have an idea how to poke around existing GUI environments, things are going to get more interesting for sure.
Last edited by Drummerx04 : 10/08/17 at 03:59 PM.
|10/08/17, 03:56 PM||#6|
And just to add sugar on top:
I can set the subcategory as "Botting" even though ZoS removed the option from the menu.
I do have one more question: My addon is on ESOUI and can be manually downloaded and install... but I don't see it on Minion and it has been up and Approved for several days now (in it's non automatic report fill in state). Is there something I need to do to get it to show up there?
EDIT: Changing the ComboBox Text does not seem to affect the submitted ticket... In fact the ticket seems to be ignored by ZOS's auto reply system.
Last edited by Drummerx04 : 10/09/17 at 03:43 PM.
|10/09/17, 08:12 AM||#7|
Please make sure you clarify on the addon's purpose. No need for ppl getting rekt by good players just having to rage press one key for filing a cheat report.
|ESOUI » Developer Discussions » General Authoring Discussion » Reporting Bots|