Apparition d'un PNJ par script

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Oblivion.
Sarish
Confrère
Messages : 16

Apparition d'un PNJ par script

Message par Sarish »

Bonjour, voili voilou j'ai encore un probleme avec un script, voila j'aimerais qu'apres lecture d'une tombe un Pnj apparaissent alors voila se que je fait :

mon pnj : editor id : 0CAG2CLODO name : Draco Arcadie référence editor id : 0CAG(2)CLODO la différence avec l'editor id est entre parenthèse

mon script :

Code : Tout sélectionner

ScriptName 0CAG02TOMBESCRIPT

Begin OnActivate
	if isActionRef player == 1
          enable 0CAG2CLODO
          short reponse
          messagebox "Ceci est la tombe de Monseigneur Arcadie, premier propriétaire du Chateau d'Almgard ", "Ok"             
             
	endif

	Activate
End
mon script est appliqué sur un worldobjects/activator et le texte s'affiche mais le npc n'apparait pas.
Avatar du membre
Mohawk
Confrère
Messages : 290

Re: Apparition d'un PNJ par script

Message par Mohawk »

Ton problème provient probablement de ça :

0CAG2CLODO

à la place ton PNJ est (j'espère) déjà placer à l'endroit où il doit apparaitre. Clique simplement sur sa représentation dans la cellule en question et fournit lui une référence spécifique :

0CAG2CLODOref ( ou tout ce que tu veux, mais je te parles bien de l'instance de ce PNJ dans cette cellule et non pas de l'ID du personnage)

Tu modifie ton script en accord avec la référence de l'instance et ça fonctionne.
Image
Sarish
Confrère
Messages : 16

Re: Apparition d'un PNJ par script

Message par Sarish »

Ca marche toujours pas, j'ai rajouter un objet physique a coter de mon activateur, l'objet physique ne s'affiche pas ??? la message box fonctionne mais pas les deux enable ??? mon objet et le npc sont initialy disable.
edit voici une autre version du script (qui ne marche tjrs pas)

Code : Tout sélectionner

ScriptName 0CAG02TOMBESCRIPT

Begin OnActivate
	if isActionRef player == 1
         
          short reponse
          messagebox "Ceci est la tombe de Monseigneur Arcadie, premier propriétaire du Chateau d'Almgard ", "Ok"             
             Set reponse to GetButtonPressed
            	 If reponse == 0
            enable 0CAGCLODO
            enable 0123456
			endif			
	endif
	Activate
End
Avatar du membre
Mohawk
Confrère
Messages : 290

Re: Apparition d'un PNJ par script

Message par Mohawk »

étrange ...

lorsque tu ouvres la cellule où est situé ton PNJ, et que ce dernier est affichée, si tu doubles clique dessus, tu as une fenêtre d'affichage qui apparait, l'indication précisée dans "Reference Editor ID" est bien :
0CAGCLODO

ou ne contient elle rien ?

essaye éventuellement avec

0CAGCLODO.enable

amuse toi bien
Image
Sherman
Confrère
Messages : 131

Re: Apparition d'un PNJ par script

Message par Sherman »

Yep !

Comme le dit Mohawk, la syntaxe habituelle est

Code : Tout sélectionner

RefID.enable
où RefID est la référence de l'objet dans la render window du TESCS. (Et non pas l'ID dans la fenêtre object window).
Avatar du membre
T!TER
Confrère
Messages : 3933

Re: Apparition d'un PNJ par script

Message par T!TER »

Code : Tout sélectionner

             Set reponse to GetButtonPressed
                If reponse == 0
Ces 2 lignes ne te servent à rien car tu n'as pas de choix de réponse... Vu que t'es obligé d'appuyer sur OK ( à moins que tu veuilles jouer en t'emmerdant :mdr: ), ça ne sert à rien de définir des variables, tu peux passer directement aux fonctions d'en dessous. ;)
De plus tu as mal placé l'annonce de ta variable "reponse". ^^
"Prends la vie avec légèreté, il y aura moins d'obésité..."
de Moi-même, Copyright T!TER 2012
Sarish
Confrère
Messages : 16

Re: Apparition d'un PNJ par script

Message par Sarish »

reférence editor id de mon pnj : 0CAGCLODO
lorsque je fait 0CAGCLODO.enable et que je sauvegarde j'ai un message d'erreur :
scriptcommand 0CAGCLODO.enable not found

d'avance merci (ps j'ai mis du temp a repondre j'eté parti en vacance) :maitre:
Avatar du membre
Mohawk
Confrère
Messages : 290

Re: Apparition d'un PNJ par script

Message par Mohawk »

Sarish a écrit :reférence editor id de mon pnj : 0CAGCLODO
lorsque je fait 0CAGCLODO.enable et que je sauvegarde j'ai un message d'erreur :
scriptcommand 0CAGCLODO.enable not found

d'avance merci (ps j'ai mis du temp a repondre j'eté parti en vacance) :maitre:
????????
Au risque de paraitre un peu sarcastique, je vais tenter de résumer la situation :
TOUT LE MONDE Y COMPRIS LE CS TE DIT QUE CE N'EST PAS BON !!!
Pourquoi tu insistes ? Pourquoi tu ne lis pas l'explication qui t'a été fournie vingt fois ? Plutôt que ce que tu as cru y voir ?

On la refait une dernière fois au ralenti :
1- Tu ouvres la cellule (ou le monde) où tu as déposé ton PNJ dans le jeu.
2- Tu effectue un double clic sur ton PNJ, celui qui est dans la cellule, et qui ressemble à ton PNJ et non pas dans les tableaux. Je parle ici de la fenêtre de rendu.
3- Une petite fenêtre va apparaitre avec indiquée "Reference". L'indication que tu DOIS porter dans ton script est ce qu'il y a indiqué dans le premier cadre "Reference Editor ID" qui probablement dans ton cas ne comporte rien du tout, une grosse case blanche. Tu y inscris donc ce que tu veux, l'idéal étant simplement :
0CAGCLODORef
Tant que tu y es coche également "Persistent Reference" et "Initially Disable" si ce n'est déjà fait.

Refermes tout ça et modifie ton script en accord, avec ce que tu viens d'indiquer.
Image
Sarish
Confrère
Messages : 16

Re: Apparition d'un PNJ par script

Message par Sarish »

Au cas ou vous n'auriez pas compris dans la fenêtre de rendu lorsque je clique sur mon pnj (double clic) dans reference editor id il y a : 0CAGCLODO
Image
Avatar du membre
Xvoh
Légende de la Confrérie
Légende de la Confrérie
Messages : 1058

Re: Apparition d'un PNJ par script

Message par Xvoh »

Hum... je suis ignare en matière de script, mais chez moi ça marche (après quelques petites adaptations)

Code : Tout sélectionner

ScriptName 0CAG02TOMBESCRIPT

Begin OnActivate

	Activate

short reponse

	if isActionRef player == 1 && reponse == 0

		messagebox "Ceci est la tombe de Monseigneur Arcadie, premier propriétaire du Chateau d'Almgard ", "Ok"
		PatapoufRef.enable
		Set reponse to 1

	Endif
End
PS.
Je suis partie du principe que ta variable "reponse" était censée faire en sorte que le message n'apparaisse qu'une seule fois...
Tout Homme a le droit de dire ce qu'il croit être la vérité...
Et tout autre a le droit de l'assommer pour cette même raison ... Dr Johnson
Répondre

Retourner vers « Modder Oblivion »