Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
9646 connectés 

 


La transcendance c'est :


 
26.0 %
 20 votes
1.  Pas mal
 
 
40.3 %
 31 votes
2.  Génial
 
 
10.4 %
 8 votes
3.  Nul
 
 
10.4 %
 8 votes
4.  Le mal
 
 
13.0 %
 10 votes
5.  Dans 15 jour son en parle plus
 

Total : 117 votes (40 votes blancs)
Sondage à 10 choix possibles.
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  102  103  104  ..  184  185  186  187  188  189
Auteur Sujet :

[Toclikunique] Qui veut clicker en mâsse ? Cl Heroes: On re-replonge !

n°44505164
agalyn
118 n'importe quoi, bonjour
Posté le 15-01-2016 à 07:48:21  profilanswer
 

Reprise du message précédent :

gibbonaz a écrit :


 
Ah mais oui, chuis con  [:clooney46]


 
 
Ah bon ?
 
:D

mood
Publicité
Posté le 15-01-2016 à 07:48:21  profilanswer
 

n°44507625
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 15-01-2016 à 11:46:52  profilanswer
 

[:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  [:gnel42]  
Dépêchez vous, plus que quelques minutes !!!
 

Spoiler :

http://i.imgur.com/1Ad4odU.jpg


Spoiler :

 [:djmb]


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44507947
zemops
Posté le 15-01-2016 à 12:16:18  profilanswer
 

Ah merde je l'ai raté ! :o

n°44508215
agalyn
118 n'importe quoi, bonjour
Posté le 15-01-2016 à 12:49:14  profilanswer
 

huh, c'était quoi ?

n°44511639
Mackila
Posté le 15-01-2016 à 17:00:17  profilanswer
 

pojev a écrit :

Avec cette technique, tu auras au bout d'un moment un écart entre ton estimation et la pratique. Donc tu serais obligé de modifier ton indice moyen en fonction de ce que tu observes. Ce qui fait qu'au final, autant faire ta première solution.


 
Equation for HS on any floor: HS=((((FLOOR-80)/25)^1.3)*(1+Solomon bonus))
 
Le terme (1+solomon) peut être factorisé. Quand on compare les HS gagnées dans une plage de niveaux par rapport aux HS gagnées dans une autre plage de niveau, le (1+Solomon) s'annule, c'est pour cela que je parle d'un indice. Vu que cet indice ne dépend que des plages de niveaux à comparer, il n'y a pas d'écart. Le calcul reste valable quelle que soit la partie et les niveaux des anciens.
 
Pour comparer les anciens gagnés de la plage 1000 à 2000, par rapport aux anciens gagnés de la plage 1500 à 2000, on ne regarde que le rapport.

n°44512540
pojev
Expert en Macro OpenOffice
Posté le 15-01-2016 à 17:50:10  profilanswer
 

Mackila a écrit :

Equation for HS on any floor: HS=((((FLOOR-80)/25)^1.3)*(1+Solomon bonus))
 
Le terme (1+solomon) peut être factorisé. Quand on compare les HS gagnées dans une plage de niveaux par rapport aux HS gagnées dans une autre plage de niveau, le (1+Solomon) s'annule, c'est pour cela que je parle d'un indice. Vu que cet indice ne dépend que des plages de niveaux à comparer, il n'y a pas d'écart. Le calcul reste valable quelle que soit la partie et les niveaux des anciens.
 
Pour comparer les anciens gagnés de la plage 1000 à 2000, par rapport aux anciens gagnés de la plage 1500 à 2000, on ne regarde que le rapport.


 
Mais pourquoi tu veux faire une estimation sur les HS ?
Vu que c'est par rapport à un niveau que tu vas ascend.


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44513074
Mackila
Posté le 15-01-2016 à 18:59:23  profilanswer
 

Tu ascend pas à un niveau, tu ascend au niveau qui apporte la meilleure renta, la renta étant le gain moyen en HS/temps, il faut prendre en compte le temps du run, et ce qu'il rapporte en HS. Et pour simplifier le calcul, on cherche pas les HS réels mais seulement un indice, ce qui dans le calcul revient au même...
Si on ne fait pas le boulet  [:cerveau boulay] , et qu'on a un Iris a peu près adapté à son niveau, alors le niveau d'ascend optimal est pas loin du niveau de fin de la phase 1 du run (1-shot avec un clic normal - je joue actif). Par contre, si on est trop bas en Iris, le calcul peut montrer qu'il faut monter, et si on est trop haut, le calcul peut montrer qu'il faut pousser un peu plus le run pour optimiser.

n°44520760
ibrahim54
It's over 9000 !!!
Posté le 17-01-2016 à 00:10:40  profilanswer
 

C'est bon j'ai basculé du coté obscur de la force des autoclickeurs fou meme si mon mien il est pas tres top top pour l'instant.  
 
Bien que celui de Mackila soit bien utile sous windows, il n'est pas compatible linux.  
 
Du coup je passe par xdotool sous linux qui est un logiciel qui permet de deplacer la souris et d'aller cliquer a certaines coordonnées.  
 
Je fais donc un début de programme qui va chercher le boss, qui attend un chouia puis lui met ca race !
 
Au début c’était 25 clic par seconde mais je vais monter a 40. La limite c'est pas 50 ?
 
J'ai aussi un autre script basic pour le bashing clic mais rien de bien transcendant...
 
Il ne fait que clicker sur le mob a une place bien precise sans chercher a trouver le bonbon.  
 
Prochain script, faire le nécessaire pour automatiser l achat des heroes après ascend.  
 
Bien que je préférerai la faire directement depuis mon programme en C++ mais je n'ai pas encore tout les éléments en mains...  
 
Je pourrai aussi automatiser le script pour qu'il vienne taper le boss 3 fois par jour a heure fixe hinhinhin


---------------
Betaserie | Site Perso | YouTube | D3 | PS4
n°44521074
MasterSam
Paster of Muppets
Posté le 17-01-2016 à 00:51:37  profilanswer
 

Pour la postérité...

Citation :

[Topikunique] Clicker Heroes - L'air du script ?

 

Ca serait pas << l'ère>> du script plutôt ? :o

 
ibrahim54 a écrit :


Au début c’était 25 clic par seconde mais je vais monter a 40. La limite c'est pas 50 ?

 

J'ai toujours lu que c'était 40 (soit 25ms entre 2 clics), mais j'ai constaté qu'en mettant l'auto-clicker sur 10ms plutôt que 20 (soit donc 100 coups/seconde au lieu de 50) ça augmentait quand même vachement mes dégâts sur l'immortal. Pas le double vu le lag induit, mais "vachement" quand même :D
J'essaierai de refaire un test un peu plus fiable demain...(mais ça suppose d'avoir un ID constant donc de pas buter 1 seul primal boss pendant 1h...)

 

*edit* précision des unités entre les coups/clics et leur fréquence.

Message cité 2 fois
Message édité par MasterSam le 17-01-2016 à 00:52:39

---------------
Feedback/Ventes/Divers/Estim -- www.laquadrature.net
n°44521152
ibrahim54
It's over 9000 !!!
Posté le 17-01-2016 à 01:04:18  profilanswer
 

Chez moi ca a l'air limite 40 clic par seconde...  
 
