Roukys / HHauto

GNU General Public License v3.0
45 stars 44 forks source link

More human script behavior #1046

Closed UncleBob800 closed 8 months ago

UncleBob800 commented 1 year ago

@deuxge Today I noticed some very bad events on the official discord channel. I analyzed what was happening there and noticed that many players were complaining that their game would not start, later it turned out that Kinkoid is tightening its tracking of players who use scripts and is starting to ban them, so I think it is necessary to start the process of improving the behavior of the script so that any actions taken are more like the actions of a person, rather than a program. For example, if possible, reduce the number of various page refreshes or sometimes unnecessary transitions to the main page, and also, if JS supports a randomizer, then make random delays before any actions. As an example, our energy has filled up to the specified threshold and before the script starts making attacks, a timer is started with a random value in the range of 5-10 minutes. It seems to me that it is better to let the script remain inactive for a short time rather than risk being banned. It is also necessary to reduce the number of repeated requests. For example, I said earlier that sometimes the script literally spams the villain’s attack command, this is especially noticeable during server lags. I don’t see it as advisable to endlessly repeat attempts to send a request if this has already been done once. Either reduce the number of requests sent, or make a timer with a randomly generated value between requests. We also need to reconsider the method of collecting rewards. Where there is a Claim All button, use it. If there is no such button, then collect rewards gradually one at a time and with a pause between actions. Again, to make the script's behavior more... human. I looked for information and at the moment many players turned out to be banned. They don’t specify why they were banned, but I think it’s necessary to play it safe and improve the script right now before it’s too late. I'm not sure, but it seems to me that it was a very stupid idea to write to the HH++ script developer asking him to make changes to his script to eliminate the conflict in HHauto. I don’t remember who wrote this and in what ticket, but I remember that there was such a conversation. Apparently, zoo reported to the game developers about your script and they actively began to develop methods to combat your script. That’s why earlier I told Dimka2010 that it was a very bad idea to distribute information about this script (he wanted to suggest posting this script on other resources). In the end, we drew too much attention to ourselves and they unsheathed their banhammer. I wish good luck to all of us to survive this disaster. And if anyone from Kinkoid is reading this ticket, then know... fuck you, you greedy bastards, you have made this game unbearably stuffy and the use of this script has turned into a mandatory necessity in order to somehow coexist in the game. However, this script still does not ensure victory anywhere. You have already fucked everyone with your cannibalistic events, I wish you to burn in hell, you bastards.

deuxge commented 1 year ago

We always have this risk above the head ^^ We had similar wave in the past https://github.com/Roukys/HHauto/issues/581, https://github.com/Roukys/HHauto/issues/567 But thanks to share the info.

I have it more than you as testing new feature can have some wrong/strange beavior sometimes. Even if it is done on test server it doesn't prevent anything.

About the spam to the troll, it is solved hopefully. I didn't face it again. But I know what you pointed out.

The feature to spent energy in a more human maner was added in last version https://github.com/Roukys/HHauto/issues/675. Fill free to use it

I can have a look to reduce the number of page changes, not sure how much it will improve.

About timers,

Not sure to be able to work on it this weekend...

Dimka2010 commented 1 year ago

good theme! after this topic i turned On paranoia mode :))) after 2-3 yesrs of using without it :)

what i offer - in next patch to do ON this paranoia mode for all players by deafult even if the player right now not used it before update 6.8.XX and the player after 6.8.XX update can by his own risk turn this paranoia mode OFF

Dimka2010 commented 1 year ago

and regarding bans - there is another bot (automatic collector of harem money, for example) - it spams directly with requests, without even going to the harem page. I started one once, got scared and turned it off. found it through a search on the page of scripts for hentai heroes

Dimka2010 commented 1 year ago

I’ll join Uncle Bob’s words about kinkoid. Yesterday the head of my club quit the game - he was playing with his hands. All 6-7 years old. Without the help of bots or scripts, he was adamant. He was very tired of spending an hour of his personal time twice a day to get around the whole routine and collect rewards + starting fights.

