Salut,
voila un exemple de script qui devrait marcher :
Code : Tout sélectionner
#include <mysql.au3>
#include <Crypt.au3>
;Variables à la fin d'un jeux (la premiere valeur de chaque sous array correspond au nom de la colone
Local $Data[3][2] = [["Joueur", "TT22"], ["Score", "9392423993"], ["Jeux", "rami"]]
Local $i, $j
For $i = 0 to UBound( $Data, 1) - 1
For $j = 0 to UBound($Data, 2) - 1
ConsoleWrite("$Data[" & $i & "][" & $j & "]:=" & $Data[$i][$j] & @LF)
Next
ConsoleWrite(@LF)
Next
;Ceci peut se formuler plus clairement :
; $Joueur[2] = ["Joueur", "TT22"]
; $Score[2] = ["Score", "9392423993"]
; $Jeux[2] = ["Jeux", "rami"]
;----------------------------------------------
;Les noms des colonnes :
Local $iMax=3
Local $i
Local $row[$iMax] = [$Data[1][1], $Data[2][1], $Data[3][1]]
For $i = 0 to $iMax - 1
ConsoleWrite($row[$i] & @LF)
Next
Local $iMax=3
Local $i
Local $value[$iMax] = [$Data[1][2], $Data[2][2], $Data[3][2]]
For $i = 0 to $iMax - 1
ConsoleWrite($value[$i] & @LF)
Next
;A noter que l'on aurait put définir directement les array $row et $value, mais l'array $data peut parfois etre utile,
;pour un affichage dans le jeux par exemple
;Paramêtres de la BDD MySql
$username = "root" ;==> Nom d'utilisateur de la BDD
$password = "xxxx" ;==> Mot de passe de la BDD
$database = "jeux" ;==> Nom de la base de données
$server = "sql.zoulou.com" ;==> Accès sql de l'hebergeur
$table = "score" ;==> La table de scores
;-----parametre du script-----
;Deux solution pour eviter les triches : $encrypt permet de crypter le score
;Et il sera donc stocké sous forme cryptée sur la BDD
;$vKey permet d'envoyer une clée de verification contenant un mix des différentes informations,
;les données ne seront pas sous forme crypté sur la BDD
$crypt_pass = "BravoEcho" ;==> Clée de cryptage; doit être utilisée pour le décryptage aussi
$encrypt = False ;True pour activer l'encryption, False pour ne pas l'activer
If $encrypt = True Then
;_Crypt_Startup() -- n'est plus néssécaire
$hashpass = _Crypt_DeriveKey($crypt_pass, $CALG_AES_256)
$value[2] = _Crypt_EncryptData($value[2], $crypt_pass, $CALG_USERKEY)
_Crypt_DestroyKey($crypt_pass)
;_Crypt_Shutdown()
EndIf
$vKey = False
If $vKey = True Then
$key = StringLeft($value[1], 2)&StringLeft($value[2],2)&StringRight($value[2],2)&StringLeft($value[3],3)
$hashpass = _Crypt_DeriveKey($crypt_pass, $CALG_AES_256)
$key = _Crypt_EncryptData($key, $crypt_pass, $CALG_USERKEY)
_Crypt_DestroyKey($crypt_pass)
EndIf
;Connection à la BDD
$MySqlConn = _MySQLConnect($username, $password, $database, $server)
Switch @error
Case 2
MsgBox(16, "Driver non présent", "Le driver MySql ODBC n'est pas présent sur cet ordinateur")
Case 1
For $i = 1 to 4 ;Boucle de ré-éssai
Sleep(500)
$MySqlConn = _MySQLConnect($username, $password, $database, $server)
If $MySqlConn <> 0 Then
ExitLoop
EndIf
Next
If $MySqlConn = 0 Then
MsgBox(16, "Erreur", "Connection à la base de donnée impossible, verifiez votre connexion internet...")
EndIf
EndSwitch
;Requete
$result = _AddRecord($MySqlConn, $table, $row, $value)
If $result = 0 Then ;Ou If @error = 2, dans ce cas, pas besoin de la variable $result
$result = _Query($MySqlConn, "INSERT INTO "&$table&"("&$row[1]&", "&$row[2]&", "&$row[3]&") VALUES("&$value[1]&", "&$value[2]&", "&$value[3]&")")
If $result = 0 Then ;Ou If @error = 1, dans ce cas, pas besoin de la variable $result
MsgBox(16, "Erreur", "Le score n'a pas pus être envoyé, verifiez votre connexion internet...")
EndIf
EndIf
;vKey Si "True"
If $vKey = True Then
$result = _AddRecord($MySqlConn, $table, "vKey", $key)
If $result = 0 Then ;Ou If @error = 2, dans ce cas, pas besoin de la variable $result
$result = _Query($MySqlConn, "INSERT INTO "&$table&"(vKey) VALUES("&$key&")")
If $result = 0 Then ;Ou If @error = 1, dans ce cas, pas besoin de la variable $result
MsgBox(16, "Erreur", "Le score n'a pas pus être envoyé, verifiez votre connexion internet...")
EndIf
EndIf
EndIf
;Fermeture de la connexion MySql
_MySQLEnd($MySqlConn)
Sur la BDD Jeux, il doit y avoir :
Une table Score, avec une colonne ID (qui est auto-incrémentée et master key), une colonne Joueur, une colonne Score et une colonne jeux (et une colonne vKey si $vKey est sur True)
@+