Bonjour,
Merci beaucoup pour cette fonctionnalité.
A la place de rajouter du code brut dans toolkit.au3 je te propose de faire une nouvelle fonction à ajouter dans la nouvelle librairie FTP.au3.
Ajout de la fonction _FTPLog dans FTP.au3 :
Func _FTPLog($Totalruns, $Death, $ItemToStash, $ItemToSell, $GOLDInthepocket, $GOLDMOYbyH, $Xp_Total, $Xp_Moy_Hrs, $time_Xp, $timer_stat_total, $disconnectcount)
$server = IniRead("settings.ini","log info","server","")
$username = IniRead("settings.ini","log info","user","")
$pass = IniRead("settings.ini","log info","mdp","")
$pseudo = IniRead("settings.ini","log info","pseudo","")
;ConsoleWrite(@MDAY & "/" & @MON & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & " | " & "Ecriture du fichier de log" & @CRLF)
IniWrite("stats/"&$pseudo&"_log.ini","run info","run",$Totalruns)
IniWrite("stats/"&$pseudo&"_log.ini","run info","mort",$Death)
IniWrite("stats/"&$pseudo&"_log.ini","run info","stock",$ItemToStash)
IniWrite("stats/"&$pseudo&"_log.ini","run info","vente",$ItemToSell)
IniWrite("stats/"&$pseudo&"_log.ini","run info","gold_total",$GOLDInthepocket)
IniWrite("stats/"&$pseudo&"_log.ini","run info","gold_heure",Ceiling($GOLDMOYbyH))
IniWrite("stats/"&$pseudo&"_log.ini","run info","xp_total",Int($Xp_Total / 1000) / 1000 &" M")
IniWrite("stats/"&$pseudo&"_log.ini","run info","xp_heure",Int($Xp_Moy_Hrs / 1000)&" M")
IniWrite("stats/"&$pseudo&"_log.ini","run info","prochain_niveau",$time_Xp)
IniWrite("stats/"&$pseudo&"_log.ini","run info","duree_total",$timer_stat_total)
IniWrite("stats/"&$pseudo&"_log.ini","run info","deco",$disconnectcount)
;ConsoleWrite(@MDAY & "/" & @MON & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & " | " & "Envoi du log" & @CRLF)
;envoi du log
$Open = _FTPOpen('MyFTP Control')
$Conn = _FTPConnect($Open, $server, $username, $pass)
$Ftpp = _FtpPutFile($Conn, 'stats/'&$pseudo&'_log.ini', $pseudo&'_log.ini')
$Ftpc = _FTPClose($Open)
EndFunc;Il ne reste plus qu'a appeler cette fonction dans toolkit.au3 tels que :
_FTPLog($Totalruns, $Death, $ItemToStash, $ItemToSell, $GOLDInthepocket, $GOLDMOYbyH, $Xp_Total, $Xp_Moy_Hrs, $time_Xp, $timer_stat_total, $disconnectcount)
Pour aller encore plus loin, il n'est pas nécéssaire de lire le settings.ini à chaque début de run. Une seule foi suffit, pour cela on peut :
Creer un nouveau fichier de constantes "constants_FTP.au3" dans le répertoire lib.#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
global $ftpServer
global $ftpUsername
global $ftpPass
global $ftpPseudo
Inclure ce nouveau fichier dans "main.au3"#include "lib\constants_FTP.au3"
Ajouter la fonction _FTPIniRead() dans FTP.au3Func _FTPIniRead($profilFile)
$ftpServer = IniRead($profilFile,"log info","server","")
$ftpUsername = IniRead($profilFile,"log info","user","")
$ftpPass = IniRead($profilFile,"log info","mdp","")
$ftpPseudo = IniRead($profilFile,"log info","pseudo","")
If $ftpServer == "" OR $ftpUsername == "" OR $ftpPass == "" OR $ftpPseudo == "" Then
MsgBox(0, "Erreur Settings.ini", "Erreur, une variable de la partie log info est vide. Veuillez modifier le settings.ini")
Terminate()
Endif
EndFuncModifier la fonction loadConfigs dans settings.au3 en ajoutant à la fin :_FTPIniRead($profilFile)
Et enfin Modifier la fonction initiale en enlevant la partie concernant le settings.ini :Func _FTPLog($Totalruns, $Death, $ItemToStash, $ItemToSell, $GOLDInthepocket, $GOLDMOYbyH, $Xp_Total, $Xp_Moy_Hrs, $time_Xp, $timer_stat_total, $disconnectcount)
;Ecriture du log
ConsoleWrite(@MDAY & "/" & @MON & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & " | " & "Ecriture du fichier de log" & @CRLF)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","run",$Totalruns)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","mort",$Death)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","stock",$ItemToStash)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","vente",$ItemToSell)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","gold_total",$GOLDInthepocket)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","gold_heure",Ceiling($GOLDMOYbyH))
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","xp_total",Int($Xp_Total / 1000) / 1000 &" M")
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","xp_heure",Int($Xp_Moy_Hrs / 1000)&" M")
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","prochain_niveau",$time_Xp)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","duree_total",$timer_stat_total)
IniWrite("stats/"&$ftpPseudo&"_log.ini","run info","deco",$disconnectcount)
ConsoleWrite(@MDAY & "/" & @MON & "/" & @YEAR & " " & @HOUR & ":" & @MIN & ":" & @SEC & " | " & "Envoi du log" & @CRLF)
;Envoi du log
$Open = _FTPOpen('MyFTP Control')
$Conn = _FTPConnect($Open, $ftpServer, $ftpUsername, $ftpPass)
$Ftpp = _FtpPutFile($Conn, 'stats/'&$ftpPseudo&'_log.ini', $ftpPseudo&'_log.ini')
$Ftpc = _FTPClose($Open)
EndFunc;