Connexion
La date/heure actuelle est Sam 19 Aoû - 01:48 (2017)
Voir les messages sans réponses
AHK mode d'emploi.
Aller à la page: 1, 2, 3, 4  >
 
Poster un nouveau sujet   Répondre au sujet    Metin2 Forum non officiel Index du Forum -> Metin 2 -> Hacks - Annonces
Sujet précédent :: Sujet suivant  
Auteur Message
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Jeu 24 Avr - 20:40 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Bonjour à tous,




CECI EST LA PREMIERE VERSION D'UN TUTORIEL POUR AHK
Merci de signaler fautes, erreur ou autre ...
Si ce tuto vous a aidé merci de le signaler, ça encourage, dans le cas contraire, il n'aura pas de suite.





J'ai constaté qu'un certain nombre d'entre vous sont pleins de bonnes intentions.
Mais se découragent ou ne parviennent pas à faire aboutir leurs projets,
car il leur manque quelques connaissances.

Je ne prétends pas être un grand hackeur ou programmeur,
mais j'ai quelques notions que j'aimerais partager avec ceux qui sont intéresser.


Sur ce forum beaucoup utilise le logiciel AutoIT.
Il possède de nombreux avantage dont celui d'incrémenter automatiquement, de mettre des codes couleurs aidant à la programmation etc etc...

Cependant la documentation laisse un peu à désirer et une recherche dans la doc est souvent laborieuse (à mon sens).

Ayant plus d'affinités avec AHK qu'avec AutoIT, je vais vous présenter AHK, mais sachez qu'il est TRES facile de passer de l'un à l'autre, les différences sur la forme sont parfois troublante, mais dans le fond c'est strictement la même chose.




AHK qu'est ce que c'est?
AHK signifie autohotkey, c'est à dire "touche de raccourcie automatique" en gros.
Ce logiciel est GNU open source, c'est à dire qu'il est développé par des gens comme vous et moi (bon ok... un peu plus balèze que nous XD). Ils font ça gratuitement et ne touchent pas de droit d'exploitation sur ce logiciel, il est accessible à tous, et si vous le voulez et en avez les capacitées il vous ait possible de le modifier de l'intérieur.

AHK a été développé dans le but de permettre à des gens d'éviter de faire des actions répétitives. On appelle cela une macro. Le programme va simuler vos actions de façon à vous éviter un surplus de travail, cependant il faut déja avoir créer le programme.
AHK se propose de permettre des lancement rapide par des touches de raccourcis (hot keys).



A la base de toute macro de AHK il y a donc une touche sensible qui lorsque l'on appuye dessus déclenche une série d'action préprogrammées, la macro.


Développé initialement en anglais, il existe une partie de la documentation en français.
Vous la trouverez ici:
http://autohotkey.free.fr/docs/

Pour ce que je vous expliquerais et même pour la plupart des choses que vous ferez avec vous n'aurez besoin que du "Tutoriel de Démarrage-Rapide":
http://autohotkey.free.fr/docs/Tutorial.htm


Commençons ensemble un bot qui vous intéressera surement, un bot qui loot.
Fixons nous des buts à atteindre:
1- Lancer le loot lorsqu'on en a besoin
2- Appuyer de façon répétitive sur la touche "w"
3- Arrêter le loot.
4- Pouvoir relancer le loot.
5- Rendre le programme fonctionnel sur le jeu
6- sécuriser le programme.
7- Rendre le programme "indétectable"


Après avoir installer AHK que vous trouverez ici:
http://www.autohotkey.com/download/AutoHotkeyInstall.exe

Faites un clic droit quelque part dans un dossier de votre choix, choisissez "nouveau" puis "Autohotkey Script"
Comme sur le screen:



Une fois le fichier créer, nommez le AutoLoot par exemple.
Faites clic droit dessus et choisissez "edit script".

Vous vous retrouvez ni plus ni moins que dans un éditeur de texte classique.