the Scandinavian donor left the game that week. Platinum card, purchase of kobans. He donated a lot, was constantly in the top 1 in weekly competitions, and advised us on winning strategies in the chat. His last straw was micromanaging clothes for girls, that he needed to select the best options in order to remain in striking force. And every week to do a reset and then manually reassemble all these clothes again + the Yemenis spent a lot of money on this.

They both gave their accounts to our officer. So that he resets them with kobans, the timer of the club champion.

UncleBob800 commented 1 year ago

@deuxge I found that sometimes the Spend points before option did not work properly, causing me to have downtime in Trolls, League, Season. Also, the paranoia mode is bad because PoP is idle for a very long time (several hours). Therefore, I did not use this mode for these reasons and therefore I ask for the generation of random intervals before any action. Because if, for example, combativity approaches the threshold, then the script immediately starts an attack and so on every time the threshold is reached. A timer that would always generate a random interval value in the range of X1 and X2 minutes would help make the script less predictable and harder to detect. Same goes for champion attack timers. And in general, this concerns a lot of things. You also need to make sure that the script completes the action it started to perform. As an example, I have noticed many times that the script will start an attack in the Season, and then suddenly switch to activating the daily mission, after which it returns to the battle of the Seasons. This also raises suspicions when the player starts jumping between different elements of the game.

P.S. @Dimka2010 the girls' equipment is not the worst change (although I would certainly remove it from the game if it's was possible), what really infuriates me is the girls' Skills. The influence of this mechanic in PvP is significant, but at the same time it’s impossible to get a resource for upgrades, because the only place for farming is the Cumback contest, in which it’s almost impossible to take 1st place. Especially in contests with champions, because there is a higher risk of being banned, while players with thick wallets simply buy a legal cheat called Diamond Card, which allows you to immediately make x10 attacks without spending kobans. The current Kinkoid policy is disgusting as hell. They ban people who use this automation script, which in no way gives players victory in contests and leagues, but at the same time they sell a legal cheat that allows them to make multiple attacks for free wherever possible.

deuxge commented 1 year ago

good theme! after this topic i turned On paranoia mode :))) after 2-3 yesrs of using without it :)

what i offer - in next patch to do ON this paranoia mode for all players by deafult even if the player right now not used it before update 6.8.XX and the player after 6.8.XX update can by his own risk turn this paranoia mode OFF

By default this settings is true already. Any new users have it true. I can't force it back to true if it is false before. Because it will make it true every time...

Dimka2010 commented 1 year ago

Screenshot_5 Screenshot_6 Screenshot_7

it was wave on Nutuku some days ago.

deuxge commented 1 year ago

@deuxge I found that sometimes the Spend points before option did not work properly, causing me to have downtime in Trolls, League, Season. Also, the paranoia mode is bad because PoP is idle for a very long time (several hours).

I prefere downtime and no ban personnaly ^^

Therefore, I did not use this mode for these reasons and therefore I ask for the generation of random intervals before any action. Because if, for example, combativity approaches the threshold, then the script immediately starts an attack and so on every time the threshold is reached. A timer that would always generate a random interval value in the range of X1 and X2 minutes would help make the script less predictable and harder to detect. Same goes for champion attack timers. And in general, this concerns a lot of things.

I can also have a look for this delay. It could be simple with the timers.

You also need to make sure that the script completes the action it started to perform. As an example, I have noticed many times that the script will start an attack in the Season, and then suddenly switch to activating the daily mission, after which it returns to the battle of the Seasons. This also raises suspicions when the player starts jumping between different elements of the game.

For completing spending before switching it can be complex. When a new page id displayed bot look for something to do. There is no memory of what he was doing on previous page. So check are done with an order and the first possible action is done. => can switch. Not impossible but need times