J'ai config mon script (enfin) pour faire une pose de 0,025 seconde entre chaque clic du coup ca fait pile 40 par seconde mais je pourrai passer a 50 pour tester eventuellement mais ca lag bien et ca fait des trait noir au niveau des chiffres qui s'affichent.  
 
Tu as ca toi aussi ?
 
Je débute seulement au niveau des scriptes. Bien que je conno un vieu logiciel de bot sur wow qui date de presque 7 ans de memoire...


---------------
Betaserie | Site Perso | YouTube | D3 | PS4
mood
Publicité
Posté le 17-01-2016 à 01:04:18  profilanswer
 

n°44522151
pojev
Expert en Macro OpenOffice
Posté le 17-01-2016 à 06:55:29  profilanswer
 

MasterSam a écrit :

J'ai toujours lu que c'était 40 (soit 25ms entre 2 clics), mais j'ai constaté qu'en mettant l'auto-clicker sur 10ms plutôt que 20 (soit donc 100 coups/seconde au lieu de 50) ça augmentait quand même vachement mes dégâts sur l'immortal. Pas le double vu le lag induit, mais "vachement" quand même :D
J'essaierai de refaire un test un peu plus fiable demain...(mais ça suppose d'avoir un ID constant donc de pas buter 1 seul primal boss pendant 1h...)
 
*edit* précision des unités entre les coups/clics et leur fréquence.


 
 [:ex-floodeur]  
Je viens de tester (passer de 40ms à 10ms), je suis passé de 3.452e12 à 5.629e12 en 30 secondes.
Merci  [:bakk3]  
 
Sinon, je viens d'arriver à un score rond (sauf un  [:fegafobobos:2] )
**Ancients**: Morgulis (2,000,000,000); Siyalatas (40,100); Libertas (40,000); Mammon (40,000); Mimzee (40,000); Pluto (40,000); Bhaal (40,000); Fragsworth (40,000); Argaiv (40,000); Solomon (10,000); Juggernaut (4,000); Iris (1,900); Thusia (110); Chronos (12);  
 
**Max**: Khrysos, Dogcog, Fortuna, Atman, Dora, Bubos, Vaagur, Kumawakamaru, Chawedo, Hecatoncheir, Berserker, Sniperino, Kleptos, Energon, Revolc;  
 
**Gilded Heroes**: Cadmia (1), Chiron (444);  
 
**Misc**: HS (5,097,352; Spent on Ancients/Rerolls: 12,873,124,401/50,567; Total: 12,878,272,320) HZE: 4,540; Current Zone: 1; Ascensions: 1,743; Rubies: 460, Immortal Damage: 4,558,234,787; Forge Cores: 496,103; Total Relics Found: 1692; Achievements: 86%;  
 
**Time Since Start**: 247d, 18h, 39m, 3s, Time since ascension: 1m, 47s;  
 
**Total Item Bonuses**:  
 
* +16% Primal Boss Chance
* +2% Double Rubies Chance
* +9 Sec Clickstorm
* +1.25% 10x Gold Chance
* +2 Starting Zone
* +30% Treasure Chests
 


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44522178
Mackila
Posté le 17-01-2016 à 07:46:14  profilanswer
 

Monsieur DG, Bonjour  :sol:

n°44522190
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 17-01-2016 à 07:54:19  profilanswer
 

MasterSam a écrit :

Pour la postérité...


Citation :

[Topikunique] Clicker Heroes - L'air du script ?Ca serait pas << l'ère>> du script plutôt ? :o
 


 
C'était un jeu de mot mais visiblement c'est foireux :D


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44522191
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 17-01-2016 à 07:54:57  profilanswer
 

Mackila a écrit :

Monsieur DG, Bonjour  :sol:


 :D


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44522195
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 17-01-2016 à 07:57:57  profilanswer
 

Je n'utilise qu'un autoclicker(auto mouse clicker), y en a t'il parmi vous qui accepteraient de partager leurs scripts aux non initiés ?


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44522201
pojev
Expert en Macro OpenOffice
Posté le 17-01-2016 à 08:07:12  profilanswer
 

Perceval_De_Galles a écrit :

Je n'utilise qu'un autoclicker(auto mouse clicker), y en a t'il parmi vous qui accepteraient de partager leurs scripts aux non initiés ?


 
On sent le frustré qui vient de se faire dépasser en HZE  [:ujina:1]


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44522220
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 17-01-2016 à 08:29:03  profilanswer
 

:D


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44522222
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 17-01-2016 à 08:29:41  profilanswer
 

C'est plutôt que je ne sais pas faire et que je voudrais essayer, par la même occasion je pourrai avoir un ID potable.


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44522488
MasterSam
Paster of Muppets
Posté le 17-01-2016 à 10:29:41  profilanswer
 

ibrahim54 a écrit :

Chez moi ca a l'air limite 40 clic par seconde...

 

J'ai config mon script (enfin) pour faire une pose de 0,025 seconde entre chaque clic du coup ca fait pile 40 par seconde mais je pourrai passer a 50 pour tester eventuellement mais ca lag bien et ca fait des trait noir au niveau des chiffres qui s'affichent.

 

Tu as ca toi aussi ?

 

Heuuuuuuuu...je joue sur la version Steam moi, le seul effet c'est que la sorte d'éclair quand tu tapes lag derrière la souris quand elle se déplace, et que quand je stoppe l'autoclicker ça met ~1s à s'arreter de cliquer, mais non j'ai rien sur les nombres...

 
pojev a écrit :

 

[:ex-floodeur]
Je viens de tester (passer de 40ms à 10ms), je suis passé de 3.452e12 à 5.629e12 en 30 secondes.
Merci  [:bakk3]
 

 

De rien :o
Pour la science je viens de perdre aussi des dégats (ça va ça reste insignifiant :D )
Avec le même ID :
10ms => 1.256e11 dégâts
20ms => 0.892e11 dégâts

 

Donc c'est bien je que j'avançais au précédent post, cliquer 100% plus vite fait monter de ~40% les dégâts, ça reste intéressant !

 


Perceval_De_Galles a écrit :


C'était un jeu de mot mais visiblement c'est foireux :D

 

Désolé si j'ai pas compris :o


Message édité par MasterSam le 17-01-2016 à 10:30:51

---------------
Feedback/Ventes/Divers/Estim -- www.laquadrature.net
n°44523585
ibrahim54
It's over 9000 !!!
Posté le 17-01-2016 à 14:28:34  profilanswer
 

Teste en cours
 
a 25 ms 5 844M
a 10 ms 5 893M
 
Pour ce qui est du partage de script ça ne me pose pas de problème si tu trouve un équivalent a xdotool sous windows (je joue sous linux)


Message édité par ibrahim54 le 17-01-2016 à 18:43:42

---------------
Betaserie | Site Perso | YouTube | D3 | PS4
n°44527281
mangastef
Posté le 17-01-2016 à 21:24:57  profilanswer
 

J'ai encore du chemin pojev pour te rattraper et je comprends pourquoi je fais autant que toi mais c'est plus le cas.
 

Citation :

**Ancients**: Morgulis (452,938,298); Siyalatas (20,500); Argaiv (20,500); Libertas (19,000); Mammon (19,000); Mimzee (19,000); Bhaal (15,300); Fragsworth (15,300); Solomon (11,430); Pluto (10,200); Juggernaut (1,800); Iris (1,799); Thusia (200); Chronos (50);  
 
**Max**: Khrysos, Dogcog, Fortuna, Atman, Dora, Bubos, Vaagur, Kumawakamaru, Chawedo, Hecatoncheir, Berserker, Sniperino, Kleptos, Energon, Revolc;  
 
**Gilded Heroes**: Cadmia (1), Alabaster (389);  
 
**Misc**: HS (0; Spent on Ancients/Rerolls: 7,399,168,780/3,020; Total: 7,399,171,800) HZE: 3,900; Current Zone: 2,447; Ascensions: 1,698; Rubies: 1,293, Immortal Damage: 3,412,293,747; Forge Cores: 554,512; Total Relics Found: 1933; Achievements: 87%;  
 
**Time Since Start**: 235d, 22h, 38m, 38s, Time since ascension: 21m, 1s;  
 
**Total Item Bonuses**:  
 
* +290% Idle DPS
* +14% Primal Boss Chance
* +150% Idle Gold
* +20% Gold Dropped
* +24 Sec Clickstorm
* -3% Hero Cost
* +0.5% 10x Gold Chance
* +5% Gild Damage
* -2% Boss Life
 

n°44527616
pojev
Expert en Macro OpenOffice
Posté le 17-01-2016 à 21:54:40  profilanswer
 

pojev a écrit :

Suite des stats :
- 149 quests for gold
- 168 quests for heroes soul
- 165 quests for relics
- 154 quests for ruby
- 165 quests for skillz
- 251 quests de 5 min
- bury 13 merco
- revive 3 merco


 
Stats après 31 jours :
- 267 quests for gold
- 275 quests for heroes soul
- 285 quests for relics
- 273 quests for ruby
- 332 quests for skillz
- 412 quests de 5 min
- bury 16 merco
- revive 5 merco
 
Le temps pour les quêtes s'envole (+40 jours - 290 au lieu de 250), certainement parce que j'ai repris le boulot :D
Et le revive/bury passe de 468 jours à 738 ... (pour un seul des deux).


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44528049
Mackila
Posté le 17-01-2016 à 22:31:09  profilanswer
 

Perceval_De_Galles a écrit :

Je n'utilise qu'un autoclicker(auto mouse clicker), y en a t'il parmi vous qui accepteraient de partager leurs scripts aux non initiés ?


 
Voila la partie la plus fonctionnelle de mon programme.
A adapter pour mettre ca sous autoit/xdotools/autre :

