La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 06/05/2024 15:15:36


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Khorgan
Ecuyer
Inscrit le: 10 Déc 2005
Messages: 67
Répondre en citant
Posté le : 17/12/2005 02:47:24 Sujet du message : petit soucis

Bonjour,

Je cherchais un script pour utiliser un portail, et j'ai trouvé celui-ci sur le forum :
NWScript :


void TeleportObject( object oPlayer, string sWayPont )
{
  object oArea = GetArea( GetObjectByTag( sWayPont ) );
  float fOrientation = GetFacing( oPlayer );
  vector vPosition = GetPosition( GetObjectByTag( sWayPont ) );

  location lWhereToGo = Location( oArea, vPosition, fOrientation );

  AssignCommand( oPlayer, JumpToLocation( lWhereToGo ) );
}

void main()
{
  TeleportObject( GetLastUsedBy(), "arrivee" );
}
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.


Il marche très bien, mais je souhaiterai savoir comment modifier une petite chose :
Quand le pj arrive, après sa téléportation, il se retrouve face à l'ouest. Hors j'aimerai qu'il soit orienté face au nord.
Est-ce possible et si oui comment ?

Merci d'avance Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 17/12/2005 11:22:38 Sujet du message :

Normalement le point d'arrivée est le " waypoint " de tag " arrivee " , une sorte de fléche jaune avec un drapreau de couleur souvent bleu au dessus.

Il te suffit d'orienter la fléche de ce " waypoint " vers le nord , et ton pj arrivera face au nord !
_________________
Adresse du forum de mon module : Quetes et Legendes
" 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Khorgan
Ecuyer
Inscrit le: 10 Déc 2005
Messages: 67
Répondre en citant
Posté le : 17/12/2005 16:24:07 Sujet du message :

Et bien en fait le point d'arrivée était un placeable (une décoration sur le sol) et j'avais bien eu l'idée d'utiliser l'orientation de ce dernier (donc de mettre la flèche vers le nord) mais ça ne changeait rien.

Suite à ton message j'ai remplacé ce placeable par un wp, que j'ai orienté comme je le souhaitai, mais malheureusement ça ne change rien, mon pnj se retrouve toujours face à l'ouest Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Alenn Tax
Seigneur
Inscrit le: 20 Sep 2003
Messages: 170
Localisation: J'étais loin, mais je suis revenu.
Répondre en citant
Posté le : 17/12/2005 16:31:10 Sujet du message : Re: petit soucis

NWScript :


void TeleportObject( object oPlayer, string sWayPont )
{
  object oArea = GetArea( GetObjectByTag( sWayPont ) );
  float fOrientation = SetFacing( 90.0f );
  vector vPosition = GetPosition( GetObjectByTag( sWayPont ) );

  location lWhereToGo = Location( oArea, vPosition, fOrientation );

  AssignCommand( oPlayer, JumpToLocation( lWhereToGo ) );
}

void main()
{
  TeleportObject( GetLastUsedBy(), "arrivee" );
}
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.

Et comme ça ?
_________________
"La libertée d'expression n'a jamais existé en Russie. Alors, je ne vois pas comment elle pourrait étre bafouée."
- Vladimir Poutine
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 17/12/2005 18:43:53 Sujet du message :

