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 19:37:40
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 |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
Salut a tous,
Voila j'ai un system forge le PJ achete un marteau de forgeron utilise sont pouvoir unique un dialogue apparait. Et il peut crée son arme il y a une animation il attaque l'enclume. Mais le probleme c'est qu'il peut forger n'importe ou donc je voudrais fixer u condition suplemmentaire le PJ doit etre pres de l'enclume pour pouvoir forger j'ai penser a mettre un Declencheur autour de l'enclume mais apres je ne sait pas quel script je doit faire . Merci d'avance, _________________ Alokhan [http] |
Revenir en haut | |
CryinG.FreeM4n Acolyte Messages: 20 |
Si tu mets un déclencheur autour, tu peux par exemple créer une variable qui passe de 0 à 1 quand le PJ entre (OnEnter) et de 1 à 0 quand il sort (OnExit) du déclencheur, et tu rajoutes le test de la variable en question (est-elle à 1) au moment ou le PJ doit pouvoir se servir de l'objet...
|
Revenir en haut | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
|
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Il faut modifier ton script initial de forge, tu en as un ? ou bien il faut le créer de toute pièce ? Si tu en a un il suffit d'ajouter en tout début la condition sur la variable.
Pour ton déclencheur un truc du genre : Dans le OnEnter NWScript :
// Objet entrant object oPC = GetEnteringObject(); // Si c'est un joueur if (GetIsPC(oPC)) { SetLocalInt(GetModule(), "VariableForge", 1); } Dans le OnExit NWScript : // Objet sortant object oPC = GetExitingObject(); // Si c'est un joueur if (GetIsPC(oPC)) { SetLocalInt(GetModule(), "VariableForge", 0); } _________________ 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 | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
Super merci mais pour la conditoon du dialogue de mon marteau je met koi ?
_________________ Alokhan [http] |
Revenir en haut | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
|
Revenir en haut | |
omega Grand Chevalier Messages: 116 |
salut
Franchement, j'i deja fais des script, et dans tous j'ai vire la condition qui verifie si c'est un player, donc, mon coneil, fait un script qui ressemble a ca : Dans le onenter NWScript :
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. Dans le onexit NWScript :
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. Car, a moins d'etre idiot, tu fais pas un declancheur de 4 km², et tu t'efforce que aucun pnj ne passe dans le declancheur, et le tour est joue. PS : le setlocalint a juste un petit probleme si tu jous en multi, c'est que c'est une variable module, ca veut dire que si un joueur est dans le declencheur, un autre, a l'autre bout du monde pourat fabriquer son arme sans probleme, car pour tout le module, la variable "variableforge" sera a 1. omega |
Revenir en haut | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
Merci a tous,
Ok bonne idée toute facon il y auras que des PJ a rentrer dans la zone . Et pour la condition du marteau de forgeron je met quoi variable doit etre 1 mais en script sa donne quoi . Merci d'avance, _________________ Alokhan [http] |
Revenir en haut | |
omega Grand Chevalier Messages: 116 |
dans la condition du dialogue, tu met ca !
NWScript : int StartingConditional() { // Inspecter variables locales if(!(GetLocalInt(GetPCSpeaker(), "VariableForge") == 1)) return FALSE; return TRUE; } |
Revenir en haut | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
Merci mais sa ne fonctionne pas quand je met ce script au dialogue il ne sactive pas du tout.
_________________ Alokhan [http] |
Revenir en haut | |
Laxam Légende vivante Messages: 425 Localisation: Lyon |
Normal car dans le script qui t'a été donnée pour la condition d'exécution du dialogue, la variable "VariableForge" est stockée sur l'objet "joueur parlant" = GetPCSpeaker alors que dans les script qu'on t'a donnés pour le déclencheur, celle-ci est stockée sur le module = GetModule, ce n'est donc plus la même variable !!
Pour que ça marche il faut vérifier la variable "VariableForge" affectée au module : NWScript : int StartingConditional() { // Inspecter variables locales if(!(GetLocalInt(GetModule(), "VariableForge") == 1)) return FALSE; return TRUE; } _________________ 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 | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
|
Revenir en haut | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
Salut et encore merci,
J'aimerais aussi faire que le PJ attaque l'enclume ( ca je sait le faire ;)et qu'il ne puisse pas faire autre chose donc qu'il ne puisse pas donner d'autre action a son Perso sa je ne sait pas faire . Mais apres 5 sec il doit arreter d'attaquer l'enclume et sa je ne sait pas faire non plus . Merci d'avance je vais assayer de trouver la solution moi même mais si vous trouver avant moi dit le . _________________ Alokhan [http] |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
je dirais un truc du genre :
NWScript :
void main() { object oPJ = GetLastUsedBy(); //le joueur object oEnc = GetNearestObjectByTag("Tag de l'enclume"); //l'enclume float fTim = 5.0; //le temps durant lequel le joueur va taper sur l'enclume SetCommandable(FALSE, oPJ); //le joueur ne peut plus rien faire AssignCommand(oPJ, ActionAttack(oEnc)); //il frappe l'enclume DelayCommand(fTim, AssignCommand(oPJ, ClearAllActions())); //au bout de 5 secondes il arrete DelayCommand(fTim, SetCommandable(TRUE, oPJ)); //au bout de 5 secondes le joueur reprend le controle du perso } _________________ 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 | |
alokhan Grand Chevalier Messages: 102 Localisation: Belgique, Nivelles |
|
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