La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 18:24:56


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Lilly
Acolyte
Inscrit le: 16 Déc 2005
Messages: 24
Répondre en citant
Posté le : 15/03/2006 03:25:31 Sujet du message : Zones de repos

Bonjour,

J'aimerais savoir comment faire pour qu'une zone précise enlève l'impossiblité de se reposer dans une zone...

J'ai coché la case qui empêche le repos sur toute ma zone mais j'aimerais qu'on puisse tout de même le faire dans un endroit précis.
Est-ce possible de passer par un script à mettre dans un déclencheur générique?

Merci d'avance Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lilly
Acolyte
Inscrit le: 16 Déc 2005
Messages: 24
Répondre en citant
Posté le : 15/03/2006 17:19:15 Sujet du message :

...


Est-ce de ma faute si même après m'être tapée deux pages de recherche je n'ai pas trouvé ce que je veux?

........
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Argyl
Grand Sage du Conseil
Inscrit le: 09 Fév 2005
Messages: 704
Répondre en citant
Posté le : 15/03/2006 17:25:00 Sujet du message :

Pourquoi ne pas mettre à l'endroit précis un trigger vers une zone (minuscule) où les gens peuvent se reposer, à moins que tu veuilles absolument que les persos reste sur la map en question.
 
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 : 15/03/2006 18:22:25 Sujet du message :

Pas bête.

Sinon, la solution (enfin une solution) c'est :
-Autoriser le repos sur la zone
-A l'entrée sur la zone fixer une variable sur le joueur :
NWScript :

// (1) a mettre sur le OnEnter de la zone
// (2) a mettre sur le OnEnter du trigger
void main()
{
    object oPC = GetEnteringObject();

    //(1) if (GetIsPC(oPC)) SetLocalInt(oPC,"REPOS_IN TERDIT",TRUE);
    //(2) if (GetIsPC(oPC)) SetLocalInt(oPC,"REPOS_IN TERDIT",FALSE);


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


Sur le OnExit :
NWScript :

//(1) sur la zone
//(2) sur le trigger
void main()
{
    oPC = GetExitingObject();
    //(1) if (GetIsPC(oPC)) DeleteLocalInt(oPC,"REPOS _INTERDIT");
    //(2) if (GetIsPC(oPC)) SetLocalInt(oPC,"REPOS_IN TERDIT",TRUE);

}

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.


et dans le script de repos pour l'event REST_STARTED (je sais plus comment c'est en vrai) tu rajoute :
NWScript :

///script de repos apres verification de l'evenement, evenement debut du repos

if (GetLocalInt(oPC,"REPOS_INTERDIT")) AssignCommand(oPC,ClearAllActions());
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.


Ca devrait t'avancer je pense. L'idée est là en gros. Juste, il est impossible de faire reposer un joueur dans une zone cochée comme repos interdit. Sauf avec un script et un ForceRest() mais c'est pas très propre. Le script de repos ne se lance pas dans ce genre de zone.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lilly
Acolyte
Inscrit le: 16 Déc 2005
Messages: 24
Répondre en citant
Posté le : 15/03/2006 20:24:32 Sujet du message :

Arf... bien ce que je pensais alors... impossible si cette case est cochée Confused

Mici pour les réponses, je vais essayer la méthode se Sith pour voir (même si euh là troisième partie je ne suis pas sûre d'avoir compris... Embarassed )
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 16/03/2006 10:58:25 Sujet du message :

moi pour le repos, voici comment j'ai procédé :
Repos autorisé sur toute les zones
Quand tu clique sur "R" si ton pj a une bonne variable, il peu dormir, sinon ben.... rien

Pour pouvoir se reposer, il y a 3 solution
1 : Trouver un refuge, c'est une zone où le repos est gratuit (activé par un trigger qui passe la variable local à 1)
2 : se payer une chambre, dans les auberges et les hotels, tu achete une chambre.(le trigger de la chambre verifie que tu a bien payer la chambre, il passe alors la variable de repos à 1)
3 : Utiliser un Sac de couchage/Tente/pavillon, on installe son campement et on roupille (le pj transporte le camps, l'instale et via un dialogue peu se reposer ou demonter son camps) Evidement ce moyen etant inconfortable, le pj pert des xp lors du repos (plus c'est inconfortable, plus tu perd d'xp). Le dialogue fait passer la variable de repos à 1, fait roupiller le pj et replace la variable à 0.

La sortie des trigger fait paser la variable de repos a 0


Par contre pour ne pas te compliquer la vie, tu peu simplifier le problème de la manière suivante.
Repos libre sur toute les zones
Tu autorise le repos si ta variable de repos = 0 (donc valeur par defaut).
Là où tu veux interdire le repos tu fait un trigger qui dans le onenter passe la variable de repos =1 et la passe à 0 à la sortie. Donc tant que tu te trouvera dans le trigger, tu ne poura plus te reposer.

Donc tu modifie le script de repos en verifiant que la variable local de repos est bien a 0 (je ne pense pas qu'il soit utile d'aller plus loin car soit la variable =0 et le script est executé, soit la vriable =1 et là.... ben rien Embarassed)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Lilly
Acolyte
Inscrit le: 16 Déc 2005
Messages: 24
Répondre en citant
Posté le : 16/03/2006 23:16:13 Sujet du message :

Aïe... Je suis vraiment hyper débutante en scripts... J'avoue beaucoup utiliser le générateur qui est sur le vault. Et en fait les variables... pour moi c'est presque du chinois... mais presque seulement! Donc je vais essayer à tête reposée Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 27.34ms