La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 20/04/2024 06:58:34


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Psychopompos
Seigneur
Inscrit le: 10 Fév 2008
Messages: 209
Localisation: Ici
Répondre en citant
Posté le : 15/11/2010 22:47:25 Sujet du message : Dormir grâce à un placeable

Bonjour.
Existe-t-il un script qui se déclenche sur dialogue et qui permette de déclencher un repos pour le PJ ? Y compris dans une zone dont la case "pas de repos" est cochée ?
S'il n'existe pas de script tout fait, quoi mettre dedans ?

Ce que je cherche à faire, c'est que le personnage doive retourner à son appartement pour piquer un somme, le sommeil étant déclenché via un "dialogue" avec son lit.
_________________
"Oh Destin cruel! Cruel, cruel cruel Destin! Oh cruauté du destin!"
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Psychopompos
Seigneur
Inscrit le: 10 Fév 2008
Messages: 209
Localisation: Ici
Répondre en citant
Posté le : 20/11/2010 10:50:32 Sujet du message :

Up
_________________
"Oh Destin cruel! Cruel, cruel cruel Destin! Oh cruauté du destin!"
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 21/11/2010 19:45:57 Sujet du message :

Salut !

La solution à mon avis, est triple :

--> Appliquer un effet Heal ou Regenerate : effect eRegen = EffectRegenerate(1, 3.0);
--> Appliquer un effet visuel sleep (=> ZZZzzzzz ...)
--> Faire faire au joueur une animation pour dormir. ANIMATION_LOOPING_DEAD_FRONT
_________________
Module persistant dans l'univers de Star Wars : Dark Time of the Galaxy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 22/11/2010 10:48:30 Sujet du message :

Salut,

Une autre solution pourrait être de ne pas interdire le sommeil dans la zone avec la case "pas de repos" mais plutôt par script.
Tu peut le faire en faisait un ClearAllAction() si le joueur lance le repos et que le TAG de ta zone est égal à celui de l'appartement sauf si il le déclenche par dialogue.

Avec cette solution tu as l'avantage de ne pas gérer le repos artificiellement, par contre moins pratique à mettre en place que la solution d'Enki.

Bonne chance ;p
_________________
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
 
Psychopompos
Seigneur
Inscrit le: 10 Fév 2008
Messages: 209
Localisation: Ici
Répondre en citant
Posté le : 22/11/2010 13:02:50 Sujet du message :

J'ai réussi à retrouver le script nécessaire (c'était dans A Dance With Rogues) :

NWScript :
void main()
{
    object me = GetFirstPC();
    int hour = GetTimeHour ();
    object my_clothes;
    effect eFade = EffectVisualEffect (VFX_DUR_DARKNESS);

    AssignCommand (me, ClearAllActions ());

    // unequip my clothes, let me say how sleepy I am, and let me sit down.
    my_clothes = GetItemInSlot (INVENTORY_SLOT_CHEST, me);
    DelayCommand (1.0f, AssignCommand (me, ActionUnequipItem (my_clothes)));
    DelayCommand (2.0f, AssignCommand (me, ActionPlayAnimation (ANIMATION_LOOPING_DEAD_FRONT, 1.0f, 8.0f)));

    // put my clothes back on
    DelayCommand (3.0f, AssignCommand (me, ActionEquipItem (my_clothes, INVENTORY_SLOT_CHEST)));
    DelayCommand (8.0f, AssignCommand (me, ActionSpeakString ("I slept like a baby.")));

    // rest
    ForceRest (me);

    // advance 8 hours
    hour = hour + 8;
    if (hour >23) hour = hour -24;
    SetTime (hour, 0, 0, 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.


A éditer un peu et tester, pour voir si ça marche aussi avec le D20 Modern Mod.

Edit : ça marche, par contre ça écrase le système de repos du Modern Mod (le script fait une régénération totale au lieu de la régénération de 2 ou 3 points de vie par niveau). Ce n'est pas un si gros problème, vu qu'aller dormir nécessitera de faire un gros détour et de traverser des zones avec des encounters... Very Happy
_________________
"Oh Destin cruel! Cruel, cruel cruel Destin! Oh cruauté du destin!"
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
La Rose Noire
Novice
Inscrit le: 02 Fév 2010
Messages: 17
Répondre en citant
Posté le : 17/01/2011 17:13:26 Sujet du message :

Le secret du script dessus est le ForceRest qui fait se reposer un individu même dans une zone interdite au repos et lui rend ses sorts et Dons Actifs, ce qu'un EffectHeal ne fait pas.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 26.3ms