P.S. @Dimka2010 the girls' equipment is not the worst change (although I would certainly remove it from the game if it's was possible), what really infuriates me is the girls' Skills. The influence of this mechanic in PvP is significant, but at the same time it’s impossible to get a resource for upgrades, because the only place for farming is the Cumback contest, in which it’s almost impossible to take 1st place. Especially in contests with champions, because there is a higher risk of being banned, while players with thick wallets simply buy a legal cheat called Diamond Card, which allows you to immediately make x10 attacks without spending kobans. The current Kinkoid policy is disgusting as hell. They ban people who use this automation script, which in no way gives players victory in contests and leagues, but at the same time they sell a legal cheat that allows them to make multiple attacks for free wherever possible.

I do not really play with the girls equipment. And for the skills I found this too much time consuming...

Dimka2010 commented 1 year ago

I do not really play with the girls equipment. And for the skills I found this too much time consuming...

each week - i spend about 15-30 minuntes with OCD script ON on this micromanagment in each game which i play its very annoying.

deuxge commented 1 year ago

Some timers like league, champions, panthon have new random interval on top of the existing one by 3 to 5 minutes depending on the steps.

deuxge commented 1 year ago

In 6.8.3, you can change the localstorage prefix. It is up to you to use it and use it if you know what you do. I can't make a way to have it in settings or anything so it can make upgrade more dificult to manage for you in future. Search for HHStoredVarPrefixKey = "HHAuto" and replace HHAuto by what you want.

With this it can reduce the risk for KK to see the bot usage.

The first time you change it, bot will migrate all your storage to the new ones. Then you can't change it anymore or you will loose all the settings. I recommand you to use the "save config" feature so you can go back before doing any change.

Dimka2010 commented 1 year ago

DP event - dont forget to add function "hide already collected" rewards.

Dimka2010 commented 1 year ago

Look at the last operations -bot going between Season and Pantheon, but in Season still have the fights tickets HH_DebugLog_1697444365996.log

Dimka2010 commented 1 year ago

fighting with Seasons opponents after each fight - bot going into main page HH_DebugLog_1697446071595.log

deuxge commented 1 year ago

Look at the last operations -bot going between Season and Pantheon, but in Season still have the fights tickets HH_DebugLog_1697444365996.log

Don't get why yet....

fighting with Seasons opponents after each fight - bot going into main page HH_DebugLog_1697446071595.log

Linked to DP collect things. Must be a bug in it. You should disable it for now.

deuxge commented 1 year ago

fighting with Seasons opponents after each fight - bot going into main page HH_DebugLog_1697446071595.log

Should be solved

Dimka2010 commented 1 year ago

look at last operations jump between Seasons and League HH_DebugLog_1697494255118.log

Dimka2010 commented 1 year ago

not collecting DP in trans HH_DebugLog_1697497920055.log

deuxge commented 1 year ago

not collecting DP in trans HH_DebugLog_1697497920055.log

This is on purpose. I decoralate the event refresh from the collect action (every 4~5 hours). In this logs, the bot look to the event but not for collection.

UncleBob800 commented 1 year ago

@deuxge Is it possible to make it so that when opening the champion page, champion card (where all 6 champions are displayed) and the club champion page, the timer for the champion in the script is automatically updated to the current maximum value, similar to how it works with updating the PoV/PoG end timer. Why is this needed: so that after defeating the champion, the game does not open the page uselessly every 15 minutes (I usually turn on the Force option, because without it, for some unknown reason, the battle with the champion does not start), but instead opens only when the rest timer will end, but if the player himself for kobans restart chempion ahead of schedule, then entering the champion page should thus update the timer from, for example, 24 hours to the current time (0, if the battle has not yet been fought, or the current value of the timer, if the player manually attacked). As you understand, if they have a lot action informations displayed in their logs, then opening a page every 15 minutes is most likely also recorded and this will raise suspicions. P.S. At the same time, can you look at why the script does not start the battle with the champion if the Force option is not enabled? I checked on several games and in all cases the script went to the champions map, and then immediately returned to the main page without making a single attack, but at the same time a timer appeared in the script, as if an attack had been made.

deuxge commented 1 year ago

P.S. At the same time, can you look at why the script does not start the battle with the champion if the Force option is not enabled? I checked on several games and in all cases the script went to the champions map, and then immediately returned to the main page without making a single attack, but at the same time a timer appeared in the script, as if an attack had been made.