Code :
  1. private void backgroundWorkerScript_DoWork(object sender, DoWorkEventArgs e)
  2.         {
  3.             try
  4.             {
  5.                 Trace("Démarrage du thread de travail." );
  6.                 this.Invoke(new voidDelegate(Deplace));
  7.                 Win32.SetWindowPos(h_CH_IE, -1, PositionFenetreIE.X, PositionFenetreIE.Y, 1800, 900, 0);
  8.                 Win32.ShowWindow(h_CH_IE, Win32.ShowWindowCommands.Normal);
  9.                 Win32.SwitchToThisWindow(h_CH_IE, false);
  10.                 Thread.Sleep(2000);
  11.                 PositionAttendueDuCurseur = Cursor.Position;
  12.                 DateTime today = DateTime.Today;
  13.                 int NombreAttaquesImmortels = 0;
  14.                 bool RecompenseRecuperee = true;
  15.                 if (DateTime.Now.TimeOfDay.Hours < 5) // Si on est lancé tot le matin, on fait les attaques immortals de la journée.
  16.                 {
  17.                     NombreAttaquesImmortels = 3 ;
  18.                 }
  19.                 while(true)
  20.                 {
  21.                     if (today != DateTime.Today)
  22.                     {
  23.                         today = DateTime.Today;
  24.                         NombreAttaquesImmortels = 3;
  25.                         RecompenseRecuperee = false;
  26.                     }
  27.                     if ( (NombreAttaquesImmortels > 0) & (DateTime.Now.TimeOfDay.Hours > 2) & (DernierTapageImmortel.AddHours(1) < DateTime.Now))
  28.                     {
  29.                         DoAttackImmortal();
  30.                         DernierTapageImmortel = DateTime.Now;
  31.                         --NombreAttaquesImmortels;
  32.                     }
  33.                     if (!RecompenseRecuperee)
  34.                     {
  35.                         DoCollectImmortalHS();
  36.                         RecompenseRecuperee = true;
  37.                     }
  38.                     if (!Continuer)
  39.                     {
  40.                         DoMidasStart();
  41.                     }
  42.                     DoRun();
  43.                     DoAscension();
  44.                 }
  45.             }
  46.             catch (UserCancelException ex)
  47.             {
  48.                 e.Result = ex.Message;
  49.             }
  50.         }
  51.         private void Do123457869()
  52.         {
  53.             Trace("Lance skills 123457869." );
  54.             SendKeys.SendWait("123457" );
  55.             Thread.Sleep(50);
  56.             SendKeys.SendWait("8" );
  57.             Thread.Sleep(50);
  58.             SendKeys.SendWait("6" );
  59.             Thread.Sleep(50);
  60.             SendKeys.SendWait("9" );
  61.         }
  62.         private void ClickBonbon()
  63.         {
  64.             MouseMove(PositionClickBonbon1);
  65.             MouseLeftClick();
  66.             Thread.Sleep(50);
  67.             MouseMove(PositionClickBonbon2);
  68.             MouseLeftClick();
  69.             Thread.Sleep(50);
  70.             MouseMove(PositionClickBonbon3);
  71.             MouseLeftClick();
  72.             Thread.Sleep(50);
  73.             MouseMove(PositionClickBonbon4);
  74.             MouseLeftClick();
  75.             Thread.Sleep(50);
  76.             MouseMove(PositionClickBonbon5);
  77.             MouseLeftClick();
  78.             Thread.Sleep(50);
  79.             MouseMove(PositionClickBonbon6);
  80.             MouseLeftClick();
  81.             Thread.Sleep(50);
  82.         }
  83.         private void Do123457()
  84.         {
  85.             Trace("Lance skills 123457." );
  86.             SendKeys.SendWait("123457" );
  87.         }
  88.         private void Do89()
  89.         {
  90.             Trace("Lance skills 89." );
  91.             SendKeys.SendWait("8" );
  92.             Thread.Sleep(50);
  93.             SendKeys.SendWait("9" );
  94.         }
  95.         private void UpgradeAllHeroesOnScreen() // Min 200up/hero
  96.         {
  97.             for (int y = 350; y < 810; y += 10)
  98.             {
  99.                 MouseMove(new Point(380, y));
  100.                 MouseLeftClickWithControl();
  101.             }
  102.         }
  103.         private void DoHeroUpgrade()
  104.         {
  105.             MouseMove(PositionClickUpgradeLastAvailableHero);
  106.             for (int i = 0 ; i < 3 ; ++i)
  107.             {
  108.                 MouseLeftClickWithControl();
  109.             }
  110.         }
  111.         private void DoMidasStart() // Hypothèse : début de partie, scroll des heros sur Cid, autolevel désactivé.
  112.         {
  113.             Trace("Démarrage Midas Special Mack." );
  114.             MouseMove(PositionClickVide);
  115.             MouseLeftClick();
  116.             Thread.Sleep(100);
  117.             MouseMove(PositionClickUpgradeHero02);
  118.             MouseLeftClickWithControl();
  119.             for (int i = 0; i < 30; ++i)
  120.             {
  121.                 MouseMove(PositionNextNextLevel);
  122.                 MouseLeftClick();
  123.                 Thread.Sleep(300);
  124.             }
  125.             MouseMove(PositionClickUpgradeHero02);
  126.             MouseLeftClickWithControl();
  127.             MouseMove(PositionClickUpgradeHero01);
  128.             MouseLeftClickWithControl();
  129.             MouseLeftClickWithControl();
  130.             MouseMove(PositionClickUpgradeHero03);
  131.             MouseLeftClickWithControl();
  132.             MouseLeftClickWithControl();
  133.             MouseMove(PositionClickUpgradeHero04);
  134.             MouseLeftClickWithControl();
  135.             MouseLeftClickWithControl();
  136.             MouseMove(PositionClickUpgradeHero05);
  137.             MouseLeftClickWithControl();
  138.             MouseLeftClickWithControl();
  139.             MouseMove(PositionClickScrollToHeroesA);
  140.             MouseLeftClick();
  141.             Thread.Sleep(200);
  142.             UpgradeAllHeroesOnScreen();
  143.             MouseMove(PositionClickScrollToHeroesB);
  144.             MouseLeftClick();
  145.             Thread.Sleep(200);
  146.             UpgradeAllHeroesOnScreen();
  147.             for (int i = 0; i < 30; ++i)
  148.             {
  149.                 MouseMove(PositionNextNextLevel);
  150.                 MouseLeftClick();
  151.                 Thread.Sleep(300);
  152.             }
  153.             MouseMove(PositionClickScrollToTop);
  154.             MouseLeftClick();
  155.             Thread.Sleep(500);
  156.             MouseMove(PositionClickScrollToHeroesC);
  157.             MouseLeftClick();
  158.             Thread.Sleep(200);
  159.             UpgradeAllHeroesOnScreen();
  160.             MouseMove(PositionClickScrollToTop);
  161.             MouseLeftClick();
  162.             Thread.Sleep(500);
  163.             MouseMove(PositionClickScrollToHeroesD);
  164.             MouseLeftClick();
  165.             Thread.Sleep(200);
  166.             UpgradeAllHeroesOnScreen();
  167.             MouseMove(PositionClickScrollToTop);
  168.             MouseLeftClick();
  169.             Thread.Sleep(500);
  170.             MouseMove(PositionClickScrollToHeroesE);
  171.             MouseLeftClick();
  172.             Thread.Sleep(200);
  173.             UpgradeAllHeroesOnScreen();
  174.             MouseMove(PositionClickScrollToTop);
  175.             MouseLeftClick();
  176.             Thread.Sleep(500);
  177.             MouseMove(PositionClickScrollToBottom);
  178.             MouseLeftClick();
  179.             Thread.Sleep(200);
  180.             UpgradeAllHeroesOnScreen();
  181.             Thread.Sleep(200);
  182.             MouseMove(PositionClickBuyAllUpgrades);
  183.             MouseLeftClick();
  184.             Thread.Sleep(200);
  185.             MouseMove(PositionFarmMode);
  186.             MouseLeftClick();
  187.             Thread.Sleep(200);
  188.             Do123457869();
  189.             DateTime quelquesSecondes = DateTime.Now.AddSeconds(10);
  190.             while (quelquesSecondes > DateTime.Now)
  191.             {
  192.                 MouseMove(PositionClickMonstres);
  193.                 MouseLeftClick();
  194.                 Thread.Sleep(100);
  195.             }
  196.             MouseMove(PositionClickScrollToTop);
  197.             MouseLeftClick();
  198.             Thread.Sleep(200);
  199.             MouseMove(PositionClickScrollToBottom);
  200.             MouseLeftClick();
  201.             Thread.Sleep(200);
  202.             for (int i = 0; i < 10; ++i)
  203.             {
  204.                 MouseMove(PositionClickUpgradeLastAvailableHero);
  205.                 MouseLeftClickWithControl();
  206.             }
  207.             Thread.Sleep(200);
  208.             MouseMove(PositionClickBuyAllUpgrades);
  209.             MouseLeftClick();
  210.             Thread.Sleep(200);
  211.             // Maintenant on est passé au level d'Iris :)
  212.         }
  213.         DateTime Next123457869 ;
  214.         DateTime Next89123457 ;
  215.         DateTime Next1234 ;
  216.         DateTime NextHeroUpgrade ;
  217.         DateTime NextGetBonbon;
  218.         Boolean AntiblocageActif = true;
  219.         Boolean Continuer = false;
  220.         private void DoRun()
  221.         {
  222.             Trace("Début du run." );
  223.             if (Continuer)
  224.             {
  225.                 Next123457869 = DateTime.Now;
  226.                 Next89123457 = DateTime.MaxValue;
  227.                 Next1234 = DateTime.MaxValue;
  228.             }
  229.             else
  230.             {
  231.                 Next123457869 = DateTime.MaxValue;
  232.                 Next89123457 = DateTime.Now.AddMinutes(15);
  233.                 Next1234 = DateTime.MaxValue;
  234.             }
  235.             Continuer = false;
  236.             NextHeroUpgrade = DateTime.Now.AddSeconds(20);
  237.             NextGetBonbon = DateTime.Now.AddSeconds(10);
  238.             while (ZoneAAtteindre > Niveau)
  239.             {
  240.                 if (AntiblocageActif)
  241.                 {
  242.                     if (niveauLastChange.AddMinutes(5) < DateTime.Now)
  243.                     {
  244.                         Trace("Déblocage car coincé au niveau " + Niveau);
  245.                         return;
  246.                     }
  247.                 }
  248.                 if (Next123457869 < DateTime.Now)
  249.                 {
  250.                     Next123457869 = DateTime.MaxValue;
  251.                     Do123457869();
  252.                     Next89123457 = DateTime.Now.AddMinutes(15).AddSeconds(15);
  253.                 }
  254.                 else if (Next89123457 < DateTime.Now)
  255.                 {
  256.                     Next89123457 = DateTime.MaxValue;
  257.                     Do89();
  258.                     Do123457();
  259.                     Next1234 = DateTime.Now.AddMinutes(7).AddSeconds(42);
  260.                 }
  261.                 else if (Next1234 < DateTime.Now)
  262.                 {
  263.                     Next1234 = DateTime.MaxValue;
  264.                     Do123457();
  265.                     Next123457869 = DateTime.Now.AddMinutes(7).AddSeconds(42);
  266.                 }
  267.                 else if (NextHeroUpgrade < DateTime.Now)
  268.                 {
  269.                     DoHeroUpgrade();
  270.                     NextHeroUpgrade = DateTime.Now.AddSeconds(30);
  271.                 }
  272.                 else if (NextGetBonbon < DateTime.Now)
  273.                 {
  274.                     ClickBonbon();
  275.                     NextGetBonbon = DateTime.Now.AddSeconds(45);
  276.                 }
  277.                 else // Si on a rien d'autre à foutre on tape les monstres...
  278.                 {
  279.                     DateTime quelquesSecondes = DateTime.Now.AddSeconds(5);
  280.                     while (quelquesSecondes > DateTime.Now)
  281.                     {
  282.                         MouseMove(PositionClickMonstres);
  283.                         MouseLeftClick();
  284.                         Thread.Sleep(30);
  285.                     }
  286.                 }
  287.             }
  288.         }
  289.         private void DoAscension()
  290.         {
  291.             Trace("Ascension en cours..." );
  292.             MouseMove(PositionRelicTab);
  293.             MouseLeftClick();
  294.             Thread.Sleep(200);
  295.             MouseMove(PositionSalvageJunkPile);
  296.             MouseLeftClick();
  297.             Thread.Sleep(200);
  298.             MouseMove(PositionConfirmSalvageJunkPile);
  299.             MouseLeftClick();
  300.             Thread.Sleep(200);
  301.             MouseMove(PositionAscension);
  302.             MouseLeftClick();
  303.             Thread.Sleep(200);
  304.             MouseMove(PositionConfirmAscension);
  305.             MouseLeftClick();
  306.             Thread.Sleep(2000);         
  307.         }
  308.         private void DoAttackImmortal()
  309.         {
  310.             Trace("Attaque l'immortel." );
  311.             MouseMove(PositionClanTab);
  312.             MouseLeftClick();
  313.             Thread.Sleep(500);
  314.             MouseMove(PositionTodayRaidButton);
  315.             MouseLeftClick();
  316.             Thread.Sleep(500);
  317.             MouseMove(PositionFightButton);
  318.             MouseLeftClick();
  319.             Thread.Sleep(100);
  320.             DateTime Fin = DateTime.Now.AddSeconds(35);
  321.             while( DateTime.Now < Fin )
  322.             {
  323.                 MouseMove(PositionDoNotPayToFight); // Fonctionne aussi pour taper... Du coup on profite
  324.                 MouseLeftClick();
  325.                 Thread.Sleep(25);
  326.             }
  327.             Thread.Sleep(1000);
  328.             MouseMove(PositionHeroTab);
  329.             MouseLeftClick();
  330.             Thread.Sleep(500);
  331.         }
  332.         private void DoCollectImmortalHS()
  333.         {
  334.             Trace("Récupère la récompense." );
  335.             MouseMove(PositionClanTab);
  336.             MouseLeftClick();
  337.             Thread.Sleep(500);
  338.             MouseMove(PositionTodayRaidButton);
  339.             MouseLeftClick();
  340.             Thread.Sleep(500);
  341.             MouseMove(PositionFightButton);
  342.             MouseLeftClick();
  343.             Thread.Sleep(500);
  344.             MouseMove(PositionDoNotPayToFight);
  345.             MouseLeftClick();
  346.             Thread.Sleep(500);
  347.             MouseMove(PositionHeroTab);
  348.             MouseLeftClick();
  349.             Thread.Sleep(500);
  350.             // Essai aussi pour celui d'hier...
  351.             MouseMove(PositionClanTab);
  352.             MouseLeftClick();
  353.             Thread.Sleep(500);
  354.             MouseMove(PositionYesterdayRaidButton);
  355.             MouseLeftClick();
  356.             Thread.Sleep(500);
  357.             MouseMove(PositionFightButton);
  358.             MouseLeftClick();
  359.             Thread.Sleep(500);
  360.             MouseMove(PositionHeroTab);
  361.             MouseLeftClick();
  362.             Thread.Sleep(500);
  363.         }


 
