Aller au contenu


Faire Apparaître (Temporairement) « Maginvillusiondarkt01 »Dans Le Dos

dans le dos du joueur

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

#1 Daan_Noa

Daan_Noa

Posté 08 décembre 2012 - 18:21

Bonjour

J'utilise le script d’arc invoquant ses propres flèches qui a été mis en ligne par Ced ( auteur : Ethaniel ).
Ici :    http://forum.wiwilan...dees-de-script/

Je souhaiterai rajouter un effet visuel comme « MaginVIllusionDarkt01 » dans le dos du joueur quand les flèches sont invoquées.
Je me suis donc lancé à la recherche d’une fonction qui me permettrait de placer et effet visuel dans le dos du joueur. D’après ce que j’ai pus voir celle qui me semble la plus prometteuse serait  MoveTo:
http://www.creationk...ObjectReference
J’imagine que cette dernière accompagner d’un registerForSingelUpdate qui actualiserait sa position serrait envisageable. :beta:
Mon problème est que cette fonction ne fait que déplacer l’objet, et je ne vois pas comment ajouter cet effet visuel. :finrail:

Je me tourne donc une fois de plus vers vous en espérant trouvé une (ou deux, ou plus) âmes charitable qui voudraient bien m’aider. :help: :green:

D’avance merci,
Daan.

#2 ced

ced

    les météores


Posté 08 décembre 2012 - 21:22

Hello,

Heu MoveTo ne permet que de déplacer des objets 3D vers une destination, c'est pas pour les effets spéciaux.
Si tu souhaites juste un effet shader, je te propose d'utiliser ceci :
EffectShader Property	  MonShaderEffect  Auto

Avec les fonctions :
MonShaderEffect.Play(akObject)
MonShaderEffect.Stop(akObject)
http://www.creationk..._-_EffectShader

J'ai vu que « MaginVIllusionDarkt01 » était un Static, dans ce cas, pourquoi ne pas le fusionner avec le carquois puisque le sujet porte sur les flèches ?
il te faudra passer par NifSkope pour faire ça (fichiers .nif)...

#3 Daan_Noa

Daan_Noa

Posté 09 décembre 2012 - 13:24

bonjour et merci pour ton aide .

je but sur un petit problème :
a la compilation j’obtiens :
Variable akobject is undefined

je comprend pas trop ce qu'il me veut . :finrail:

d'avance merci ,
Daan

Modifié par Daan_Noa, 09 décembre 2012 - 13:25.


#4 ced

ced

    les météores


Posté 09 décembre 2012 - 13:43

j'ai pris akObject comme exemple, akObject est une référence Object, qui peut être tout et n'importe quoi dans Skyrim, arme, armure, objet divers, actor... ...
C'est à toi de référencer cet objet, que ce soit par une une simple variable référencé ou par une variable Property.

Citation

Plays this magic effect shader on the object for the specified duration in seconds.

juste comme ça, en exemple, si tu décides de faire cet effet sur l'actor ou sur une arme :
Actor Property monActeur  auto
weapon Property monArme  auto
EffectShader Property monEffet  auto
...
...
monEffet.Play (monArme)
monEffet.Play (monActeur)

---------

Sinon, je pense que ton idée de script pensée au début pourrait marcher.
Il faudrait placer le static « MaginVIllusionDarkt01 » dans une Cell vide que tu créeras (nouvel ID...) et que tu nommes la référence de l'objet que tu viens de placer dans la "Render Window" (la fenêtre de ta Cell).
Ensuite, dans ton script, tu appeles cette ref, par un Static Property MaginIllusion Auto  (je crois que c'est static, à vérifier)
et ensuite que tu appeles le static par un MaginIllusion.MoveTo (PlayerRef)
une astuce à utiliser, c'est les fonctions Enable() & Disable() pour rendre visible ou pas cet effet.

Bon l'élaboration de ce script est tiré par les cheveux qd même, mais c'est réalisable.

Edit: je pense plutot à ObjectReference Property MaginIllusion Auto  plutot que static (lui ne marchera pas), car il appelle l'objet référencé (et nommé) dans la Cell créée

#5 Daan_Noa

Daan_Noa

Posté 09 décembre 2012 - 15:27

Citation

akObject est une référence Object, qui peut être tout et n'importe quoi dans Skyrim, arme, armure, objet divers, actor...

oui , j’avais suivi jusque la , du coup j’ai aussi tester avec :
weapon Property monArme  auto
EffectShader Property monEffet  auto

event onEquipped (actor akactor)
.
.
.
script de ma dague , (je fais les tests sur cette derniere.)
.
.
.

monEffet.Play(monArme)
endevent


event onUnEquipped
.
.
.
monEffet.stop(monArme)
endevent

et j’obtiens :
type mismatch on parameter 1 ( did you forget a cast?)

Modifié par Daan_Noa, 09 décembre 2012 - 15:28.


#6 ced

ced

    les météores


Posté 09 décembre 2012 - 15:31

quelle ligne exactement l'erreur ?

#7 Daan_Noa

Daan_Noa

Posté 09 décembre 2012 - 15:50

ligne (32.7)
et c'est bien la ligne où j'ai :
monEffet.Play(monArme)

et
ligne (65.7) où j'ai :
monEffet.stop(monArme)

Modifié par Daan_Noa, 09 décembre 2012 - 15:51.


#8 ced

ced

    les météores


Posté 09 décembre 2012 - 17:07

En fait, l'erreur vient de moi.
Soit tu remplace par ceci :

ObjectReference Property monArme  auto
; du coup faut aller chercher la référence dans la Cell, si l'arme y est présente

ou alors tu fais ceci :
monEffet.Play(self) 
monEffet.Play(self) 

De toute façon, je viens de faire des tests, je n'ai aucune erreur de scripts, mais dans le jeu l'effet ne s'applique pas sur l'arme, alors que si tu mets un actor en référence monEffet.Play(playerref) par exemple, l'effet se propagera sur l'actor.
Il doit y avoir un autre moyen d'appliquer l'effet shader sur une arme...  je me demande si en passant dans un magic Effect (dans un script) ça marche ?

A tester donc.




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

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