• 03 Mai 2025, 01:24:44


Auteur Sujet: Récupèrer l'heure  (Lu 668 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Drawkk

  • *
  • Criminel
  • Messages: 48
    • Voir le profil
Récupèrer l'heure
« le: 03 Juin 2011, 11:23:31 »
Bonjour,

J'ai un petit soucis, je n'arrive pas à récupèrer l'heure. Je vais pas essayé de vous expliqué, je vous montre mon bout de code..

               
Code: (pawn) [Sélectionner]
new heure;
new minute,seconde; // Je définie l'heure les minutes et les secondes
gettime(heure, minute, seconde); // je récupère le temps
if(IsPlayerInAnyVehicle(playerid)) // je vérifie si le joueur est dans un véhicule
{
new vid = GetPlayerVehicleID(playerid); // je récupère l'id du vehicule dnas lequel le joueur ce trouve
if(heure >= 20 && heure <= 8) // Si l'heure est égal et supérieur à 20h et egal ou inférieur a 8h alors
{
    TextDrawShowForPlayer(playerid, Tphares); // on montre le filtre nocturne
    GetVehicleParamsEx(vid,engine,phares,alarm,doors,bonnet,boot,objective); // on récupère les paramètres du véhicule
    if(phares == VEHICLE_PARAMS_ON) // si les phares sont allumé
    {
    TextDrawHideForPlayer(playerid, Tphares); // on cache le filtre
    return 1;
}
else // si ils sont éteint
{
SendClientMessage(playerid, COLOR_GREEN, "[Info:] Vous devriez allumer vos phares ! ((/phares))"); // on dit d'allumer
TextDrawShowForPlayer(playerid, Tphares); // et on applique le filtre
return 1;
}
}
else // si l'heure n'est pas entre 20h et 8h
{
TextDrawHideForPlayer(playerid, Tphares); // on cache le filtre
return 1;
}
}

Plus clairement, lorsque il est entre 20h et 8h le filtre doit se mettre en place si le joueur est dans un véhicule. Si le joueur allume ses phares, le filtre ce cache..

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Récupèrer l'heure
« Réponse #1 le: 04 Juin 2011, 15:36:15 »
L'erreur vient de là :
if(heure >= 20 && heure <= 8)Un nombre quelconque ne peut pas être à la fois supérieur à 20 et inférieur à 8 !! (pour des raisons évidentes de logique)
Ce test n'est donc jamais vrai et le script croit que c'est le jour en permanence.

Pour que ça fonctionne, il faut utiliser un ou dans ton test :
if(heure >= 20 || heure <= 8)C'est à dire, si l'heure est supérieure à 20 (soir et nuit) ou inférieure à 8 (nuit et matin).

++
Syg
Courtesy of GtaManiac