Sharkiller
Messages postés71Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention 9 janvier 2009 12 janv. 2010 à 19:07
Bonsoir,
Je ne pense pas que ce générateur marche avec les Sims 2, car les clés sont spécifiques.
Désolé, mais tu devrais pouvoir trouver ce que tu cherches ailleurs. =)
Cordialement,
Sharkiller
uniksims
Messages postés4Date d'inscriptionmardi 12 janvier 2010StatutMembreDernière intervention12 janvier 2010 12 janv. 2010 à 12:45
salut je suis novice et euh je voulais savoir si ton générateur fonctionnait également pour les jeux comme les sims 2 stp?
Sharkiller
Messages postés71Date d'inscriptiondimanche 12 octobre 2003StatutMembreDernière intervention 9 janvier 2009 10 juil. 2004 à 16:43
Oui, je vois ce que tu veux dire... c'est plus simple...
il faut générer un groupe de controles pour les textbox si tu utilises cette manière...
merci à toi, mais bon, pourquoi faire simple quand on peut faire compliqué ? ;)
bon aprem et bonne prog
@+, Sharky
radcur
Messages postés282Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention15 août 20122 10 juil. 2004 à 16:03
salut,
c'est très bien
par contre une suggestion : tu aurais pu réduire le "fouilli" de génération de text1,text2,text3,etc en te faisant une fonction avec des parametres puisque ca semble toujours être la meme "algorythme" qui génère ta clé et il y aurait aussi moyen d'améliorer la logique quelque peu.
exemple:
'/*Déclarer les variables en tableau.
private temp() as integer
private text() as string
Private Sub Label1_Click()
'Label nommé "PROCESS"
'on efface list1 (cela permet de générer des clés à l'infini)
List1.Clear
'On définit le nombre de lignes de list1
number_list = 0
'on montre à l'utilisateur que le processus est en train de se faire
MousePointer = vbHourglass
'On commence la boucle
Do
'on dé&finit la progression de la progressbar
ProgressBar1.Value = "0"
'on définit les 2 premiers caractères
Text(1) = "S"
Text(2) = "W"
temp(1) Asc(Text(1)) 'temp(1) le code ASCII de text(1)
temp(2) = Asc(Text(2))
progressbar1.value=10
for i = 3 to 20
'/*On commence à 3 pour ne pas écraser 1 et 2 rempli 3 lignes + haut
'/*Appele GenereCaractere(chiffre pour progressbar.value)
text(i)=GenereCaractere(i*5)
'/*Converti le code ascii
temp(i) = Asc(Text(i))
'/*Assemble la clé au fur et à mesure
key_entier=key_entier & text(i)
/*Fait la somme au fur et à mesure
somme=somme + temp(i)
next i
'Et on vérifie que la clé se trouve entre 1400 et 1500 (pour qu'elle soit valide)
'Si elle se trouve en 1400 et 1500 (>1400 et <1500),
If Somme < 1500 Then
If Somme > 1400 Then
'Alors on l'ajoute dans la liste
List1.AddItem key_entier
'et on compte une ligne en + (ça va permettre d'arrêter la boucle + tard...)
number_list = number_list + 1
End If
End If
'Un problème : ça ajoute même les clés <1400 et >1500
'On fait donc d'autres fonctions :
'Si c'est inférieur à 1400,
If Somme < 1400 Then
'Alors on remplace la clé invalide par "Clé Invalide" (le programme est en anglais, donc...)
List1.List(number_list) = "Unvalid Key"
End If
'Et si c'est supérieur à 1500,
If Somme > 1500 Then
'alors on fait la même chose...
List1.List(number_list) = "Unvalid Key"
End If
'Puis on met une fonction qui va arrêter la boucle
'(sinon, ça n'en finit jamais, et ça fait planter le prog... normal... ;))
Loop Until number_list = 200 'On fait la boucle jusqu'à ce qu'il y ait 200 lignes
'(ça laisse le choix de la clé...)
'Puis on enlève le sablier, car on a finit le processus
MousePointer = vbDefault
'Et on donne le nombre de clés
'(là, ça sert à rien, ça sera toujours 200...)
MsgBox number_list & " found keys", vbOKOnly, "Star Wars Galaxies KeyMaker"
End Sub
private function GenereCaractere(pgb as integer) as string
dim tmpvar as string
Randomize
dt_c = Int(Rnd * 2 + 1)
'Si il égale 0,
If dt_c = "0" Then
'on régénère le chiffre
Randomize
dt_c = Int(Rnd * 2 + 1)
End If
'Si il égale 1,
If dt_c = "1" Then
'alors on met une lettre
Randomize
'sachant que chr(65) = A (il faut des majuscules)
tmpvar = Chr(Int(Rnd * 26) + 65) 'on génère une lettre de A à Z
Else
'Si il égale 2,
If dt_c = "2" Then
'alors on met un chiffre
Randomize
'sachant que chr(49) = 1
tmpvar = Chr(Int(Rnd * 9) + 49) 'on génère un chiffre entre 1 et 9
End If
End If
'Si la zone de texte est vide au final (au cas où; ça peut arriver...),
If tmpvar = "" Then
Randomize
'alors on génère un chiffre
tmpvar = Chr(Int(Rnd * 9) + 49)
End If
GenererCaractere=tmpvar
'Puis on rédéfinit la progression de la progressbar
ProgressBar1.Value = pgb
end function
12 janv. 2010 à 19:07
Je ne pense pas que ce générateur marche avec les Sims 2, car les clés sont spécifiques.
Désolé, mais tu devrais pouvoir trouver ce que tu cherches ailleurs. =)
Cordialement,
Sharkiller
12 janv. 2010 à 12:45
10 juil. 2004 à 16:43
il faut générer un groupe de controles pour les textbox si tu utilises cette manière...
merci à toi, mais bon, pourquoi faire simple quand on peut faire compliqué ? ;)
bon aprem et bonne prog
@+, Sharky
10 juil. 2004 à 16:03
c'est très bien
par contre une suggestion : tu aurais pu réduire le "fouilli" de génération de text1,text2,text3,etc en te faisant une fonction avec des parametres puisque ca semble toujours être la meme "algorythme" qui génère ta clé et il y aurait aussi moyen d'améliorer la logique quelque peu.
exemple:
'/*Déclarer les variables en tableau.
private temp() as integer
private text() as string
Private Sub Label1_Click()
'Label nommé "PROCESS"
'on efface list1 (cela permet de générer des clés à l'infini)
List1.Clear
'On définit le nombre de lignes de list1
number_list = 0
'on montre à l'utilisateur que le processus est en train de se faire
MousePointer = vbHourglass
'On commence la boucle
Do
'on dé&finit la progression de la progressbar
ProgressBar1.Value = "0"
'on définit les 2 premiers caractères
Text(1) = "S"
Text(2) = "W"
temp(1) Asc(Text(1)) 'temp(1) le code ASCII de text(1)
temp(2) = Asc(Text(2))
progressbar1.value=10
key_entier=""
Somme=0
key_entier=key_entier & text(1) & text(2)
somme=somme + temp(1) + temp(2)
for i = 3 to 20
'/*On commence à 3 pour ne pas écraser 1 et 2 rempli 3 lignes + haut
'/*Appele GenereCaractere(chiffre pour progressbar.value)
text(i)=GenereCaractere(i*5)
'/*Converti le code ascii
temp(i) = Asc(Text(i))
'/*Assemble la clé au fur et à mesure
key_entier=key_entier & text(i)
/*Fait la somme au fur et à mesure
somme=somme + temp(i)
next i
'Et on vérifie que la clé se trouve entre 1400 et 1500 (pour qu'elle soit valide)
'Si elle se trouve en 1400 et 1500 (>1400 et <1500),
If Somme < 1500 Then
If Somme > 1400 Then
'Alors on l'ajoute dans la liste
List1.AddItem key_entier
'et on compte une ligne en + (ça va permettre d'arrêter la boucle + tard...)
number_list = number_list + 1
End If
End If
'Un problème : ça ajoute même les clés <1400 et >1500
'On fait donc d'autres fonctions :
'Si c'est inférieur à 1400,
If Somme < 1400 Then
'Alors on remplace la clé invalide par "Clé Invalide" (le programme est en anglais, donc...)
List1.List(number_list) = "Unvalid Key"
End If
'Et si c'est supérieur à 1500,
If Somme > 1500 Then
'alors on fait la même chose...
List1.List(number_list) = "Unvalid Key"
End If
'Puis on met une fonction qui va arrêter la boucle
'(sinon, ça n'en finit jamais, et ça fait planter le prog... normal... ;))
Loop Until number_list = 200 'On fait la boucle jusqu'à ce qu'il y ait 200 lignes
'(ça laisse le choix de la clé...)
'Puis on enlève le sablier, car on a finit le processus
MousePointer = vbDefault
'Et on donne le nombre de clés
'(là, ça sert à rien, ça sera toujours 200...)
MsgBox number_list & " found keys", vbOKOnly, "Star Wars Galaxies KeyMaker"
End Sub
private function GenereCaractere(pgb as integer) as string
dim tmpvar as string
Randomize
dt_c = Int(Rnd * 2 + 1)
'Si il égale 0,
If dt_c = "0" Then
'on régénère le chiffre
Randomize
dt_c = Int(Rnd * 2 + 1)
End If
'Si il égale 1,
If dt_c = "1" Then
'alors on met une lettre
Randomize
'sachant que chr(65) = A (il faut des majuscules)
tmpvar = Chr(Int(Rnd * 26) + 65) 'on génère une lettre de A à Z
Else
'Si il égale 2,
If dt_c = "2" Then
'alors on met un chiffre
Randomize
'sachant que chr(49) = 1
tmpvar = Chr(Int(Rnd * 9) + 49) 'on génère un chiffre entre 1 et 9
End If
End If
'Si la zone de texte est vide au final (au cas où; ça peut arriver...),
If tmpvar = "" Then
Randomize
'alors on génère un chiffre
tmpvar = Chr(Int(Rnd * 9) + 49)
End If
GenererCaractere=tmpvar
'Puis on rédéfinit la progression de la progressbar
ProgressBar1.Value = pgb
end function