07-01-2008, 08:22 PM
Citation :Il faudrait que tu nous montre ce à quoi ressemble la table état. Je suppose que tu veux avoir une relation de type 0, n, c'est à dire un monstre peut avoir zéro ou plusieurs états (empoisonnés, paralysée, etc.). Ça nous permettra de t'indiquer comment les sortir de ta boucle.
Voila
Code :
CREATE TABLE `etat` (
`id` int(11) NOT NULL auto_increment,
`joueur` text NOT NULL,
`etat` text NOT NULL,
`forceu` mediumint(9) NOT NULL,
`dexterite` mediumint(9) NOT NULL,
`endurance` mediumint(9) NOT NULL,
`pouvoir` mediumint(9) NOT NULL,
`bonusdegat` mediumint(9) NOT NULL,
`reschoc` mediumint(9) NOT NULL,
`bonusmagic` mediumint(9) NOT NULL,
`resmagic` mediumint(9) NOT NULL,
`reg` mediumint(9) NOT NULL,
`time` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Citation :Il faudrait aussi savoir comment fonctionne ta table listemonstre.
Cette table contient les profile de base des monstres, cela me permet d'automatiser leur création et de faire des comparaisons avec leur PV de base.
Voici sa structure:
Code :
CREATE TABLE `listemonstre` (
`id` int(11) NOT NULL auto_increment,
`nom` text NOT NULL,
`niveau` int(11) NOT NULL,
`forceu` int(11) NOT NULL,
`endurance` int(11) NOT NULL,
`dexterite` int(11) NOT NULL,
`pouvoir` int(11) NOT NULL,
`PV` int(11) NOT NULL,
`armure` int(11) NOT NULL,
`image` text NOT NULL,
`reg` mediumint(9) NOT NULL,
`quete` smallint(6) NOT NULL,
`degat_min` int(11) NOT NULL,
`degat_max` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=35 ;
Citation :Par exemple, dans la colonne bouclier, je suppose que tu indiques le nom du bouclier dont les statistiques sont stockées dans une table objets. Si ce n'est pas le cas, je te conseille de le faire et de faire références aux objets par leur identifiant. Car tu imagines si tu dois écrire "Égide du Dieu sanglant" dans la case bouclier de chaque monstre, ça fait une table très lourde !?
Certes, mais lorsque je veux afficher le nom du bouclier, je dois faire une requête SQL en plus pour récupérer le nom de l'objet :heuuu:.
Mon "système d'inventaire ce décline en 3 tables: Objet, qui contient les caractéristique de chaque objet. Inventaire, qui contient le pseudo des joueur et le nom de l'objet dans l'inventaire et enfin la table users qui contient dans les champs arme,armure,etc. le nom des objet équipé. Je pourrais transformé tout sa en identifiant numérique (les ID de la table objet) mais alors, cela voudrais dire que pour afficher les noms des objets je doit faire un requête sur celle-ci. En stockant le nom, je peux l'afficher directement. :heuuu: A moins que je me trompe ?
Merci de votre aide,
Phenix