La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 01/11/2024 00:00:47


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Yoyo
Seigneur
Inscrit le: 31 Aoû 2003
Messages: 223
Répondre en citant
Posté le : 24/09/2003 19:01:54 Sujet du message : Repos a coté d'un feu de camps

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 Surprised Surprised Surprised
_________________
BOUH! (je vous ai fait peur ??) désolé

Vive moi
Pas vive Securom
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Damonya
Novice
Inscrit le: 16 Avr 2003
Messages: 12
Localisation: Quelques part dans ces lieux là
Répondre en citant
Posté le : 24/09/2003 19:20:13 Sujet du message :

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 Very Happy
_________________
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 Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM Yahoo Messenger MSN Messenger Ignorer l'utilisateur
 
lendraste
Grand Maître Chanteur du Conseil
Inscrit le: 20 Fév 2003
Messages: 1403
Localisation: Quelque part ailleurs
Répondre en citant
Posté le : 24/09/2003 19:22:29 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Numéro ICQ Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 24/09/2003 19:38:27 Sujet du message :

[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 Smile ç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 ? Smile)


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 Smile (je suppose que le joueur ne va pas les créer donc?))
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Yoyo
Seigneur
Inscrit le: 31 Aoû 2003
Messages: 223
Répondre en citant
Posté le : 25/09/2003 18:19:34 Sujet du message :

Ce que dit Baldurien n'est pas tout a fait faux Very Happy mais il vient de me donner l'idée pour le manque de lumiere Very Happy :
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 Very Happy )SEULEMENT dans une zone (et pas toutes Very Happy )
_________________
BOUH! (je vous ai fait peur ??) désolé

Vive moi
Pas vive Securom
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 25/09/2003 18:41:24 Sujet du message :

Pour les sorts, y a bien ça :

[http]

Mais sinon, y a pas trop le choix.

Malade
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Yoyo
Seigneur
Inscrit le: 31 Aoû 2003
Messages: 223
Répondre en citant
Posté le : 25/09/2003 18:47:09 Sujet du message :

Uh ? Ont le met ou le script Very Happy (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? Surprised
Et pour les PVs manquants? Surprised
_________________
BOUH! (je vous ai fait peur ??) désolé

Vive moi
Pas vive Securom
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 25/09/2003 19:09:16 Sujet du message :

Smile tu me tue :>

Pour tout ça, je n'ai pas de réponses car je script aussi souvent que je souffle mes bougies Smile donc désolé Smile
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Lavok
Légende vivante
Inscrit le: 22 Oct 2002
Messages: 434
Localisation: Sphère planaire
Répondre en citant
Posté le : 26/09/2003 17:59:01 Sujet du message :

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 Surprised?)! 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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Baldurien
L'homme qui chutait sur le macadam
Inscrit le: 12 Sep 2002
Messages: 14066
Localisation: Quadran Alpha
Répondre en citant
Posté le : 26/09/2003 18:08:30 Sujet du message :

par un repos Smile
_________________
#nwnights-fr @ irc.darkmyst.org TitanQuest-FR
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Damonya
Novice
Inscrit le: 16 Avr 2003
Messages: 12
Localisation: Quelques part dans ces lieux là
Répondre en citant
Posté le : 27/09/2003 22:56:25 Sujet du message :

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 Cool
_________________
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 Voir le profil de l'utilisateur Envoyer un message privé Adresse AIM Yahoo Messenger MSN Messenger Ignorer l'utilisateur
 
Yoyo
Seigneur
Inscrit le: 31 Aoû 2003
Messages: 223
Répondre en citant
Posté le : 28/09/2003 11:46:00 Sujet du message :

C'est bien Very Happy 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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Yan the salor
Seigneur
Inscrit le: 03 Oct 2004
Messages: 151
Répondre en citant
Posté le : 05/04/2006 22:27:26 Sujet du message :

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 Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 05/04/2006 22:33:54 Sujet du message :

Laughing Belle necro Very Happy

Il s'était palnté sur la ligne du dessus apparement (GetIsObjectValid() et pas GetIsValidObject())
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Yan the salor
Seigneur
Inscrit le: 03 Oct 2004
Messages: 151
Répondre en citant
Posté le : 05/04/2006 22:36:08 Sujet du message :

Oui merci
J'avais pas vu la date, Laughing
Mais bon c toujours utile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 05/04/2006 22:37:19 Sujet du message :

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.
    }
  }
}
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.

y'avait une p'tite erreur pour le GetIsObjectValid, et une autre pour le GetDistanceBetween. Very Happy
_________________
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 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 44.729ms