Without the force option, bot fight chamption only when they have been manually started (ie fought at least once). For me this is expected

deuxge commented 1 year ago

@deuxge Is it possible to make it so that when opening the champion page, champion card (where all 6 champions are displayed) and the club champion page, the timer for the champion in the script is automatically updated to the current maximum value, similar to how it works with updating the PoV/PoG end timer. Why is this needed: so that after defeating the champion, the game does not open the page uselessly every 15 minutes (I usually turn on the Force option, because without it, for some unknown reason, the battle with the champion does not start), but instead opens only when the rest timer will end, but if the player himself for kobans restart chempion ahead of schedule, then entering the champion page should thus update the timer from, for example, 24 hours to the current time (0, if the battle has not yet been fought, or the current value of the timer, if the player manually attacked). As you understand, if they have a lot action informations displayed in their logs, then opening a page every 15 minutes is most likely also recorded and this will raise suspicions.

I can look for a rework on this part. And also having an update on the page.

For club I will extend the time arround one hour. But having a regular check of the club champion is valid as other club member can reset it.

Dimka2010 commented 1 year ago

look on last operations\

the bot doing league, then new +1 battle in Season appeared = bot going into Season page (broke the league fights), did 1 fight in Season = then returned into league and continued fights here HH_DebugLog_1697625338288.log

what i offer? when bot starting to do something in League or trolls or Season - before the bot ended - no checking on another sections of the script

deuxge commented 1 year ago

the bot doing league, then new +1 battle in Season appeared = bot going into Season page (broke the league fights), did 1 fight in Season = then returned into league and continued fights here

This is a side effect of the random time added every where

what i offer? when bot starting to do something in League or trolls or Season - before the bot ended - no checking on another sections of the script

I know this is the way to go and this is already what I plan to do But this is not how it is working now and it need times

UncleBob800 commented 1 year ago

I also discovered a problem with another timer. The script checks pachinko and for the free great pachinko it does not read the timer, but instead sets it to 6 hours. Kinkoid in a recent update leveled the timers of free pachinko, making them fixed (all three), as it once was with mythic pachinko. Therefore, need to fix the timer by making sure that the script reads the correct timer from the page.

deuxge commented 1 year ago

I can look for a rework on this part. And also having an update on the page.

For club I will extend the time arround one hour. But having a regular check of the club champion is valid as other club member can reset it.

Done

I also discovered a problem with another timer. The script checks pachinko and for the free great pachinko it does not read the timer, but instead sets it to 6 hours. Kinkoid in a recent update leveled the timers of free pachinko, making them fixed (all three), as it once was with mythic pachinko. Therefore, need to fix the timer by making sure that the script reads the correct timer from the page.

Done

Dimka2010 commented 1 year ago

after some updates - i see that here season timer is doubled for me in each game i think need only one timer as it was before Screenshot_4

deuxge commented 1 year ago

after some updates - i see that here season timer is doubled for me in each game i think need only one timer as it was before Screenshot_4

This is only display info. There is only one timer.

deuxge commented 1 year ago

the bot doing league, then new +1 battle in Season appeared = bot going into Season page (broke the league fights), did 1 fight in Season = then returned into league and continued fights here HH_DebugLog_1697625338288.log

Tried a quick fix, tell me if you still face it

Dimka2010 commented 1 year ago

11 patch from Season battles going into energy spending than return into Season battle look into last operations HH_DebugLog_1697669026446.log

Dimka2010 commented 1 year ago

from Pantheon after winning +3 battles - going into troll fights then again 1 battle in pantheon - then again into troll battles HH_DebugLog_1697669186079.log

UncleBob800 commented 1 year ago

@deuxge The bot on the regular champions page attacks only the first in order, after which it moves on to the second in order and does nothing.