Vous avez peut être déja remarquer qu'il y a 2 styles de lignes.
Les lignes commençant par des ";" et celles qui n'en contiennent pas.
Les ";" marquent les commentaires.
En programmation, un commentaire est un petit message que laisse le programmeur pour lui-même,
son équipe, ou les éventuelles autres personnes qui éditeront sont programme.
Toutes les information situé APRES un ";" et qui se trouvent sur la même ligne que celui ci sont des commentaires, tout ce qui est AVANT le ";" c'est du "code".

Vous ne pouvez pas mettre un commentaire au milieu du code.
Je prends un exemple, la partie codante, ce qui est donc réellement exécuter sera en rouge, ce qui n'est que du commentaire et qui n'apparaitra jamais aux yeux des utilisateurs sera en bleu.


Citation:

F12:: ;macro de loot



Les commentaires sont importants surtout aux niveaux des endroits un peu difficiles à comprendre, ou encore d'endroit qui marquent un début ou une fin.
Ils vous permettront de vous rappeler à quoi sert tout le charabia qui est en dessous même 10 ans après l'avoir taper.


Pour être franc je ne sais pas bien à quoi sert ceci:

Code:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.



Mais pour ce que j'en comprends, ça à l'air important, et ça ne gène pas l'exécution du reste.

Les toutes premières lignes sont une sorte de fiche technique pour le reste.




Nous en avons finit avec les généralitées à présent (enfin).


Commençons cette macro !


Tout d'abord il faut que cette macro se lance lorsqu'on appuie sur une touche, par exemple, choisissons la touche F12.

Nous tapons:

Code:
F12::



Ce que qui signifie:
Lorsque j'appuierais sur F12, fais ce qui suit.

En effet, le reste du code, sera la liste des actions faites par le logiciel lorsque l'on appuie sur F12.
Nous avons un début... marquons d'ores et déja la fin.

La fin d'une série de commande se fait en utilisant "return"
Ainsi:

Code:
F12::

blablabla ...

return



Nous avons notre début de programme et la fin, reste plus qu'à le remplir!

Nous voulons que l'ordinateur appuie sur "w" lorsque nous, on appuye sur F12. (étape 1)

Pour se faire, on utilise une fonction, c'est à dire une série d'action prédéfinie par quelqu'un d'autre.
Peut importe, cela se fait ainsi
Code:
F12::

Send W

return


Si je sauvegarde et lance mon fichier, dès que je presserais la touche F12, l'ordinateur pressera la touche W et donc je ramasserais un item au sol.
Jusque là c'est plutôt stupide car on voudrait bien qu'il le fasse plusieurs fois!
Si c'est juste pour le plaisir d'appuyer sur une autre touche.... merci bien !

Il faut donc donner l'ordre de répéter plusieurs fois cette action, on crée donc une boucle.
En anglais boucle se dit loop (comme un looping).

La fonction Loop sur AHK peut être utiliser sur 3 modes:
-Infini
-Finit fixe
-Finit variable

Une boucle infini continuera sans cesse jusqu'a fermeture du programme.
Cela donnerait:
Code:
F12::
Loop
{
Send W
}
return



Une boucle finit fera un certain nombre de tour, par exemple 100
Cela donnerait:
Code:
F12::
Loop 100
{
Send W
}
return




Une boucle finit fera un nombre de tour qui dépend d'une valeur qui peut:
-être décidé par le programmateur (aucun intéret => autant se placer dans le cadre de la boucle de type 2)
-être décidé par l'utilisateur (nécessite de demander à l'utilisateur)
-être aléatoire (nécessite l'utilisation d'un générateur aléatoire)
Code:
F12::
Loop %Variable%
{
Send W
}
return





Une boucle doit avoir un début et une fin.
Le début est marqué par une accolade ouverte"{" et la fin par une accolade fermé "}".


Si on utilise la boucle de type 1, alors nous avons remplit notre deuxième objectif: "2- Appuyer de façon répétitive sur la touche "w""

Voici donc l'état de notre programme:

Code:
F12::
Loop
{
Send W
}
return











Seulement voila... vous voulez aussi discuter sur le channel général !
Et lorsque vous le faite, la macro marque WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW partout !

il nous faut pouvoir stopper la macro, mais quand l'utilisateur le décide!
Pour cela, il va falloir faire en sorte que la boucle s'arrête sur ordre de l'utilisateur.

On est donc dans le cas 3 de la boucle:

Code:
F12::
Loop %Variable%
{
Send W
}
return


Et bien non, car on ne sait pas à l'avance quand est ce qu'on voudra l'arreter, au bout de 100 tours, au bout de 1'000 ? 10'000 ?
Il faut donc rester dans notre boucle initiale, mais trouver un autre moyen d'en sortir!

Code:
F12::
Loop
{
Send W
}
return


Une boucle peut être stopper si elle rencontre la fonction "break", littéralement "casser".

Essayons le code suivant:
Code:
F12::
Loop
{
Send W
Break
}
return


Si j'appuie sur F12, j'entre dans la boucle... l'ordinateur appuie sur W... et sort de la boucle !
Zut! on est revenu à la case départ! il ne le fait plus qu'une fois!

Il faut donc que l'ordinateur ne s'arrete que SI je le décide.
Et bien justement en informatique le SI existe, sous le nom de "if" ("si" en anglais).

Imaginons que je veuille stoppé la macro avec F5 je voudrais dire ceci à l'ordinateur:

Si j'appuie sur F5 alors arrête, sinon continue.
Cette phrase se traduit en language informatique ainsi:

If "j'ai appuier sur F5"
Alors break
Sinon Send F5

La première ligne en dessous d'un If correspond au alors et la seconde au sinon.

Plus clairement, au niveau du code cela donnera à peu près ceci:
Code:
F12::
Loop
{
     If "appuie sur F5 est vrai"
     Break;alors
     Send W;sinon

}
return

Sauf que l'ordinateur ne comprend pas appuie sur F5 est vrai.

Alors
on utilise quelque chose qu'on a déjà vu:
Code:

F5::

return


il va falloir faire faire quelque chose à F5 qui permettra au programme de savoir si j'ai appuier sur F5 ou non.

Pour se faire on utilise une variable.
Une variable est en fait un nom pour un chiffre.

Je vais utiliser une métaphore pour mieux m'expliquer:
Admettons que la variable soit un humain.

Mon humain porte un nom, disons ... albert !

Albert est une sorte de facteur entre Moi et CJ.
Lorsque CJ veut que je fasse "coin coin" il dit à albert de m'amener le chiffre 4.
Quand je veux que CJ arrête ses idioties je dis à albert de lui apporter le chiffre 1.

Albert est juste un pauvre type qui sert à porter un numéros, une navette.

En programmation ce rôle est confié aux variables. Nommées ainsi car au début du programme elles peuvent être égales à 1 et à la fin à 30.


Revenons en à nos moutons:

je veux que Albert soit capable de dire à F12 que j'ai appuyé sur F5.

Admettons que F12 s'arrête lorsque Albert porte le numéros 1, mais continue pour tout autre numéros.

Cela donnera au niveau du code:
Code:
F12::
Loop
{
     If albert=1
     Break
     Send w

}
return



Si albert est égal à 1 alors on s'arrête, sinon j'envoie w.


Maitenant il faut que F5 donne l'ordre à Albert de prendre le numéro 1.
Cela s'écrit:
Code:

Albert=1


Ce qui est différent de
Code:

     If albert=1


Dans le premier cas on lui donne un ordre, dans le second on lui pose une question.


Au niveau du code de F5 on obtient:

Code:

F5::
Albert=1
return




Au final on obtient l'ensemble:


Code:
F12::
Loop
{
     If albert=1
     Break
     Send w

}
return



F5::
Albert=1
return


Analysons, je lance le programme.
J'appuie sur F12, Albert ne porte pas de numéros, donc il est pas égal à 1.
La boucle ne s'arrête pas, j'appuie sur w, parfait je loot.
Et ça recommence...