Toutes les PositionMachin sont des private Point PositionMachin = new Point(1234, 567);, que j'ai rentrés à la main en m'aidant de ça.
 
J'peux expliquer la stratégie au besoin (et dans l'autre sens si vous voyez des possibilités d'optimisation, j'suis pas contre les suggestions)

n°44529624
pojev
Expert en Macro OpenOffice
Posté le 18-01-2016 à 07:22:27  profilanswer
 

Mackila a écrit :


 
Voila la partie la plus fonctionnelle de mon programme.
A adapter pour mettre ca sous autoit/xdotools/autre :
 
Toutes les PositionMachin sont des private Point PositionMachin = new Point(1234, 567);, que j'ai rentrés à la main en m'aidant de ça.
 
J'peux expliquer la stratégie au besoin (et dans l'autre sens si vous voyez des possibilités d'optimisation, j'suis pas contre les suggestions)


 
Donc en gros :
- Tu ne fais pas de détection de quoi que ce soit ? (genre niveau en cours, position des trucs à cliquer, détection de la fenêtre de relique, ...)
- Pour les positions des trucs à cliquer, tu parcours simplement la liste des emplacements ?
- Tu as laissé la taille originale de la fenêtre ? Pas de resize ?
 
(c'est pas une critique, ce sont des questions)


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44529751
Mackila
Posté le 18-01-2016 à 08:17:11  profilanswer
 

Je lance le jeu à la main dans une fenêtre IE11 dont seule la barre d'adresse est affichée.
Le programme la détecte, toutes les coordonnées sont en relatif.
Le programme force la taille de la fenêtre au début du run (arbitrairement, 1800x900, c'est la taille avec laquelle j'ai fait les mesures des points), ligne 7 ci dessus.
Je ne fais que la détection du niveau en cours, à coup de GetWindowText() sur la fenêtre IE (le niveau est indiqué sur la barre de titre). Aucune détection graphique.
Pour les trucs à cliquer, oui, je parcours les 6 emplacements systématiquement (certains sont sur la zone pour taper les monstres, donc la perte est limitée).

n°44530535
zemops
Posté le 18-01-2016 à 10:01:21  profilanswer
 

Mon Salomon a fêté ses 10000 bougies ce w-e. [:hansaplast:4]

n°44532297
feyris
Posté le 18-01-2016 à 12:04:05  profilanswer
 

Mackila a écrit :

Je lance le jeu à la main dans une fenêtre IE11 dont seule la barre d'adresse est affichée.
Le programme la détecte, toutes les coordonnées sont en relatif.
Le programme force la taille de la fenêtre au début du run (arbitrairement, 1800x900, c'est la taille avec laquelle j'ai fait les mesures des points), ligne 7 ci dessus.
Je ne fais que la détection du niveau en cours, à coup de GetWindowText() sur la fenêtre IE (le niveau est indiqué sur la barre de titre). Aucune détection graphique.
Pour les trucs à cliquer, oui, je parcours les 6 emplacements systématiquement (certains sont sur la zone pour taper les monstres, donc la perte est limitée).


 
Perso j'ai un seul héro que j'up, mais là ou je galère, c'est au niveau de l'ascenseur dont le comportement change au fur et a mesure du nombre de héros dispo. Dur ce retrouver le bon héro à l'aveuglette.
 
Je joue aussi sous linux, mon script est fait en Python sous Autokey + xdotool (pour certaines fonctions non dispo)

n°44532479
agalyn
118 n'importe quoi, bonjour
Posté le 18-01-2016 à 12:22:18  profilanswer
 

Pour mon script, et l'ascencion automatique,  
je me suis collé l'inspection des positions de chaque heros pour les monter et avoir leur bonus.
En général, je scroll down au maximum afin de caler l'ascenceur, remote et achète les héros 1 par 1, puis scroll down de 1 ou 2 crans.

n°44532620
Perceval_D​e_Galles
Décacourge / TredecPouPou
Posté le 18-01-2016 à 12:36:34  profilanswer
 

Merci pour le script, je vais me pencher dessus. :)


