
|
|
| | [DofusLog] Simplifiez vous la vie... | |
| |
| Auteur | Message |
|---|
ExiTeD KIkoolol


Inscrit le: 12/11/2007 Messages: 90
 | Sujet: [DofusLog] Simplifiez vous la vie... Mar 30 Sep - 22:32 | |
| [EDIT : Oui , l'idée ne vient pas de moi à la base , j'ai reprit le projet de Zamiza] Voilà , ça fait quelques mois que j'suis sur un petit soft rigolo et quelques semaines que j'ai terminé une version qui marche à 99%. J'explique vite fait le principe , en fait tout est dans le nom. Ce permet de connecter des comptes dofus stockés dans un fichier texte crypté , avec quelques options et ajouts en plus. Ca se présente comme ça :  On ajoute les comptes dans la 'base de donnée' :  et à la fin celon les comptes co , ça donne ça :  et y'a les options de connection pour les multicomptes/teams :   Y'a quelques options que j'ai pas détaillé ici mais si ça vous interresse , faites le moi savoir , je vous mettrai la version compilée en link pour pouvoir la download. Exi.
Dernière édition par ExiTeD le Dim 26 Oct - 22:47, édité 1 fois |
|  | | Jorkan V.I.P


Age: 22 Inscrit le: 15/04/2008 Messages: 336
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mar 30 Sep - 22:55 | |
| Il parait super sympa ton programme, donc ça m'intéresse et je te le fais savoir, hé hé. |
|  | | Bakisu Inspiré


Age: 19 Inscrit le: 30/06/2008 Messages: 28
 | |  | | Dy Seath Meneur


Age: 21 Inscrit le: 10/11/2007 Messages: 1450
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 10:38 | |
| | Citation: | | Voilà , ça fait quelques mois que j'suis sur un petit soft rigolo et quelques semaines que j'ai terminé une version qui marche à 99%. |
Et dans les 1%, ça donne quoi ? xD |
|  | | ExiTeD KIkoolol


Inscrit le: 12/11/2007 Messages: 90
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 10:43 | |
| ben si c'est bien paramétré ça bug pas , y'a surement quelques fautes de codage et de redirection , mais bon avec 800 lignes de code , j'ai du mal à m'repérer. Pi t'façon critique pas , tupu §§§ |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 12:27 | |
| Je le veux bien aussi stp exi ^^ |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 12:56 | |
| |
|  | | Miss-Cam Poète


Inscrit le: 10/11/2007 Messages: 54
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 16:03 | |
| Il existe un risque lié aux informations qu'on rentre ? tu dis crypté mais à part toi (car tu dois savoir comment c'est crypté) c'est possible que quelqu'un trouve les informations ? |
|  | | ExiTeD KIkoolol


Inscrit le: 12/11/2007 Messages: 90
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 18:12 | |
| Tout est stocké dans un fichier texte , donc si tu donnes un nom non significatif , j'vois pas pourquoi quelqun ou quelque chose irait voir dedant, mais biensur , moi je saurais le decrypter c'est sûr ( en passant par un logiciel à la main ca prendrait trop de temps , et d'ailleurs j'sais pas si ça remplace pas les Caractère par leur code ASCII. Enfin si ça gène vraiment les gens , je pourrais essayer de faire un cryptage complet avec un modulo que je serai le seul à connaitre ou un truc du genre). C'est pas fait pour sécuriser du "piratage" ou keylogging , c'est fait en premier pour éviter de tomber sur les mots de passe en 'clair' , si quelqun ou quelque chose ouvre le fichier. Donc pour moi , si tu as un pc assez bien entretenu , y'a aucun risque. |
|  | | Jorkan V.I.P


Age: 22 Inscrit le: 15/04/2008 Messages: 336
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 18:17 | |
| Oué Exi!!! Fait nous un joli modulo n!!! Genre modulo 97 , a la banque attitude quoi x'D. Nan mais plus sérieusement c'est pas nécessaire je pense ^^ . |
|  | | Miss-Cam Poète


Inscrit le: 10/11/2007 Messages: 54
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 1 Oct - 19:33 | |
| C'était une simple question pour les personnes qui voudraient l'utiliser. |
|  | | ExiTeD KIkoolol