mais d'un coup j'appuie sur F5 pour répondre à un PM!
Albert prend le numéros1 et la boucle repart, rapidement elle va rencontrer la question:
Albert es tu égal à 1? Et cette fois ci il répondra: oui.
Du coup la boucle s'arrêtera sur un break.


Objectif 3 atteint!













Problème!!!!

A présent j'appuie sur F12, mais albert... il porte toujours le 1 ! donc ça loot plus ! ! !
Je vais pas relancer le logiciel à chaque fois quand même ?!

Non, on utilise une astuce toute simple.

AVANT la boucle on dit à albert de porter le numéro 0 (n'importe quel numéro sauf le 1).
Ainsi, lorsque j'entre dans la boucle albert est bien difféent de 1.

Cela donne le code suivant:


Code:
F12::
albert=0
Loop
{
     If albert=1
     Break
     Send w

}
return



F5::
Albert=1
return


Action: appuie sur F12
Conséquences:
albert=0

entrée dans la boucle
albert est il égal à 1? Non
je continue
..............


Action: appuie sur F5
albert=1

retour dans la boucle
...........
albert est il égal à 1? Oui !
STOP


Action: appuie sur F12
albert=0

entrée dans la boucle
albert est il égal à 1? Non
je continue
..............


etc etc etc....



On "réinitialise" Albert à chaque fois qu'on appuie sur F12.


Objectif 4 atteint !
A présent mon bot est presque prêt !


Code:
F12::
albert=0
Loop
{
     If albert=1
     Break
     Send w

}
return



F5::
Albert=1
return


Je le lance et je vais sur le jeu ... et là surprise il loot vraiment pas vite...

Alors vous me demandez combien de temps il met à faire une boucle, et je vous répond qu'il en fait plusieurs milliers par secondes.

Il y a donc un problème... et un gros !















Etape 5.

Lorsque vous appuyer sur une touche, vous avez l'impression d'avoir été très rapide.
Votre touche est resté enfoncé une fraction de seconde...
Mais l'ordinateur lui, est bien plus rapide !
il appuie moins longtemps ! De tel sorte que pour metin2, vous avez appuyez si peu longtemps que soit c'est pas vous... (et donc c'st un bot) soit votre clavier déconne.
Metin2 ignore donc 99% des actions que vous avez demander à votre bot.


Pour palier à ce problème il faut se reconcentrer sur cette action:
Code:

Send w

L'idéal serait de demander à l'ordinateur d'appuyer sur w, de pas relâcher pendant un certain temps... et relacher ensuite.
Comme ça on aurait l'impression que c'est vraiment vous !
Wow.... mais on peut lui demander ça?

Bien sur !

demandons lui gentillement d'appuyer... "down" en anglais:

Send w down

mais là problème... il écrit "w down" l'imbécile.... il faut donc lui dire que c'est UNE action et pas des mots.
Pour se faire on met l'action entre {}
ce qui donne:

Code:

Send {w down}


Il faut aussi relever (up) ce qui donne:

Code:

Send {w down}
Send {w up}


Ah mais ça il va le faire super vite... donc le problème est pas résolu, faut qu'il attende quelques centièmes de secondes.
On va donc lui demander de dormir pendant ... 50 milisecondes.
En anglais dormir se dit "sleep"

Ce qui donne
Code:

Send {w down}
Sleep, 50
Send {w up}


NB: Pour attendre 1s il faut donc faire "sleep, 1000"


Au final notre code en entier est devenu:


Code:
F12::
albert=0
Loop
{
     If albert=1
     Break
Send {w down}
Sleep, 50
Send {w up}

}
return



F5::
Albert=1
return


Ce code très simple marche très bien sur metin, vous pouvez l'essayer.


Objectif 5 atteint!













Etape 7


Cependant 1 seconde... c'est 1000 ms et là on fait une action toutes les 50ms en gros.
C'est à dire 200 actions à la seconde !!!!
Essayez un peu d'appuyer 200 fois par secondes sur la meme touche....enfin non n'essayez pas... vous allez casser votre clavier!

Des systèmes de détections de bot, vérifie donc combien de fois par seconde vous appuyez sur une touche...
Et avec une telle fréquence le serveur va vite vous détecter et prévenir les GM.

Il faut donc le ralentir!

Heureusement ça... on sait déja faire!


Il suffit de lui dire de dormir pendant ...1/4 de seconde à chaque fois?
Comme ça admettons que j'appuie 4 fois par seconde sur ma touche, c'est déja plus crédible.
1/4 de seconde ça fait 250ms.

Je rajoute donc un
sleep, 250
dans le code, mais où ?
Dans le F12?
->Avant la boucle?
->Dans la boucle?
->Après la boucle?

Dans le F5?


je vous laisse répondre tout seul à cette question et trouver le pourquoi.

Le code donne donc ceci:

Code:
F12::
albert=0
Loop
{
     Sleep, 250
     If albert=1
          Break
          Send {w down}
     Sleep, 50
     Send {w up}

}
return



F5::
Albert=1
return





Objectif 6 atteint








Etape 7
Maintenant dites vous bien que le serveur est un ordinateur, donc il est capable potentiellement (ca dépend si on lui demande de le faire ou pas) de repérer les gens qui utilisent toujours la meme touche toujours à la meme fréquence!
Et ici il verrait vite que toutes les 300ms précisément, jamais plus, jamais moins, vous appuyez sur w.


L'idéal est donc que tous vos "sleep" au lieu de durer précisément 50ms et 250ms varie de 20 à 70 ms par exemple et de 100 à 400ms.


Comme ça le détecteur de bot n'y verra que du feu!

Cela me permet d'introduire la notion de phénomènes aléatoires.
En réalité un ordinateur ne vous donne jamais un chiffre aléatoire, ils en sont techniquement incapable.
Seulement des mathématiciens ont mis au point des algorithme (succession de calculs) tellement compliqué qu'au final il est quasi impossible de prévoir le prochain chiffre !
Si vous lancer un dé, c'est un VRAI phénomène aléatoire, demandez la même chose à un ordinateur est un pseudo-phénomène aléatoire.
Car les mathématiciens qui ont créer ces algorithmes pourraient prévoir quel serait le prochain chiffre à sortir. Mais heureusement pour nous il existe des dizaines d'algorithme et donc autant de possibilités aléatoire, l'un dans l'autre, si ceux qui veulent détecter notre bot ne savent pas lequel on utilise, ils peuvent pas nous prédire. (et puis il leur faudrait plus que ça)

En résumé ce n'est pas un vrai chiffre aléatoire, mais c'est tout comme.

En anglais aléatoire se dit random.
Nous allons avoir besoin d'un deuxième albert... appelons le... marc !

la fonction:
Code:
   Random, marc , 20, 70

Va donner un chiffre à marc, sans virgule, compris entre 20 et 70!

marc va être notre relai pour l'appuie sur w.

Paul va être notre relai pour le délai d'attente entre 2 exécutions de la boucle:

Code:
   Random, paul , 100, 400




On obtient le code suivant:

Code:
F12::
albert=0
Loop
{
     Random, paul , 100, 400
     Sleep, paul
     If albert=1
          Break
          Send {w down}
     Random, marc , 20, 70
     Sleep, marc
     Send {w up}

}
return



F5::
Albert=1
return


Mais ce code ne marche pas!
En effet pour qu'une variable (paul et marc) disent quel chiffre ils portent, il faut leur mettre les "balises" % avant et après leur nom.

On obtient un code fonctionnel:

Code:
F12::
albert=0
Loop
{
     Random, paul , 100, 400
     Sleep, %paul%
     If albert=1
          Break
          Send {w down}
     Random, marc , 20, 70
     Sleep, %marc%
     Send {w up}

}
return



F5::
Albert=1
return




