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 23/11/2024 16:39:13
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 |
pierrot laLune Acolyte Messages: 22 |
Posté le : 19/08/2004 21:39:50 Sujet du message : executer une fonction ou un script a periode d'interval
Salut. voila mon petite probleme.
je suis entrain de monter un system de garde de ville, et j'aimerais payer mes gardes a interval regulier: genre toute les heures. Or pour le meoment je n'ai pas trouver de timer ou autre qui me permette d'excuter un action a interval regulier. Dons si vous avez une astuce je suis preneur merci beaucoup |
Revenir en haut | |
Yoyo Seigneur Messages: 223 |
Désolé je peu pas te répondre mais ca te servirait a quoi de payer les gardes (parce que sinon il s'en foute)?
A moin que tu voudrait que le joueurs les détrousse? _________________ BOUH! (je vous ai fait peur ??) désolé Vive moi Pas vive Securom |
Revenir en haut | |
pierrot laLune Acolyte Messages: 22 |
Yoyo a écrit : Désolé je peu pas te répondre mais ca te servirait a quoi de payer les gardes (parce que sinon il s'en foute)?
ça sert a quoi? les gardes ce sont les joueurs. et les joueur il aiment bien avoir un peu d'avoir qd il accomplissent une quete ou une action.
A moin que tu voudrait que le joueurs les détrousse? d'ou l'utilité. |
Revenir en haut | |
Archéops Ecuyer Messages: 55 |
Salut....
Pour lancer un script à intervalles réguliers je vois que le OnHeartBeat de la zone, celui se déclenche toute les 6 secondes. Mais cette solution me paraît trés lourde... Personnellement, j'opterai pour une solution moins encombrante. Par exemple un chef de la garde PNJ qui donnerai une paye aux gardes pnj suivant le temps qu'ils sont resté en faction. Dans le principe ça donne çà : 1° le pj vient voir le chef pour dire qu'il part en patrouille, là je récupère l'heure à laquelle il a pris son service (heure initiale). 2°le joueur est en patrouille 3° il a fini sont tour de garde, il revient voir le chef qui le paye suivant les heure qu'il a fait en faisant heure initiale-heure actuelle. Voila, par contre si tu tiens à utiliser le OnHeartBeat il faut que tu calcule combien de fois il doit se déclencher avant que une heure dans le jeu soit passée... |
Revenir en haut | |
pierrot laLune Acolyte Messages: 22 |
ça peut etre une idée interressante. je vais y reflechir. merci beaucoup
|
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Sinon tu as le NPC activities qui permet d'éxécuter des script à des heures précises...
Tu pourrais par exemple initialiser une variable quand le PJ prend son poste (suite à un dialogue par exemple) et pour un NPC (chef des gardes), tu lui mets le NPC activities qui exécute un script à 14h, 16h, .... ce script peut être le lancement d'un dialogue si la variable a été initialisée et dans ce dialogue, le chef garde paie le PJ... voilà, simple non ? _________________ Mon site NWN nouvelle version et mon module Boisperdu en ligne ! Et maintenant un FORUM La première version française de la doc du NPC Activities (version 2.0) |
Revenir en haut | |
pierrot laLune Acolyte Messages: 22 |
Laxam a écrit : Sinon tu as le NPC activities qui permet d'éxécuter des script à des heures précises...
bonne idée. merci je vais faire un trucs comme ça.
Tu pourrais par exemple initialiser une variable quand le PJ prend son poste (suite à un dialogue par exemple) et pour un NPC (chef des gardes), tu lui mets le NPC activities qui exécute un script à 14h, 16h, .... ce script peut être le lancement d'un dialogue si la variable a été initialisée et dans ce dialogue, le chef garde paie le PJ... voilà, simple non ? Ou ce trouve le NPC activities stp? merci |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
Bonjour,
Comme indiqué dans la signature de Laxam, le NPC ACTIVITIES 5.5 se trouve -> ici... (tout en bas de la page...) Bon courage et à plus. _________________ 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 | |
pierrot laLune Acolyte Messages: 22 |
kiky.le.magnifique a écrit : Bonjour,
c clair j'avais pas vu la sign de laxam ^^
Comme indiqué dans la signature de Laxam, le NPC ACTIVITIES 5.5 se trouve -> ici... (tout en bas de la page...) Bon courage et à plus. je pensais que c'etait une fonction de nwn ^^ merci |
Revenir en haut | |
k0rvet Ecuyer Messages: 67 |
Une autre solution consisterait à utiliser la queue d'action d'un PNJ "compteur" pour réaliser tout ça. C'est vraiment ultime comme solution. Pour plus de précision, des éléments de réponse ici (pour la queue d'action et meme un peu plus) et par là (pour une idée sur les timers)
Ca peut paraitre rébarbatif comme procédé au début, mais c'est super efficace. _________________ Moi j'dis ca, mais bon j'dis rien hein? ..:: Les Chroniques de la Terre du Milieu ::.. |
Revenir en haut | |
pierrot laLune Acolyte Messages: 22 |
j'etait entrain de penser a une fonction recursive qui lancereais un Delaycommand de cette fonction. ainsi tout les interval de temps j'ai une action a executer. mais c un peu barbare aussi. je vais regarder aussi ta solution ^^
|
Revenir en haut | |
pierrot laLune Acolyte Messages: 22 |
Bon voila ma solution apres quelque test rapide ça marche j'ai codé ça en speed ^^
Voila mon timer maison NWScript :
//:///////////////////////// ///////////////////// //:: Timer //:: pier_lib_timer.nss //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* cette bibliotheque permet d'executer un script a interval regulier. */ //:///////////////////////// //////////////////// //:: Created By: pierrot laLune //:: Created On: 25 Aout 2004 //:///////////////////////// //////////////////// //:///////////////////////// ///////////////////// //:: Timer //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* cette fonction recursive est appele par TimerStart. ATTENTION: les seules fonctions qui sont a utiliser dans cette bibliotheque sont TimerStart et TimerStop */ //:///////////////////////// //////////////////// //:: Created By: pierrot laLune //:: Created On: 25 Aout 2004 //:///////////////////////// //////////////////// void Timer(string sName ,float fSeconds,string sScript, object oTarget){ if(GetLocalInt(oTarget,sName)){ ExecuteScript(sScript,oTarget); DelayCommand(fSeconds,Timer(sName,fSeconds,sScript,oTarget)); } } //:///////////////////////// ///////////////////// //:: Timer //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* Cette fonction permet de lancer un nouveau timer */ //:///////////////////////// //////////////////// //:: Created By: pierrot laLune //:: Created On: 25 Aout 2004 //:///////////////////////// //////////////////// void TimerStart(string sName // le nom du Timer , float fSeconds // l'interval en seconds , string sScript // le script a executer , object oTarget // la cible du script ){ SetLocalInt(oTarget, sName ,1); DelayCommand(fSeconds,Timer(sName,fSeconds,sScript,oTarget)); } //:///////////////////////// ///////////////////// //:: TimerStop //:: Copyright (c) 2001 Bioware Corp. //:///////////////////////// //////////////////// /* Cette fonction permet d'arreter de faon naturelle un timer */ //:///////////////////////// //////////////////// //:: Created By: pierrot laLune //:: Created On: 25 Aout 2004 //:///////////////////////// //////////////////// void TimerStop(string sName // le nom du Timer , object oTarget // la cible est est stocker le nom du timer ){ SetLocalInt(oTarget, sName ,0); } voial c'est assez simple on demmare le script que l'on veux executer a interval regulier avec TimerStart et on l'arrete avec TimerStop. toute signslisation de bug est la bien venu. ou evidament toute ammelioration potentiel. voila. |
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