Bonjours tous!
Alors voila, mon probléme se situe au niveau du transfert des ressources de l'inventaire d'un joueur a celui d'un autre joueur lorsqu'un combat est résolu.
Enfaite pour le moment j'ai une table inventory avec des champs tels que:
id idowner idobject quantity place
id: id du champ
idowner: id du joueur qui le posséde
idobject: id de l'objet
quantity: quandtité
Place: (dans le cas d'inventaires multiples)
Afin d'eviter les doublons d'objet (méme idobject) pour un méme owner et méme place, je suis obligé de faire un select afin de définir si je dois faire un update (si on a déjà ce type d'objet) ou un insert (si c'est le premier de ce type dans cet inventaire).
Dans le cas d'un vol, j'ai le fret total du vainqueur, auquel je soustrait les quantités des objects qu'il a déjà -> "SELECT SUM(quantity)"
Ensuite je charge dans un array tous les object du perdant qui sont dans son inventaire.
j'ai modif le script du topic de zeppelin pour qu'il me retourne un array avec l'id du champ, et la nouvelle quantité a assigner (ie la quantité restante)...
Sauf que mtn... a par une boucle foreach qui update la quantité au perdant (ou delete si =0), un select pour voir si l'objet est déjà dans l'inventaire du gagnant, puis un update ou un insert... et ce pour tousles objets volés...
Sachant qu'il peut y en avoir beaucoup... (de l'ordre d'une 10aine... peut étre plus...)
Cette fois j'ai vraiment besoin d'aide... mon architecture me semble pas super adaptés... quoique y a pas tellement de meilleur moyen enfaite ou en tous cas je vois pas...
Je sais pas si c'est super clair... et désolé pour le pavé :$
Mon pb exact est que le nombre de requetes est de:
2 select pour les carac des joueurs
2 update pour les pv restants
1 select pour l'argent
2 update pour le transfert d'argent
1 select pour le fret dispo
1 select pour les ressources "vollables"
1*n select (ou n est le nombre de ressources vollées réellement retourné par le script)
2*n update (ou n est le nombre de ressources vollées réellement retourné par le script)
Ce qui me fait en moyenne 12 requetes rien que pour calculer le combat... (a ajouter les requetes spécifiques a la page demandée)
Alors voila, mon probléme se situe au niveau du transfert des ressources de l'inventaire d'un joueur a celui d'un autre joueur lorsqu'un combat est résolu.
Enfaite pour le moment j'ai une table inventory avec des champs tels que:
id idowner idobject quantity place
id: id du champ
idowner: id du joueur qui le posséde
idobject: id de l'objet
quantity: quandtité
Place: (dans le cas d'inventaires multiples)
Afin d'eviter les doublons d'objet (méme idobject) pour un méme owner et méme place, je suis obligé de faire un select afin de définir si je dois faire un update (si on a déjà ce type d'objet) ou un insert (si c'est le premier de ce type dans cet inventaire).
Dans le cas d'un vol, j'ai le fret total du vainqueur, auquel je soustrait les quantités des objects qu'il a déjà -> "SELECT SUM(quantity)"
Ensuite je charge dans un array tous les object du perdant qui sont dans son inventaire.
j'ai modif le script du topic de zeppelin pour qu'il me retourne un array avec l'id du champ, et la nouvelle quantité a assigner (ie la quantité restante)...
Sauf que mtn... a par une boucle foreach qui update la quantité au perdant (ou delete si =0), un select pour voir si l'objet est déjà dans l'inventaire du gagnant, puis un update ou un insert... et ce pour tousles objets volés...
Sachant qu'il peut y en avoir beaucoup... (de l'ordre d'une 10aine... peut étre plus...)
Cette fois j'ai vraiment besoin d'aide... mon architecture me semble pas super adaptés... quoique y a pas tellement de meilleur moyen enfaite ou en tous cas je vois pas...
Je sais pas si c'est super clair... et désolé pour le pavé :$
Mon pb exact est que le nombre de requetes est de:
2 select pour les carac des joueurs
2 update pour les pv restants
1 select pour l'argent
2 update pour le transfert d'argent
1 select pour le fret dispo
1 select pour les ressources "vollables"
1*n select (ou n est le nombre de ressources vollées réellement retourné par le script)
2*n update (ou n est le nombre de ressources vollées réellement retourné par le script)
Ce qui me fait en moyenne 12 requetes rien que pour calculer le combat... (a ajouter les requetes spécifiques a la page demandée)