Bravo, vous venez de finir votre premier bot.
Celui ci est quasi indétectable par le serveur en lui même !

Il vous sera possible d'échapper à tout contrôle du serveur, mais attention !

Cela ne veut pas dire qu'un humain, un GM, ne peut pas vous démasquer !


Imaginons une situation....
Un GM vous soupçonne ... pour une raison ou une autre.

Vous partez manger et oublier de couper la macro (avec F5).
Pour vérifier si vous tricher ou non le GM balance un item au sol, immédiatement vous le ramasser.
Il vérifie que vous n'êtes pas devant l'écran ... et là c'est le BAN ! Bannir








Alors quelques précautions s'impose:
Ne vous ELOIGNEZ PAS de votre pc quand un bot tourne, ou alors soyez conscient des risques que vous prennez.

Au niveau du règlement il n'est pas interdit spécifiquement d'avoir un bot de loot.
Ce qui est interdit c'est de jouer quand vous êtes pas là.
Looter peut être considérer comme jouer.


Donc n'oubliez pas de couper (avec F5) le bot une fois que vous avez finit!
D'autant que celui ci ne vous sert à rien si vous êtes pas devant le pc à tuer des monstres.










Sur ce, je vous souhaite bon jeu et bonne programmation !
_____________________


Revenir en haut
Publicité






MessagePosté le: Jeu 24 Avr - 20:40 (2008)
Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
djo
Invité

Hors ligne




MessagePosté le: Ven 25 Avr - 00:36 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

c'est super cool de ta part d'avoir fais sa ! j'ai regarder la moitier de tes codes pas de fautes  Laughing Laughing une erreur est si vite arriver ^^

Revenir en haut
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Ven 25 Avr - 01:00 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

en meme temps il est super simpliste celui là, c'est un truc pour apprendre.
heureusement qu'il n'y a pas d'erreur dans les codes.

Au niveau des explication ... j'en suis moins sur.
_____________________


Revenir en haut
Phanteon
Esprit incarné
Esprit incarné

Hors ligne

Inscrit le: 24 Jan 2008
Messages: 1 547
Localisation: Dans le secteur 8 de la matrisse coiuloir de trois 8éme porte
Sexe: Masculin
Scorpion (23oct-21nov) 狗 Chien
Point(s): 8 537
Moyenne de points: 5,52

MessagePosté le: Ven 25 Avr - 13:24 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

UN peux long mais bien expliquz, Merci Arrow Okay
_____________________



Revenir en haut
Visiter le site web du posteur
CJ
[Webmaster] Administra-Thor
[Webmaster] Administra-Thor

Hors ligne

Inscrit le: 17 Déc 2007
Messages: 891
Localisation: Tunisie
Sexe: Masculin
Sagittaire (22nov-21déc) 羊 Chèvre
Point(s): 10 045
Moyenne de points: 11,27

MessagePosté le: Ven 25 Avr - 13:27 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Très long mais très bien expliqué
Merci infiniment, je lirais le tout plus tard

PS : Je connais aucun Albert Very Happy
PPS : J'ai édité la mise en page pour les screens Wink
_____________________



Revenir en haut
Visiter le site web du posteur MSN
chris74
Invité

Hors ligne




MessagePosté le: Ven 25 Avr - 13:40 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

carapuce t'es pénible. J'ai passé la nuit à décrypter tes deux bots, et tu me sors ce sujet Laughing  .
Non sérieux c'est super (jaime bien ta réflexion et ta déduction sur les temps entre chaque appui de touches). Je vais télécharger les tutoriels.
là je me suis fait 4 bots pour mon utilisation personnelle qui remplaceraient avantageusement
PPJoyKey et JoyToKey. J'avance. Cool
Ma prochaine étape sera d'arriver à les coupler.


P.S. : MAIS si CJ, Albert.........................................................EINSTEIN


Revenir en haut
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Ven 25 Avr - 14:43 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Albert c'est juste parce qu'un type avait ce pseudo sur le jeu et ça m'a fait marrer comme pseudo... (va savoir pourquoi) Confused

