ptit soulier verni |
Voir le profil public |
Trouver plus de messages par ptit soulier verni |
Aller à la page... |
AIO-Log, script de connexion à Dofus [windows]
Suivre Fil fermé |
|
Partager | Rechercher |
|
Tu peux poster le code source ?
|
![]() |
|
ptit soulier verni |
Voir le profil public |
Trouver plus de messages par ptit soulier verni |
|
Citation :
|
![]() |
|
|
Ha ouais trop utile
![]() Nan, je déconne. |
![]() |
|
|
|
![]() |
|
|
Oui, il faut faire manuellement le passage de la souris sur la zone de texte. Mais c'est voulut.
Oulààààh, ça fait un bail que j'suis pas repassée par ici, moi ! Bon alors, que dire... Les versions se sont enchaînées, et ne se ressemblent pas. ^^ J'en suis à la version 1_7, qui donne actuellement.. Une énorme différence avec les anciennes. J'attends encore de faire une commande ou deux pour passer à la 2_x. Donc, voilà le code : Code:
#include <GUIConstants.au3> #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 ( "^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 ] ) = 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 J'ai trouvé l'encryptage dans les entrailles d'auto-it3, donc je l'utilise. ^^ (Merci à Wes Wolfe-Wolvereness, auteur de la fonction "_StringEncrypt" !) Voici comment fonctionne ce -long- script : Il demande l'emplacement qui contient (ou contiendra) le fichier nommé "Log.txt" de base. (Je sais, c'est nul comme nom, mais changez-le à votre guise. ^^) Il recherche par défaut dans le répertoire où se trouve le script (@Scriptdir), vous pouvez changer ça aussi. Si il l'a trouvé, il passe directement à l'affichage d'une liste de vos comptes, il ne vous reste plus qu'à choisir celui que vous souhaitez connecter, entrer la clef de décryptage si besoin, et passer votre souris sur la zone "nom de compte" et le bouton "ok". Si il n'a pas trouvé le fichier, ou que vous en avez créé un nouveau (oui, c'est faisable), alors il vous demande le surnom du compte, le login, le mot de pass, eeeeeet ! la clef de chiffrement de ces deux derniers. ![]() Il est donc maintenant beaucoup plus dur (voire impossible) de lire ce qui est écrit dans le fichier de log ! La suite reste identique, il affiche la liste des comptes trouvés dans le fichier, et connecte celui que vous avez choisit. Voilààà, j'attendais avec impatience de trouver ce satané chiffrement avant de sortir une nouvelle version de DofusLog ! Toujours pas de vols de comptes en vue de ma part, je ne récupères toujours pas vos identifiants grâce à ce script, et vous êtes toujours seuls responsables de l'utilisation que vous faites du script ainsi que d'Auto-It. ![]() /!\ Nouveauté ! /!\ Mode d'emploi : - Installer AutoIt3 (nécessaire), téléchargeable ici (site officiel : http://www.autoitscript.com/autoit3/downloads.shtml) (Assurez-vous de sélectionner le bouton par défaut "run script" avec un double-clic à la fin de l'installation.) - Lancer SciTe (C:\Program Files\AutoIt3\SciTE\SciTe.exe) (C'est comme le bloc-notes de Windows, mais en mieux ^^) - Copiez ce qui est dans la balise 'Code' de ce message (c'est le script) - Collez-le dans la page blanche de SciTe - Enregistrez le script où vous voulez, sous le nom que vous voulez ".au3". (À préciser sous Windows Vista, le .au3) - Fermez SciTe. (Vous n'aurez plus jamais besoin de lui, sauf pour une nouvelle version du script !) - Double-cliquez sur votre script ".au3" (le chose que vous avez sauvegardé juste avant). Voilà, vous savez tout. Maintenant, la suite, ce qui est prévu/pour lequel j'ai besoin d'aide : - Supprimer une ligne particulière du fichier de logs (par exemple, un vieux compte inutilisé, ou un essai foiré) - Regrouper les radios par groupe, pour permettre de garder le focus sur eux seuls - Améliorer toujours la sécurité (il me semble que y'a un truc pas encore cool, j'y travaille déjà pour l'améliorer dans une version 1_7b ou 1_8) - Tout autre chose que vous aimeriez voir, et à quoi je n'ai pas pensé (par exemple, pouvoir connecter plusieurs comptes de suite, et -pourquoi pas ?- dans un ordre choisit). N'hésitez pas à me faire de report de bugs ici ou en MP, j'attends vos commentaires avec impatience ! Information sur la sécurité : Ayant maintenant un chiffrement, cette version de DofusLog est "propre" à la consommation. Mais ne laissez jamais trainer le fichier contenant les logs n'importe-où, question de principe ! Dofusément vôtre, Za. |
![]() |
|
|
le concept est sympa mais c'est une vraie usine à gaz pour un gain bien infime en fin de compte : moi je fais un copier/coller du pass et puis voilà ...
|
![]() |
|
|
Citation :
![]() Edit au dessus : merci, z'ai la preuve que Dremis c't'une mulaa naah thanks <3 |
![]() |
|
|
Hoy les gens c'est re-moi !
Comme j'suis un-peu égoïste, j'ai filé le script à ma guilde principale en preums ici, mais ne vous inquiétez pas, je vous le transmets aussi. ![]() D'abord, l'avancement de la version 1_8, et ce que j'ai fait : -> Supression d'une ligne dans les logs (Qui font que les anciens deviennent useless.. Il faut les re-faire entièrement. Un jour, j'aurai un Updater.. Un jour.) -> Menu d'options pour faire comme les boutons (mais dans un menu, smieux.) -> Menu de Fichier pour changer de fichier (au cas où s'que vous vous seriez gourés.) -> Désactivation de la vérification de la bonne clef de cryptage (ouais, si vous vous trompez, y'a pu de vérification, bien fait pour vous !) -> Plus discret, mais j'ai mit de l'ordre dans le script, c'est mieux présenté (enfin, 'faut le dire vite, huhu). Et ensuite, amélioration de la release : Je fournis un lien MegaUpload vers la version compilée (vous aurez juste un seul truc à lancer), un autre lien vers la version non-compilée (nécessitera AutoIt 3) et le code source ici toujours. Pour ceux qui voudront vérifier et être sûrs du contenu du script, même technique qu'avant : vous copiez ce qui est dans la balise [ code]-[/code] ci-dessous, et collez dans Sci-Te, puis lancez le script sauvegardé. P.S : La version 1_9 est aussi en préparation, mais j'ai la flemme de faire ça pour la 1_8 : -> sauvegarde de certaines préférences (pas trop d'idée encore lesquelles, mais ça viendra !) -> ajout d'une possibilité (à voir encore) pour pouvoir connecter plusieurs comptes en "une" fois (une seule sélection de 3 comptes, pour connecter les 3 comptes un après l'autre) Et plein d'autres trucs. (Vi, je déborde d'imagination, je sais.) Pour vous donner une idée de la tête que ça prend, voici chez moi : ![]() Lien en téléchargement : Attention, ces versions 1_8 ont un soucis de suppression, il est déconseillé d'utiliser la fonction "supprimer" avant la 1_9. Désolée. Version compilée (vous téléchargez, vous exécutez, et vous admirez. n_n) : DofusLog 1_8.exe - 260.69 KB Version script (nécessite toujours auto-it 3 ^^) : DofusLog 1_8.au3 - 11.53 KB Et le code entier (à copier-coller dans Sci-Te) : (Bug du suppression corrigé ici) Code:
;Dernières modif' : Rien pour le moment. n_n #include <GUIConstants.au3> ;Nécessaire surtout pour le $GUI_EVENT_CLOSE #include <String.au3> ;Pour l'encryptage ;~ #include <File.au3> ;~ #include <Array.au3> Global $fichier, $prgChemin, $FenBase, $Label, $Lancer, $OLancer, $Modifier, $OModifier, $Nouveau, $ONouveau, $Supprimer, $OSupprimer, $Boutons, $Options, $Fichiers, $FNouv, $FCharge, $FQuit, $aLog, $Radio Global $NbLignes = 2 ;Nombre de lignes utilisées par entrée dans le fichier de Log Global $compte = 1 Global $Separ = 10 ;Séparateur, hauteur en pixels entre deux lignes Global $Hligne = 13 ;hauteur présumée par ligne ( 13 pixels de haut ) Global $Ht = $Separ + 1 * $Hligne Global $msg Charge () While 1 $msg = GUIGetMsg () Switch $msg Case 0 ContinueLoop Case $GUI_EVENT_CLOSE, $FQuit GUIDelete ( $FenBase ) Exit Case $Radio [ 1 ] To $Radio [ UBound ( $Radio ) - 1 ] FRadio () Case $Modifier, $OModifier FModifier() Case $Nouveau, $ONouveau FNouveau() Case $Supprimer, $OSupprimer FSupprimer () Case $Lancer, $OLancer FLancer () Case $FNouv, $FCharge GUIDelete ( $FenBase ) Charge () EndSwitch WEnd ;==============================Fonctions totalement créées par Za==================================== Func Charge () Do $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" ;Juste pour moi. ^^ If $fichier = "" Then Exit ;Ok, c'est violent, mais bon.. ^^ Until $fichier <> "" Dim $aLog [ 3 ] $existe = _FileReadToArray2 ( $fichier, $aLog ) $prgChemin = RegRead ( "HKEY_LOCAL_MACHINE\SOFTWARE\Ankama\Dofus", "Path" ) If Not $existe Then Modifier ( 1, $fichier ) EndIf _FileReadToArray2 ( $fichier, $aLog ) Dim $Radio [ ( UBound ( $aLog ) + 1 ) / $NbLignes ] Fenetre ( ( UBound ( $aLog ) - 1 ) / $NbLignes ) EndFunc Func Fenetre ( $tFen ) $FenBase = GUICreate ( @ScriptName, 201, 19 + 50 + $tFen * $Ht + 30, -1, -1, 0x70000 ) $Label = GUICtrlCreateLabel ( "Choisissez un compte à Logger :", 1, 5, -1, -1 ) ;~ GUICtrlSetResizing ( $Label, 2 + 32 + 512 ) $Boutons = GUIStartGroup ( $FenBase ) ;Séparation des groupes, en préparation ! -utile pour la boucle de focus $Lancer = GUICtrlCreateButton ( "Lancer !", 150, 18 + $Ht / 3 * $tFen , 47, 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 ) $Supprimer = GUICTRLCreateButton ( "Supprimer", 75, 33 + $tFen * $Ht, -1, 25, 0x8000 ) GUICtrlSetResizing ( $Supprimer, 8 + 64 + 768 ) $Fichiers = GUICtrlCreateMenu ( "Fichier", -1, 0 ) $FNouv = GUICtrlCreateMenuItem ( "Nouveau", $Fichiers, 0 ) $FCharge = GUICtrlCreateMenuItem ( "Charger", $Fichiers, 1 ) $FLigneVide = GUICtrlCreateMenuItem ( "", $Fichiers, 2 ) $FQuit = GUICtrlCreateMenuItem ( "Quitter", $Fichiers, 3 ) $Options = GUICtrlCreateMenu ( "Options", -1, 1 ) $OLancer = GUICtrlCreateMenuItem ( "Lancer !", $Options, 0 ) $ONouveau = GUICtrlCreateMenuItem ( "Nouveau", $Options, 1 ) $OModifier = GUICtrlCreateMenuItem ( "Modifier", $Options, 2 ) $OSupprimer = GUICtrlCreateMenuItem ( "Supprimer", $Options, 3 ) ;~ $Radios = GUIStartGroup ( $Boutons ) $compteBis = 1 ;~ _ArrayDisplay( $Radio, "$Radio" ) While $compteBis < ( UBound ( $aLog ) ) / $NbLignes $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 () DesAct () EndFunc Func DesAct ( $Active = 0 ) ;Réactive les boutons par défaut If $Active = 1 Then GUICtrlSetState ( $Lancer, $GUI_DISABLE ) GUICtrlSetState ( $Modifier, $GUI_DISABLE ) GUICtrlSetState ( $Nouveau, $GUI_DISABLE ) GUICtrlSetState ( $Supprimer, $GUI_DISABLE ) GUICtrlSetState ( $Options, $GUI_DISABLE ) GUICtrlSetState ( $Fichiers, $GUI_DISABLE ) Else GUICtrlSetState ( $Lancer, $GUI_ENABLE ) GUICtrlSetState ( $Modifier, $GUI_ENABLE ) GUICtrlSetState ( $Nouveau, $GUI_ENABLE ) GUICtrlSetState ( $Supprimer, $GUI_ENABLE ) GUICtrlSetState ( $Options, $GUI_ENABLE ) GUICtrlSetState ( $Fichiers, $GUI_ENABLE ) EndIf If ( UBound ( $aLog ) - 1 ) / $NbLignes < 2 Then GUICtrlSetState ( $Supprimer, $GUI_DISABLE ) GUICtrlSetState ( $OSupprimer, $GUI_DISABLE ) EndIf EndFunc Func FSupprimer () If MsgBox ( 0x51, @ScriptName & " - Suppression", "Souhaitez-vous vraiment détruire cette entrée ?" ) = 2 Then Return DesAct ( 1 ) $ligne = $compte * $NbLignes + 1 ;Correctif pour la suppression While $ligne < UBound ( $aLog ) $aLog [ $ligne - $NbLignes ] = $aLog [ $ligne ] $ligne += 1 WEnd ReDim $aLog [ UBound ( $aLog ) - $NbLignes ] ReDim $Radio [ UBound ( $Radio ) - 1 ] If $compte > ( UBound ( $aLog ) - 1 ) / $NbLignes Then $compte -= 1 _FileWriteFromArray2 ( $fichier, $aLog, 1, UBound ( $aLog ) - 1 ) GUIDelete ( $FenBase ) Fenetre ( ( UBound ( $aLog ) - 1 ) / $NbLignes ) EndFunc Func FModifier () DesAct ( 1 ) If Modifier ( $compte, $fichier ) Then GUIDelete ( $FenBase ) Fenetre ( ( UBound ( $aLog ) - 1 ) / $NbLignes ) Else Desact () EndIf EndFunc Func FNouveau () DesAct ( 1 ) ReDim $aLog [ UBound ( $aLog ) + $NbLignes ] ReDim $Radio [ UBound ( $Radio ) + 1 ] If Modifier ( ( ( UBound ( $aLog ) - 1 ) / $NbLignes ) , $fichier ) Then GUIDelete ( $FenBase ) Fenetre ( ( UBound ( $aLog ) - 1 ) / $NbLignes ) Else ReDim $aLog [ UBound ( $aLog ) - $NbLignes ] ReDim $Radio [ UBound ( $Radio ) - 1 ] EndIf DesAct () EndFunc Func Modifier ( $compteBis, $fich ) $compteBis = $NbLignes * ( $compteBis - 1 ) + 1 Local $FenetreModif = GUICreate ( @ScriptName, 200, $HLigne * 12 ) Local $LabelSurnom = GUICtrlCreateLabel ( "Veuillez entrer un" & @CRLF & " pseudonyme :", 0, 0 ) Local $LabelClef = GUICtrlCreateLabel ( @CRLF & "Clef de cyptage :", 120, 0 ) Local $LabelNDC = GUICtrlCreateLabel ( "Veuillez entrer le nom du compte Dofus :", 0, $Hligne * 4 ) Local $LabelMDP = GUICtrlCreateLabel ( "Veuillez entrer le mot de pass associé :", 0, $Hligne * 7 ) Local $InputPseudo = GUICtrlCreateInput ( $aLog [ $compteBis ] , 2, $Hligne * 2, 125 ) Local $InputClef = GUICtrlCreateInput ( "", 149, $Hligne * 2, 50) Local $InputNDC = GUICtrlCreateInput ( "", 2, $Hligne * 5, 196 ) Local $InputMDP = GUICtrlCreateInput ( "", 2, $Hligne * 8, 196 ) Local $BValide = GUICtrlCreateButton ( "Valider", 2, $Hligne * 10 ) Local $BAnnule = GUICtrlCreateButton ( "Annuler", 100, $Hligne * 10 ) GUISetState () While 1 $Mmsg = GUIGetMsg () Switch $Mmsg Case 0 ContinueLoop Case $GUI_EVENT_CLOSE GUIDelete ( $FenetreModif ) Return 0 Case $BAnnule GUIDelete ( $FenetreModif ) Return 0 Case $BValide If MsgBox ( 0x51, @ScriptName & " - Modifications", "Attention, vous vous apprêtez à" & @CRLF & "modifier définitivement ces données." & @CRLF & "Êtes-vous sûr ?") = 2 Then Return 0 If GUICtrlRead ( $InputPseudo ) <> "" Then $aLog [ $compteBis ] = GUICtrlRead ( $InputPseudo, 0 ) _FileWriteToLine2 ( $fichier, $compteBis, $aLog [ $compteBis ], 1 ) If GUICtrlRead ( $InputNDC ) <> "" and GUICtrlRead ( $InputMDP ) <> "" Then If GUICtrlRead ( $InputClef ) = "" Then $aLog [ $compteBis + 1 ] = GUICtrlRead ( $InputNDC ) & "{TAB}" & GUICtrlRead ( $InputMDP ) Else $aLog [ $compteBis + 1 ] = _StringEncrypt ( 1, GUICtrlRead ( $InputNDC ), GUICtrlRead ( $InputClef ) ) & "{TAB}" & _StringEncrypt ( 1, GUICtrlRead ( $InputMDP ), GUICtrlRead ( $InputClef ) ) EndIf _FileWriteToLine2 ( $fichier, $compteBis + 1, $aLog [ $compteBis + 1], 1 ) EndIf EndIf GUIDelete ( $FenetreModif ) Return 1 EndSwitch WEnd EndFunc Func FRadio () 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 FLancer () EndIf EndFunc Func FLancer () DesAct ( 1 ) Local $compteBis = ( $compte - 1 ) * $NbLignes + 1 ;~ If StringInStr ( $aLog [ $compteBis +1 ], "[TAB}" ) = 0 Then Return ;vérif alakon, à faire pour la prochaine version ^^ Local $Clef = InputBox ( @ScriptName & " - Code du compte " & $aLog [ $compteBis ], "Veuillez entrer la clef de " & $aLog [ $compteBis ] & " :", "", "°" ) Local $NDCMDP = StringSplit ( $aLog [ $compteBis + 1 ], "{TAB}", 1 ) If $Clef <> "" Then $NDCMDP [ 1 ] = _StringEncrypt ( 0, $NDCMDP [ 1 ], $Clef ) $NDCMDP [ 2 ] = _StringEncrypt ( 0, $NDCMDP [ 2 ], $Clef ) EndIf If MsgBox ( 0x51, @ScriptName, "Lancement de la fenêtre Dofus !" & @CRLF & "Cliquez sur Annuler pour fermer.", 2 ) <> 2 Then 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 [ $compteBis ] ) ;~ Send ( "^f" ) ;Mode "plein écran" Send ( $NDCMDP [ 1 ], 1 ) Send ( "{TAB}" ) Send ( $NDCMDP [ 2 ], 1 ) Do sleep ( 50 ) $cur = MouseGetPos () Until ( ( MouseGetCursor () = 0 ) And ( PixelGetColor ( $cur [ 0 ], $cur [ 1 ] ) = 0xFF9900 ) ) MouseClick ( "left" ) EndIf DesAct () EndFunc ;==========================Fonctions AutoIt 3 modifiées======================================== 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 ), $i 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 _FileWriteFromArray2 ( $File, $a_Array, $i_Base = 0, $i_UBound = -1 ) ; Open output file for overwrite by default, or use input file handle if passed Local $hFile, $x If IsString ( $File ) Then $hFile = FileOpen ( $File, 2 ) Else $hFile = $File EndIf If $hFile = -1 Then Return SetError ( 1, 0, 0 ) If $i_UBound < 1 Then $i_UBound = UBound ( $a_Array ) ; Write array data to file $x = $i_Base Do FileWrite ( $hFile, $a_Array [ $x ] & @CRLF ) $x += 1 Until $x = $i_UBound FileWrite ( $hFile, $a_Array [ $i_UBound ] ) ; Close file only if specified by a string path If IsString ( $File ) Then FileClose ( $hFile ) EndFunc ;==>_FileWriteFromArray2 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 Et n'hésitez pas à me faire vos retours de commentaires. ![]() Dofusément, Za. |
![]() |
|
|
J'ai comme l'impression que ton truc ne fonctionne pas avec les mots de passe avec des virgules/points.
|
![]() |
|
Elideskadesri [Jiva] |
Voir le profil public |
Trouver plus de messages par Elideskadesri [Jiva] |
Suivre Fil fermé |
Connectés sur ce fil1 connecté (0 membre et 1 invité)
Afficher la liste détaillée des connectés
|