Proxy.autoLoop": "autoLoop Disabled",
Proxy.autoLoop": "Time to check on champions!",
gotoPage": "going home->champions_map",
gotoPage": "setting autoloop to false",
gotoPage-1": "GotoPage : /champions-map.html in 416ms.",
Proxy.autoLoop": "autoLoop Disabled",
Proxy.autoLoop": "Time to check on champions!",
Champion.doChampionStuff": "on champion map",
Champion.doChampionStuff": "Champion 1 [0] Not started; Force start; not on timer; Included in filter; Not event forced",
Champion.doChampionStuff": "Let's do him!",
gotoPage": "going champions_map->/champions/1",
gotoPage": "setting autoloop to false",
gotoPage": "GotoPage : /champions/1 in 306ms.",
findNextChamptionTime": "minTimeEnded: 0, minTime:0",
findNextChamptionTime": "Champion next time: 0",
setTimer": "nextChampionTime set to 19649:09:41:03 ()",
Proxy.autoLoop": "autoLoop Disabled",
Proxy.autoLoop": "Time to check on champions!",
Champion.doChampionStuff": "on champion page",
Champion.doChampionStuff": "T:1715 E:116 true",
Champion.doChampionStuff": "Using ticket",
gotoPage": "going champions->champions_map",
gotoPage": "setting autoloop to false",
gotoPage": "GotoPage : /champions-map.html in 443ms.",
Proxy.autoLoop": "autoLoop Disabled",
Proxy.autoLoop": "Time to check on champions!",
Champion.doChampionStuff": "on champion map",
Champion.doChampionStuff": "Champion 1 [1358587] Started; Force start; on timer; Included in filter; Not event forced",
Champion.doChampionStuff": "Champion 2 [0] Not started; Force start; not on timer; Included in filter; Not event forced",
Champion.doChampionStuff-1": "Let's do him!",
gotoPage": "going champions_map->/champions/2",
gotoPage": "setting autoloop to false",
gotoPage": "GotoPage : /champions/2 in 434ms.",
findNextChamptionTime": "minTimeEnded: 899, minTime:899",
findNextChamptionTime": "Champion next time: 899",
setTimer": "nextChampionTime set to 19649:09:57:01 (15:54)",
Proxy.autoLoop": "autoLoop Disabled"
UncleBob800 commented 1 year ago

@deuxge As an experiment, I tried setting up the auto-battle of champions on the 2nd and 5th. But before turning on auto-battle, I manually attacked the 6th champion. After turning on auto-battle, the script went to the champions map and did nothing, although it should have attacked the 2nd and 5th champions. For some reason, the script now ignores any other champions from the filter if there is currently a resting timer for any other champion. Ideally, need to make an array of timers for champions, from which the maximum one would be selected for the next attack, but at the same time, the 24-hour rest timer would be ignored, so that the script would not get stuck when after one of champions in the filter was defeated. The algorithm should be as follows: if the timer on a champion not exceed 15 minutes, then add it to the array of champions for attack. If the timer exceeds 15 minutes, then add it to the waiting array. The script will only attack those champions from the filter that are in the attack array, ignoring champions in the waiting array. When there is not a single champion left in the attack array, then take the smallest timer from the waiting array (for example, one of the champions has a rest timer of 17 hours, while the others have 20 hours) for the next request to the champion map. It would also be useful to make an option to wait for the maximum timer, so that the script starts attacking champions only when all champions come out of 24 hour rest, and not the closest one. In addition, I would like to ask for a common option for two champions (regular and club) to wait for the maximum timer from the attack array, so that the script can attack regular champions and the club champion sequentially, and not at different intervals. For example, the timer for a club champion is 6 minutes, and for a regular champion it is 9 minutes. Without this option enabled, the script will attack the club champion, and then three minutes later the regular champion. But if enable this option, the script will wait for the maximum timer of all champions, i.e. those 9 minutes, after which it will begin to attack the club champion and regular champions. This will help prevent the system from suspecting that the player is using automation, as it can cause suspicion when the player jumps between the club champion and the regular ones very often, instead of waiting for them to all recover and attacking everyone.

deuxge commented 1 year ago

