GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Brian Turner le 12 Décembre 2010, 10:59:15
-
Bonjour,
Je suis a la recherche d'une fonction Random pour des lettres, car je suis en train de faire mon systeme de plaque aleatoire.
J'ai fais sa(enfin je ferais):
new Arandchiffre = 10 + random(88);
new Brandchiffre = 0 + random(9);
new Arandlettre = A + ...;
new Brandlettre = A + ...;
format(PlaqueId, sizeof(PlaqueId), "%s-%d-%s%d", Arandlettre, Arandchiffre, Brandlettre, Brandchiffre);
Se que je veux que sa donne en résultat(exemple): AC-57-A6
Voila, merci de votre aide.
++ Brian
-
Salut,
Personnellement, j'aurais fais un tableau pour ensuite aller faire un random à l'intérieur.
Voici un code que j'ai rapidement réalisé pour te montrer un exemple: http://pastebin.gtaonline.fr/pastebin.php?show=972 (http://pastebin.gtaonline.fr/pastebin.php?show=972).
z6-ly-94
0s-ro-f2
90-nu-8h
PS: Désolé pour l'indentation, ce n'est pas pareil sur l'IDE et sur le Pastebin de GTAOnline.
Cordialement,
Xartrick.
-
Salut,
je conseillerais un truc très simple qui utilise simplement les propriétés des caractères, de leur valeur:
new lettre = 'A' + random(26);
On choisit doc une lettre au hasard de A à Z.
Le même principe s'applique aux chiffres, bien sur.
++Sim++
-
Salut,
J'ai fait un petit test, pour mes plaques d'immatriculation, du type :
1ABC234
Voila ce qui en sort :
[11:17:28] 8ayt912
[11:17:28] 7xgy042
[11:17:28] 1sts130
[11:17:28] 0ire908
[11:17:28] 8urb395
[11:17:28] 8vmc912
[11:17:28] 9gmp446
[11:17:28] 6zfl976
[11:17:28] 3dxz877
[11:17:28] 2kay693
[11:17:28] 0idc276
[11:17:28] 6uzr753
[11:17:28] 1
[11:17:28] 3efa830
[11:17:28] 2eor281
[11:17:28] 7mpm293
[11:17:28] 7fnf903
[11:17:28] 9odj901
[11:17:28] 0ljl446
[11:17:28] 5kqe187
[11:17:28] 4kpr668
[11:17:28] 1odj193
[11:17:28] 5aku580
[11:17:28] 0jiq440
Il faut toujours qu'il y ai une plaque, qui ressort 1 caractères ou 2 ^^
Mais jamais sur la même plaques..
Ma question : Pourquoi ? :p
Aprés modification, et via la méthode de Sim voila ce qui sort :
[11:23:23] 6AUD811
[11:23:23] 8NSH214
[11:23:23] 8EFX003
[11:23:23] 4PCA768
[11:23:23] 8EOP871
[11:23:23] 5BXC661
[11:23:23] 0NKH378
[11:23:23] 1WPT786
[11:23:23] 9AQI876
[11:23:23] 7KWF978
[11:23:23] 0LRV519
[11:23:23] 7KYT055
[11:23:23] 0CVY000
[11:23:23] 2PVR779
[11:23:23] 4RYI931
[11:23:23] 4SKF968
[11:23:23] 5CIA058
[11:23:23] 3YSL624
[11:23:23] 6NSF819
[11:23:23] 5URC019
[11:23:23] 3FDU520
[11:23:23] 0YWV748
[11:23:23] 5UBJ365
[11:23:23] 2ONT357
C'est parfait ;)
Voila le lien : ici (http://pastebin.gtaonline.fr/pastebin.php?show=973)
-
Salut,
Ma question : Pourquoi ? :p
Très simple, la taille du tableau des lettres ne correspond pas, il comporte un emplacement de trop (il contient en fait 27 caractères pour une taille de 27 (car le u est dédoublé). Donc, l'idéal serait de supprimer un u et changer la taille à 26. Toutefois, je pense que ma méthode est plus simple et dans ce cas plus intéressante. Par contre, si on veut changer la fréquence d'apparition de certaines lettres, la méthode Xartrick est meilleure.
++Sim++
-
Je me demande pourquoi je n'utilise pas des méthodes aussi simple ...
Suis-je stupide ?
-
Ben tu es peut être trop intelligent, et donc tu recherches la difficulté (a) :D
Je l'avoue, j'avais aussi penser à faire un truc comme toi Xartrick comme ça on est deux :boulet :happy
-
Merci de vos réponses, j'ai pas encore essayer, mais je pense que c'est bon :)
EDIT: Mon 300eme messages :)