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 23/11/2024 11:01:40
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 |
Khorgan Ecuyer Messages: 67 |
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" ); } 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 |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
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 ! _________________ " 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 | |
Khorgan Ecuyer Messages: 67 |
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 |
Revenir en haut | |
Alenn Tax Seigneur Messages: 170 Localisation: J'étais loin, mais je suis revenu. |
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" ); } 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 | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
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)); } Cela étant, le script d'Alenn doit marcher très bien aussi. |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
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 ! _________________ " 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 | |
Khorgan Ecuyer Messages: 67 |
Tout d'abord merci pour toutes vos réponses
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 :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 |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
C'est normale que si a faux ils c'est trompé :
NWScript :
void main() { object oWP = GetObjectByTag("arrivee"); object oUser = GetLastUsedBy(); AssignCommand(oUser,JumpToLocation(GetLocation(oWP))); } Voila ca c'est mieu! _________________ [http] |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
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 !
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 ! _________________ " 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 | |
Khorgan Ecuyer Messages: 67 |
@Black Knight : effectivement pas d'erreur comme ça
Par contre ça ne résoud pas le problème 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 |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
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 !
Non ? _________________ " 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 | |
Khorgan Ecuyer Messages: 67 |
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 !
Vi pas bête ça ^^Non ? |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
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)); } Sa sa devrais le faire sinon, je vois pas comment faire sauf avec un Declencheur. _________________ [http] |
Revenir en haut | |
Khorgan Ecuyer Messages: 67 |
@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 |
Revenir en haut | |
Semcatala Grand Sage du Conseil Messages: 951 |
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. _________________ " 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 | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
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 | |
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