Aller au contenu


Faire Qu'un Activator Soit Toujours Dans Les Pattes D'un Npc


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 Orann

Orann

    Nérévarine de Pertevue


Posté 25 février 2006 - 00:41

Voila, je voudrai faire un script pour qu'un activator soit toujours situé au niveau des pieds d'un npc même si celui-ci se déplace... Est ce faisable, est ce que ça ne ferai pas trop ramer?  :?

Modifié par Orann, 25 février 2006 - 00:42.

Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#2 Nerwal

Nerwal

    SAMU Kalendaarien


Posté 25 février 2006 - 03:00

C'est facilement faisable sans faire ramer  :? ; le problème principal est que, si le NPC doit se déplacer sur de longues distances en extérieur, les activators ont tendance alors à passer par la fenêtre au moment des changements de cells  :grin: ...

#3 booh

booh

    wiwi d'or du p'tit personnel de maison


Posté 25 février 2006 - 09:06

Avec le script utilisé dans metamorphosis je crois, qui rend le PJ invisible et colle une créature à sa place pour simuler une métamorphose, ca doit etre possible.
la parole est d'argent mais le silence est d'or.

#4 Orann

Orann

    Nérévarine de Pertevue


Posté 25 février 2006 - 12:55

Oki, donc c'est faisable merci  :)  Normalement le npc ne devrai pas trop bouger, c'est juste au cas où  :(
J'utilise quelles commandes dans ce cas? J'ai jamais fait de trucs de ce genre et j'ai vraiment pas d'idée  :)

[edit] J'oubliai: je suis morrowind seul requis...  :grin:

Je dirai qu'il faudrai d'abord que je détecte la postion du npc, puis ensuite, placer l'objet a la même position (mais avec un z plus petit). Je regarde dans mon tuto 'Morrowind Scripting for dummy' mais je ne trouve pas ce que je cherche. On peut détecter la position du joueur mais est ce qu'on peut le faire avec un npc? Est ce que je pourrai (comme je suis que morrowind requis) mettre des variables dans les parametres pour positionner l'activator...  :)

C'est dommage qu'il n'existe pas un PlaceAtNpc  :?

Modifié par Orann, 25 février 2006 - 12:55.

Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.

#5 Nerwal

Nerwal

    SAMU Kalendaarien


Posté 25 février 2006 - 13:07

:shocked:  :blush:
Faire du scripting avec Morrowind seul ? Bon courage...

Citation

Je regarde dans mon tuto 'Morrowind Scripting for dummy' mais je ne trouve pas ce que je cherche.

getpos et setpos et éventuellement getangle/setangle si l'objet n'est pas symmétrique/ de révolution

Citation

Est ce que je pourrai (comme je suis que morrowind requis) mettre des variables dans les parametres pour positionner l'activator..

D'après la page d'uesp non, Tribunal requis pour les variables en paramètres de setpos getpos... A tester.

Citation

C'est dommage qu'il n'existe pas un PlaceAtNpc

PlaceAtMe bloodmoon requis  :roll:

#6 Orann

Orann

    Nérévarine de Pertevue


Posté 25 février 2006 - 16:06

Merci pour vos indications  :shocked:  Voila le script qui fonctionne en morrowind seul requis  :blush:

begin A_P_signe_magique01

short positionx
short positiony
short positionz
short position2x
short position2y
short position2z
short diffx
short diffy
short diffz

if ( menumode == 1 )
	return
endif

set positionx to ( "A_P_ME_maitre_mage_exil"->GetPos x )
set positiony to ( "A_P_ME_maitre_mage_exil"->GetPos y )
set positionz to ( "A_P_ME_maitre_mage_exil"->GetPos z )
set position2x to ( "A_P_sign_magie01"->GetPos x )
set position2y to ( "A_P_sign_magie01"->GetPos y )
set position2z to ( "A_P_sign_magie01"->GetPos z )


set diffx to ( positionx - position2x )
set diffy to ( positiony - position2y )
set diffz to ( positionz - position2z )

if ( diffx != 0 )
	if ( diffx <= -100 )
		"A_P_sign_magie01"->MoveWorld x -100
	elseif ( diffx <= -50 )
		"A_P_sign_magie01"->MoveWorld x -50
	elseif ( diffx <= -10 )
		"A_P_sign_magie01"->MoveWorld x -10
	elseif ( diffx <= -5 )
		"A_P_sign_magie01"->MoveWorld x -5
	elseif ( diffx < 0 )
		"A_P_sign_magie01"->MoveWorld x -1
	elseif ( diffx >= 100 )
		"A_P_sign_magie01"->MoveWorld x 100
	elseif ( diffx <= 50 )
		"A_P_sign_magie01"->MoveWorld x 50
	elseif ( diffx >= 10 )
		"A_P_sign_magie01"->MoveWorld x 10
	elseif ( diffx <= 5 )
		"A_P_sign_magie01"->MoveWorld x 5
	elseif ( diffx > 0 )
		"A_P_sign_magie01"->MoveWorld x 1
	endif
endif

if ( diffy != 0 )
	if ( diffy <= -100 )
		"A_P_sign_magie01"->MoveWorld y -100
	elseif ( diffy <= -50 )
		"A_P_sign_magie01"->MoveWorld y -50
	elseif ( diffy <= -10 )
		"A_P_sign_magie01"->MoveWorld y -10
	elseif ( diffy <= -5 )
		"A_P_sign_magie01"->MoveWorld y -5
	elseif ( diffy < 0 )
		"A_P_sign_magie01"->MoveWorld y -1
	elseif ( diffy >= 100 )
		"A_P_sign_magie01"->MoveWorld y 100
	elseif ( diffy <= 50 )
		"A_P_sign_magie01"->MoveWorld y 50
	elseif ( diffy >= 10 )
		"A_P_sign_magie01"->MoveWorld y 10
	elseif ( diffy <= 5 )
		"A_P_sign_magie01"->MoveWorld y 5
	elseif ( diffy > 0 )
		"A_P_sign_magie01"->MoveWorld y 1
	endif
endif

if ( diffz != 0 )
	if ( diffz <= -100 )
		"A_P_sign_magie01"->MoveWorld z -100
	elseif ( diffz <= -50 )
		"A_P_sign_magie01"->MoveWorld z -50
	elseif ( diffz <= -10 )
		"A_P_sign_magie01"->MoveWorld z -10
	elseif ( diffz <= -5 )
		"A_P_sign_magie01"->MoveWorld z -5
	elseif ( diffz < 0 )
		"A_P_sign_magie01"->MoveWorld z -1
	elseif ( diffz >= 100 )
		"A_P_sign_magie01"->MoveWorld z 100
	elseif ( diffz <= 50 )
		"A_P_sign_magie01"->MoveWorld z 50
	elseif ( diffz >= 10 )
		"A_P_sign_magie01"->MoveWorld z 10
	elseif ( diffz <= 5 )
		"A_P_sign_magie01"->MoveWorld z 5
	elseif ( diffz > 0 )
		"A_P_sign_magie01"->MoveWorld z 1
	endif
endif

rotateworld z 50

end

Palme d'honneur 2010 pour le mod Archipel de Pertevue

Entamez votre voyage vers l'Archipel de Pertevue ! Test communautaire en cours.




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)