Merci pour l'edit, je ferais aussi un effort de mise en page.


ouais un peu long, mais j'ai essayé de faire ça un peu comme une enquête plutôt qu'un manuel scolaire.
Ravi que ça vous plaise.
_____________________


Revenir en haut
gogodu06
Invité

Hors ligne




MessagePosté le: Ven 25 Avr - 18:44 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Bon ben moi qui avai fait un bot similaire mais en java je vais me mettre à ce langage qui a l'air plus simple tout de même Smile

Revenir en haut
killer09
Invité

Hors ligne




MessagePosté le: Ven 25 Avr - 20:37 (2008)
Sujet du message: moi
Répondre en citant

moi pou faire des macro j'utilise super macro et ses plug-in  telechargagle ici :

super macro : prenez la bêta http://adam.denadai.free.fr/index.php?page=Download

les plug in http://adam.denadai.free.fr/index.php?page=Plugins


le forum http://smadmin.free.fr/phpBB2/

et sur le forum mon post d'aide en vidéo   http://smadmin.free.fr/phpBB2/viewtopic.php?t=666

voila j'espère que çà vous servira


Revenir en haut
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Ven 25 Avr - 20:41 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Super macro est beaucoup beaucoup moins facilement maléable.

En plus t'a du essayer ... mais les ² de super macro moi metin les reconnait pas.
Si tu veux faire des trucs plus évoluer de toute façon un jour ou l'autre super macro suffira plus donc autant commencer avec AHK qui revient exactement au meme en 100 fois plus pratique, juste une prise en main un peu plus ardue.

C'est que mon avis et chacun fais ce qu'il veut cela dit bien sur.


@gogodu06 j'espere que tu nous fera partager bientot tes codes. Very Happy
_____________________


Revenir en haut
killer09
Invité

Hors ligne




MessagePosté le: Ven 25 Avr - 20:45 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

sur super macro j'imagine un truc car il a une détection d'image donc on pourrai prendre en screen les mob que l'on veu et quand il les vois il clik dessus ce serai asser cool est aussi un bot de pêche avec 2 raccourci de ver ou de pate  

Revenir en haut
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Ven 25 Avr - 20:57 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

C'est faisable avec AHK aussi évidement cependant ça marcherait sur certains jeux comme ragnarok mais pas sur metin2.

Je m'explique: les mobs sont en 3D.
Tu va prendre ton screen sous un certain angle.
Donc déja faudra lancer le bot alors que t'es PILE sous cet angle et donc en terrain plat, toute variation enverra le bot...
Admettons qu'on trouve ça, il faut savoir ensuite que la reconnaissance par image via S-M est franchement pas évidente. Perso j'avais mis 2 semaines à piger...
Ensuite tu t'apperçois que ça sert à rien car ça gère pas les notions de zoom.
Donc pour reconnaitre un monstre ainsi il faut

-Avoir le bon angle de cam
-Etre sur un plan droit et sans variation de hauteur
-Etre à la bonne distance du mob.

L'un dans l'autre... c'est impossible.
Pour reconnaitre un mob le meilleur moyen c'est la détection de pixel de couleurs et faut vérifier que le pixel est pas quelque part.

OU

Faire en sorte que quand tu clic le clic soit SUPER large

OU

Détecter la couleur des noms des mobs (le rouge)
Mettre l'affichage permanent des noms de mobs.
Faire en sorte que le clic se fasse légèrement en dessous de la position détecter
(perso je bosse là dessus)


OU

via CE identifier les variables de positionnement des monstres.
Obtenir des positions X/Y/Z
les comparer à ses propres positions X/Y/Z (très probable que Z soit totalement inutile car vous aurez remarquer que NUL part [à ma connaissance] on ne peut passer SOUS quelqu'un. Il n'y a pas de zone où on peut marcher sous le pont et sur le pont.)

Utiliser ces coordonnées X et Y et en faire des coords sur ton écran.