---------------
Appuyez vous sur les principes ils finiront bien par céder.
n°44532705
pojev
Expert en Macro OpenOffice
Posté le 18-01-2016 à 12:45:38  profilanswer
 

Mackila a écrit :

Je lance le jeu à la main dans une fenêtre IE11 dont seule la barre d'adresse est affichée.
Le programme la détecte, toutes les coordonnées sont en relatif.
Le programme force la taille de la fenêtre au début du run (arbitrairement, 1800x900, c'est la taille avec laquelle j'ai fait les mesures des points), ligne 7 ci dessus.
Je ne fais que la détection du niveau en cours, à coup de GetWindowText() sur la fenêtre IE (le niveau est indiqué sur la barre de titre). Aucune détection graphique.
Pour les trucs à cliquer, oui, je parcours les 6 emplacements systématiquement (certains sont sur la zone pour taper les monstres, donc la perte est limitée).


 
Je viens de relire ton programme, donc j'ai de nouvelles questions :D (faut bien voir que j'essaye de voir ce que je peux te piquer comme idée, d'où ma vision différente. Par contre je le fais pas en C#, mais avec AC Tool, donc je pense que je ne pourrai pas te piquer certaines choses pourtant très pratiques)
 
Ton script, c'est pour du actif ou du idle ?
Comment ça se fait qu'il y a autant de sleep dans ton code ? Pourquoi pas du sleep(40) ? Est-ce que tu les as mis au pif ? Peut-on parler de fête du sleep aléatoire ?
Au final, tu montes tous les héros ? Perso je n'ai gardé affiché que les héros qui ont des skillz pour tout le monde.
Est-ce que tu montes un ancien en particulier lorsque tu ascend ?
Pourquoi pour monter tes héros tu remontes toujours tout en haut ?
Pourquoi tu ne fais jamais "12" ? (au passage, j'aurais fait une fonction/un thread lancé toutes les 2 minutes 30, et en fonction d'où t'en es dans ton timing, j'aurais fait soit 12, soit 1234, soit 123457689, soit 89123457). D'ailleurs, pourquoi tu rajoutes 7 minutes 42 entre deux appuis sur 6/8/9 ?
Est-ce que tu peux faire des choses à côté ? Ou ton pc est complètement utilisé ?
J'ai pas trouvé (j'ai pas trop cherché non plus) comment tu levellais ton dernier héros pendant que tu tapes. Perso, vu que j'ai une macro ultra basique (qui n'ascend pas), je clique pendant 4 secondes sur les mobs [parce que c'est un multiple de 40ms], puis je clique sur le héros (qui a intérêt à être bien placé, sinon je clique dans le vide). Je pourrais rajouter le clique au pif sur les bonbons, mais vu que je redimensionne ma fenêtre, et que je ne peux pas faire de relatif (j'ai pas cherché non plus), ça se complique. Par contre, pour arrêter le script, je dois cliquer sur le bouton "stop", donc faut que je garde 3 secondes sans faire bouger le curseur.
D'ailleurs, comment t'arrêtes ton programme ?


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44532717
pojev
Expert en Macro OpenOffice
Posté le 18-01-2016 à 12:47:37  profilanswer
 

zemops a écrit :

Mon Salomon a fêté ses 10000 bougies ce w-e. [:hansaplast:4]


 
 [:elwe calafalas]  
 
Là je vise les 20000  [:1pet2belgirlsenttjbn:1]  
 

Spoiler :

mais je suis beaucoup plus proche des 10000 que des 20000  [:eric le-looser]


 

Spoiler :

genre 10200 [:eric le-looser]


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44534418
zemops
Posté le 18-01-2016 à 14:59:08  profilanswer
 

Du coup, après la moisson du boss du jour, je viens peut-être de griller la politesse à ton Salomon. :D
 
**Ancients**: Morgulis (368,249,892); Argaiv (19,178); Siyalatas (19,169); Libertas (17,769); Mammon (17,769); Mimzee (17,769); Fragsworth (14,938); Bhaal (14,848); Solomon (10,347); Pluto (9,585); Juggernaut (2,191); Iris (1,599); Chronos (300); Thusia (150);  
 
**Max**: Khrysos, Dogcog, Fortuna, Atman, Dora, Bubos, Vaagur, Kumawakamaru, Chawedo, Hecatoncheir, Berserker, Sniperino, Kleptos, Energon, Revolc;  
 
**Gilded Heroes**: Orntchya (1), Lilin (1), Cadmia (1), Alabaster (418);  
 
**Misc**: HS (0; Spent on Ancients/Rerolls: 5,966,016,076/4,025; Total: 5,966,020,101) HZE: 4,001; Current Zone: 2,746; Ascensions: 1,006; Rubies: 176, Immortal Damage: 1,942,641,306; Forge Cores: 333,140; Total Relics Found: 1212; Achievements: 85%;  
 
**Time Since Start**: 293d, 23h, 40m, 38s, Time since ascension: 4h, 12m, 2s;  
 
**Total Item Bonuses**:  
 
* +15% Primal Boss Chance
* +9 Sec Metal Detector
* +175% Treasure Chest Gold
* +35 Sec Golden Clicks
* +20% Gild Damage
* +180% Golden Clicks Gold
* -1% Hero Cost
* +2% Double Rubies Chance
 

n°44534625
pojev
Expert en Macro OpenOffice
Posté le 18-01-2016 à 15:15:16  profilanswer
 

zemops a écrit :

Du coup, après la moisson du boss du jour, je viens peut-être de griller la politesse à ton Salomon. :D


 
Ce soir, on bute le boss 37 (si j'oublie pas) et demain on bute le 38 (si j'oublie pas) [:emonkey]  


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44534840
agalyn
118 n'importe quoi, bonjour
Posté le 18-01-2016 à 15:30:21  profilanswer
 

On a fait le 38 aujourd'hui, 39 demain et 40 mercredi :)
 
Bon je me lance dans la course au syalatas 200 000

**Ancients**: Morgulis (12,500,478,121); Siyalatas (173,916); Argaiv (148,578); Libertas (107,888); Mammon (102,000); Mimzee (100,203); Pluto (50,184); Bhaal (48,208); Fragsworth (48,118); Solomon (30,439); Juggernaut (4,773); Iris (2,723); Chronos (227); Thusia (50);  
 
**Max**: Khrysos, Dogcog, Fortuna, Atman, Dora, Bubos, Vaagur, Kumawakamaru, Chawedo, Hecatoncheir, Berserker, Sniperino, Kleptos, Energon, Revolc;  
 
**Gilded Heroes**: Moloch (516);  
 
**Misc**: HS (0; Spent on Ancients/Rerolls: 123,731,192,812/15,967; Total: 123,731,208,779) HZE: 4,657; Current Zone: 2,943; Ascensions: 8,760; Rubies: 1,260, Immortal Damage: 51,420,243,946; Forge Cores: 2,295,935; Total Relics Found: 7131; Achievements: 79%;  
 
**Time Since Start**: 445d, 2h, 8m, 47s, Time since ascension: 12m, 38s;  
 
**Total Item Bonuses**:  
 
