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 00:00:47
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 |
Yoyo Seigneur Messages: 223 |
Bonjour voila...
Je voudrais savoir comment faire pour que le personnage joueur puisse se reposer SEULEMENT a proximiter d'un feu de camps (et pas dans toute la zone) Comment sy prendre _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
Damonya Novice Messages: 12 Localisation: Quelques part dans ces lieux là |
Il fleurit un peu partout des systemes de dodo via trigger. il suffirait que tu mette un trigger pres de ton feu. va voir sur le vault et tape "rest" ou "resting" par exemple, tu trouvera ton bohneur. je crois qu'avec SOU y'a des triggers pour dormir aussi, m'enfin moi je prefere le vault, ce sont des sources sûr
_________________ Et bla et bla et bla. J'aime le blabla et surtout avec beaucoup de blabla. Dès le matin un p'tit blabla et ça va beaucoup mieux. Message de la comunauté des blablavores. |
Revenir en haut | |
lendraste Grand Maître Chanteur du Conseil Messages: 1403 Localisation: Quelque part ailleurs |
Dans un premier temps tu autorises le repos dans toutes les zones où tu souhaites que cela marche ainsi. Ensuite tu définis l'évènement OnPlayerRest avec le script suivant :
Code : void main() { int nEventType=GetLastRestEventType(); //Récupération du type d'évènement déclenché object oPC=GetLastPCRested(); //Récupération du PJ déclencheur de l'évènement if (nEventType==REST_EVENTTYPE_REST_STARTED) // L'évènement est un début de repos { object oCampFire=GetNearestObjectByTag("Campfire", oPC); //Recherche le plus proche placeable Feu de Camp dans la zone if (GetIsValidObject(oCampFire)) // Un feu de camp a été trouvé dans la même zone { float fDist=GetDistanceBetweenObject(oPC, oCampFire); // Calcule la distance entre le PJ et le plus proche feu de camp if (fDist>5.0) // Si cette distance est supérieure à 5. Cette valeur peut être adaptée en fonction des besoins { AssignCommand(oPC, ClearAllActions()); //Annulation du repos. } } else // Aucun feu de camp dans la zone { AssignCommand(oPC, ClearAllActions()); //Annulation du repos. } } } Cette solution ne marche qu'avec un seul type de feux de camp dont tu précises le tag. Pour qu'il marche avec plusieurs type de feux de camp, il faudra ajuster. La distance que j'ai donné est purement arbitraire. 10 correspondant à la largeur d'un Tile (une case du quadrillage de la zone en mode conception), il est relativement aisé d'ajuster cette distance à ta convenance. Je n'ai pas testé ce script, j'espère donc ne pas avoir commis d'erreur de syntaxe. _________________ Lendraste de Loreval Qui cherche la Vérité cherche celui qui la détient, car elle n'existe pas à l'état naturel. La cité des mensonges - 1 |
Revenir en haut | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
[mode:avis]
C'est assez stupide de forcer à dormir près d'un feu de camp : où est la discrêtion là dedans ? Nan, ça serait plus intelligent de faire des malus, genre tu peux pas réapprendre tes sorts (pas de lumière na!), tu récupéres moins de PdV et le Facteur "je me fais attaquer par des animaux" est plus grand :> [/mode:avis] [edit] Mais sérieusement, reprenant mon avis, je ne crois pas que le fait de forcer les gens à dormir à côté d'un feu de camp soit une bonne idée : penses-y ! Est-ce que tu dors près d'un feu de camp même chez toi ? Ou encore, crois-tu que tu va faire un feu de camp alors que tu es pourchassé ? Au contraire : ça ne ferait qu'attirer les ennemis. En ce sens, le système de Repos tel quel est plus réaliste que celui que tu tente de mettre en place, car le feu de camp n'a pour seuls buts que de réchauffer et éloigner les prédateurs naturels. Par contre, je crois que Neverwinter Nights permet de connaître le nombre de sorts restants, etc. Le mieux serait de changer les conditions de repos : dans le noir, quand il fait froid, tu as en effet plus de chances de te faire attaquer par une créature et concernant les sorts de mage, tu ne peux rien apprendre car la lumière manque (reste à voir s'il n'a pas un anneau qui lui donne de la lumière, ie: Problème de vision) C'est un peu comme le coup de forcément dormir sur des futains : c'est une abberation ça fait réaliste, mais quand on regarde de plus près ... c'est pas réaliste du tout car tu peux très bien dormir sur l'herbe, bon je dis pas pour la neige, mais braiffe. Par contre, le facteur Source de Chaleur du Feu devrait réellement importer pour faire fuir les créatures aux alentours. Donc tu pourrais considérer que tu peux te reposer normalement mais que selon la zone tu as un Ratio pour te faire attaquer plus ou moins important; Un peu comme Baldur's Gate quoi ! [Note pour Lendraste: tu as donné la solution, donc je pense que libre à lui de l'utiliser ou non. (désolé pour la froideur du message) A noter : ce que je dis, je vais surement l'appliquer dans The Balbarie : Coeur Noir. Bon c'est un module purement solo où le repos te fait avancer de x heures comme ça devrait être le cas (c'est pour ça que c'est en Solo : si le premier joueur avance de 8 heures, que va dire le second ? ) Nb : plutôt que de te casser le cul à passer en boucle chacun des types de feu de camp, te fais pas chier et change juste l'apparence de chacun des feux de camp (je suppose que le joueur ne va pas les créer donc?)) _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Ce que dit Baldurien n'est pas tout a fait faux mais il vient de me donner l'idée pour le manque de lumiere :
comment faire pour que le personnage joueur ne puisse pas récuperer ses sorts et ne puisse pas reprendre tous ses PVs?(et puis peu etre avoir plus de monstre dans les evirons )SEULEMENT dans une zone (et pas toutes ) _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
Pour les sorts, y a bien ça :
[http] Mais sinon, y a pas trop le choix. _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Ont le met ou le script (Dans quel objet et dans quelle proprieter?
Et pour les monstre qui viennent plus souvent lorsqu'on est loin du feu de camp ont fait comment? Et pour les PVs manquants? _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
tu me tue :>
Pour tout ça, je n'ai pas de réponses car je script aussi souvent que je souffle mes bougies donc désolé _________________ #nwnights-fr @ irc.darkmyst.org TitanQuest-FR |
Revenir en haut | |
Lavok Légende vivante Messages: 434 Localisation: Sphère planaire |
Perso, je n'ai encore jamais utilisé 'DecrementRemainingSpellUses' mais ça m'a l'air plutôt bizarre, vu que ce n'est pas un effet mais un void (définitif, donc ?)! Alors, comment l'annuler ?
_________________ ToB : Une seule chose semble certaine : tant que le trône de sang de Bhaal restera vide, le chaos règnera. Moi : Une seule chose semble certaine : tant que la tête de singe de Bush restera vide, le chaos règnera. |
Revenir en haut | |
Baldurien L'homme qui chutait sur le macadam Messages: 14066 Localisation: Quadran Alpha |
|
Revenir en haut | |
Damonya Novice Messages: 12 Localisation: Quelques part dans ces lieux là |
Code :
///////////////////////////////////////////////////
//// Script de Perte de memoire //// /////////////////////////////////////////////////// //// Cree par : Anthraxcite //// //// Corrigé/améliorer par : Sigbald et Tyrion //// /////////////////////////////////////////////////// /* Ce script est a mettre dans le OnEnter */ /* de la zone, du module ou d'un trigger */ /* afin que les sorts memorises par les */ /* joueurs soient effaces */ /////////////////////////////////////////////////// void BoucleDecrementationSorts(object oPJ, int j=0) { for(j;j < 239;j++) { DecrementRemainingSpellUses(oPJ, j); } } void main() { object oPJ = GetEnteringObject(); int i = 0; if(GetIsPC(oPJ)) { while(i<10) { BoucleDecrementationSorts(oPJ); i++; } } } Permet donc d'effacer les sorts du joueur. Un simple repos permet de retrouver tout ses sorts _________________ Et bla et bla et bla. J'aime le blabla et surtout avec beaucoup de blabla. Dès le matin un p'tit blabla et ça va beaucoup mieux. Message de la comunauté des blablavores. |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
C'est bien mais... si jeux veut que se sois seulement pres d'un feu de camps que les sort revienne?
je fait comment? _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
Yan the salor Seigneur Messages: 151 |
Pour le code de landrast sur la ligne
[NWScript] float fDist=GetDistanceBetweenObject(oPC, oCampFire); [\NWScript] dormirfeu.nss(10): ERREUR : PARSING VARIABLE LIST Si tu pouvais revoir ça stp EDIT J'ai trouvé fo supprimer "object" Dernière édition par Yan the salor le 05/04/2006 22:35:04; édité 1 fois
|
Revenir en haut | |
Sith Vicious Grand Sage du Conseil Messages: 693 |
Belle necro
Il s'était palnté sur la ligne du dessus apparement (GetIsObjectValid() et pas GetIsValidObject()) |
Revenir en haut | |
Yan the salor Seigneur Messages: 151 |
Oui merci
J'avais pas vu la date, Mais bon c toujours utile |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Là ça compile :
NWScript :
void main() { int nEventType=GetLastRestEventType(); object oPC=GetLastPCRested(); if (nEventType==REST_EVENTTYPE_REST_STARTED) { object oCampFire=GetNearestObjectByTag("Campfire", oPC); //Recherche le plus proche placeable Feu de Camp dans la zone if (GetIsObjectValid(oCampFire)==TRUE) { float fDist=GetDistanceBetween(oPC, oCampFire); // Calcule la distance entre le PJ et le plus proche feu de camp if (fDist>5.0) { AssignCommand(oPC, ClearAllActions()); //Annulation du repos. } } else // Aucun feu de camp dans la zone { AssignCommand(oPC, ClearAllActions()); //Annulation du repos. } } } y'avait une p'tite erreur pour le GetIsObjectValid, et une autre pour le GetDistanceBetween. _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
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