
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 01/05/2025 07:34:32
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 |
Daermon Légende vivante ![]() Messages: 356 Localisation: Près de 4-1 |
J'ai créer un script qui permet d'invoquer un extra-planaire, quand le PJ passe sur un déclencheur, et j'ai mis ce script dans le "OnHeartBeat" ( ou quelque chose qui s'en rapproche
![]() ![]() Ca, c'est pour mon premier essai ! Pour mon deuxième essai, j'ai mis le script dans le "OnOpen" d'une porte. Là, il n'y a plus d'invasion, mais à chaque fois que j'ouvre la porte, un extra-planaire arrive ![]() Voilà mon problème : "Comment fat-on pour invoquer UNE, et UNE seule créature, quand le PJ passe sur, ou actionne, une chose ?" ![]() Merci pour vos réponses. EDIT de finipe : j'ai édité le titre de ton message pour qu'il soit plus explicite ![]() _________________ "Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..." |
Revenir en haut | ![]() ![]() ![]() |
Cassin Papa-poule(t) & poissard intemporel ![]() Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
C'est tout à fait normal que tes scripts réagissent comme ça
![]() Le OnHeartBeat s'exécute toutes les 6 secondes, donc forcément, au bout d'un moment on se retrouver envahit ![]() Le OnOpen lui s'exécute, comme son nom l'indique, quand on ouvre l'objet (ici, la porte), mais il s'exécute A CHAQUE FOIS ![]() Pour que ça ne s'exécute qu'une seule fois, tu peux mettre une variable dessus, bon, j'ai pas le temps de faire le script là (je suis au boulot ![]() Ca doit donner quelque chose du genre if variableX = 0 --> Exécute script d'invocation de planaire else --> rien _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | ![]() ![]() ![]() ![]() |
Daermon Légende vivante ![]() Messages: 356 Localisation: Près de 4-1 |
ok merci, je te tiens au courant ! mais je te garantis pas que ça va marché : je débute en script
![]() _________________ "Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..." |
Revenir en haut | ![]() ![]() ![]() |
Vorace Novice Messages: 7 |
alors ta reussi si ta reussi donne nous le script comme sa tu pourra en faire profiter toute la communauté
![]() |
Revenir en haut | ![]() ![]() ![]() ![]() ![]() |
Daermon Légende vivante ![]() Messages: 356 Localisation: Près de 4-1 |
j'ai essayé ce que tu m'as dit Cassin, mais ce coup-ci, rien ne se passe
![]() Code : void main() { object oPC = GetLastOpenedBy(); if (!GetIsPC(oPC)) return; object oTarget; object oSpawn; oTarget = GetWaypointByTag("invocationdelArchonCanin"); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "archoncanindoulgesh", GetLocation(oTarget)); oTarget = oSpawn; AssignCommand(oTarget, ActionStartConversation(oPC, "")); oTarget = oSpawn; ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_GATE), GetLocation(oTarget)); } A la fin, j'ai ajouter un effet visuel, et pour la conversation, c'est normal qu'il n'y a rien. Dites-moi ce qu'il va pas, parce que je m'arrache les cheveux, et ça ménerve ![]() _________________ "Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..." |
Revenir en haut | ![]() ![]() ![]() |
Cassin Papa-poule(t) & poissard intemporel ![]() Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Je ne peux pas vraiment vérifier car je n'ai plus NwN en ce moment (j'attend un nouveau disque dur pour le réinstaller
![]() Normalement ça devrait plus être quelque chose dans le genre : Code : if (GetIsPC(oPC) = TRUE)
{ *commandes* } else { *autres commandes* } Bon, c'est pas très clair mais ça faut un moment que je n'ai pas touché aux scripts, je suis un peu rouillé ![]() Regarde d'autres scripts où il y a des if pour avoir la syntaxe exacte ![]() _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | ![]() ![]() ![]() ![]() |
finipe Grand Sage du Conseil ![]() Messages: 519 Localisation: Nantes |
Si tu veux que la créature apparaisse quand le joueur ouvre une porte, un et une seule fois, procède comme suit :
Sur le onOpen de ta porte : Code : void main()
{ object oPC = GetLastOpenedBy(); object oTarget = GetWaypointByTag("invocationdelArchonCanin"); if(GetLocalInt(oPC, "Monstre_apparu") != 1) //on vérifie la variable pour savoir si la créature a déjà été créée { if(GetIsPC(oPC) == TRUE) { CreateObject(OBJECT_TYPE_CREATURE, "archoncanindoulgesh", GetLocation(oTarget)); SetLocalInt(oPC, "Monstre_apparu", 1); //variable = 1, donc la créature ne sera plus créée ensuite. } } } Maintenant, le principe est le même pour un déclencheur, sauf que object oPC sera alors défini par GetLastEnteringObject() _________________ » Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine » 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII |
Revenir en haut | ![]() ![]() ![]() ![]() |
Daermon Légende vivante ![]() Messages: 356 Localisation: Près de 4-1 |
Wouhou
![]() ![]() Je n'oublierais pas de faire une section "remerciements", et de vous y mettre, pour mon prochain module que je fais en ce moment. Le seul problème c'est que je n'ai pas trop le temps de m'en occupé, pour l'instant. Mais bon, merci quand même ![]() _________________ "Dans la vie, chacun prend son propre chemin. Mais en fin de compte, on se retrouve tous au même endroit..." |
Revenir en haut | ![]() ![]() ![]() |


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