* +16% Primal Boss Chance
* -6% Hero Cost
* +2 Sec Metal Detector
* -3% Boss Life
* +2% Double Rubies Chance
* +1% Critical Click Damage
* +40% Gold Dropped

 
j'ai trop monté mon iris du coup les starts sont super lents.
Donc sya et après argaiv

Message cité 2 fois
Message édité par agalyn le 18-01-2016 à 15:31:22
n°44535260
Okocedion
Nous savons que Marseille.
Posté le 18-01-2016 à 15:56:42  profilanswer
 

agalyn a écrit :


**Total Item Bonuses**:  
 
* +16% Primal Boss Chance
* -6% Hero Cost

* +2 Sec Metal Detector
* -3% Boss Life
* +2% Double Rubies Chance
* +1% Critical Click Damage
* +40% Gold Dropped


belles reliques [:julian33:4]  
j'ai jamais eu de 4% + Hero cost reduction, qui sont clairement les meilleures


---------------
Il y a quelque chose que je ne comprends pas
n°44535270
zemops
Posté le 18-01-2016 à 15:57:29  profilanswer
 

Comment je te mets à l'amende sur Chronos et Thusia. [:le depotoir de gary:3]  
 
:o

n°44535883
agalyn
118 n'importe quoi, bonjour
Posté le 18-01-2016 à 16:40:58  profilanswer
 

zemops a écrit :

Comment je te mets à l'amende sur Chronos et Thusia. [:le depotoir de gary:3]  
 
:o


 
Thusia à ton niveau pour moi serait pénalisant :)
Et pour Chronos, je suis encore LAAAAAAARGE :D

n°44537337
Mackila
Posté le 18-01-2016 à 18:33:22  profilanswer
 

Bordel ça en fait des questions :D
 

pojev a écrit :

Je viens de relire ton programme, donc j'ai de nouvelles questions :D (faut bien voir que j'essaye de voir ce que je peux te piquer comme idée, d'où ma vision différente. Par contre je le fais pas en C#, mais avec AC Tool, donc je pense que je ne pourrai pas te piquer certaines choses pourtant très pratiques)


Hésites pas à partager tes outils aussi, qu'on puisse piquer les meilleures idées de tout le monde :) !
 

pojev a écrit :

Ton script, c'est pour du actif ou du idle ?
Comment ça se fait qu'il y a autant de sleep dans ton code ? Pourquoi pas du sleep(40) ? Est-ce que tu les as mis au pif ? Peut-on parler de fête du sleep aléatoire ?


Le programme joue actif. Tant qu'à avoir un truc qui clique "gratuirement", autant jouer le mode de jeu qui en profite le plus :)
Les sleep ont été placés pour éviter de louper des déplacements, et j'ai du être un peu généreux (dans le doute...).
 

pojev a écrit :

Au final, tu montes tous les héros ? Perso je n'ai gardé affiché que les héros qui ont des skillz pour tout le monde.


Je monte tous les heros jusqu'à frostleaf, j'ai pas fait dans la dentelle... Comme l'ascenseur peut légèrement varier selon le gold qu'on gagne ou pas, j'ai trouvé moins compliqué de tout cliquer comme un bourrin et de réfléchir (ou pas) après...
 

pojev a écrit :

Est-ce que tu montes un ancien en particulier lorsque tu ascend ?


Le programme ne monte pas les anciens. Je me garde ça à faire à la main :)
 

pojev a écrit :

Pourquoi pour monter tes héros tu remontes toujours tout en haut ?


Le programme avance page par page, et ensuite je balance une "rafale" de ctrl+clic sur la colonne pour upgrader tous les heros de la page.
 

pojev a écrit :

Pourquoi tu ne fais jamais "12" ? (au passage, j'aurais fait une fonction/un thread lancé toutes les 2 minutes 30, et en fonction d'où t'en es dans ton timing, j'aurais fait soit 12, soit 1234, soit 123457689, soit 89123457).


J'ai eu la flemme, surtout que le double dégats pendant 1 minute 30 ne rapporte pas grand chose... mais effectivement, cela aurait pu être fait.
 

pojev a écrit :

D'ailleurs, pourquoi tu rajoutes 7 minutes 42 entre deux appuis sur 6/8/9 ?


Une marge que j'avais ajouté lors du codage "au cas ou", mais je pourrais fortement la réduire (3-4 secondes suffiraient).
 

pojev a écrit :

Est-ce que tu peux faire des choses à côté ? Ou ton pc est complètement utilisé ?


Le PC est squatté pendant le jeu, mais je peux utiliser le PC ponctuellement et continuer le run en cours (voir plus bas).
 

pojev a écrit :

J'ai pas trouvé (j'ai pas trop cherché non plus) comment tu levellais ton dernier héros pendant que tu tapes.


C'est fait dans DoHeroUpgrade(). Lancé régulièrement dans la boucle de DoRun().
 

pojev a écrit :

Perso, vu que j'ai une macro ultra basique (qui n'ascend pas), je clique pendant 4 secondes sur les mobs [parce que c'est un multiple de 40ms], puis je clique sur le héros (qui a intérêt à être bien placé, sinon je clique dans le vide). Je pourrais rajouter le clique au pif sur les bonbons, mais vu que je redimensionne ma fenêtre, et que je ne peux pas faire de relatif (j'ai pas cherché non plus), ça se complique.


La tout est relatif, mais le redimensionnement éventuel de la fenetre est géré par le SetWindowPos() au lancement.
 

pojev a écrit :

Par contre, pour arrêter le script, je dois cliquer sur le bouton "stop", donc faut que je garde 3 secondes sans faire bouger le curseur.
D'ailleurs, comment t'arrêtes ton programme ?