Il me semble que ce script est surtout utile pour une transition de zone (le PJ garde son orientation, ce qui n'est pas bete du tout). Pour que le PJ arrive dans l'orientation d'un WP ou placeable celui là serait suffisant :
NWScript :

void main()
{
  object oWP = GetObjectByTag("arrivee");
  object oUser = GetLastUsedBy();
  AssignCommand(oUser,JumpToLocation(oWP));
}
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.


Cela étant, le script d'Alenn doit marcher très bien aussi.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 17/12/2005 19:17:30 Sujet du message :

Khorgan> Un conseil , met un waypoint a l'endroit ou tu veux que ton perso arrive , et remplace la ligne de script qui doit téléporter ton perso par celle ci :

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.


En principe ça devrait fonctionner ! Very Happy
_________________
Adresse du forum de mon module : Quetes et Legendes
" 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Khorgan
Ecuyer
Inscrit le: 10 Déc 2005
Messages: 67
Répondre en citant
Posté le : 17/12/2005 21:21:14 Sujet du message :

Tout d'abord merci pour toutes vos réponses Smile

Alors dans l'ordre :
@Alenn : quand je compile j'ai cette erreur qui apparait :
portail_intro.nss(6): ERREUR : MISMATCHED TYPES
pour la ligne :
NWScript :
float fOrientation = SetFacing( 90.0f );
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.


@Sith : quand je compile j'ai cette erreur qui apparait :
portail_intro.nss(5): ERREUR : DECLARATION DOES NOT MATCH PARAMETERS
pour la ligne :
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.


@Semcatala : pas d'erreur quand je compile (enfin si je remplace "oPC" par "oPlayer" mais par contre mon pj arrive toujours face à l'ouest Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 17/12/2005 22:06:32 Sujet du message :

C'est normale que si a faux ils c'est trompé :

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.


Voila ca c'est mieu!
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 17/12/2005 22:32:21 Sujet du message :

Khorgan> Bon , je viens de me faire un petit module de test , et j'ai été assez abasourdi de constater que ........ tu avait tout a fait raison ! Very Happy

Lorsque l'on téléporte un pj d'un point a un autre , il arrive en étant systématiquement tourné vers l'ouest , et pas moyen de corriger ça .... !!

Mais sacrebleu , pourquoi alors sur mon propre mod , est ce que je peut orienter les pj comme je le souhaite a l'arrivée ?

Et bien ..... je viens de découvrir un truc ce soir , et que l'on me corrige si je me trompe , mais je pense avoir mis le doigt sur un bug suplémentaire de nwn !

Alors en fait , tu téléporte ton personnage aprés qu'il ai utilisé un PLACEABLE !
Et moi sur mon mod je téléporte mon pj aprés qu'il soit entrés sur un DECLENCHEUR !

La différence ?! Je viens de faire des essais pour comparer , et visiblement , lorsque l'on teleporte un pj a partir d'un PLACEABLE , il est impossible de l'orienter a l'arrivée avec le sens du WAYPOINT , alors que si on l'envoie apres son entree dans un DECLENCHEUR , l'orientation du PJ dépends de celle du waypoint !!!

En résumé :

Tu teleporte ton pj avec un PLACEABLE = pas moyen de l'orienter a l'arrivée
Tu teleporte ton pj avec un DECLENCHEUR = possibilité de l'orienter a l'arrivée

Pour ceux qui vont faire des essais , dites nous les résultats que vous trouverez , ça nous interesse ! Wink
_________________
Adresse du forum de mon module : Quetes et Legendes
" 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Khorgan
Ecuyer
Inscrit le: 10 Déc 2005
Messages: 67
Répondre en citant
Posté le : 18/12/2005 00:11:16 Sujet du message :

@Black Knight : effectivement pas d'erreur comme ça Smile

Par contre ça ne résoud pas le problème Sad

Mais bon, si comme le dit Semcatala il s'agit d'un bug ben... je ferais avec ^^

En tout cas merci pour vos réponses Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 18/12/2005 00:18:53 Sujet du message :

la solution est simple , elle consiste a ne pas déclencher la téléportation a partir du portail , mais a partir d'un déclencheur placé sur le portail , l'illusion sera totale et ton problême résolu ! Very Happy

Non ?
_________________
Adresse du forum de mon module : Quetes et Legendes
" 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Khorgan
Ecuyer
Inscrit le: 10 Déc 2005
Messages: 67
Répondre en citant
Posté le : 18/12/2005 02:24:22 Sujet du message :


Semcatala a écrit :
la solution est simple , elle consiste a ne pas déclencher la téléportation a partir du portail , mais a partir d'un déclencheur placé sur le portail , l'illusion sera totale et ton problême résolu ! Very Happy

Non ?
Vi pas bête ça ^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 18/12/2005 10:38:29 Sujet du message :

Sinon tu fait sa :

NWScript :

[nwscript]void main()
{
object oWP = GetObjectByTag("arrivee");
object oUser = GetLastUsedBy();
AssignCommand(oUser,JumpToLocation(GetLocation(oWP)));
DelayCommand(1.5, SetFacing(90.0));
}
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.


Sa sa devrais le faire sinon, je vois pas comment faire sauf avec un Declencheur.
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Khorgan
Ecuyer
Inscrit le: 10 Déc 2005
Messages: 67
Répondre en citant
Posté le : 18/12/2005 18:09:18 Sujet du message :

@Black : j'ai testé ton script tel quel puis en modifiant la valeur 90.0, et à chaque fois, quelle que soit la valeur, le pj une fois apparu face à l'ouest se tourne... au sud-ouest ^^

Donc ce n'est pas grave, je passe par un déclencheur mais c'est bizarre quand même Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Semcatala
Grand Sage du Conseil
Inscrit le: 20 Jan 2004
Messages: 951
Répondre en citant
Posté le : 18/12/2005 18:45:57 Sujet du message :

sans compter que le "delaycommand" n'est pas trés précis , surtout si l'ordi d'un joueur met plus d'une seconde et demi pour faire arriver le pj sur la zone cible.
Il aurait été plus judicieux de detecter lors de l'arrivée dans la zone d'ou vient le pj et de l'orienter sans "delaycommand" si il vient de tel ou tel zone.
_________________
Adresse du forum de mon module : Quetes et Legendes
" 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 Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 18/12/2005 18:53:55 Sujet du message :

C'est surtout que le SetFacing n'est assigné à personne ^^
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger 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 34.347ms