@deuxge The bot on the regular champions page attacks only the first in order, after which it moves on to the second in order and does nothing.

As an experiment, I tried setting up the auto-battle of champions on the 2nd and 5th. But before turning on auto-battle, I manually attacked the 6th champion. After turning on auto-battle, the script went to the champions map and did nothing, although it should have attacked the 2nd and 5th champions. For some reason, the script now ignores any other champions from the filter if there is currently a resting timer for any other champion.

This is now solved #1060

The algorithm should be as follows: if the timer on a champion not exceed 15 minutes, then add it to the array of champions for attack. If the timer exceeds 15 minutes, then add it to the waiting array. The script will only attack those champions from the filter that are in the attack array, ignoring champions in the waiting array. When there is not a single champion left in the attack array, then take the smallest timer from the waiting array (for example, one of the champions has a rest timer of 17 hours, while the others have 20 hours) for the next request to the champion map. It would also be useful to make an option to wait for the maximum timer, so that the script starts attacking champions only when all champions come out of 24 hour rest, and not the closest one.

This is not exactly that, but what I did is similar

You also need to make sure that the script completes the action it started to perform. As an example, I have noticed many times that the script will start an attack in the Season, and then suddenly switch to activating the daily mission, after which it returns to the battle of the Seasons. This also raises suspicions when the player starts jumping between different elements of the game.

Should be solved with 6.9.0

deuxge commented 1 year ago

In addition, I would like to ask for a common option for two champions (regular and club) to wait for the maximum timer from the attack array, so that the script can attack regular champions and the club champion sequentially, and not at different intervals. For example, the timer for a club champion is 6 minutes, and for a regular champion it is 9 minutes. Without this option enabled, the script will attack the club champion, and then three minutes later the regular champion. But if enable this option, the script will wait for the maximum timer of all champions, i.e. those 9 minutes, after which it will begin to attack the club champion and regular champions. This will help prevent the system from suspecting that the player is using automation, as it can cause suspicion when the player jumps between the club champion and the regular ones very often, instead of waiting for them to all recover and attacking everyone.

I could look for this settings yes

deuxge commented 1 year ago

Champion timer update from map is now deactivated. I was afraid about side effect and we have one!

UncleBob800 commented 1 year ago

@deuxge

I could look for this settings yes

It would be very good, because such timings can cause unwanted suspicion in KK when they check the logs, than if the timers were at the same time. image

Champion timer update from map is now deactivated. I was afraid about side effect and we have one!

What was the side effect? At that time I was still on the old version of the script and did not see what was happening.

deuxge commented 1 year ago

@deuxge

I could look for this settings yes

It would be very good, because such timings can cause unwanted suspicion in KK when they check the logs, than if the timers were at the same time. image

Finally this will be too complex... If we think of the number of ticket limit for club, when club champion is done and not classic champion or the opposit It start to create a lot of complexity for alignement...

Champion timer update from map is now deactivated. I was afraid about side effect and we have one!

What was the side effect? At that time I was still on the old version of the script and did not see what was happening.

When bot was moving to a champion to another, it goes to the map. Then the timer is update to the max available time (ie the one just fought) and then avoid the others.

UncleBob800 commented 1 year ago

@deuxge

Finally this will be too complex... If we think of the number of ticket limit for club, when club champion is done and not classic champion or the opposit It start to create a lot of complexity for alignement...

From the point of view of the algorithm, there must be a condition that takes into account three factors: 1) included normal champion 2) included club champion 3) the ticket counter has not reached the specified limit

