View Categories

Durée de lecture estimée : 2 mn

EEPIsRailTrackReserved()
Utilité

Renseigne sur l'occupation d'une voie ferrée

Arguments

Un ou deux

Valeurs en retour

Deux ou trois

Versions EEP min.

EEP11.3 plugin 3 / EEP13.2 plugin 2 / EEP17.2 plugin 2

Syntaxe
EEPIsRailTrackReserved(ID [, true|Position])
Détails
  • Le 1er argument est l'ID de la voie ferrée dont on veut connaître le statut d'occupation.
  • Depuis EEP 13.2 plug-in 2 un 2ème argument facultatif true permet d'obtenir le nom du train en guise de 3ème élément retourné par la fonction.
  • Depuis EEP 17.2 plug-in 2, une valeur de position peut être entrée en lieu et place du second argument facultatif true, afin que la fonction renvoie le nom du train qui occupe la voie à cette position précise.
  • La 1ère valeur retournée est = à true lorsque la voie ferrée à interroger existe et est enregistrée sinon = à false dans le cas contraire.
  • La 2ème valeur retournée est = à true lorsque la voie ferrée est occupée sinon = à false dans le cas contraire.
  • La 3ème valeur (optionnelle) retournée est le nom du train qui occupe la voie ferrée à la première position (si la valeur du second argument est true ou = à 1) ou à la Xème position définie par la valeur entrée comme second argument. Toutefois si la valeur entrée comme deuxième argument est supérieure au nombre de trains occupants la voie, la 3ème valeur retournée sera une chaîne de caractères vide.
ATTENTION : La troisième valeur retournée est correcte tant que les trains ne sont pas en mouvement ! Si les véhicules se déplacent, l'interpréteur Lua peut renvoyer des noms erronés, car la liste des noms change à une vitesse par exemple de 60 fps, alors que Lua s'exécute de manière asynchrone dans un autre thread (CPU) afin de ne pas ralentir EEP.
  • Avant toute demande d'occupation, la voie ferrée doit être préalablement enregistrée avec la fonction EEPRegisterRailTrack().
Exemple
Lua
EEPRegisterRailTrack(12)

ok, Occupe = EEPIsRailTrackReserved(12)
print(Occupe)

ok, Occupe, Nom = EEPIsRailTrackReserved(12, true)
if Occupe == true then
    print("la voie ID12 est occupée par ", Nom)
  else
    print("la voie ID12 est libre")
end

ok, Occupe, Nom = EEPIsRailTrackReserved(12, 2)
if Occupe == true then
    print("le 2ème train ", Nom, " circule sur la voie ID12.")
  else
    print("la voie ID12 est libre")
end
0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Retour en haut