Il y a surement d'autres possibilitées mais pour l'instant c'est toutes les pistes auquelles j'ai penser.
_____________________


Revenir en haut
Phanteon
Esprit incarné
Esprit incarné

Hors ligne

Inscrit le: 24 Jan 2008
Messages: 1 547
Localisation: Dans le secteur 8 de la matrisse coiuloir de trois 8éme porte
Sexe: Masculin
Scorpion (23oct-21nov) 狗 Chien
Point(s): 8 537
Moyenne de points: 5,52

MessagePosté le: Sam 26 Avr - 13:33 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Pour ceux qui ne parle pas cette langue, la sortie est par la Arrow
_____________________



Revenir en haut
Visiter le site web du posteur
CJ
[Webmaster] Administra-Thor
[Webmaster] Administra-Thor

Hors ligne

Inscrit le: 17 Déc 2007
Messages: 891
Localisation: Tunisie
Sexe: Masculin
Sagittaire (22nov-21déc) 羊 Chèvre
Point(s): 10 045
Moyenne de points: 11,27

MessagePosté le: Sam 26 Avr - 13:55 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Phanteon ==> Passes d'abord, je te suis xD
_____________________



Revenir en haut
Visiter le site web du posteur MSN
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Dim 27 Avr - 13:34 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

C'est mal écrit? Sad Confused
_____________________


Revenir en haut
moi
Invité

Hors ligne




MessagePosté le: Dim 27 Avr - 19:32 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

superbe tuto a mettre en post it de mon point de vue
avec ça vais me remettre au hack


Revenir en haut
CJ
[Webmaster] Administra-Thor
[Webmaster] Administra-Thor

Hors ligne

Inscrit le: 17 Déc 2007
Messages: 891
Localisation: Tunisie
Sexe: Masculin
Sagittaire (22nov-21déc) 羊 Chèvre
Point(s): 10 045
Moyenne de points: 11,27

MessagePosté le: Lun 28 Avr - 13:08 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

carapuce a écrit:
C'est mal écrit? Sad Confused


Non c'est juste un peu compliqué ^^
_____________________



Revenir en haut
Visiter le site web du posteur MSN
Seto
Invité

Hors ligne




MessagePosté le: Lun 28 Avr - 19:30 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Moi je trouve pas lol j'ai reussi a crée ce bot sans trop de probleme ^^ 

Revenir en haut
carapuce
Modérateur
Modérateur

Hors ligne

Inscrit le: 21 Avr 2008
Messages: 839
Localisation: rien
Sexe: Masculin
Balance (23sep-22oct)
Point(s): 2 900
Moyenne de points: 3,46

MessagePosté le: Lun 28 Avr - 19:31 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

Ils parlaient de la discussion sur la faisabilité d'un farm bot.

Ravi que le tuto t'ai aidé, peut etre nous créera tu bientot de nouveaux bots.
_____________________


Revenir en haut
antho20090
Invité

Hors ligne




MessagePosté le: Mer 30 Avr - 17:01 (2008)
Sujet du message: AHK mode d'emploi.
Répondre en citant

salut je voulez savoir pkoi je narrive pas a arreté le AHK voici les commandes

F12:: albert=2
Loop
{
     Random, paul , 100, 400
     Sleep, %paul%
     If albert=3
          Break
          Send {4 down}
     Random, marc , 20, 70
     Sleep, %marc%
     Send {4 up}

} return


F5::Albert=2
return


sinon merci pour le macro 'w' car il marche a merveille


Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 01:48 (2017)
Sujet du message: AHK mode d'emploi.

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Metin2 Forum non officiel Index du Forum -> Metin 2 -> Hacks - Annonces Toutes les heures sont au format GMT + 2 Heures
Aller à la page: 1, 2, 3, 4  >
Page 1 sur 4

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Guild Wars Alliance theme by Daniel of Gaming Exe
Guild Wars is a trademark of NCsoft Corporation. All rights reserved.
Traduction par : phpBB-fr.com