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 22:06:37
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 |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Un truc que je comprend pas...
Code : location lSPWEffects = GetLocation(GetObjectByTag("SpawnEffects"));
location lSPWPortal = GetLocation(GetObjectByTag("SpawnPortal")); object oCaster = GetObjectByTag("Caster"); void main() { DelayCommand (0.0, CreateObject(OBJECT_TYPE_PLACEABLE, "solyellow001", lSPWEffects, TRUE)); DelayCommand (0.0, CreateObject(OBJECT_TYPE_PLACEABLE, "magicyellow001", lSPWEffects, TRUE)); DelayCommand (5.0, AssignCommand(oCaster, ActionCastFakeSpellAtLocation(SPELL_RAY_OF_FROST, lSPWPortal))); DelayCommand (6.0, CreateObject(OBJECT_TYPE_PLACEABLE, "portal001", lSPWPortal, TRUE)); } Il me sort à chaque ligne de DelayCommand un "ERREUR : DECLARATION DOES NOT MATCH PARAMETERS", alors que si je fais les actions SANS les DelayCommand, le script se compile (je sais pas si ça marche hein, j'ai pas testé, mais au moins, ça se compile ! ) Alors où est le problème ? Un CreateObject n'est pas considéré comme une action ? _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com Dernière édition par Cassin le 14/01/2003 08:58:27; édité 2 fois
|
Revenir en haut | |
Wololo Légende vivante Messages: 385 |
et non !
il faut que tu fasses ta fonction qui renvoit un void et qui fasse un CreateObject pour que ca marche ... je crois que Lendraste avait posté un truc à ce sujet sur un autre forum ... Gloirin. et voici le post en lien : http://www.hellfire.firstream.net/phpBB2/viewtopic.php?p=5001#5001 |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
Voilà, le monsieur il a tout dis: CreateObject renvoie un object, donc ca ne peux pas marcher, quand tu met:
Code : DelayCommand (0.0, CreateObject(OBJECT_TYPE_PLACEABLE, "solyellow001", lSPWEffects, TRUE));
c'est exactement la même erreur que si tu faisais Code : DelayCommand (0.0, OBJECT_SELF);
par exemple |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
J'ai suivi l'exemple du post de Lendraste, maintenant le script se compile, mais le hic, c'est que ça ne crée rien du tout ! Lorsque le script est lancé, il ne se passe rien...
Code : location lSPWEffects = GetLocation(GetObjectByTag("SpawnEffectsTemple"));
location lSPWPortal = GetLocation(GetObjectByTag("SpawnPortalTemple")); object oCaster = GetObjectByTag("Caster"); void CreateEffect1() { CreateObject(OBJECT_TYPE_PLACEABLE, "solyellow001", lSPWEffects, TRUE); } void CreateEffect2() { CreateObject(OBJECT_TYPE_PLACEABLE, "magicyellow001", lSPWEffects, TRUE); } void CreatePortal() { CreateObject(OBJECT_TYPE_PLACEABLE, "portal001", lSPWPortal, TRUE); } void main() { DelayCommand (0.0, CreateEffect1()); DelayCommand (0.0, CreateEffect2()); DelayCommand (5.0, AssignCommand(oCaster, ActionCastFakeSpellAtLocation(SPELL_RAY_OF_FROST, lSPWPortal))); DelayCommand (6.0, CreatePortal()); } Quelqu'un à une idée ? EDIT : bon, j'ai testé, ça marche pas non plus même sans les DelayCommand, ctd que même en mettant juste "CreateObject(OBJECT_TYPE_PLACEABLE, "magicyellow001", lSPWEffects, TRUE); ", rien n'est créé... Moi pas comprendre... J'ai essayé avec le tag au lieu du ResRef, idem... _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
Déjà pquoi tu fais des delaycommand à 0 secondes ?
|
Revenir en haut | |
Wololo Légende vivante Messages: 385 |
alors là, je comprends pas ...
j'ai crée des Shafts, POrtals et Magic Sparks avec les bons tags, mis un mec avec le tag Caster, et ton script sur un OnUsed d'un placeable, ben ca marche ... je dirai que ton problème vient de la condition de déclenchement de ton script ... tu fais pas ce qu'il faut pour l'activer ou alors c'est impossible de le faire ... |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
(oui je sais, pour les Delay à 0s c'est débile, mais j'étais fatigué hier soir )
Moi non plus je comprend pas pourquoi ça se déclenche pas, normalement ces objets devraient être crées lors d'un dialogue, mais j'ai aussi mis le script sur un objet activable (pour ne pas être obligé de me taper tout le dialogue à chaque fois), ça marche pas non plus. J'ai cru un instant que c'était à cause du positionnement de mes WP de location, qui étaient peut-être inaccessibles (y'en a un au sommet d'une colone), mais même en les redescendant sur la terre ferme, rien y fait... A la limite je pourrais comprendre que le oCaster ne fonctionne pas puisque c'est un objet invisible et pas un PNJ, mais au moins la colone de lumière et les étincelles magiques devraient apparaître... Je suis maudit ! _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Wololo Légende vivante Messages: 385 |
ben ca marche chez moi tu veux que je mette mon module de test sur le net ?
|
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Si tu veux, mais ça doit venir de mon module... Faut que je teste mon script dans un autre module, et si ça marche... ben je comprend pas !
_________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Bon, c'est à ce taper la tête contre les murs là...
J'ai créé un autre module avec une seule zone pour tester. J'ai fais le script dans sa plus simple expression, ctd créer juste le portail sans les fioritures autour, donc juste ça : Code : void main()
{ CreateObject(OBJECT_TYPE_PLACEABLE, "portal001", GetLocation(GetObjectByTag("SpawnPortalTemple1")), TRUE); } J'ai même fait d'autres scripts, avec le Tag du portail, avec le ResRef comme ici), et avec GetObjectByTag remplacé par GetWaypointByTag (je viens de trouver ce terme dans la liste) ; j'ai essayé aussi en mettant un objet invisible comme point de spawn au lieu des WP, mais RIEN NE MARCHE ! Moi plus comprendre !!! _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
tu le met ou ce script ?
|
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
J'ai essayé sur le ActionTaken d'un dialogue, ça marche pas. Ensuite je l'ai mis sur le OnUsed d'un objet, j'ai bien coché la case Utilisable, mais non, rien y fait...
_________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
Essayes avec un autre type d'objet par exemple une urne et dis moi si ca marche ?
|
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
OK, j'essaie dès que je peux, ce midi ou ce soir...
_________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
Jaha Effect Acolyte Messages: 39 |
Si c'est des objet de base, tu est obligé de placer ton objet dans ta zone, puis de recupérer le resref de l'objet placé dans ta zone il te reste plus qu'a le supprimer.
Parceque les resref d'objets de base dans la liste et l'objet placé dans la zone sont différents. Jaha Effect |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
D'accord...
En effet en réfléchissant 2s, dans la liste en a pas le choix, on peux juste faire "Editer et copier", donc forcément ça change le ResRef... Bon, je teste ça tout à l'heure ! Pffff, j'en ai marre de buter sur des trucs tout con moi _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
coolstar Grand Chevalier Messages: 148 Localisation: Les Mondes - Chambre 270997 |
Et si tu essayais plutôt ça, nan??
Code : void CreatePlaceable(string sTemplate, location lLocation) { CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLocation, TRUE); } void main() { object oCaster = GetObjectByTag("Caster"); location lSPWEffects = GetLocation(GetObjectByTag("SpawnEffects")); location lSPWPortal = GetLocation(GetObjectByTag("SpawnPortal")); CreatePlaceable("solyellow001", lSPWEffects); CreatePlaceable("magicyellow001", lSPWEffects); DelayCommand (5.0, AssignCommand(oCaster, ActionCastFakeSpellAtLocation(SPELL_RAY_OF_FROST, lSPWPortal))); DelayCommand (6.0, CreatePlaceable("portal001", lSPWPortal)); } _________________ Ca c'est Envoyé! Docteur Cool! Honorable Canard |
Revenir en haut | |
Serguai Grand Chevalier Messages: 104 |
Et pis attention à la confusion resref/tag qui est assez fréquente.
Ceci dis, il me semble que le resref de l'objet que tu pose es le même que celui de la liste. Par contre si tu cliques sur "editer et copier" ca change effectivement le resref (comme l'a justement dit jaha). Donc pour être sûr d'avoir le bon resref, il vaut mieux poser un objet par terre puis faire "propriété" dessus. D'ailleurs quand je vois le resref "portal001" dans ton code, ca me fait justement penser que tu as dut le récupérer en faisant "éditer et copier", et c'est très probablement là ton erreur. |
Revenir en haut | |
coolstar Grand Chevalier Messages: 148 Localisation: Les Mondes - Chambre 270997 |
Là encore je ne comprends pas pourquoi tu ne prends pas en compte tout d'abord ma tentative de proposition Serguai... D'autant que, comme dans l'autre cas, je m'évertue pour ainsi dire quasi systématiquement à vérifier mes propositions de Scripts avant diffusion... Sans négliger que ma proposition d'écriture me semble plus propre par ailleurs (ne serait-ce que pour la lecture!)...
Et là, en l'occurence, le prob de Cassin ne vient pas d'un ResRef selon moi (vu que votre histoire là ne demande qu'à faire un 'ClicDroit/Ajouter à la palette' pour être tranquille... si l'on n'a pas créé déjà un 'Objet Personnalisé' directement dans le Blueprint!)... Le prob viendrait tout simplement de la confusion de Cassin dans la réécriture des TAG de ses "Lieux de Destination"... Code : location lSPWEffects = GetLocation(GetObjectByTag("SpawnEffects")); location lSPWPortal = GetLocation(GetObjectByTag("SpawnPortal")); Code : location lSPWEffects = GetLocation(GetObjectByTag("SpawnEffectsTemple")); location lSPWPortal = GetLocation(GetObjectByTag("SpawnPortalTemple")); _________________ Ca c'est Envoyé! Docteur Cool! Honorable Canard |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Nope, je ne mélange pas les tags et ResRef, mais comme l'a dit Jaha j'avais pris le ResRef en faisant "Editer et copier", qui est donc bien différent de celui d'origine.
J'ai testé avec mon script d'origine, ça marche (ouf, ça me rassure, je suis aussi nul que ça ) ; sauf l'anim des Ray of frost, mais bon, je peaufinerais ce soir. Coolstar : non, je ne me suis pas trompé dans mes tags de destination puisqu'en général je fais un copier/coller pour être sûr Mais merci quand même ! EDIT : Par contre j'avais déjà fait EXACTEMENT le même effet ailleurs dans le module et là j'avais directement prit le bon ResRef, allez savoir pourquoi ce coup-ci je n'ai pas fait la même chose ! _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
coolstar Grand Chevalier Messages: 148 Localisation: Les Mondes - Chambre 270997 |
Cassin a écrit : Coolstar : non, je ne me suis pas trompé dans mes tags de destination puisqu'en général je fais un copier/coller pour être sûr
Tu es bien sûr de ce que tu dis?? Relis tes Posts depuis le début et tu verras que, du moins dans tes "Citations de Scripts", tu présentes un "Référencement de TAG" différent par la suite (ma Citation n'était pas dénuée de sens à ce propos!)...
Mais merci quand même ! L'Ordinateur ne se trompe pas, il régurgite ce que tu lui donnes à manger... _________________ Ca c'est Envoyé! Docteur Cool! Honorable Canard |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Vi c'est vrai, j'ai modifié entre deux scripts les tags des WP dans le module et dans le script, mais j'ai pas pensé à les modifier sur le forum !
Ouah, tu as l'oeil toi ! _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
coolstar Grand Chevalier Messages: 148 Localisation: Les Mondes - Chambre 270997 |
Huummm... En tout cas, je suis sûr du dernier Script que je t'ai proposé (vérifié et corrigé... garanti sur facture!)... Alors il ne te reste plus qu'à faire des "Tests de Débugage" pour débusquer la bête... On n'est jamais au bout de ses surprises avec soi-même...
_________________ Ca c'est Envoyé! Docteur Cool! Honorable Canard |
Revenir en haut | |
Cassin Papa-poule(t) & poissard intemporel Messages: 7471 Localisation: 6 bis rue de la Couveuse, Poulailler 39b |
Le dernier script qui a proposé à la même erreur que les miens : pour créer le portail tu utilises le ResRef "portal001", qui est le ResRef par défaut créer lorsqu'on fait "Editer et Copier" le portail de base.
Donc ça ne marchera que si tu as balancé ce portail dans ta liste d'objets perso, mais pas si tu veux créer le portail de base (qui à le ResRef, je crois "plt_portal" ou un truc du genre) _________________ Aventure ! Camaraderie ! Et acier sur acier ! Les ingrédients légendaires ! Hein Bouh ? http://cassin1306.spaces.live.com |
Revenir en haut | |
coolstar Grand Chevalier Messages: 148 Localisation: Les Mondes - Chambre 270997 |
erreur?? je ne fais que reprendre...
_________________ Ca c'est Envoyé! Docteur Cool! Honorable Canard |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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