If all three conditions are met, then both timers are synchronized to the maximum value among the two. Thus, if one of the two is turned on (normal or club), then the timer works in its old mode. If both are enabled, but the number of tickets spent has reached the threshold, then the timer will also work in the old mode. But if both are enabled and the number of tickets has not reached the threshold, then the timers are synchronized so that attacks do not occur at different times. And in general, if the number of tickets has reached the threshold, then I don’t see it advisable to continue visiting the champions page every 15 minutes. Ultimately, such actions can be regarded by the anti-cheat system as automation. Moreover, based on what I read on the game’s Discord server, the developers themselves look at the logs and if they see a lot of activity from a player, they immediately assume that such a player is using automation, even if he did not use it. They don't care that they will unfairly ban a very active player without automation if he was not solvent. It seems to me that if the tickets spent have reached the specified threshold, then the timer should be set to a random value in the range from 6 to 8 hours. This will allow to both avoid a ban and update data if the champion was defeated and immediately restarted for a fee by another player. Also, to make it easier to quickly reset the timer without having to go into the debug menu, it wouldn’t be a bad idea to reset the timer if the user turned off the battle with a champion in the script, and then turned it back on (at the moment this works for a regular champion, but not for a club champion, unfortunately). And at the same time, it would be nice to have the script read the current rest time of the club champion, because now it always puts 15 minutes + random, even if the real rest time was 2 minutes. With regular champions, the script correctly determines the time and sets the timer to the current rest time + random. The club script does not do this. Although he goes to the battle page.

UncleBob800 commented 1 year ago

@deuxge And I also noticed that if all the battles in the League were completed long before the end of the week, and also if the number of condoms reached the maximum (in other words, it reached or exceeded the set threshold in the script), then the script tries to go to the League page every 35 minutes, although this is absolutely pointless. I think it will be relevant here that if the number of condoms has reached the maximum, but the script has detected that there are no opponents (in other words, all battles are completed), then the timer should be set to the value indicated in the game timer for the end of the current league week. Again, from the point of view of the security system, it will be very suspicious if a player who has completed all battles continues to visit the League page every 35 minutes. P.S. I apologize in advance for overwhelming you with so much work, unfortunately I was absent here for quite a while due to a lot of work outside the game. And to be honest, I'm very angry at Kinkoid for trying to stifle automation, as if in their fictional world (and I’m not talking about the gaming world) people don't have families and jobs and and can spend time in the game 24/7. And what’s most offensive is that in all the time I’ve been using your script, it has never given me an advantage over other players in a contest or League. Rather, on the contrary, those who attack manually and personally participate in contests always win compared to those who rely on automation. Simply put, this whole witch hunt of theirs is nothing more than another act of greed, they are angry that the player is spending less Kobans to catch up.

deuxge commented 1 year ago

@deuxge And I also noticed that if all the battles in the League were completed long before the end of the week, and also if the number of condoms reached the maximum (in other words, it reached or exceeded the set threshold in the script), then the script tries to go to the League page every 35 minutes, although this is absolutely pointless. I think it will be relevant here that if the number of condoms has reached the maximum, but the script has detected that there are no opponents (in other words, all battles are completed), then the timer should be set to the value indicated in the game timer for the end of the current league week. Again, from the point of view of the security system, it will be very suspicious if a player who has completed all battles continues to visit the League page every 35 minutes.

35min is used if you don't have condoms. True it is checked before the number of opponents. I didn't think this could happen a lot in advance. Currently waiting time in this case is an hour.

deuxge commented 1 year ago

And in general, if the number of tickets has reached the threshold, then I don’t see it advisable to continue visiting the champions page every 15 minutes. It seems to me that if the tickets spent have reached the specified threshold, then the timer should be set to a random value in the range from 6 to 8 hours. This will allow to both avoid a ban and update data if the champion was defeated and immediately restarted for a fee by another player.

This is not. It waits one hour. can be extended to 4-6h

Also, to make it easier to quickly reset the timer without having to go into the debug menu, it wouldn’t be a bad idea to reset the timer if the user turned off the battle with a champion in the script, and then turned it back on (at the moment this works for a regular champion, but not for a club champion, unfortunately).

Will be fixed

And at the same time, it would be nice to have the script read the current rest time of the club champion, because now it always puts 15 minutes + random, even if the real rest time was 2 minutes. With regular champions, the script correctly determines the time and sets the timer to the current rest time + random. The club script does not do this. Although he goes to the battle page.

Will be fixed

deuxge commented 1 year ago

in 6.15.0

I think I didn't forget anything from this thread and added some more