This is how ZOS should treat cheaters in ESO:
https://www.youtube.com/watch?v=1OimzDPqDiA
This youtube video was found in this Cracked article about cheating in games.
This is how ZOS should treat cheaters in ESO:
https://www.youtube.com/watch?v=1OimzDPqDiA
This youtube video was found in this Cracked article about cheating in games.
^^^^THIS! Is really great ^^^^^ I would pay real money to see ZOS do something like this.
Jazbay_Grape wrote: »Are you ever going to do something about players being able to leap onto the top of keeps?
No, seriously, are you??
I'm not exaggerating when I say that it has legit happened over and over again tonight. At least 20 people now in the last hour. Unreal.
This is how ZOS should treat cheaters in ESO:
https://www.youtube.com/watch?v=1OimzDPqDiA
This youtube video was found in this Cracked article about cheating in games.
^^^^THIS! Is really great ^^^^^ I would pay real money to see ZOS do something like this.
Jazbay_Grape wrote: »Are you ever going to do something about players being able to leap onto the top of keeps?
No, seriously, are you??
I'm not exaggerating when I say that it has legit happened over and over again tonight. At least 20 people now in the last hour. Unreal.
No, they are going to do nothing, absolutely nothing. I reported a player for this exploit, I said in the ingame report I have a video of his cheating if needed, and they didn't even bother to ask me to submit the video for checking.
Sad truth is that cheaters bring money, and "pecunia non olet" (money doesn't stink) as Romans said...
This is how ZOS should treat cheaters in ESO:
https://www.youtube.com/watch?v=1OimzDPqDiA
This youtube video was found in this Cracked article about cheating in games.
I have not programmed in almost 10 years and I can describe for you a basic method in which it is possible to cheat within the UI context.
Have a wonderful day.
vamp_emily wrote: »I was grinding in coldharbor last week and seen a cheater ( or at least I thought he was cheating ).
I was grinding zombies and was following 2 other people around. I noticed one of them was acting kind of strange. They would move into the group of zombies and just stand there, and never fought.
Then I noticed that when the other guy would move then the other person would move. If he moved forward, the other would move forward. If he moved backwards, the other would move backwards.
textBox:SetText(textBox:GetText() - 1) while textBox:GetText() == "0" do CraftProvisionerItem(recipeListIndex, recipeIndex) textBox:SetText(textBox:GetText() - 1) end
Yay I love tests !!! Okay what we have here is one part of the code/program/mod whatever you kids are calling it these days addon. This is the part that is counting down how many times to create the food item or whatever until it reaches 0 this is just the loop for the countdown.
Some where in this program is what I call a GOSUB routine. That is sending the main program to this portion of the code.
EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)What this does is registers "initFunction" into the list of callbacks that need to be fired when an addon is successfully loaded. The event manager lives entirely in the base program except for it's limited API interface partially demonstrated here. (You can see the full interface on esoui.com's wiki, but I'm sure you'll just gloss over all of this again.)
local function initFunction(eventCode, addonName) if addonName ~= to "MyAddon" then return end end EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)
This is just supplying the loop for the count. The part of the code that sent you here should supply the interface with the actual game system, that is supplying the variable that the "GAME'S PROGRAM" is watching for the selection of the "E" variable.
local textBox local function onCraftComplete(eventCode, craftSkill) if craftSkill ~= CRAFTING_TYPE_PROVISIONING then return end textBox:SetText(textBox:GetText() - 1) while textBox:GetText() == "0" do CraftProvisionerItem(recipeListIndex, recipeIndex) textBox:SetText(textBox:GetText() - 1) end end local function initFunction(eventCode, addonName) if addonName ~= to "MyAddon" then return end --code to setup text box omitted due to length EVENT_MANAGER:RegisterForEvent("addonName_CraftComplete", EVENT_CRAFT_COMPLETED, onCraftComplete) end EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)
This part of the code only proves to me that you can loop and count down.
Although if in my cheat program I wanted to make it to where I was only spamming the number 1 say 10 times because after 10 times I would be out of mana then I would enter in the value of ten instead of requesting a variable input.
function ZO_Provisioner:Create() CraftProvisionerItem(self:GetSelectedRecipeListIndex(), self:GetSelectedRecipeIndex()) end
This list is all of your sub programs within the main program. This is basically a directory of what your main program is running.
This however is not the code of your main program. Each directory here would run a different operation and then return to the main program. They are basically programs within programs.
Uneventful and does not even show the full code of each.
if messageText == autoInviteString then GroupInviteByName(senderName) end
This is the if/then it is monitoring for a specific message. Now commands differ in every program. What this program is monitoring is (messageText).
local autoInviteString = "x" local function autoInvite(eventCode, channelType, senderName, messageText, isCustomerService, fromDisplayName) if messageText == autoInviteString then GroupInviteByName(senderName) end end local function initFunction(eventCode, addonName) if addonName ~= to "MyAddon" then return end --code to setup text box omited EVENT_MANAGER:RegisterForEvent("addonName_autoInvite", EVENT_CHAT_MESSAGE_CHANNEL, autoInvite) end EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)
This definition in this program is most likely defined as the chat window. And each part of the user interface most likely has its own definition. Like the actual graphic screen might have a definition of (messageScreen).
All this program is saying is that when the UI sees as an example "BOB" in the chat box it is to then initiate the subroutine GroupInviteByName(THAT PERSONS NAME). The commands to do the invite would be located in the GroupInviteByName subroutine.
Yes I have dabble in C++ as well but its not my favorite language.
So you have shown me nothing so far. Though I am glad to see the effort.
Let me write this in a bit of broken programming language for you.
...
I have not programmed in almost 10 years and I can describe for you a basic method in which it is possible to cheat within the UI context.
Have a wonderful day.
I've not read this entire thread, but ZOS does do stuff now and then. For example, there is a guild that I was in (until last night) where the GM got busted running Cheat Engine. Now they have no GM. (I always wondered how the GM was so good.)
The membership was like oh, it's getting appealed...I'm like really? You think that's a priority? Yesterday was day 9 of no GM...I thought they might allow an officer to take it over, but nothing is happening so they will probably have to disband the whole guild and have one of the officers rebuild it from scratch. ugh.
lol @darjobuno didn't even tag or quote me. You afraid I'll come back?textBox:SetText(textBox:GetText() - 1) while textBox:GetText() == "0" do CraftProvisionerItem(recipeListIndex, recipeIndex) textBox:SetText(textBox:GetText() - 1) end
Yay I love tests !!! Okay what we have here is one part of the code/program/mod whatever you kids are calling it these days addon. This is the part that is counting down how many times to create the food item or whatever until it reaches 0 this is just the loop for the countdown.
So far, so good.Some where in this program is what I call a GOSUB routine. That is sending the main program to this portion of the code.
Kind of, but your assuption that this is all 1:1 with BASIC is starting to get you on the wrong path.
As I said in the reply you failed to quote, what we are dealing with here (and in most modern applications, especially games and mobile applications) is event driven programming. To try to translate that into BASIC, during the base program's (ESO's) initialization it sets up a blank list of "callbacks," or methods to call when a certain criteria have been met. The easiest example would be for EVENT_ADD_ON_LOADED.
Almost every addon will have a line of code similar to this one in the most general scope of one of it's files:EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)What this does is registers "initFunction" into the list of callbacks that need to be fired when an addon is successfully loaded. The event manager lives entirely in the base program except for it's limited API interface partially demonstrated here. (You can see the full interface on esoui.com's wiki, but I'm sure you'll just gloss over all of this again.)
When the base program (C++, inaccesible) loads an addon (lua/xml, accessible) it loads the files and feeds the addon code through the interpreter. Since the previous code snippet is in the most general scope, it is run during that first pass of the interpreter. After all addons in the addon directory have been loaded (and thus have registered their callbacks for the addon loaded event) the base program works through that now populated list of callbacks, allowing each addon to run their initialization code.
A generic example:local function initFunction(eventCode, addonName) if addonName ~= to "MyAddon" then return end end EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)This is just supplying the loop for the count. The part of the code that sent you here should supply the interface with the actual game system, that is supplying the variable that the "GAME'S PROGRAM" is watching for the selection of the "E" variable.
The thing that sent us to the quoted snippet would have been the triggering of EVENT_CRAFT_COMPLETED. You create your textBox and set it's properties like size, position, visibility rules during addon initialization. Then you register for EVENT_CRAFT_COMPLETED:local textBox local function onCraftComplete(eventCode, craftSkill) if craftSkill ~= CRAFTING_TYPE_PROVISIONING then return end textBox:SetText(textBox:GetText() - 1) while textBox:GetText() == "0" do CraftProvisionerItem(recipeListIndex, recipeIndex) textBox:SetText(textBox:GetText() - 1) end end local function initFunction(eventCode, addonName) if addonName ~= to "MyAddon" then return end --code to setup text box omitted due to length EVENT_MANAGER:RegisterForEvent("addonName_CraftComplete", EVENT_CRAFT_COMPLETED, onCraftComplete) end EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)
In the game, the user will have a new text box on the vanilla provisioning UI they can put a number in. Then the steps for crafting multiple items are:
- Put a number greater than 0 in the box.
- Craft the item through vanilla means (clicking the recipe, pressing the primary interaction keybind)
- If the craft is completed successfully, base game fires all callbacks registered to EVENT_CRAFT_COMPLETED.
- Addon function "onCraftComplete" runs, crafts the rest of the remaining number of items through the same means that the vanilla way crafts an item.
- User exist provisioning station or begins again.
This part of the code only proves to me that you can loop and count down.
I don't know what to say if you need proof that a modern programming language has basic looping structures available.Although if in my cheat program I wanted to make it to where I was only spamming the number 1 say 10 times because after 10 times I would be out of mana then I would enter in the value of ten instead of requesting a variable input.
I guess I do need to repeat myself. Your premise is flawed. Addons cannot press a button for you. If you were paying attention at all, you should be able to pick up that addons can perform the actions of a keybind on their own, however, all functions relating to combat or the 3D world are private. Private functions are not available at all to addons whatsoever.function ZO_Provisioner:Create() CraftProvisionerItem(self:GetSelectedRecipeListIndex(), self:GetSelectedRecipeIndex()) end
This list is all of your sub programs within the main program. This is basically a directory of what your main program is running.
This is a class. It is the class that backs the vanilla keyboard provisioning UI. This class was written by ZOS. This class is part of the vanilla UI.This however is not the code of your main program. Each directory here would run a different operation and then return to the main program. They are basically programs within programs.
Since we've been refering to the ESO executable as the main program, no this is not part of the main program. However, it is part of the main program's data files and is part of that giant "addon" I mentioned called the vanilla UI.
There is only one "directory" (class) here, and yes, we already covered the basic flow between even triggers and addon execution.Uneventful and does not even show the full code of each.
The example doesn't need the full code of the ZO_Provisioner class, although I did originally provide link to the full class (and the entire vanilla UI), but you omitted that.if messageText == autoInviteString then GroupInviteByName(senderName) end
This is the if/then it is monitoring for a specific message. Now commands differ in every program. What this program is monitoring is (messageText).
Event callbacks, as you may have noticed (probably not) from previous examples, get passed a set of arguments relevant to that event.
Let's just spell out this addon too:local autoInviteString = "x" local function autoInvite(eventCode, channelType, senderName, messageText, isCustomerService, fromDisplayName) if messageText == autoInviteString then GroupInviteByName(senderName) end end local function initFunction(eventCode, addonName) if addonName ~= to "MyAddon" then return end --code to setup text box omited EVENT_MANAGER:RegisterForEvent("addonName_autoInvite", EVENT_CHAT_MESSAGE_CHANNEL, autoInvite) end EVENT_MANAGER:RegisterForEvent("addonName_OnLoaded", EVENT_ADD_ON_LOADED, initFunction)
This addon is waiting for the base program to fire callbacks for EVENT_CHAT_MESSAGE_CHANNEL, which is triggered every time a new message appears in the chat window.This definition in this program is most likely defined as the chat window. And each part of the user interface most likely has its own definition. Like the actual graphic screen might have a definition of (messageScreen).
Yes, each part of the user interface generally has it's own backing class. However, in both of these addon examples I've put together for you, I haven't done anything with/to a class for any element of the UI. It's all event driven programming.All this program is saying is that when the UI sees as an example "BOB" in the chat box it is to then initiate the subroutine GroupInviteByName(THAT PERSONS NAME). The commands to do the invite would be located in the GroupInviteByName subroutine.
Good job, that's almost spot on - just take into account what I said two quotes up.
"GroupInviteByName," like "CraftProvisionerItem," is one of the handful of non-private, non-protected API functons which enable the functionality of both the vanilla UI and addons.Yes I have dabble in C++ as well but its not my favorite language.
Good for you I guess. The only reason C++ was mentioned was to help distinguish bewtween the two separate worlds of the main program and addons.So you have shown me nothing so far. Though I am glad to see the effort.
If I've shown you nothing so far, you've not actually read anything I wrote out or linked for you.Let me write this in a bit of broken programming language for you.
...
I have not programmed in almost 10 years and I can describe for you a basic method in which it is possible to cheat within the UI context.
Have a wonderful day.
Snipped out your "broken addon" because it is irrelevant.
For the final time, your premise is flawed. Addons cannot press a button for you. If you were paying attention at all, you should be able to pick up that addons can perform the actions of a keybind on their own, however, all functions relating to combat or the 3D world are private. Private functions are not available at all to addons whatsoever.
Not having programmed in 9+ years is a fairly fatal blow to any kind of authority you were attempting to portray. This is not BASIC. There have been new concepts introduced since the time you may have proclaimed yourself "master of programming for anything ever."
I've not read this entire thread, but ZOS does do stuff now and then. For example, there is a guild that I was in (until last night) where the GM got busted running Cheat Engine. Now they have no GM. (I always wondered how the GM was so good.)
The membership was like oh, it's getting appealed...I'm like really? You think that's a priority? Yesterday was day 9 of no GM...I thought they might allow an officer to take it over, but nothing is happening so they will probably have to disband the whole guild and have one of the officers rebuild it from scratch. ugh.
And if Cheat Engines are not real then why do we keep seeing things like this? Is it just make believe?
I am writing addons for ESO since more than two years, so I would say I have plenty of experience on the matter and I can tell you on good authority, that it is not possible to manipulate the client via the UI API in any way that could be considered cheating.That does not keep individuals with the experience to do so from manipulating the client and the access to the User Interface to do exactly what I have stated previously.
Greetings,
Thank you for contacting the Bethesda Team. If you are contacting us in regards to The Elder Scrolls Online: Tamriel Unlimited, please go to https://help.elderscrollsonline.com and login with your game login details to open a help ticket. This will assist our Support Team in addressing your issue more efficiently.
If you are contacting us regarding another Bethesda title, please open a help ticket with our Technical Support Team by visiting http://help.bethesda.net and selecting "Ask Support".
We also encourage you to review our Support Centers for some commonly asked questions in regards to issues you may be experiencing with your products. Our forums are also great places to check for answers to popular questions. You can check them out in the links below:
http://forums.elderscrollsonline.com/
http://forums.bethsoft.com/
Warm Regards,
The Bethesda Team
clayandaudrey_ESO wrote: »This conversation has been completely derailed probably by cheaters trying to deflect attention. Cheating will continue to run rampant in this game because no one cares. Not ZOS and not the community. This thread should probably just be closed because abusing exploits and Cheat Engine are now just features.
InvitationNotFound wrote: »hmmm, this thread is dead, isn't it? i mean i can read people writing things here, but no statements coming from any ZOS employees anymore.
@ZOS_GinaBruno , @ZOS_JessicaFolsom
Are all the new bugs/exploits okay now? or did i miss any statements?
sirinsidiator wrote: »snip
What can addons do?
- access information provided by ZOS via the UI API
- request a limited set of actions that do not interfere with the game world
- combine these two things to improve quality of life
- negativley impact the clients performance to the players disadvantage
- crash the client, delete items, reset champion points and many more "bad" things*
I've not read this entire thread, but ZOS does do stuff now and then. For example, there is a guild that I was in (until last night) where the GM got busted running Cheat Engine. Now they have no GM. (I always wondered how the GM was so good.)
The membership was like oh, it's getting appealed...I'm like really? You think that's a priority? Yesterday was day 9 of no GM...I thought they might allow an officer to take it over, but nothing is happening so they will probably have to disband the whole guild and have one of the officers rebuild it from scratch. ugh.
Jazbay_Grape wrote: »Are you ever going to do something about players being able to leap onto the top of keeps?
No, seriously, are you??
I'm not exaggerating when I say that it has legit happened over and over again tonight. At least 20 people now in the last hour. Unreal.
I've not read this entire thread, but ZOS does do stuff now and then. For example, there is a guild that I was in (until last night) where the GM got busted running Cheat Engine. Now they have no GM. (I always wondered how the GM was so good.)
The membership was like oh, it's getting appealed...I'm like really? You think that's a priority? Yesterday was day 9 of no GM...I thought they might allow an officer to take it over, but nothing is happening so they will probably have to disband the whole guild and have one of the officers rebuild it from scratch. ugh.
Can you let us know in a couple of weeks or so if said GM is back in game, any type of confirmation that permaban means permaban is something that would mean they are doing some banding for the use of CE. I find it very hard to believe them when they say stuff any more. (October is a coming...)Jazbay_Grape wrote: »Are you ever going to do something about players being able to leap onto the top of keeps?
No, seriously, are you??
I'm not exaggerating when I say that it has legit happened over and over again tonight. At least 20 people now in the last hour. Unreal.
alliance war forum..
https://forums.elderscrollsonline.com/en/discussion/278031/cyrodiil-cheating-exploiting-you#latest
its more informative then here