Aller au contenu


Allumer/Eteint À Heure Fixe


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

#1 Kaludas

Kaludas

    Mais je suis où bordel !?


Posté 09 avril 2010 - 16:24

Bonjour Wiwilandais !

Je lance ce sujet pour savoir si mon script est bon avant tout mais si je peux en savoir d'avantage sur les scripts que l'on peux mettre au éclairage c'est encore mieux.

J'aimerai que mon script puisse allumer un éclairage selon l'heure sans que l'on active quelques chose

Voici mon script :

ScriptName HPLight01

Begin GameMode

If ( GetDistance Player > 0 )
   If ( Gamehour > 22 )
		  If ( Gamehour < 23 )
			 	If ( GetDisabled == 0 )
			 	Disable
			 	Endif
	 	Return
	 	Endif
   Endif
Endif

If ( GetDisabled == 1 )
Enable
Endif

End

J'ai repris un script que vous m'aviez donné sur ce sujet.

Merci,
"Deus Vult !"
- Templier, Bataille de Kherak

#2 elendell

elendell

    Mécano Dell'Arte


Posté 13 avril 2010 - 04:32

Bonjour Kaludas,

Je ne connais rien au "scripting" d'Oblivion mais pourquoi cette condition ? : "If ( GetDistance Player > 0 )".

Et si elle est nécessaire pour la lumière que tu veux éteindre entre 22h et 23h, pourquoi ne l'est-elle pas quand elle doit être allumée, le reste du temps ?

#3 Kaludas

Kaludas

    Mais je suis où bordel !?


Posté 13 avril 2010 - 16:59

 elendell, le 13 avril 2010 - 04:32, dit :

Bonjour Kaludas,

Je ne connais rien au "scripting" d'Oblivion mais pourquoi cette condition ? : "If ( GetDistance Player > 0 )".

Parce que je veux que sa s'allume à un distance de 0, si je mets une distance de 100, le joueur se trouvant à 50 de la lumière, celle ci ne se déclanchera pas je crois bien.

 elendell, le 13 avril 2010 - 04:32, dit :

Et si elle est nécessaire pour la lumière que tu veux éteindre entre 22h et 23h, pourquoi ne l'est-elle pas quand elle doit être allumée, le reste du temps ?

Je veux juste qu'elle soit allumer de 22h à 23h
"Deus Vult !"
- Templier, Bataille de Kherak

#4 beeratwork

beeratwork

Posté 13 avril 2010 - 18:49

Salut Kaludas ! Analysons ton script :
ScriptName HPLight01
Begin GameMode
; Condition d'office validée, car pour toute distance, car si la distance par rapport au joueur vaut 0, sa veut dire qu'on est à son origine.
	If ( GetDistance Player > 0 )
	; Ici entre 22h et 23h on désactive la lampe...normalement, ça devrait être la journée
		If ( Gamehour > 22 )
			If ( Gamehour < 23 )
				If ( GetDisabled == 0 )
					Disable
				Endif
			; Ici on arrête le script... si le joueur n'est plus là, le script s'arrête tout seul...
				Return
			Endif
		Endif
	Endif
; Et ici, sans conditions supplémentaires, dès que la lampe est désactivée on la réactive.
	If ( GetDisabled == 1 )
		Enable
	Endif
End
Donc en attendant, teste ce script "corrigé", tu pourra définir une distance d'éloignement limite plus tard :
scn HPLight01
Begin GameMode
	if (GetDisabled == 0 && GameHour > 6 && GameHour < 19)
		Disable
	elseif (GetDisabled == 1 && GameHour <= 6 && GameHour >= 19)
		Enable
	Endif
End
Entre 6h et 19h, par exemple, les lampes sont éteintes et entre 19h et 6h on allume les lampes.

Modifié par beeratwork, 15 avril 2010 - 11:14.


#5 Kaludas

Kaludas

    Mais je suis où bordel !?


Posté 26 avril 2010 - 12:07

Bonjour,

Je viens d'essayer ton Script Beeratwork et il marche.

Une petite question le script peux fonctionner comme sa sans besoin de mettre une distance entre le joueur pour le voir activer ?
"Deus Vult !"
- Templier, Bataille de Kherak

#6 Cogite Stibon

Cogite Stibon

    Théoriquement moddeur


Posté 26 avril 2010 - 12:57

Un script attaché à une référence est exécuté à chaque frame, tant que la cellule où se trouve la référence est chargée. Il n'est pas exécuté sinon.

Tout droit vers le non-linéaire !
It's not the engine, it's the writing.
HERMA MORA ALTADOON AE


#7 beeratwork

beeratwork

Posté 27 avril 2010 - 09:57

Autrement dit, ça veut dire que quand tu mes les pieds dans la cellule, le script commence, puisque "game mode" == mode jeu pour la cellule où se trouve le joueur. Ajouter une condition de distance te permettra de faire en sorte que le joueur puisse voir l'activation/désactivation. Donc ça dépend si tu veux que le joueur voient clognoter les lampes ou non, mais il pourrait se demander pourquoi les lampes switchent quand il s'approche...

#8 Kaludas

Kaludas

    Mais je suis où bordel !?


Posté 27 avril 2010 - 11:27

En fait c'est en exterieur mais je testerai comme sa pour voir sans distance si c'est bien ou pas.

Merci pour les explications
"Deus Vult !"
- Templier, Bataille de Kherak




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

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