Inscrit le: 12/11/2007 Messages: 90
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Jeu 2 Oct - 18:15 | |
| Comment configurer DofusLog ? Telecharger :1. DofusLog.exe --> Me demander en MP 2. ConfigDofusLog.exe --> Me demander en MP Remarques :1 - Les fichiers de configuration et les mots de pass sont stockés là où se trouve le fichier DofusLog.exe. Je conseil de créer une répertorie DofusLog dans Programes Files et de créer un raccourci vers DofusLog.exe sur le bureau. 2 - Si un problème survient pendant l'éxécution du script , la touche F1 permet de l'interrompre à tout moment. 3 - Si ça merde c'est d'votre faute ! ----------------- Je suppose que le fichier DofusLog.exe est correctement placé. Lancez DofusLog.exe Au premier lancement du script , vous obtenez une boite de dialogue ( fenêtre numéro 1 ) qui vous demande un mot de pass admin. Ce mot de pass permet de decrypter tout le fichier contenant les mots de passe si besoin. C'est pas tellement utile mais je m'en suis servis quand j'ai codé , donc j'ai laissé l'option. Une fois le pass rentré , une seconde boite de dialogue ( fenetre numéro 2) vous informe que le fichier "fichier_config.txt" a été crée puis le script se ferme.  ------------------- Il va maintenant falloir configurer quelques paramètres en utilisant le script ConfigDofusLog.exe : 1. Lancez une fenetre Dofus en grand à la page de connexion 2. Ouvrez le fichier "fichier_config.txt" 3. Lancez le script ConfigDofusLog.exe ( une boite de dialogue vous informe qu'il est lancé ) Le script ConfigDofusLog.exe ouvre , à chaque pression sur la touche F6 , une boite de dialogue. Il à pour but de retourner les coordonnées actuelles du curseur de la souris et la couleur du pixel sur lequel il se trouve lorsque l'on appuie sur la touche F6. Exemple de boîte de dialogue :  Le but est maintenant de remplir les 7 premières lignes du fichier "fichier_config.txt" à l'aide du script. Donc , Comment faire ?  ( Note : les 3 premières lignes s'obtiennent avec une seule boite de dialogue ) Ligne 1 : coordonnée X du curseur quelque part dans le carré bleu ( Numéro 4 ) Ligne 2 : coordonnée Y du curseur quelque part dans le carré bleu ( Numéro 4 ) Ligne 3 : couleur correspond au X et Y du carré bleu Ligne 4 : coordonnée X de la ligne rouge Ligne 5 : cordoonnée Y du point jaune N°1 ( Nom de compte ) Ligne 6 : cordoonnée Y du point jaune N°2 ( Mot de pass ) Ligne 7 : cordoonnée Y du point jaune N°3 ( Bouton OK ) Exemple de fichier :  Appuyez sur la touche F10 pour fermer ConfigDofusLog Sauvegardez les changements et fermer le fichier. Voilà , vous êtes prêt pour utiliser DofusLog !  Pour cela lancez simplement DofusLog.exe , ajouter vos comptes grâce au bouton ADD , puis tapez le pseudonyme associé dans le champ au début et validez. Si y'a des questions j'suis là ! Exi,
Dernière édition par ExiTeD le Mar 6 Jan - 9:10, édité 1 fois |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Jeu 2 Oct - 19:18 | |
| Tout marche bien, merci  |
|  | | Jorkan V.I.P


Age: 22 Inscrit le: 15/04/2008 Messages: 336
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Jeu 2 Oct - 20:08 | |
| Idem tout fonctionne à la perfection un grand merci Exi ^^. |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Jeu 9 Oct - 20:52 | |
| (Désolée du post un-peu long, mais j'suis pas douée avec les MPs. ^^) Zamiza, créatrice de DofusLog à la base, c'est moi qui ai tout enseigné à Exi ! *_* En fait nan. Il a aimé le projet, il l'a fait évoluer, et on se concerte souvent pour s'échanger nos DofLogs pour voir où en est l'un-l'autre. Perso, j'aime pas trop les scripts compilés, donc voici le code-source.. Si vous avez fait ce qu'ExiTeD a dit, vous devez avoir "Sci-Te.exe" dans votre ordinateur (C:\Program Files\AutoIt\SciTe", par défaut).. Ben lancez-le, et copiez-collez ce qui est dans la balise "code". ^^ Ensuite, enregistrez le script sous le nom que vous voudrez, et lancez-le en double-cliquant dessus. Pouf, ça marche. (normalement... *_*) Sachant que chez-moi ça a cette apparence :  (Mais ça change de tête suivant vos paramètres de Windows. ^^) DofusLog-v1_6 : | Code: | #include <GUIConstants.au3> Dim $aLog[4] $fichier = FileOpenDialog(@ScriptName & " - Sélectionnez ou créez un fichier contenant vos logs", @ScriptDir, "Text files (*.txt)|All files (*.*)", 8, "Log.txt") ;Spécial pour JoL ^^ ;$fichier = @ScriptDir & "\Log.txt" ;Spécial pour moi. ^^ $existe = _FileReadToArray2($fichier, $aLog) $prgChemin = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Ankama\Dofus", "Path") Global $compte = 1 Global $FenBase Global $Label Global $Lancer Global $Modifier Global $Nouveau $Padpass = ""
If Not $existe Then Modifier($compte, $fichier) $compte = 3 * ($compte - 1) + 1 EndIf _FileReadToArray2($fichier, $aLog) $aLog[0] = (UBound($aLog) - 1) / 3 ;temporaire ! -Mais bien utile, en fait.. Je garde. ^^ Dim $Radio[$aLog[0] + 1] Fenetre()
While 1 $msg = GUIGetMsg() Switch $msg Case 0 ContinueLoop
Case $GUI_EVENT_CLOSE GUIDelete($FenBase) Exit
Case $Radio[1] To $Radio[$aLog[0]] If $msg <> $Radio[$compte] Then GUICtrlSetPos($Radio[$compte], 5, 27 + (($compte - 1) * 7 * 3)) While $msg <> $Radio[$compte] $compte += 1 If $compte > $aLog[0] Then $compte = 1 EndIf WEnd GUICtrlSetPos($Radio[$compte], 15, 30 + (($compte - 1) * 7 * 3)) EndIf
Case $Modifier Modifier($compte, $fichier) GUICtrlSetData($Radio[$compte], $aLog[($compte - 1) * 3 + 1])
Case $Nouveau ReDim $aLog[UBound($aLog) + 3] $aLog[0] = (UBound($aLog) - 1) / 3 ;temporaire ! Modifier($aLog[0], $fichier) ReDim $Radio[UBound($Radio) + 1] GUIDelete($FenBase) Fenetre()
Case $Lancer $compte = ($compte - 1) * 3 + 1 If $aLog[$compte + 2] <> $Padpass Then If InputBox( @ScriptName & " - Code du compte " & $aLog[$compte], "Veuillez entrer le mot de passe pour accéder au compte de " & $aLog[$compte] & " :", "", "°M") <> $aLog[$compte + 2] Then MsgBox( 0x232, @ScriptName & " - Se Logguer", "Identification ratée.") Exit EndIf EndIf ExitLoop EndSwitch WEnd GUIDelete($FenBase)
If MsgBox(0x51, @Scriptname, "Lancement de la fenêtre Dofus !" & @CRLF & "Annuler pour fermer le script.", 2) = 2 Then Exit ;Juste pour test au-dessus, sans démarrage du client EndIf
ShellExecute("Dofus.exe","", $prgChemin) Do Do sleep(20) Until MouseGetCursor( ) = 5 ;Curseur 5 = Curseur d'édition de texte If WinActive("Dofus") Then MouseClick("left") EndIf Sleep(20) Until WinActive("Dofus") WinSetTitle("Dofus", "", "Dofus - " & $aLog[$compte]) ;~ Send("^f") ;Mode "plein écran" Send($aLog[$compte + 1]) ;"login{tab}mdp"
Do sleep(20) $cur = MouseGetPos() Until ( (MouseGetCursor() = 0) And (PixelGetColor($cur[0], $cur[1]) = 16750848) ) ;Curseur 0 = Curseur Web/Couleur 16750848 = #FF9900 = orange. Donc : que le pointeur soit sur du orange + en mode "web" (sur le bouton "ok", quoi) MouseClick("left")
;============================================================ Func Fenetre() $FenBase = GUICreate(@ScriptName, 200, 30 + $aLog[0] * 7 * 3 + 30) $Label = GUICtrlCreateLabel("Choisissez un compte à Logger :", 5, 5) GUIStartGroup() $Lancer = GUICtrlCreateButton("Lancer !", 150, 18 + 7 * $aLog[0], 48) $Modifier = GUICtrlCreateButton("Modifier", 150, 33 + $aLog[0] * 7 * 3, 48) $Nouveau = GUICtrlCreateButton("Nouveau", 1, 33 + $aLog[0] * 7 * 3) $compteCourant = 1 While $compteCourant <= $aLog[0] $Radio[$compteCourant] = GUICtrlCreateRadio($aLog[($compteCourant - 1) * 3 + 1], 5, 27 + (($compteCourant - 1) * 7 * 3), 130) $compteCourant += 1 WEnd GUICtrlSetState ($Radio[$compte], $GUI_CHECKED) GUICtrlSetPos($Radio[$compte], 15, 30 + ($compte - 1) * 3 * 7) GUISetState() EndFunc
Func Modifier($compteCourant, $fich) $compteCourant = 3 * ($compteCourant - 1) + 1 Do $aLog[$compteCourant] = InputBox( @ScriptName & " - Nouveau log", "Veuillez entrer un pseudonyme au compte :", $aLog[$compteCourant], " M") ;Pratique pour le débug, l'affichage par défaut de l'élément choisit If @Error = 1 Then Return EndIf Until $aLog[$compteCourant] <> "" _FileWriteToLine2($fichier, $compteCourant, $aLog[$compteCourant], 1)
Do $aLog[$compteCourant + 1] = InputBox( @ScriptName & " - Nom de compte de " & $aLog[$compteCourant], "Entrez le nom de compte associé au pseudonyme " & $aLog[$compteCourant] & " :", "", " M") If @Error = 1 Then Return EndIf Until $aLog[$compteCourant + 1] <> "" $aLog[$compteCourant + 1] &= "{TAB}" Do $aLog[$compteCourant + 2] = InputBox( @ScriptName & " - Mot de passe du compte de " & $aLog[$compteCourant], "Entrez le mot de passe du compte associé au pseudonyme " & $aLog[$compteCourant] & " :", "", "°M") If @Error = 1 Then Return EndIf Until $aLog[$compteCourant + 2] <> "" $aLog[$compteCourant + 1] &= $aLog[$compteCourant + 2] _FileWriteToLine2($fichier, $compteCourant + 1, $aLog[$compteCourant + 1], 1) $aLog[$compteCourant + 2] = InputBox( @ScriptName & " - Mot de passe du pseudonyme " & $aLog[$compteCourant], "Entrez un mot de passe pour utiliser le pseudonyme " & $aLog[$compteCourant] & "," & @CRLF & "Ou laissez tel-quel pour utilisation libre.", $Padpass,"°") _FileWriteToLine2($fichier, $compteCourant + 2, $aLog[$compteCourant + 2], 1) EndFunc
Func _FileWriteToLine2($sFile, $iLine, $sText, $fOverWrite = 0) If $iLine <= 0 Then SetError(4) Return 0 EndIf If Not IsString($sText) Then SetError(6) Return 0 EndIf If $fOverWrite <> 0 And $fOverWrite <> 1 Then SetError(5) Return 0 EndIf If Not FileExists($sFile) Then FileWrite($sFile, @CRLF) EndIf Local $filtxt = FileRead($sFile, FileGetSize($sFile)) $filtxt = StringSplit($filtxt, @CRLF, 1) If $filtxt[0] < $iLine Then ReDim $filtxt[$iLine + 1] EndIf Local $fil = FileOpen($sFile, 2) If $fil = -1 Then SetError(3) Return 0 EndIf For $i = 1 To UBound($filtxt) - 1 If $i = $iLine Then If $fOverWrite = 1 Then If $sText <> '' Then If $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText & @CRLF) ElseIf $i = UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText) EndIf Else If $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText) EndIf EndIf EndIf If $fOverWrite = 0 Then If $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText & @CRLF) FileWrite($fil, $filtxt[$i] & @CRLF) ElseIf $i = UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText & @CRLF) FileWrite($fil, $filtxt[$i]) EndIf EndIf ElseIf $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $filtxt[$i] & @CRLF) ElseIf $i = UBound($filtxt, 1) - 1 Then FileWrite($fil, $filtxt[$i]) EndIf Next FileClose($fil) Return 1 EndFunc ;==>_FileWriteToLine2
Func _FileReadToArray2($sFilePath, ByRef $aArray) Local $hFile $hFile = FileOpen($sFilePath, 0) If $hFile = -1 Then SetError(1) Return 0 EndIf $aArray = StringSplit(StringStripCR(FileRead($hFile, FileGetSize($sFilePath))), @LF) FileClose($hFile) Return 1 EndFunc ;==>_FileReadToArray |
C'est pas tout à fait compatible avec les anciens logs, vu que y'a pu de lignes "vides" en début et en fin de fichier. ^^
Sinon, la formule est toujours : "PseudoDuCompte" "NomDuCompte{TAB}MotDePasse" "MotDePasseDuPseudo", sachant que la 3ème ligne doit être probablement vide par défaut.
Zamiza. P.S : Version 1_7 à venir, avec suppresison d'une ligne, suite à discussion avec ExiTeD hier. ^^ /!\ le script donné ici n'est pas dans le but de récupérer votre personnage, compte, ou autre.. J'ai assez de quoi faire moi-même.. (Hein Exi ? ^^') /!\/!\ Je ne sais pas comment fonctionne le script d'ExiTeD, vu que lui ne m'a pas envoyé son source... Mais le "mien" enregistre ce que vous entrez là où vous l'avez voulu. Pour garantir la sécurité, le mieux est encore une clef USB personnelle, que vous ne prêtez pas, par exemple. ^^ |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Sam 11 Oct - 11:47 | |
| Pareil n_n give me et t'aura a le droit a ceci ... *tend un ticket "nuitée aux mille délices 'vec vonny."* |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Dim 9 Nov - 16:44 | |
| Au risque de faire un méga-up du sujet... je réponds ! ^_^ file:///C:/Program%20Files/AutoIt3/SciTE/scite.exe(C'est le chemin par défaut de SciTe, si vous l'avez effectivement installé dans votre ordinateur.) Pour obtenir "mon" DofusLog (version 1_6b ^^), copiez ce qui est dans la balise spoiler (plus bas dans ce message), et collez-le dans SciTe (voir début du post pour le chemin d'accès. ^^). Conseil sur la sécurité : (oui, j'insiste beaucoup dessus...) -> stockez le script où vous le voulez, ça n'a aucune importance. -> stockez votre fichier de logs sur une clef USB, dans un répertoire caché/protégé, ou un espace personnel bien gardé, pour être certain(e) d'être seul(e) à y accéder. -> le script vous demande par défaut votre fichier de log dans le même répertoire que le script, donc vous pouvez mettre le script en sûreté aussi, ça ne fera pas de mal. (avec le log ^^) -> si vous souhaitez bidouiller des trucs, sentez-vous libre de le faire ! Demandez-moi si vous souhaitez plus de renseignements. ^^ *edit* C'est de la mer**, la balise spoiler : elle ne garde pas les espaces en début de ligne... *re-edit* Et je peux rien faire contre ça...| Spoiler: | | | #include <GUIConstants.au3> ;Nécessaire surtout pour le $GUI_EVENT_CLOSE Dim $aLog[4] $fichier = FileOpenDialog(@ScriptName & " - Sélectionnez ou créez un fichier contenant vos logs", @ScriptDir, "Text files (*.txt)|All files (*.*)", 8, "Log.txt") $existe = _FileReadToArray2($fichier, $aLog) $prgChemin = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Ankama\Dofus", "Path") Global $compte = 1 Global $FenBase Global $Label Global $Lancer Global $Modifier Global $Nouveau $Separ = 1 Global $Ht = $Separ + 2 * 13 + $Separ ;hauteur présumée par ligne (13) 1 * 13 pour 1 ligne, 2 * 13 pour 2, etc $Padpass = ""
If Not $existe Then Modifier(1, $fichier) $compte = 3 * ($compte - 1) + 1 EndIf _FileReadToArray2($fichier, $aLog) $aLog[0] = (UBound($aLog) - 1) / 3 ;temporaire ! -Mais bien utile, en fait.. Je garde. ^^ Dim $Radio[$aLog[0] + 1] Fenetre()
While 1 $msg = GUIGetMsg() Switch $msg Case 0 ContinueLoop Case $GUI_EVENT_CLOSE GUIDelete($FenBase) Exit Case $Modifier DesAct(1) Modifier($compte, $fichier) Desact(0) GUICtrlSetData($Radio[$compte], $aLog[($compte - 1) * 3 + 1]) Case $Nouveau ReDim $aLog[UBound($aLog) + 3] $aLog[0] = (UBound($aLog) - 1) / 3 ;temporaire ! DesAct(1) Modifier($aLog[0], $fichier) ReDim $Radio[UBound($Radio) + 1] GUIDelete($FenBase) Fenetre() Case $Radio[1] To $Radio[$aLog[0]] If $msg <> $Radio[$compte] Then GUICtrlSetPos($Radio[$compte], 5, 27 + (($compte - 1) * $Ht)) While $msg <> $Radio[$compte] $compte += 1 If $compte > $aLog[0] Then $compte = 1 EndIf WEnd GUICtrlSetPos($Radio[$compte], 15, 30 + (($compte - 1) * $Ht)) Else ContinueCase EndIf Case $Lancer DesAct(1) While 1 $compteBis = ($compte - 1) * 3 + 1 If ($aLog[$compteBis + 2] <> $Padpass) and ($aLog[$compteBis + 2] <> @CRLF) Then If InputBox( @ScriptName & " - Code du compte " & $aLog[$compteBis], "Veuillez entrer le mot de passe pour accéder au compte " & $aLog[$compteBis] & " :", "", "°M") <> $aLog[$compteBis + 2] Then DesAct(0) $compteBis = MsgBox( 0x232, @ScriptName & " - Se Logguer", "Identification ratée.") If $compteBis = 3 Then Exit If $compteBis = 4 Then ContinueLoop If $compteBis = 5 Then ContinueCase EndIf EndIf ExitLoop WEnd $compte = ($compte - 1) * 3 + 1 ExitLoop EndSwitch WEnd GUIDelete($FenBase)
If MsgBox(0x51, @Scriptname, "Lancement de la fenêtre Dofus !" & @CRLF & "Annuler pour fermer le script.", 2) = 2 Then Exit ;Annuler
ShellExecute("Dofus.exe","", $prgChemin) Do Do sleep(20) Until MouseGetCursor( ) = 5 ;Curseur 5 = Curseur d'édition de texte If WinActive("Dofus") Then MouseClick("left") Sleep(20) Until WinActive("Dofus") WinSetTitle("Dofus", "", "Dofus - " & $aLog[$compte]) ;~ Send("^f") ;Mode "plein écran" à venir Send($aLog[$compte + 1]) ;"login{tab}mdp"
Do sleep(20) $cur = MouseGetPos() Until ( (MouseGetCursor() = 0) And (PixelGetColor($cur[0], $cur[1]) = 16750848) ) ;Curseur Web, couleur orange (le bouton "ok", quoi !) MouseClick("left")
;============================================================ Func Fenetre() $FenBase = GUICreate(@ScriptName, 201, 50 + $aLog[0] * $Ht + 30, -1, -1, BitOr($WS_SIZEBOX, $WS_MINIMIZEBOX, $WS_MAXIMIZEBOX)) $Label = GUICtrlCreateLabel("Choisissez un compte à Logger :", 1, 5, -1, -1) ;~ GUICtrlSetResizing($Label, 2 + 32 + 512)
$Boutons = GUIStartGroup() ;Séparation des groupes, en préparation ! $Lancer = GUICtrlCreateButton("Lancer !", 150, 18 + $Ht / 3 * $aLog[0], 48, 25) GUICtrlSetResizing($Lancer, 4 + 768) ;4 + 768 : aligné à droite, ne change pas de taille $Modifier = GUICtrlCreateButton("Modifier", 150, 33 + $aLog[0] * $Ht, 48, 25, $BS_FLAT) GUICtrlSetResizing($Modifier, 4 + 64 + 768) ;4 + 64 + 768 : aligné à droite, aligné en bas, ne change pas de taille $Nouveau = GUICtrlCreateButton("Nouveau ", 1, 33 + $aLog[0] * $Ht, -1, 25, $BS_FLAT) GUICtrlSetResizing($Nouveau, 2 + 64 + 768) ;2 + 64 + 768 : aligné à gauche, aligné en bas, ne change pas de taille ;~ $Supprimer = GUICTRLCreateButton("Supprimer ", 75, 33 + $aLog[0] * $Ht * 3)
;~ $Radios = GUIStartGroup() ;Séparation des groupes, pas encore active. ^^ $compteCourant = 1 While $compteCourant <= $aLog[0] $Radio[$compteCourant] = GUICtrlCreateRadio($aLog[($compteCourant - 1) * 3 + 1], 5, 27 + (($compteCourant - 1) * $Ht), 135 - 136, $Ht - 3, $BS_MULTILINE) GUICtrlSetResizing($Radio[$compteCourant], 2 + 32 + 512) ;aligné à gauche, aligné en haut, ne change pas de hauteur $compteCourant += 1 WEnd GUICtrlSetState ($Radio[$compte], $BS_DEFPUSHBUTTON) GUICtrlSetPos($Radio[$compte], 15, 30 + ($compte - 1) * $Ht)
GUISetState() EndFunc
Func Modifier($compteCourant, $fich) $compteCourant = 3 * ($compteCourant - 1) + 1 Do $aLog[$compteCourant] = InputBox( @ScriptName & " - Nouveau log", "Veuillez entrer un pseudonyme au compte :", $aLog[$compteCourant], " M") ;Pratique pour le débug, l'affichage par défaut de l'élément choisit If @Error = 1 Then Return EndIf Until $aLog[$compteCourant] <> "" $aLog[$compteCourant] &= " ." _FileWriteToLine2($fichier, $compteCourant, $aLog[$compteCourant], 1)
Do $aLog[$compteCourant + 1] = InputBox( @ScriptName & " - Nom de compte " & $aLog[$compteCourant], "Entrez le nom de compte associé au pseudonyme " & $aLog[$compteCourant] & " :", "", " M") If @Error = 1 Then Return EndIf Until $aLog[$compteCourant + 1] <> "" $aLog[$compteCourant + 1] &= "{TAB}" Do $aLog[$compteCourant + 2] = InputBox( @ScriptName & " - Mot de passe du compte " & $aLog[$compteCourant], "Entrez le mot de passe du compte associé au pseudonyme " & $aLog[$compteCourant] & " :", "", "°M") If @Error = 1 Then Return EndIf Until $aLog[$compteCourant + 2] <> "" $aLog[$compteCourant + 1] &= $aLog[$compteCourant + 2] _FileWriteToLine2($fichier, $compteCourant + 1, $aLog[$compteCourant + 1], 1) $aLog[$compteCourant + 2] = InputBox( @ScriptName & " - Mot de passe du pseudonyme " & $aLog[$compteCourant], "Entrez un mot de passe pour utiliser le pseudonyme " & $aLog[$compteCourant] & "," & @CRLF & "Ou laissez tel-quel pour utilisation libre.", $Padpass,"°") If $aLog[$compteCourant + 2] = "" Then $aLog[$compteCourant + 2] = @CRLF _FileWriteToLine2($fichier, $compteCourant + 2, $aLog[$compteCourant + 2], 1) EndFunc
Func DesAct($Active) If $Active = 1 Then GUICtrlSetState($Lancer, $GUI_DISABLE) GUICtrlSetState($Modifier, $GUI_DISABLE) GUICtrlSetState($Nouveau, $GUI_DISABLE) Else GUICtrlSetState($Lancer, $GUI_ENABLE) GUICtrlSetState($Modifier, $GUI_ENABLE) GUICtrlSetState($Nouveau, $GUI_ENABLE) EndIf EndFunc
Func _FileWriteToLine2($sFile, $iLine, $sText, $fOverWrite = 0) If Not FileExists($sFile) Then FileWrite($sFile, @CRLF) EndIf Local $filtxt = FileRead($sFile, FileGetSize($sFile)) $filtxt = StringSplit($filtxt, @CRLF, 1) If $filtxt[0] < $iLine Then ReDim $filtxt[$iLine + 1] EndIf Local $fil = FileOpen($sFile, 2) For $i = 1 To UBound($filtxt) - 1 If $i = $iLine Then If $fOverWrite = 1 Then If $sText <> @CRLF Then If $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText & @CRLF) ElseIf $i = UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText) EndIf Else If $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText) EndIf EndIf EndIf If $fOverWrite = 0 Then If $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText & @CRLF) FileWrite($fil, $filtxt[$i] & @CRLF) ElseIf $i = UBound($filtxt, 1) - 1 Then FileWrite($fil, $sText & @CRLF) FileWrite($fil, $filtxt[$i]) EndIf EndIf ElseIf $i < UBound($filtxt, 1) - 1 Then FileWrite($fil, $filtxt[$i] & @CRLF) ElseIf $i = UBound($filtxt, 1) - 1 Then FileWrite($fil, $filtxt[$i]) EndIf Next FileClose($fil) Return 1 EndFunc ;==>_FileWriteToLine2
Func _FileReadToArray2($sFilePath, ByRef $aArray) Local $hFile $hFile = FileOpen($sFilePath, 0) If $hFile = -1 Then SetError(1) Return 0 EndIf $aArray = StringSplit(StringStripCR(FileRead($hFile, FileGetSize($sFilePath))), @CRLF) FileClose($hFile) Return 1 EndFunc ;==>_FileReadToArray2 |
Voilà, j'espère avoir fait mieux, cette fois ? Nouveauté de la version 1_6 bis : -> les noms de comptes sont sur 2 lignes, donc vous pouvez maintenant afficher un compte avec 38 caractères sans perte, et jusque 57 caractères visibles à moitié -> les boutons changent un ptit-peu d'apparence, mais rien de bien changé -> la fenêtre est maintenant redimensionnable, et les textes s'adaptent auto à la taille de la fenêtre
Et euuh... -> préparation en cours de la version 1_7 avec plein de choses super que j'annonce, mais qui ne seront pas dispoes avant l'an prochain. ^^
Voilà, toute question, remarque, retour de ce que vous aimeriez... Je prends. :p Merci d'avance !
Zamiza. |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 19 Nov - 23:49 | |
| Hop ! Pom pidoum pilonk blonk... Version 1_7 disponible ! La première dont j'sois vraiment fière, vu que : y'a pu de soucis de sécurité, y'a un chiffrement, maintenant. En gros, c'est simple : Le script vous demande un fichier qui contient/contiendra vos logs que vous entrerez/avez entrés, il les crypte, les stocke discrétos (cryptés) dans le fichier, et... ben, y'a plus qu'à cliquer, pour que ça marche. :p Y'a encore la suppression d'un compte à venir, mais le principal est fait ! Comment faire tourner DofusLog v1_7 ? La première fois : -> http://www.autoitscript.com/cgi-bin/getfile.pl?autoit3/autoit-v3-setup.exe ( tiré du site officiel ) -> Lancer SciTe ( c:\Program Files\ autoit3\SciTe\SciTe.exe ) -> copier ce qui est dans la balise Spoiler ci-dessous -> coller dans SciTe -> enregistrer sous le nom : (S'que vous voudrez) .au3À chaque fois : -> double-cliquer sur le fichier .au3 -> cliquer où il faut, et observer le script taper le texte choisit à votre place | Spoiler: | | | #include <GUIConstants.au3> ;Nécessaire surtout pour le $GUI_EVENT_CLOSE #include <String.au3> ;Pour l'encryptage
Dim $aLog [ 3 ] $fichier = FileOpenDialog ( @ScriptName & " - Sélectionnez ou créez un fichier contenant vos logs", @ScriptDir, "Text files (*.txt)|All files (*.*)", 8, "Log.txt" ) $existe = _FileReadToArray2 ( $fichier, $aLog ) $prgChemin = RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\Ankama\Dofus", "Path" ) Global $NbLignes = 2 Global $compte = 1 Global $FenBase Global $Label Global $Lancer Global $Modifier Global $Nouveau $Separ = 2 ;Séparateur, hauteur en pixels entre deux lignes Global $Ht = $Separ + 2 * 13 ;hauteur présumée par ligne ( 13 ) 1 * 13 pour 1 ligne, 2 * 13 pour 2, etc
If Not $existe Then Modifier ( 1, $fichier ) $compte = $NbLignes * ( $compte - 1 ) + 1 EndIf _FileReadToArray2 ( $fichier, $aLog ) Dim $Radio [ ( UBound ( $aLog ) + 1 ) / $NbLignes ] Fenetre ( ( UBound ( $aLog ) - 1 ) / $NbLignes )
While 1 $msg = GUIGetMsg () Switch $msg Case 0 ContinueLoop Case $GUI_EVENT_CLOSE GUIDelete ( $FenBase ) Exit Case $Modifier DesAct ( 1 ) Modifier ( $compte, $fichier ) Desact ( 0 ) GUICtrlSetData ( $Radio [ $compte ], $aLog [ ( $compte - 1 ) * $NbLignes + 1 ] ) Case $Nouveau ReDim $aLog [ UBound ( $aLog ) + $NbLignes ] DesAct ( 1 ) ReDim $Radio [ UBound ( $Radio ) + 1 ] Modifier ( UBound ( $Radio ) - 1 , $fichier ) GUIDelete ( $FenBase ) Fenetre ( ( UBound ( $aLog ) - 1 ) / $NbLignes ) Case $Radio [ 1 ] To $Radio [ UBound ( $Radio ) - 1 ] If $msg <> $Radio [ $compte ] Then GUICtrlSetPos ( $Radio [ $compte ], 5, 27 + ( ( $compte - 1 ) * $Ht ) ) While $msg <> $Radio [ $compte ] $compte += 1 If $compte > ( UBound ( $Radio ) - 1 ) Then $compte = 1 EndIf WEnd GUICtrlSetPos ( $Radio [ $compte ], 15, 30 + ( ( $compte - 1 ) * $Ht ) ) Else ContinueCase EndIf Case $Lancer DesAct ( 1 ) While 1 $compteBis = ( $compte - 1 ) * $NbLignes + 1 If StringInStr ( $aLog [ $compteBis + 1 ], "{TAB}" ) = 0 Then $aLog [ 0 ] = _StringEncrypt ( 0, $aLog [ $compteBis + 1 ], InputBox ( @ScriptName & " - Code du compte " & $aLog [ $compteBis ], "Veuillez entrer le mot de passe pour accéder au compte " & $aLog [ $compteBis ] & " :", "", "°M" ) ) If StringInStr ( $aLog [ 0 ], "{TAB}" ) = 0 Then DesAct ( 0 ) $aLog [ 0 ] = Int ( ( UBound ( $aLog ) + 1 ) / $NbLignes ) $compteBis = MsgBox ( 0x232, @ScriptName & " - Se Logguer", "Identification ratée." ) If $compteBis = 3 Then Exit If $compteBis = 4 Then ContinueLoop If $compteBis = 5 Then ContinueCase EndIf Else $aLog[ 0 ] = $aLog [ $compteBis + 1 ] EndIf ExitLoop WEnd $compte = ( $compte - 1 ) * $NbLignes + 1 $aLog [ $compte + 1 ] = $aLog [ 0 ] ExitLoop EndSwitch WEnd GUIDelete ( $FenBase )
If MsgBox ( 0x51, @Scriptname, "Lancement de la fenêtre Dofus !" & @CRLF & "Annuler pour fermer le script.", 2 ) = 2 Then Exit ;Annuler
ShellExecute ( "Dofus.exe", "", $prgChemin ) Do Do sleep ( 20 ) Until MouseGetCursor () = 5 If WinActive ( "Dofus" ) Then MouseClick ( "left" ) Sleep ( 20 ) Until WinActive ( "Dofus" ) WinSetTitle ( "Dofus", "", "Dofus - " & $aLog [ $compte ] ) Send ( $aLog [ $compte + 1 ] ) ;"login{tab}mdp"
Do sleep ( 20 ) $cur = MouseGetPos () Until ( ( MouseGetCursor () = 0 ) And ( PixelGetColor ( $cur [ 0 ], $cur [ 1 ] ) = 0xFF9900 ) ) MouseClick ( "left" )
;============================================================ Func Fenetre ( $tFen ) $FenBase = GUICreate ( @ScriptName, 201, 50 + $tFen * $Ht + 30, -1, -1, 0x70000 ) $Label = GUICtrlCreateLabel ( "Choisissez un compte à Logger :", 1, 5, -1, -1 ) $Boutons = GUIStartGroup () ;Séparation des groupes, en préparation ! $Lancer = GUICtrlCreateButton ( "Lancer !", 150, 18 + $Ht / 3 * $tFen , 48, 25 ) GUICtrlSetResizing ( $Lancer, 4 + 768 ) $Modifier = GUICtrlCreateButton ( "Modifier", 150, 33 + $tFen * $Ht, 48, 25, 0x8000 ) GUICtrlSetResizing ( $Modifier, 4 + 64 + 768 ) $Nouveau = GUICtrlCreateButton ( "Nouveau ", 1, 33 + $tFen * $Ht, -1, 25, 0x8000 ) GUICtrlSetResizing ( $Nouveau, 2 + 64 + 768 )
$compteBis = 1 While $compteBis < UBound ( $Radio ) $Radio [ $compteBis ] = GUICtrlCreateRadio ( $aLog [ ( $compteBis ) * $NbLignes - 1 ] & " .", 5, 27 + ( ( $compteBis - 1 ) * $Ht ), 135 - 136, $Ht - 3, 0x2000 ) GUICtrlSetData ( $Radio [ $compteBis ], $aLog [ ( $compteBis ) * $NbLignes - 1 ] ) GUICtrlSetResizing ( $Radio [ $compteBis ], 2 + 32 + 512 ) $compteBis += 1 WEnd GUICtrlSetState ( $Radio [ $compte ], 0x0001 ) GUICtrlSetPos ( $Radio [ $compte ], 15, 30 + ( $compte - 1 ) * $Ht ) GUISetState () EndFunc
Func Modifier ( $compteBis, $fich ) $compteBis = $NbLignes * ( $compteBis - 1 ) + 1 Do $aLog [ $compteBis ] = InputBox ( @ScriptName & " - Nouveau log", "Veuillez entrer un pseudonyme au compte :", $aLog [ $compteBis ], " M" ) If @Error = 1 Then Return Until $aLog [ $compteBis ] <> "" _FileWriteToLine2 ( $fichier, $compteBis, $aLog [ $compteBis ], 1 )
Do $aLog [ $compteBis + 1 ] = InputBox ( @ScriptName & " - Nom de compte " & $aLog [ $compteBis ], "Entrez le nom de compte associé au pseudonyme " & $aLog [ $compteBis ] & " :", "", " M" ) If @Error = 1 Then Return Until $aLog [ $compteBis + 1 ] <> "" $aLog [ $compteBis + 1 ] &= "{TAB}" Do $aLog [ 0 ] = InputBox ( @ScriptName & " - Mot de passe du compte " & $aLog [ $compteBis ], "Entrez le mot de passe du compte associé au pseudonyme " & $aLog [ $compteBis ] & " :", "", "°M" ) If @Error = 1 Then Return Until $aLog [ 0 ] <> "" $aLog [ $compteBis + 1 ] &= $aLog [ 0 ] $aLog [ $compteBis + 1 ] = _StringEncrypt ( 1, $aLog [ $compteBis + 1 ], InputBox ( @ScriptName & " - Mot de passe du pseudonyme " & $aLog [ $compteBis ], "Entrez un mot de passe pour utiliser le pseudonyme " & $aLog [ $compteBis ] & ", " & @CRLF & "Ou laissez tel-quel pour utilisation libre.", "", "°" ) ) _FileWriteToLine2 ( $fichier, $compteBis + 1, $aLog [ $compteBis + 1 ], 1 ) EndFunc
Func DesAct ( $Active ) If $Active = 1 Then GUICtrlSetState ( $Lancer, $GUI_DISABLE ) GUICtrlSetState ( $Modifier, $GUI_DISABLE ) GUICtrlSetState ( $Nouveau, $GUI_DISABLE ) Else GUICtrlSetState ( $Lancer, $GUI_ENABLE ) GUICtrlSetState ( $Modifier, $GUI_ENABLE ) GUICtrlSetState ( $Nouveau, $GUI_ENABLE ) EndIf EndFunc
Func _FileWriteToLine2 ( $sFile, $iLine, $sText, $fOverWrite = 0 ) If Not FileExists ( $sFile ) Then FileWrite ( $sFile, @CRLF ) Local $filtxt = FileRead ( $sFile, FileGetSize ( $sFile ) ) $filtxt = StringSplit ( $filtxt, @CRLF, 1 ) If $filtxt [ 0 ] < $iLine Then ReDim $filtxt [ $iLine + 1 ] Local $fil = FileOpen ( $sFile, 2 ) For $i = 1 To UBound ( $filtxt ) - 1 If $i = $iLine Then If $fOverWrite = 1 Then If $sText <> @CRLF Then If $i < UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $sText & @CRLF ) ElseIf $i = UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $sText ) EndIf Else If $i < UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $sText ) EndIf EndIf EndIf If $fOverWrite = 0 Then If $i < UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $sText & @CRLF ) FileWrite ( $fil, $filtxt [ $i ] & @CRLF ) ElseIf $i = UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $sText & @CRLF ) FileWrite ( $fil, $filtxt [ $i ] ) EndIf EndIf ElseIf $i < UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $filtxt [ $i ] & @CRLF ) ElseIf $i = UBound ( $filtxt, 1 ) - 1 Then FileWrite ( $fil, $filtxt [ $i ] ) EndIf Next FileClose ( $fil ) Return 1 EndFunc ;==>_FileWriteToLine2
Func _FileReadToArray2 ( $sFilePath, ByRef $aArray ) Local $hFile $hFile = FileOpen ( $sFilePath, 0 ) If $hFile = -1 Then SetError ( 1 ) Return 0 EndIf $aArray = StringSplit ( StringStripCR ( FileRead ( $hFile, FileGetSize ( $sFilePath ) ) ), @CRLF ) FileClose ( $hFile ) Return 1 EndFunc ;==>_FileReadToArray2 |
Quelles sont les précautions à prendre ? Ne pas laisser trainer n'importe quel fichier n'importe où, c'est dans tous les cas une chose à faire tout le temps. Penser à entrer un mot de pass pour le pseudonyme : ça permet de chiffrer les données, c'est (très) fortement conseillé. Ne pas stocker vos IDs en clair dans votre ordinateur, encore une chose "normale". (Même si moi, je le fais. Faites ce que je dis, pas ce que je fais ! :p)
Et euuh.. toujours pas de risque de se faire voler son compte à cause de ton truc ? Non, et c'est encore pour ça que je fournis le code source, au-lieu d'un simple fichier ".exe" compilé. Mais si vous en voulez une version compilée, au lieu d'enregistrer le fichier dans SciTe, vous pouvez faire "Tools" -> "Compile" (Ctrl + F7). Vous obtiendrez la même chose que si je le fais pour vous, sauf que là, vous êtes sûrs de ce que vous aurez compilé. 
Au plaisir ! (La fonction suppression de ligne et quelques trucs graphiques devraient arriver dans une version 1_7b ou 1_8 la prochaine fois que j'me motive. ^^)
Zamiza. |
|  | | WhiteLight V.I.P


Age: 20 Inscrit le: 26/02/2008 Messages: 339
 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Mer 19 Nov - 23:57 | |
| marche pas sous vista : c "HKEY_LOCAL_MACHINE\SOFTWARE\Ankama\Dofus c'est pas le meme chemin d'acces et je saurai pas te dire le bon ( si je le savais j'aurai moi meme modif ) |
|  | | Invité Invité

 | Sujet: Re: [DofusLog] Simplifiez vous la vie... Ven 21 Nov - 17:28 | |
| Mais si sa marche sous vista !
Dernière édition par Faca-guillotine le Lun 1 Déc - 22:07, édité 1 fois |
|  | | | | [DofusLog] Simplifiez vous la vie... | |
|
| Page 1 sur 2 | Aller à la page : 1, 2  |
| | Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |
|