La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 29/09/2024 23:33:30


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
KIMOUNET
Héros
Inscrit le: 19 Oct 2003
Messages: 256
Localisation: Au pays des reves
Répondre en citant
Posté le : 24/10/2003 12:15:04 Sujet du message : I am need You

Voila dans mon module persistant il y aura des objets uniques ce qui permettera en théorie des bataille entre differents camps, mais un des objets changera le monde qui versera sois vers le bien ou le mal.
Cest pour cela que j'ai besoin de savoir en temps réels si possible qui possede cette objet.
j'aimerais donc savoir si cela est possible et bien sur comment ?
_________________
Le savoir est comme un tresor il se partage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 24/10/2003 13:28:23 Sujet du message : Re: I am need You


KIMOUNET a écrit :
Voila dans mon module persistant il y aura des objets uniques ce qui permettera en théorie des bataille entre differents camps, mais un des objets changera le monde qui versera sois vers le bien ou le mal.
Cest pour cela que j'ai besoin de savoir en temps réels si possible qui possede cette objet.
j'aimerais donc savoir si cela est possible et bien sur comment ?
Oui, cela est possible. Soit dit en passant, il y a peu de chose qui ne soit pas possible dans NWN sauf quand on sort des sentiers battus.
Pour le temps réel, il te faudra sans doute placer le script sur le OnHeartBeat du module (donc risque de consommer du temps si le script est très lourd car il s'exécutera toutes les 6 secondes). Voici une proposition qui devrait ne pas trop impacter le serveur :
Code :

void main()
{
  object oTheItem=GetObjectByTag("TAG_DE_L_OBJET_UNIQUE"); //récupère une référence à l'objet
  if (GetIsObjectValid(oTheItem)) // on ne continue que si l'objet existe bel et bien, sinon il y a un problème
  {
    object oPossessor=GetItemPossessor(oTheItem); //Récupère le propriétaire de l'objet
    if (GetIsObjectValid(oPossessor)) //On vérifie que l'objet a un propriétaire
    {
      //Mettre ici les actions nécessaires correspondant à celui qui possède présentement l'objet oPossessor
      /* NdA : j'ai hésité à faire une version plus évoluée dans laquelle on détecte si l'objet
         change de main. Ca serait peut-être plus judicieux que de vérifier sans arrêt dans quelle main il est
         car j'ai dans l'idée que ton univers ne change que si l'objet change de main. Si c'est cela, clarifie
         ton problème car cette présente solution n'est pas la plus adaptée*/
    }
    else
    {
      //Mettre ici les actions nécessaires au cas ou l'objet n'aurait pas de propriétaire
    }
  }
  else
  {
    //Mettre ici les actions nécessaires au cas ou l'objet n'existerait pas
  }
}


Je me permet une remarque à laquelle tu n'as peut-être pas songé. Dans un monde persistant ou semi-persistant, l'existence et l'importance d'un objet unique comme celui que tu créés doit aussi tenir compte de sa potentielle "absence", car le possesseur de l'objet peut parfaitement se déconnecter, ce qui implique que l'objet disparait du monde et ne peut plus changer de main.
_________________
Lendraste de Loreval
Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel.
La cité des mensonges - 1
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
KIMOUNET
Héros
Inscrit le: 19 Oct 2003
Messages: 256
Localisation: Au pays des reves
Répondre en citant
Posté le : 24/10/2003 13:36:18 Sujet du message :

D'abords merci pour ta réponds
Et pour ta remarque intélligente.
mais j'ais songé en faite c'est l'objet de la quete principale. et tant que l'objet n'ais pas dans la main d'un PNJ le monde ne change pas.
Par contre si la quete est résolue
le monde changera et l'objet se teleportera dans un autre endroit
_________________
Le savoir est comme un tresor il se partage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 24/10/2003 13:36:27 Sujet du message :

humm ..

si je peux me permettre une solution basée sur le script de Lendraste et exploitant la Base de Données officielle ne peut elle pas être envisagée ?

tu te crées un objet qui te permet de retrouver le possesseur de l'objet :
si l'objet est sur le module, tu affiches le proprio ..
si l'objet n'y est pas, tu vas chercher le nom du proprio dans la base de données ..

ca suppose que sur le OnClientLeave, tu vérifies si le joueur partant a l'objet .. si oui, tu mets son nom dans la base ..


Cette approche (assez similaire à celle de Lendraste) ne vaut que si tu ne veux pas afficher tout le temps qui a l'objet ... mais je vois peu de cas de figure où il le faudrait ...(un PNJ criant sans cesse le nom du porteur de l'objet ?)
_________________
vive les dumps et les livres !
Sanctuaire des Scripts
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
KIMOUNET
Héros
Inscrit le: 19 Oct 2003
Messages: 256
Localisation: Au pays des reves
Répondre en citant
Posté le : 24/10/2003 13:39:28 Sujet du message :

Je vais peut etre poser une question idiote comment on accede à cette fameuse base de données officielle
_________________
Le savoir est comme un tresor il se partage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Wololo
Légende vivante
Inscrit le: 13 Déc 2002
Messages: 385
Répondre en citant
Posté le : 24/10/2003 13:41:25 Sujet du message :

[http]
_________________
vive les dumps et les livres !
Sanctuaire des Scripts
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
KIMOUNET
Héros
Inscrit le: 19 Oct 2003
Messages: 256
Localisation: Au pays des reves
Répondre en citant
Posté le : 24/10/2003 13:42:49 Sujet du message :

Merci
_________________
Le savoir est comme un tresor il se partage
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 103.185ms