Aller au contenu

Messages recommandés

Posté(e)

Version de Minecraft : 1.8.9
Version de Skript : 2.2-Fixes-V8b

Type du skript : Modifier la durée du cycle Jour/nuit (5 minutes chacun)

Description du script :

Je voudrais que chaque 5 minutes le jour et la nuit alterne ^^ désolé c'es court mais y'a rien d'autre à dire 🙂

Posté(e)

Bonjour,

on script load:
	set {time} to true

every 5 minutes:
	if {time} is true:
		set {time} to false
		execute command "/time set day"
	if {time} is false:
		set {time} to true
		execute command "/time set night"

Si je ne me trompe pas, le script fonctionne mais ... Disons que d'apparence la nuit sera pas complète, la lune ne va pas être complete :x 

Posté(e)
il y a une heure, KneaXy a dit :

Bonjour,


on script load:
	set {time} to true

every 5 minutes:
	if {time} is true:
		set {time} to false
		execute command "/time set day"
	if {time} is false:
		set {time} to true
		execute command "/time set night"

Si je ne me trompe pas, le script fonctionne mais ... Disons que d'apparence la nuit sera pas complète, la lune ne va pas être complete :x 

cela ne marche pas ^^ et ce n'est pas "execute command" mais "execute console command" mais je pense que c'est une erreur d'inatention ^^ j'ai essayer par tout les moyens même le set time to ..:.. et je n'y arrive pas, d'ailleurs pour les prochaines réponses essayez de faire que quand la variable {start} est activé le système de jour/nuit marche ^^ merci beaucoup sinon d'avoir pris du temps pour moi 🙂

Posté(e)
il y a 57 minutes, Kilterra a dit :

Salut,

Je peux te proposer 2 solutions non testés, si aucune des deux ne fonctionne dans ce cas là je ferai quelque test :

La première qui reviens à ce qu'avais proposé kneaxy même si tu dis l'avoir testé mais on a aucun code donc en voici un :


every 5 minutes:
	if {start} is set:
		if {time} is set:
			set time to 00:00
		else:
			set time to 12:00

La deuxième qui est moins optimisé mais tu peux t'en inspirer et changer le délai :


every 1 second:
	set {time} to {time}+80 mod 24000
	set time to {time}

Explications du deuxième code : Une journée dans minecraft dure 24000 tick, ce qui équivaut à 20 minutes. Ainsi quand une seconde passe 20 tick passe. Maintenant, si toute les secondes on rajoute 80 tick alors ce n'est pas 1 seconde qui ce sera écoulée mais 4 secondes. Si tu fais donc le calcul, la journée durera donc plus que 5 minutes. L'utilisation du modulo est simplement la pour obtenir le reste du compteur quand on dépasse le 24000. Si tu veux une explication sur le modulo tu peux me demander en privée, mais de toute façon je ferai des tutos sur certaines fonctions mathématiques utiles en programmation, comme le modulo par exemple.

Ce code n'a pas été testé je précise et ce n'est qu'une idée, je ne peux donc pas te garantir qu'il marche.

Cordialement
Kilterra

Merci d’avoir pris du temps, je test demain ^^

Posté(e)
Il y a 11 heures, Kilterra a dit :

Tiens voici le code testé et fonctionnel :


function returnTickInTime(tick: number) :: time:
	set {_hour} to ({_tick}-({_tick} mod 1000))/1000
	set {_minute} to floor(({_tick} mod 1000)*30/500)
	return "%{_hour}%:%{_minute}%" parsed as time

every second:
	set {time} to {time}+80 mod 24000
	set {_result} to returnTickInTime({time})
	set time of world "maison" to {_result}

Change juste le "maison" par le nom de ton monde

Je dois mettre ou le {start} is true? ^^ sinon merci mec 🙂 je l’ai pas encore test je te dis ça après ^^’

Posté(e)
Il y a 9 heures, Kilterra a dit :

Dans le every second juste avant les instructions 

celà marche niquel, merci beaucoup ^^ Juste comment fait-on pour savoir si c'est la nuit (sur skript) pour imaginons mettre un message quand il fait jour/nuit 🙂

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.