La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 01/11/2024 22:30:16
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Boine Novice Messages: 7 |
Bonjour, je découvre actuellement l'écriture des scripts et j'ai une première question.
Je voudrais retarder l'entrée d'un NPC dans une zone, ici un ermite qui rentre chez lui alors que le PC est dedans. J'ai donc écrit ce script dans le OnEnter de la zone object oermite=GetObjectByTag("ermite"); object odestination=GetWaypointByTag("wp_entreeermite"); void main() { AssignCommand(oermite,DelayCommand(5.0,ActionJumpToObject(odestination,0))); } Malheureusement le NPC est là des que le PC rentre ... La fonction DelayCommand ne semble pas agir... Quelle bourde ai-je faite ? PS : Je debute en script depuis hier... |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
essaye de mettre le delay command devant :
NWScript : Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème. _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
Boine Novice Messages: 7 |
J'ai essayé ...mais ça ne marche pas mieux...l'ermite est present des que le PC entre...
Merci qd même !!! |
Revenir en haut | |
Boine Novice Messages: 7 |
A propos si quelqu'un peut me dire ce que signifie le 0 dans la fonction ActionJumpToObject, c'est bien aussi ...
Merci d'avance ! |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
Excuse moi j'avais mal lu.
En fait tu ne peux pas " retarder " l'entrée d'un pnj dans une zone avec les " transitions classiques " . Par contre tu peux le detruire quand il entre et le " recréer " quelques secondes plus tard , c'est peut être une solution. _________________ " La ruse doit être employée pour faire croire que l'on est où l'on est pas, que l'on veut ce qu'on ne veut pas. " CdG " La véritable école du Commandement est la culture générale. " CdG " Une société prête à sacrifier un peu de liberté contre un peu de sécurité ne mérite ni l'une ni l'autre et finit par perdre les deux. " B.F " La gloire se donne seulement à ceux qui l'ont toujours rêvée. " CdG " La fin de l'espoir est le commencement de la mort. " CdG |
Revenir en haut | |
lylver Héros Messages: 274 |
J'ai pas réfléchi très loin mais si vous voulez retardez des actions à coup sûr, purgez l'action queue et utilisez des ActionWait. En effet DelayCommand et Action queue ne font pas bon ménage, à priori l'action est mise en queue sans attendre : utilise ça qui est plus direct et n'utilise pas l'action queue.
DelayCommand(5.0,AssignCommand(oermite, JumpToObject(odestination))); |
Revenir en haut | |
Boine Novice Messages: 7 |
Bon ben ça ne marche pas non plus...l'ermite est chez lui des que le PC entre.
|
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
NWScript :
// Jump to oToJumpTo (the action is added to the top of the action queue). void JumpToObject(object oToJumpTo, int nWalkStraightLineToPoint=1) Comme indiqué, le JumpTo est mis en tête de queue Je regarde ce qu'on peut faire Edit : Essaie ça : NWScript :
object oermite=GetObjectByTag("ermite"); object odestination=GetWaypointByTag("wp_entreeermite"); void main() { object oPc = GetEnteringObject(); if (!GetIsPC(oPc)){return;} DelayCommand(5.0,AssignCommand(oermite,JumpToObject(odestination,0))); } Il faut tester si c'est un PJ qui entre sinon le script se lance dès qu'il y a une entrée. |
Revenir en haut | |
Boine Novice Messages: 7 |
Ca fonctionne !!!!
Le PC entre dans la maison de l'ermite et quelques secondes plus tard l'ermite deboule et lui demande ce qu'il fout là ?!? Par contre je n'ai pas bien compris en quoi le fait de vérifier si l'objet entrant est bien un PC active le DelayCommand. Auparavant aucun objet n'entrait avant le PC...je ne fais que des tests, il n'y a rien d'autre dans le module... Ailes Noires, si tu peux m'éclairer ? dans tout les cas, merci de ton aide déjà précieuse !!! |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
je ne sais pas exactement ce que le jeu prend en compte dans ce qui entre dans une zone, des object, la zone elle même? Mais j'ai remarqué que le script se lançait au lancement du jeu
|
Revenir en haut | |
lylver Héros Messages: 274 |
Tout ce qui rentre dans la zone "fires" l'évênement OnEnter
|
Revenir en haut | |
lylver Héros Messages: 274 |
TBD
to be deleted, à effacer double postage à cause de $£@# de lag (bon j'en dis pas plus) Dernière édition par lylver le 26/09/2005 21:22:53; édité 2 fois
|
Revenir en haut | |
Boine Novice Messages: 7 |
Lylver, je n'ai pas compris tes deux posts...
Comme je l'ai dit plus haut, je suis un grand novice !!! "fires" ??? TBD ??? Si tu peux m'expliquer ... merci |
Revenir en haut | |
Ailesnoires Grand Chevalier Messages: 110 Localisation: Vendée |
pour le premier post il veux dire que tout ce qui entre dans la zone lance le script dans le OnEnter
pour le deuxième heu..... |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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