10-03-2008, 11:51 PM
(Modification du message : 08-09-2008, 07:41 PM par Sephi-Chan.)
Bonjour à tous,
Voila, j'ai un petit problème de requête:
C'est beau non ? Comment sa non ? :respect:
Hm, bon peu importe , cette requête récupère les monstres et associe les joueurs qui ce trouvent dans la même ville (lieu) et le même quartier. Ensuite, je lance une sorte d'IA (pas vraiment un IA mais bon on va dire que oui :p) qui attaque. Seulement, je viens de me rendre compte que quand plusieurs joueurs étais "attaquable", ben ils étaient tous attaqué.
Quand on regarde la requête, c'est logique, puisque qu'un même monstre est associer a plusieurs joueurs. C'est pas paratique.
Comment faire pour que le monstre ne soit associer qu'au joueur le plus proche ??
Les coordonnée du joueur ce trouve mathématiquement via position:
le x = position%24
le y = position/24
Voila, je sais pas trop comment mit prendre, si quelqu'un a une idée, je lui serais reconnaissant de m'aider.
Merci d'avance,
Phenix
Voila, j'ai un petit problème de requête:
Code :
SELECT
monstre.id AS id_monstre,
monstre.id_type,
listemonstre.nom AS nom_monstre,
listemonstre.niveau AS niveau_monstre,
monstre.lieu AS lieu_monstre,
monstre.quartier AS quartier_monstre,
listemonstre.forceu AS for_monstre,
listemonstre.dexterite AS dex_monstre,
listemonstre.endurance AS end_monstre,
listemonstre.pouvoir AS pouv_monstre,
monstre.PV AS PV_monstre,
monstre.PA AS PA_monstre,
monstre.PM AS PM_monstre,
monstre.time_PA,
monstre.time_PM,
monstre.save_PA,
monstre.save_PM,
listemonstre.armure AS armure_monstre,
listemonstre.degat_min AS degat_min_monstre,
listemonstre.degat_max AS degat_max_monstre,
monstre.position AS position_monstre,
users.id AS id_users,
users.pseudo AS pseudo_users,
users.lieu AS lieu_users,
users.quartier AS quartier_users,
users.pseudo AS pseudo_users,
users.niv AS niveau_users,
users.exp AS exp_users,
users.forceu AS for_users,
users.dexterite AS dex_users,
users.endurance AS end_users,
users.pouvoir AS pouv_users,
users.PV AS PV_users,
users.PO AS PO_users,
users.arme AS arme_users,
users.armure AS armure_users,
users.tete AS tete_users,
users.jambe AS jambe_users,
users.bouclier AS bouclier_users,
users.gant AS gant_users,
users.orientation AS orientation_users,
users.position AS position_users
FROM monstre
INNER JOIN users ON monstre.lieu = users.lieu AND monstre.quartier = users.quartier
INNER JOIN listemonstre ON monstre.id_type = listemonstre.id
WHERE users.statut = 1
C'est beau non ? Comment sa non ? :respect:
Hm, bon peu importe , cette requête récupère les monstres et associe les joueurs qui ce trouvent dans la même ville (lieu) et le même quartier. Ensuite, je lance une sorte d'IA (pas vraiment un IA mais bon on va dire que oui :p) qui attaque. Seulement, je viens de me rendre compte que quand plusieurs joueurs étais "attaquable", ben ils étaient tous attaqué.
Quand on regarde la requête, c'est logique, puisque qu'un même monstre est associer a plusieurs joueurs. C'est pas paratique.
Comment faire pour que le monstre ne soit associer qu'au joueur le plus proche ??
Les coordonnée du joueur ce trouve mathématiquement via position:
le x = position%24
le y = position/24
Voila, je sais pas trop comment mit prendre, si quelqu'un a une idée, je lui serais reconnaissant de m'aider.
Merci d'avance,
Phenix