Aller au contenu


Script Changement De Couleur Des Yeux, Besoin D’Aide.

eyes yeux texture

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

#26 ced

ced

    les météores


Posté 30 novembre 2012 - 21:16

oui j'ai oublié les parenthèses :D

Par contre fais bien attention pour les transformations (en lg ou lord vampire), revois mon post plus haut dans ce cas.
ET Aussi, si tu dois desinstaller ou desactiver le mod, n'oublie pas de deséquipper la dague avant pour ne laisser aucune trace sur ta prochaine sauvegarde.

#27 Daan_Noa

Daan_Noa

Posté 30 novembre 2012 - 21:25


en postant mon message la page c'est actualisé , et je viens de lire vos derniers messages.
je prend bonne note , je regarde ça demain soir quand je rentre .
bonne soirée a vous.

Modifié par Daan_Noa, 30 novembre 2012 - 21:26.


#28 Gérauld

Gérauld

Posté 30 novembre 2012 - 21:27

Cela vaudrait presque le coup de lui montrer comment faire une version propre à partir de l'effet magique... Ced, tu fais vu que tu as commencé ou tu veux que je m'ycolle pour cette partie?

EDIT : C'est quoi cette manie que nous avons de poster en même temps...

Modifié par Gérauld, 30 novembre 2012 - 21:27.

L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#29 ced

ced

    les météores


Posté 30 novembre 2012 - 21:30

je suis d'accord avec toi mais le pb en ce qui me concerne, ce sont les keyword...
J'en ai fait aucune expérience là dessus...

De tête, je dirai qu'en utiliser dans les conditions du Magic Effect serait l'idéal mais après je devrai aller voir sur CreationKit.com comment ça marche...
Donc en gros je suis pas chaud de suite :D

Je pensais aussi à une Target condition sur la fenetre du Magic Effect en haut à droite...

#30 Daan_Noa

Daan_Noa

Posté 30 novembre 2012 - 21:33

Citation

Cela vaudrait presque le coup de lui montrer comment faire une version propre à partir de l'effet magique...



j’osai pas demander! :grin:


Citation

EDIT : C'est quoi cette manie que nous avons de poster en même temps...


bonne question ! :grin: :grin:

Modifié par Daan_Noa, 30 novembre 2012 - 21:33.


#31 Gérauld

Gérauld

Posté 30 novembre 2012 - 22:01

Pour ce soir, c'est raté car j'ai les derniers bugs et tests de SEU qui m'attendent avant l'envoi vers Elenwel puis un détour par le C# pour une remise en condition après plus de 15 ans sans avoir touché à ce type de langage... (prévisions : le sentiment d'avoir raté plein de choses même si l'architecture globale ne doit pas trop avoir changé, l'impression d'être perdu, puis des doutes et enfin un gros mal de tête...).
J'essaierai de faire ça ce weekend avec des captures d'écran et quelques explications.
L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#32 ced

ced

    les météores


Posté 01 décembre 2012 - 12:35

Bien j'ai résolu le problème sans en venir aux Keyword.
Pour cela un RegisterForSingleUpdate à répeter sur une nouvelle condition (si le joueur a tjs la dague équippée)
Scriptname AA_MagicEffectScript extends activemagiceffect 

Actor Property Player Auto
TextureSet Property NewEyes Auto
Weapon Property Dagger Auto	;ta dague
 
 
Event OnUpdate()
 Debug.Notification ("test")				 ;cette ligne est à enlever, c'est là juste pour test
 if ( Player.IsEquipped (Dagger) )
  Player.SetEyeTexture (NewEyes)
  RegisterForSingleUpdate(0.5)
 endif
EndEvent

Event OnEffectStart (Actor Target, Actor Caster)
 if ( Target == Player )
  RegisterForSingleUpdate(0.5)
  Player.SetEyeTexture (NewEyes)
 endif
EndEvent
 
Event OnEffectFinish (Actor Target, Actor Caster)
 UnregisterForUpdate()
EndEvent

Si on sauvegarde avec la dague équippée, en rechargeant la save (mod desactivé) le singleUpdate sera joué une seule fois puis disparaitra.
Apparemment plus de pb...

En attendant une meilleur idée de Gérauld :)

#33 Gérauld

Gérauld

Posté 01 décembre 2012 - 13:11

Ce qui est bien en modding, c'est qu'il y a toujours une multitude de manières de faire les choses. :)
Nous aurions aussi pu utiliser un perk par exemple. Si un troisième moddeur se sent de faire un truc en partant de là, nous aurions fait le tour... ou presque.
J'essaierai de faire un truc avec une autre méthode ce weekend (l'effet magique conditionné placé par quête, qui est réutilisable dans plein de cas et permet de tester des choses que Papyrus ne peut pas) histoire de compléter un peu ce sujet déjà riche d'idées.

Modifié par Gérauld, 01 décembre 2012 - 13:11.

L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#34 Daan_Noa

Daan_Noa

Posté 01 décembre 2012 - 19:56

Bonsoir,

Comme d’habitude un grand merci a vous pour votre aide.

J’aurai besoin d’explications concernant le « RegisterForUpdate » car je dois admettre ne pas être sur d’avoir compris le problème. :help:
Ce que je pense avoir compris :
le « RegisterForUpdate »  déclanche l’ Event OnUpdate() toutes les X secondes.
le « RegisterForUpdate » n’est pas souhaitable dans les scripts des mods car il est possible (certain ?) que le script reste stocker dans une sauvegarde même après désactivation ou la désinstallation du mod, ce qui entraîne une répétition d’action qui ne sont plus voulu et sûrement une consommation de ressources excessive .

Est-ce bien ça ? :? :?:

On y préfère donc le « RegisterForSingelUpdate » qui lui ne lance qu’une fois l’ Event OnUpdate().

Je suis toujours bon la ? :roll: :?:

Je me permet également de poser une question qui s’éloigne, tres légèrement, du sujet : :blush:
Le « RegisterForSingelUpdate » est il confiné a sont script ?
Mon idée était: plus le joueur passe de temps avec la dague au poing plus je lui « donne » de  sorts. Pour cela je pensais utiliser un  « RegisterForSingelUpdate » mais du coup si il y en a déjà un dans le magic effect je me demande si l’un ne va pas déclencher le « OnUpdate() » de l’autre.

Encore merci a vous,
Daan .

PS : si la dernière question serait plus a sa place dans un autre poste dite le moi, je la déplacerai .

#35 Gérauld

Gérauld

Posté 01 décembre 2012 - 20:33

Le registerforsingleupdate est lié à son script. Le seul cas qui me vienne à l'esprit d'un registerforsingleupdate placé en dehors d'un script est celui où il est placé dans un fragment de quête et l'event onupdate dans un script de type extends quest de cette même quête.

Il ne peut y avoir deux events onupdate différenciés dans un script mais les events onupdate() et onupdategametime() sont différenciés. Cela veut dire que l'on peut avoir un appel avec un registerforsingleupdate et un appel avec un registerforsingleupdategametime.
Dans le cas de l'arme qui a de plus en plus de pouvoirs en fonction du temps, le registerforsingleupdategametime est tout indiqué. Cela permet de s'affranchir des éventuels problèmes avec ceux qui ont modifié le timescale.
L'unité du paramètre entre parenthèses est l'heure, non pas IRL mais dans le jeu.

Sinon, une petite précision, un registerforsingleupdate placé dans un event onupdate sans être conditionné par un ajout du mod est aussi dangereux qu'un registerforupdate. Il faut prendre l'habitude de toujours conditionner les ajouts faits par le mod lorsqu'il y a présence d'effets magiques ou d'instructions commençant par register.

Modifié par Gérauld, 01 décembre 2012 - 20:34.

L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#36 Daan_Noa

Daan_Noa

Posté 01 décembre 2012 - 21:30

A dire vrai c’est au « RegisterForSingelUpdate » que je pensai,
avec le « RegisterForSingelUpdategametime » les déplacements rapide ( téléportation) peuvent représenter une grande partie du temps écoulé.
Tu parle de « problèmes avec ceux qui ont modifié le timescale » peut tu m’en dire d’avantage ?


EDIT:

Re ,

@Ced :

Chez moi
if ( Playerref.IsEquipped (Dagger) )
ne pase que si j’ai la dague dans la main droite !
j’ai contourné le probleme avec
If (Playerref.GetEquippedWeapon() == Dagger)
Player.SetEyeTexture (NewEyes)
  RegisterForSingleUpdate(0.5)
Else
If (Playerref.GetEquippedWeapon(true) == Dagger)
Player.SetEyeTexture (NewEyes)
  RegisterForSingleUpdate(0.5)
EndIf
EndIf

Pourrai tu me dire si c’est pareil chez toi ou si ça vient d’une erreur de m’a part ?
Merci.

Modifié par Daan_Noa, 01 décembre 2012 - 22:40.


#37 ced

ced

    les météores


Posté 02 décembre 2012 - 00:38

Oui c'est pareil chez moi...
Tu as bien fait, et je ne pensais pas que IsEquipped() ne prenait pas en compte la main gauche... ça me surprend mais effectivement c'est le cas.
Il faut vérifier si le joueur s'équipe main gauche ou droite...
Juste comme ça histoire d'alléger ce que tu as mis :
If (Playerref.GetEquippedWeapon() == Dagger)
	Player.SetEyeTexture (NewEyes)
	RegisterForSingleUpdate(0.5)
ElseIf (Playerref.GetEquippedWeapon(true) == Dagger)
	Player.SetEyeTexture (NewEyes)
	RegisterForSingleUpdate(0.5)
EndIf
Et mieux encore avec un "OU" :
If (Playerref.GetEquippedWeapon() == Dagger || Playerref.GetEquippedWeapon(true) == Dagger)
	Player.SetEyeTexture (NewEyes)
	RegisterForSingleUpdate(0.5)
EndIf


#38 Gérauld

Gérauld

Posté 02 décembre 2012 - 01:16

Le registerforsingleupdategametime est justement bien car il prend vraiment en compte le temps écoulé, voyages compris. .

Pour la petite histoire, il est possible de détecter les voyages rapides en comparant l'écoulement de temps entre l'evnt onupdate() et le onupdategametime () dans un même script pour pouvoir éventuellement ne pas prendre en compte le voyage rapide mais là, ça va compliquer les choses (même si ça marche, testé dans SEI, mais dans l'optique de détecter le fast travel pour mener certaines actions.).

Dans ton cas, autant passer par plusieurs scripts avec leurs events onupdate() séparés, ce sera plus simple. Il vaut mieux utiliser plein d'éléments simples que de faire un seul élément qui devient très compliqué.
L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#39 Daan_Noa

Daan_Noa

Posté 02 décembre 2012 - 16:44

Bonjour,

Citation

Et mieux encore avec un "OU" :
Cette solution me plait bien : j’ai moins a écrire ! :green:

Pour infos : la transformation en loups-garous avec la dague en main provoquait un petit bug a savoir :
L’animation de transformation commence , puis le personnage reprend brutalement sa forme originel pour au finale finir sa transformation .

J’ai corrigé ça avec :

if ( akActor == Playerref && playerwerewolfQuest.GetStage() != 1 )
par dessus :
if ( akActor == Playerref && RacePlayer != ImperialRace )
				 Playerref.RemoveSpell (ItemCurseSpell) ;on lui retire la capacité discretos
				 Playerref.SetRace (ImperialRace)
				 Playerref.SetRace (RacePlayer)

		elseif ( akActor == Playerref && RacePlayer != NordRace )
				 Playerref.RemoveSpell (ItemCurseSpell)			;on lui retire la capacité discretos
				 Playerref.SetRace (NordRace)
				 Playerref.SetRace (RacePlayer)
		endif

L’un de vous aurait « Dauwngard » ? Il me faudrait le nom de la quête de transformation en lord vampire pour pouvoir de suite faire de même pour cette transformation.

D’avance merci.

#40 ced

ced

    les météores


Posté 02 décembre 2012 - 19:06

Au lieu de
if ( akActor == Playerref && playerwerewolfQuest.GetStage() != 1 )

essaie plutot :
if ( akActor == Playerref && !playerwerewolfQuest.isRunning() )
ça vérifie si la Quest n'est pas en train de tourner, car à partir du moment où la transfo commence, elle tourne et ne s'arretera qu'après le passage LG en Humain

Idem pour le seigneur vampire de Dawnguard : (faudra penser dans ce cas, à cocher Dawnguard.esm en plus de Skyrim.esm & Update.esm dans le CK)
Si tu n'as pas Dawnguard, ça ne servira à rien d'effectuer des changements... toutes les données du DLC sont dans Dawnguard.esm
Si tu as le DLC alors :
if ( akActor == Playerref && !playerwerewolfQuest.isRunning() && !DLC1PlayerVampireQuest.isRunning() )
	if ( RacePlayer != ImperialRace )
...
	elseif ( RacePlayer != NordRace )
...
	endif
endif
Aussi évite dans les conditions de répéter plusieurs fois la même (akActor == Playerref), dans une succession de && ;)
Il est évident que si une condition n'est pas vérifiée parmis tout ça, le script n'executera pas le contenu du if


EDIT : pense aussi à faire en sorte de deséquipper la dague si le joueur commence à se transformer, ou un truc dans le genre...
EDIT2 : en relisant mon post, je commence à me demander si je suis pas un peu scripté :D

#41 Gérauld

Gérauld

Posté 02 décembre 2012 - 22:32

On peut prendre en compte la race ou la quête associée de Dawnguard sans dépendance à l'esm en utilisant une propriété que l'on remplis avec un getformfromfile(). Méthode 100% fonctionnelle (je l'utilise assez souvent entre mes mods.)
http://www.creationk...FromFile_-_Game
Il suffit juste de demander les ID à mettre si ça t'intéresse...
L'ours blanc est l'un des plus grands carnivores de Nirn. Les poils du pelage sont translucides et creux. C'est la réfraction de la lumière visible sur la surface interne des poils creux et incolores qui les fait paraître blancs. Cette particularité lui permet de se camoufler dans son environnement de neige et de glace, afin de mieux surprendre ses proies. Ce plantigrade vit exclusivement en Bordeciel et sur l'île de Solstheim.

#42 Daan_Noa

Daan_Noa

Posté 03 décembre 2012 - 22:19

Bonjour,

Ça t'intéresse !
Le seul truc c’est que mes compétences linguistique (minable, il faut bien l’admettre) sont largement dépassées.
Je me permets de faire mon boulet : :sorry:
Existe- il une explication française de cette fonction ?





Aussi étiqueté avec eyes, yeux, texture

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

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