
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 16/04/2025 16:44:08
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 |
Beastofgaia Novice Messages: 15 |
bonjour! j'ai créé un script mais je n'arrive pas à avoir ce que je veux... alors je suis paumé et si vous pouviez m'aider à trouver où j'ai foiré je vous serais très reconnaissant SVP
à la base le script est censé, à la fin d'un dialogue, lancer une succession d'actions et d'envois de messages au joueur qui a parlé au PNJ. je voudrais faire qu'au bout de 30 secondes le joueur tombe au sol comme évanouit puis soit téléporté quelques secondes après. avant la téléportation, des messages (x3) avertissent le joueur que quelque chose se passe. le script se compile sans erreur mais rien ne se passe dans les tests... NWScript :
void main() { object oPlayer = GetPCSpeaker(); ; object oArea = GetObjectByTag( "LOST_IN_LAND" ); float fOrientation = GetFacing( oPlayer ); vector vPosition = GetPosition( GetObjectByTag( "LOST1" ) ); location lWhereToGo = Location( oArea, vPosition, fOrientation ); DelayCommand(29.0, AssignCommand(oPlayer, ClearAllActions())); DelayCommand(30.0, AssignCommand(oPlayer, ActionPlayAnimation( ANIMATION_LOOPING_DEAD_FRONT, 1.0, 10.0))); DelayCommand(40.0, AssignCommand( oPlayer, JumpToLocation( lWhereToGo )) ); DelayCommand(20.0, SendMessageToPC( oPlayer, "Vous etes seul au milieu d'une etendue de neige.")); DelayCommand(25.0, SendMessageToPC( oPlayer, "Le visage de Nelle apparait dans votre memoire.")); DelayCommand(30.0, SendMessageToPC( oPlayer, "Vous tournez en rond et sentez le froid vous envahir")); } j'ai vérifié mon tag de oAera et mon wp de tag LOST1 à la base je voulais lancer ce script après la mort du PNJ, tué par le joueur, il-y a t'il un moyen différent que le dialogue pour lancer le script? par exemple avec GetLastKiller et le OnDeath du PNJ par exemple? |
Revenir en haut | ![]() ![]() ![]() |
Flumby Chevalier ![]() Messages: 71 |
Bonjour,
J'ai donc une version qui marche sur le onDeath de ton pnj : NWScript :
void main() { //SpawnScriptDebugger(); object oKiller = GetLastKiller(); object oDestination = GetObjectByTag("Destination"); AssignCommand(oKiller, ClearAllActions()); DelayCommand(2.0f,FadeToBlack(oKiller,FADE_SPEED_FAST)); AssignCommand(oKiller, ActionPlayAnimation( ANIMATION_LOOPING_DEAD_FRONT, 1.0f, 3.0f)); AssignCommand(oKiller, ActionJumpToObject(oDestination)); DelayCommand(3.0f,BlackScreen(oKiller)); DelayCommand(6.0f,FadeFromBlack(oKiller,FADE_SPEED_FAST)); AssignCommand(oKiller, ActionPlayAnimation( ANIMATION_LOOPING_DEAD_FRONT, 1.0f, 7.0f)); DelayCommand(8.0f, SendMessageToPC( oKiller, "Vous etes seul au milieu d'une etendue de neige.")); DelayCommand(9.0f, SendMessageToPC( oKiller, "Le visage de Nelle apparait dans votre memoire.")); DelayCommand(11.0f, SendMessageToPC( oKiller, "Vous tournez en rond et sentez le froid vous envahir")); } Pour que ca marche il faut que le pnj n'ait pas de mort définitive et que le temps de décomposition soit plus grand que ton delaycommand le plus grand. Par exemple moi ca serait 12 en temps de décomposition. Il te faut aussi un objet avec un tag Destination ou tag que tu veux, un point de passage fera tres bien l'affaire. Oriente la fleche de celui-ci vers la direction que tu désires que ton personnage regarde, ca sera plus simple. Il faut aussi une animation en deux phases, une dans la première zone, sinon elle bloque l'exécution des autres commandes le temps de l'animation couché se fasse. Pour cacher les fin d'animation avant TP et début d'animation apres TP j'ai usé d'un écran noir progressif. Les délais seront peut etre a revoir en fonction de tes besoins. _________________ Premier DM a avoir inauguré la chute d'auberge sur Joueur rebel Preuve ![]() |
Revenir en haut | ![]() ![]() ![]() |
Beastofgaia Novice Messages: 15 |
MERCI MERCI MERCI!!!!
je vais l'essayer et je vous dis ce qu'il en ai mais je pense que c'est nickel. MERCI BEAUCOUP à toi Flumby!!! Beast. |
Revenir en haut | ![]() ![]() ![]() |
Beastofgaia Novice Messages: 15 |
J'ai essayé ton script et ça m'a permi d'obtenir ce que je souhaitais après une ou deux manip. le final donne ça :
NWScript :
void main() { //SpawnScriptDebugger(); object oKiller = GetLastKiller(); object oDestination = GetObjectByTag("LOST2"); DelayCommand(10.0f, SendMessageToPC( oKiller, "Vous etes seul au milieu d'une etendue de neige.")); DelayCommand(15.0f, SendMessageToPC( oKiller, "Le visage de Nelle apparait dans votre memoire.")); DelayCommand(20.0f, SendMessageToPC( oKiller, "Vous tournez en rond et sentez le froid vous envahir")); DelayCommand(21.0f, AssignCommand(oKiller, ClearAllActions())); DelayCommand(22.0f, AssignCommand(oKiller, ActionPlayAnimation( ANIMATION_LOOPING_DEAD_FRONT, 1.0f, 5.0f))); DelayCommand(25.0f, AssignCommand(oKiller, ActionJumpToObject(oDestination))); } après le dernier DelayCommand, je voulais ajouter une entrée dans le journal des quêtes mais j'ai du mal avec la fonction AddJournalQuestEntry 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. Si quelqu'un peut me dire ce que je dois mettre exactement à la place de szplotID? de nState? Merci. Beast. |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
szPlotID = le tag du journal
sState = le numéro d'entrer (ID en quelque sorte, quand tu crées un nouveau commentaire) _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |
Beastofgaia Novice Messages: 15 |
donc je dois prendre le Tag du journal?
le mien est Q_NEW_WORLD la phrase qui m'intéresse a un Id de 3. il y a t'il un code à mettre? par ex après le Tag je dois rajouter ID? tu me donner un exemple de notation? par ce que là je suis paumé... merci d'avance. Beast. |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
|
Revenir en haut | ![]() ![]() ![]() |
Beastofgaia Novice Messages: 15 |
Merci beaucoup^^
Beast. |
Revenir en haut | ![]() ![]() ![]() |


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