Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

[Script] Avoir l'heure avec les cadrans solaires

Par Daynos le 12/10/2002 à 17:13:15 (#2323293)

Sujet posté par Shelzard

Créez un Sundial, rendez le Usable, et mettez ce script dans OnUsed.
Le but, est de savoir l'heure grâce au soleil, évidemment, le cadran ne marche que le jour.


void main()
{
int nHeure = GetTimeHour();
if (GetIsNight())
{
SpeakString("Vous ne pouvez pas utiliser ceci la nuit.");
}
else if (nHour 12)
{
SpeakString("Il est " + (IntToString(nHeure)) + "h00");
}
else
{
SpeakString("Il est midi");
}
}


Script inspiré d'un script existant chez Bioware.

Shelzard

Posté par Skanzo Sylan

Par Daynos le 14/10/2002 à 14:32:47 (#2333341)

Me suis amuser à bidouiller le script du sundial pour qu'il affiche les minutes aussi. Oui d'accord, je sais, c'est une horloge solaire astronomique hyper précise...
Hum? Sisi c'est très RP comme explication :p

Enfin bon, ça affiche les heures et les minutes exactement comme vous l'avez configuré dans vot'module, pô besoin de préciser n'importe quelle variable, ça marche tout seul ou presque :)

Heu... ha oui, je l'avoue je suis une quiche donc si vous trouvez le script un peu bordélique... c'est normaaaal (voix de l'ange au paradis des nains pour ceux qui connaissent :p).

void main()
{
string sMinute;
int nMinByeHour = FloatToInt(HoursToSeconds(1)) / 60;
int nHeure = GetTimeHour();
int nMinute = (60 / nMinByeHour) * GetTimeMinute();
int nSecond = GetTimeSecond();

nMinute = nMinute + nSecond / nMinByeHour;

if (nMinute < 10) {
sMinute = "0" + IntToString(nMinute);
}
else {
sMinute = IntToString(nMinute);
}

ActionSpeakString("Il est " + IntToString(nHeure) + "h" + sMinute);

}

Posté par Einkil

Par Daynos le 14/10/2002 à 14:34:15 (#2333348)

Il est très chouette ton script pour le cadran solaire, mais j'ai remarqué un ptit problème. Je clique une fois dessus, j'ai l'heure a la minute près, je reclique une deuxieme fois et ca a avancer d'une minute, une 3 eme fois et c'est pareil. Bref, un clique le fais avancer d'une minute chaque fois. Comment régler ce probleme?

Posté par Skanzo Sylan

Par Daynos le 14/10/2002 à 15:02:31 (#2333518)

À quoi sert que ducros il se décarcasse? :mdr:

GetTimeHour reprend l'heure du modules, ok la-dessus. C'est la même heure que l'on peut voir en suvolant le compas avec la souris.

Par contre GetTimeMinute est plus vicieux :)
Si je configure le module pour qu'une heure dans le jeu corresponde à trois minutes IRL, le temps va défiler ainsi:

13h00, 13h01, 13h02, 14h00, 14h01, 14h02, 15h00, et ainsi de suite à chaque minutes réelles qui passent.
D'où l'intéret de mon script qui corrige ce petit problème et affiche toutes les minutes de 00 à 59.


Si vous voyez les minutes passer trop vite, c'est que vous avez configuré le temps du module avec une courte durée pour les heures (1 minute pour 1 heure par exemple).

Pour configurer le quota de minutes réelles pour une heure de jeu, c'est Edit, Module Properties, onglet Advanced mais vous devez tous le savoir, c'est juste au cas où ;)


Hum... par contre, si quelqu'un a trouvé le moyen de récupérer la date et heure du serveur pour l'utiliser dans un script, ben je suis preneur, merci :merci:

Posté par [xkill]sniper!

Par Daynos le 14/10/2002 à 15:04:01 (#2333525)

Provient du message de Skanzo Sylan
À quoi sert que ducros il se décarcasse? :mdr:

GetTimeHour reprend l'heure du modules, ok la-dessus. C'est la même heure que l'on peut voir en suvolant le compas avec la souris.

Par contre GetTimeMinute est plus vicieux :)
Si je configure le module pour qu'une heure dans le jeu corresponde à trois minutes IRL, le temps va défiler ainsi:

13h00, 13h01, 13h02, 14h00, 14h01, 14h02, 15h00, et ainsi de suite à chaque minutes réelles qui passent.
D'où l'intéret de mon script qui corrige ce petit problème et affiche toutes les minutes de 00 à 59.


Si vous voyez les minutes passer trop vite, c'est que vous avez configuré le temps du module avec une courte durée pour les heures (1 minute pour 1 heure par exemple).

Pour configurer le quota de minutes réelles pour une heure de jeu, c'est Edit, Module Properties, onglet Advanced mais vous devez tous le savoir, c'est juste au cas où ;)


Hum... par contre, si quelqu'un a trouvé le moyen de récupérer la date et heure du serveur pour l'utiliser dans un script, ben je suis preneur, merci :merci:


Ok, si ta remarque était liée à mon POST, je ne vois pas corrélation ! Merci de dire ou ça cloche ? ;)

Posté par Skanzo Sylan

Par Daynos le 14/10/2002 à 15:11:20 (#2333557)

Xkill, je voulais simplement prevenir que les script utilisant GetTimeMinute ne peuvent fonctionner sur tout les modules sans une certaine modif.

Si tu configure ton module pour qu'une heure dans le module corresponde à un quart d'heure réel, ben GetTimeMinute n'affichera jamais 30 minutes.

Disons qu'il est environ 13h45 sur le module, tu te dit que la porte est ouverte... :confus:
et ben non paske GetTimeMinute va fournir une informations fausse, environ 12 minutes (réelles) si tu as configuré le module comme si dessus.

Bien sûr, si tu as mis que 60 minutes correspond à une heure dans ton monde, ça marchera mais pô sur les autres.

GetTimeMinute avance avec les minutes réelles :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine