GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: chneubeul le 20 Juillet 2012, 10:28:18
-
Hello :)
Alors voilà j'explique ma situation : j'ai pour but de créé un système de course en SQL pour mon serveur en développement, j'aime le fait maison x) Mais le problème qu'il se pose c'est l'enregistrement et le load des checkpoints. J'ai pensé à enregistrer ces checkpoints dans un string afin d'éviter de créé 150 milles variables différentes. Une fois chargé les variables sont stocker dans un tableau.
Qu'elles est votre opinion sur ce type d'enregistrement ? :P
A+, Sam.
:cheers
-
L'enregistrement dans plusieurs colonnes ne fait pas plus travailler le serveur qu'une chaîne de caractère ;).
-
Et tu ferais comment toi ? :p
-
Colonne race_id, id, x, y et z.
La première colonne représente l'indice de la course, la deuxième l'indice du checkpoint, les dernières, la position du checkpoint.
-
C'est c'que j'ai fait :p
Donc j'ai débuggait un peu le tout et j'ai une p'tit soucis :O enfaite je vide la table, et exemple j'ai créé 14 course donc la variable est à 14, et lorsque je vais en jeux et que je créé une course j'ai la surprise de trouver une course id = 15 alors que c'est la seule dans la table.. pourquoi ? :(
-
Je peux te proposer la méthode de Syg pour le script de course de Lalu's Stunt.
Ce que Syg fait, c'est qu'il a créé une colonne de texte et il enregistre les checkpoints avec ce format.
X_Y_Z_X1_Y1_Z1_X2_Y2_Z2_XN_Y1N_ZN
Et bien évidemment il faut créer une colonne avec le nombre de checkpoint ;)
-
Je peux te proposer la méthode de Syg pour le script de course de Lalu's Stunt.
Ce que Syg fait, c'est qu'il a créé une colonne de texte et il enregistre les checkpoints avec ce format.
X_Y_Z_X1_Y1_Z1_X2_Y2_Z2_XN_Y1N_ZN
Et bien évidemment il faut créer une colonne avec le nombre de checkpoint ;)
Désolé de dire ça, mais je trouve ça horrible comme système de stockage !
À quoi bon utiliser un SGDBD si c'est pour stocker tout comme ça ?
-
J'y avait songer comme méthode aussi.. mais je rejoins Xartrick c'est un peu bizarre comme méthode.
Vous n'avez aucune idée pour le problème d'id ? :(
-
C'est c'que j'ai fait :p
Donc j'ai débuggait un peu le tout et j'ai une p'tit soucis :O enfaite je vide la table, et exemple j'ai créé 14 course donc la variable est à 14, et lorsque je vais en jeux et que je créé une course j'ai la surprise de trouver une course id = 15 alors que c'est la seule dans la table.. pourquoi ? :(
c'est entierement normale vu qu'apparement ton race_id est en auto increment
-
La méthode de Syg est horrible, c'est d'ailleurs pour ça que je voulais refaire la DB de Lalu Stunt.
Le mieux que tu puisses faire, c'est créer deux tables. Une contenant les informations sur la course et l'autre contenant uniquement les checkpoints puis tu les lies avec une clé étrangère.
Tu peux lire l'article sur Wikipedia concernant la normalisation : http://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles) (http://fr.wikipedia.org/wiki/Forme_normale_(bases_de_donn%C3%A9es_relationnelles))
Pour ton problème, comme Cristab le dit, c'est à cause de l'auto incrémentation.
++
R@f
-
Ah oui, mais on peut surement palier à ce problème non en crééant une id "dynamique" qui est automatiquement ranger et créé déplacer à l'id 1 ? non ? J'avais d'autre petit problème qui venez des "|" que javais mis dans des strings du coup ca décaler toute mes données, et une autre fois ou un p'tit problème de mémoire. Le système la semble fonctionner correctement, mais c'est le problème d'id quoi, si je delete et qu'aprés je recréé au final je vais me retrouver avec un nombre de course très serré x)