En fait, le programme "prend la main" sur la position de la souris. Avant chaque clic et avant chaque déplacement, il vérifie que le curseur est toujours à l'endroit ou il l'a laissé. Si le curseur a bougé, alors je balance une MessageBox() qui me laisse le choix entre quitter la partie (il faudra que je relance en modifiant éventuellement les options si je veux continuer le run), ou continuer (du coup le programme repart de la ou il était, mais les délais ont continué à s'écouler pour le lancement des skills). Du coup, pendant un run, je bouge la souris, ca se met en pause, je bouge la popup, je check mes mails, je clic "continuer" et hop la fenetre IE repasse devant, le script laisse un délai de 2 secondes pour être sur que la souris ne bouge plus, et hop ca continue :)
 

Code :
  1. //
  2.         public void MouseLeftClick()
  3.         {
  4.             TesteMouvement();
  5.             Win32.mouse_event(2, 0, 0, 0, 0);
  6.             Win32.mouse_event(4, 0, 0, 0, 0);
  7.         }
  8.         private void TesteMouvement()
  9.         {
  10.             if (backgroundWorkerScript.CancellationPending)
  11.             {
  12.                 throw new UserCancelException("Demande arrêt." );
  13.             }
  14.             if (Cursor.Position != PositionAttendueDuCurseur)
  15.             {
  16.                 if ( (System.Windows.Forms.DialogResult)this.Invoke(new DemandeSuiteMouvementDelegate(DemandeSuiteMouvement)) == System.Windows.Forms.DialogResult.Retry)
  17.                 {
  18.                     Point positionSuite = PositionAttendueDuCurseur;
  19.                     this.Invoke(new voidDelegate(Deplace));
  20.                     Win32.SetWindowPos(h_CH_IE, -1, PositionFenetreIE.X, PositionFenetreIE.Y, 1800, 900, 0);
  21.                     Win32.ShowWindow(h_CH_IE, Win32.ShowWindowCommands.Normal);
  22.                     Win32.SwitchToThisWindow(h_CH_IE, false);
  23.                     Thread.Sleep(2000);
  24.                     PositionAttendueDuCurseur = Cursor.Position;
  25.                     MouseMove(PositionClickVide);
  26.                     MouseLeftClick();
  27.                     Thread.Sleep(100);
  28.                     MouseMove(positionSuite);
  29.                 }
  30.                 else
  31.                 {
  32.                     throw new UserCancelException("Arrêt car mouvement" );
  33.                 }
  34.             }
  35.             if (!CH_Present)
  36.             {
  37.                 throw new UserCancelException("CH disparu..." );
  38.             }
  39.         }


 
 
Jolie les reliques Agalyn :D
avec mes 4x4%, j'ai un -2 boss life et un -3% hero cost

n°44537856
pojev
Expert en Macro OpenOffice
Posté le 18-01-2016 à 19:34:26  profilanswer
 

Mackila a écrit :

Hésites pas à partager tes outils aussi, qu'on puisse piquer les meilleures idées de tout le monde :) !


 
Ah mais j'ai plein d'idées, mais j'ai la flemme :D
Et mon éditeur de script est assez limité. Et j'ai la flemme de l'étudier. (ça fait beaucoup de flemme).
 
Pour te donner un ordre d'idée, j'ai plusieurs macro en fonction de ce que je veux faire :
 

Code :
  1. while 1 > 0
  2.   Delay 10
  3.   LeftClick
  4. End


 
Ca c'est la macro la plus simple  :whistle:  
 

Code :
  1. while 1 > 0
  2.   Delay 4000
  3.  LeftClick Control
  4. End


 
Ca c'est la macro qui level les héros pendant que je fais autre chose (pas sur le pc)
 

Code :
  1. delay 1000
  2. Loop 4
  3. Delay 40
  4. Keys 1
  5. Delay 40
  6. Keys 2
  7. Delay 40
  8. Keys 3
  9. Delay 40
  10. Keys 4
  11. Delay 40
  12. Keys 5
  13. Delay 40
  14. Keys 7
  15. Delay 40
  16. Keys 8
  17. Delay 40
  18. Keys 6
  19. Delay 40
  20. Keys 9
  21. Delay 40
  22. loop 225
  23.  MousePos 1250, 360
  24.     Delay 40
  25.     LeftClick Control
  26.  MousePos 1670, 260
  27.    loop 100
  28.      Delay 40
  29.      LeftClick
  30.    End
  31.   End
  32. Delay 40
  33. Keys 8
  34. Delay 40
  35. Keys 9
  36. Delay 40
  37. Keys 5
  38. Delay 40
  39. Keys 7
  40. Delay 40
  41. loop 2
  42.  Keys 3
  43.  Delay 40
  44.  Keys 4
  45.  Delay 40
  46.  loop 3
  47.   Keys 1
  48.   Delay 40
  49.   Keys 2
  50.   Delay 40
  51.   loop 15
  52.    MousePos 1250, 360
  53.       Delay 40
  54.       LeftClick Control
  55.    MousePos 1670, 260
  56.     loop 250
  57.        Delay 40
  58.        LeftClick
  59.     End
  60.    End
  61.   End
  62.  End
  63. End
  64. while 1 > 0
  65. Keys a
  66. Delay 40
  67. Keys 1
  68. Delay 40
  69. Keys 2
  70. Delay 40
  71. Keys 3
  72. Delay 40
  73. Keys 4
  74. Delay 40
  75. Keys 5
  76. Delay 40
  77. Keys 7
  78. Delay 40
  79. Keys 8
  80. Delay 40
  81. Keys 6
  82. Delay 40
  83. Keys 9
  84. Delay 40
  85. loop 225
  86.  MousePos 1250, 360
  87.     Delay 40
  88.     LeftClick Control
  89.  MousePos 1670, 260
  90.    loop 100
  91.      Delay 40
  92.      LeftClick
  93.    End
  94.   End
  95.   Keys a
  96. Delay 40
  97. Keys 8
  98. Delay 40
  99. Keys 9
  100. Delay 40
  101. Keys 5
  102. Delay 40
  103. Keys 7
  104. Delay 40
  105. loop 2
  106.  Keys 3
  107.  Delay 40
  108.  Keys 4
  109.  Delay 40
  110.  loop 3
  111.   Keys 1
  112.   Delay 40
  113.   Keys 2
  114.   Delay 40
  115.   loop 15
  116.    MousePos 1250, 360
  117.       Delay 40
  118.       LeftClick Control
  119.    MousePos 1670, 260
  120.     loop 250
  121.        Delay 40
  122.        LeftClick
  123.     End
  124.    End
  125.   End
  126.  End
  127. End


 
Et ça c'est la macro la plus compliquée, qui balance les skills dès qu'elles sont dispo (enfin, comme toi, mais avec 1 et 2 en plus), et au bout de 2 heures, elle tape "A" juste avant de balancer toutes les skillz (et après c'est toutes les 30 min). Et ça monte aussi le héros, si le bouton se trouve au bon endroit.
 
Du haut niveau de prog  [:bakk38]  
 


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
n°44539203
Mackila
Posté le 18-01-2016 à 21:26:49  profilanswer
 

Dis toujours tes idées, si ça tombe c'est plus facile à implémenter en C#...

n°44539996
pojev
Expert en Macro OpenOffice
Posté le 18-01-2016 à 22:18:13  profilanswer
 

Mackila a écrit :

Dis toujours tes idées, si ça tombe c'est plus facile à implémenter en C#...


 
Disons que t'as implémenté la majorité des trucs auxquels je pense, mais que je peux pas parce que soit j'ai pas cherché, soit c'est pas faisable avec AC Tool.
 
Le reste c'est du détail, genre monter un ancien à chaque ascend. Et réduire tes sleeps  :whistle:  
Voire gérer les merco pour les achievements (ou ruby/HS, au choix). Mais ça demande de la lecture de graphismes, par contre.
 

Spoiler :

D'ailleurs, 87% ce soir, j'ai enfin un merco lvl25  [:chownkey] Et il a encore ses 5 vies ...


---------------
L'amour c'est comme un bilboquet, ça fini toujours par rentrer - La théorie des Ballz
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  102  103  104  ..  184  185  186  187  188  189

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Topik Unique] Les objets qui prennent de la valeur ! $$$$$$$$$$$$$$$$[Topic unique] Les pures émissions de qualitäy de Rmc découverte!
[Topic Unique] Billy IdolNous ne serions qu'une unique personne.
[Topic unique] Ardèche - Le 07 moi j'y tiens ![Topic unique] Toulon, le Var, le 83
[Topic unique] Sherbrooke et ses environs - Québec[topic unique] CanalPlay, l'offre vidéo illimitée du groupe Canal +
[Topic Unique] émissions musicales,documentaires sur musiciens 
Plus de sujets relatifs à : [Toclikunique] Qui veut clicker en mâsse ? Cl Heroes: On re-replonge !


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)