16-08-2012, 08:53 AM
(Modification du message : 16-08-2012, 09:47 AM par Sephi-Chan.)
(16-08-2012, 03:07 AM)Argorate a écrit : Ok, admettons, tu cheat en mettant 1 pour les objets distinct pour la qte, mais tu mets quoi dans la colonne id_objet pour les objets "stack"? Tu laisse un id_objet qui correspond à plusieurs objet en réalité? c'est cette ambiguïté qui m’embête.
Mais arrête avec tes cheat… Considérons que dans ton jeu il y a des bandages pour se soigner. Les bandages occupent une place dans l'inventaire et peuvent être empilés. On aura donc une entrée dans la table
item_types
qui a (en plus d'autres colonnes spécifiques à ton jeu) pour label
Bandage. Disons que l'id
de cette ligne est 42.Quand un personnage (d'
id
10) acquiert un bandage, tu crée une ligne dans la table items
. Elle a pour character_id
10, pour item_type_id
42, pour quantity
1 et pour location
bag). Après il te suffit d'influer sur la quantité quand tu veux en ajouter et en retrancher.La table
item_types
contient les modèles d'objets, alors que items
contient les instances de l'objet. J'ai l'impression que tu c'est ça que tu n'as pas compris dans la modélisation qu'on te propose.(16-08-2012, 03:07 AM)Argorate a écrit : Sinon, pour ce qui est du "flag" qui permet de situer l'objet, ça ne marche pas, ou plutôt ça marche que dans un cas restreint où l'objet ne peux qu’appartenir à qq'un ou être dans un coffre qui appartient à qq'un.
Si jamais l'objet est au sol (sur la map mais n’appartient personne, tant que pas ramassé)? dans un véhicule qui lui est sur la map? ou encore au sol mais à l’intérieur d'un batiment, le champs id_joueur n'est plus utilie et le seul champs "flag" ne suffit pas a définir le type de "lieu" où se trouve l'objet, c'est pour ça que de base, j'ai plutôt: une table avec les carac de l'objet, puis plusieurs table qui contienne des listes d'objets (inventaire, map, dans un batiment, l'étage... etc), non?
Non. Si l'objet est au sol il n'a pas de
character_id
, il a une location
qui indique s'il est sur la carte, dans un véhicule ou dans un bâtiment, et tu as une colonne location_id
qui contient éventuellement l'id
de cette entité (NULL sinon), et des colonnes x
et y
pour stocker sa position si besoin (NULL sinon).Tu comptes continuer d'exposer tes besoins au compte goutte ou bien tu penses nous dire tout ce dont on a besoin pour t'aider avant la trentième réponse ? iffle: