[DofusLog] Simplifiez vous la vie...
+2
Jorkan
ExiTeD
6 participants
Page 1 sur 2
Page 1 sur 2 • 1, 2
[DofusLog] Simplifiez vous la vie...
[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.
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 Lun 27 Oct 2008 - 0:47, édité 1 fois
Re: [DofusLog] Simplifiez vous la vie...
Il parait super sympa ton programme, donc ça m'intéresse et je te le fais savoir, hé hé.
Jorkan- V.I.P.
- Age : 36
Inscrit le : 16/04/2008
Messages : 470
Re: [DofusLog] Simplifiez vous la vie...
Tu sais bien sur qu'il me faut absolument ce programme hein, mais je le poste, on ne sais jamais que tu l'oublies :cyclops:
Il casse tout, je l'aime déjà.
Il casse tout, je l'aime déjà.
Bakisu- Inspiré
- Age : 34
Inscrit le : 30/06/2008
Messages : 29
Re: [DofusLog] Simplifiez vous la vie...
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
Re: [DofusLog] Simplifiez vous la vie...
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 §§§
Re: [DofusLog] Simplifiez vous la vie...
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 ?
Miss-Cam- Poète
- Inscrit le : 10/11/2007
Messages : 52
Re: [DofusLog] Simplifiez vous la vie...
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.
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.
Re: [DofusLog] Simplifiez vous la vie...
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 ^^ .
Nan mais plus sérieusement c'est pas nécessaire je pense ^^ .
Jorkan- V.I.P.
- Age : 36
Inscrit le : 16/04/2008
Messages : 470
Re: [DofusLog] Simplifiez vous la vie...
C'était une simple question pour les personnes qui voudraient l'utiliser.
Miss-Cam- Poète
- Inscrit le : 10/11/2007
Messages : 52
Re: [DofusLog] Simplifiez vous la vie...
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 ! :king:
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,
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 ! :king:
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 2009 - 11:10, édité 1 fois
Re: [DofusLog] Simplifiez vous la vie...
Idem tout fonctionne à la perfection un grand merci Exi ^^.
Jorkan- V.I.P.
- Age : 36
Inscrit le : 16/04/2008
Messages : 470
Re: [DofusLog] Simplifiez vous la vie...
(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 :
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. ^^
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
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é
Re: [DofusLog] Simplifiez vous la vie...
Pareil n_n give me et t'aura a le droit a ceci ...
*tend un ticket "nuitée aux mille délices 'vec vonny."*
*tend un ticket "nuitée aux mille délices 'vec vonny."*
Invité- Invité
Re: [DofusLog] Simplifiez vous la vie...
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...
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.
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é
Re: [DofusLog] Simplifiez vous la vie...
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
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.
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.
Invité- Invité
Re: [DofusLog] Simplifiez vous la vie...
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 )
"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 )
Re: [DofusLog] Simplifiez vous la vie...
Mais si sa marche sous vista !
Dernière édition par Faca-guillotine le Mar 2 Déc 2008 - 0:07, édité 1 fois
Invité- Invité
Re: [DofusLog] Simplifiez vous la vie...
J'ai un probléme au moment d'ouvrir le fichier "Log" une fenêtre d'erreur s'ouvre et me dit :
Une solution ?
Line -1:
Error: Array variable has incorrect number of subscripts or subscript dimension range exeeded
Une solution ?
Invité- Invité
Re: [DofusLog] Simplifiez vous la vie...
si tu me dis quand est ce que cette erreure apparait , je pourrais surement t'aider.
Re: [DofusLog] Simplifiez vous la vie...
dés que je démarre dofusLog je dois "Prendre" le fichier Log dans mes documents, le message d'erreur apparait.
Invité- Invité
Re: [DofusLog] Simplifiez vous la vie...
Hoy les gens c'est re-moi !
Désolée de ne pas être passée plus tôt par ici. ^^'
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 :
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) :
Et n'hésitez pas à me faire vos retours de commentaires.
Dofusément,
Za.
Désolée de ne pas être passée plus tôt par ici. ^^'
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 :
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) :
- Spoiler:
- ;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
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.
Invité- Invité
Page 1 sur 2 • 1, 2
Sujets similaires
» Etes-vous gay ?
» Rendez-vous a ne pas manquer!
» Vous voulez un SLIP ???
» je sais que vous kiffez les jeualacon
» Rendez-vous a ne pas manquer!
» Vous voulez un SLIP ???
» je sais que vous kiffez les jeualacon
Page 1 sur 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum