Écrire vos propres scripts

Scripts pour les résultats quotidiens

SeeYou calculera les éléments de performance de la journée comme la distance de marquage, la vitesse, les temps de départ et d'arrivée, etc. Il est de la responsabilité du script de déterminer combien de POINTS sont attribués pour la performance réalisée. 

Les scripts SeeYou Competition sont mis en œuvre à l'aide des scripts Pascal d'Innerfuse ( http://www.carlo-kok.com). Ce sont des routines Pascal très basiques avec quelques exceptions. 

Vous pouvez écrire les scripts dans Notepad ou tout autre éditeur de texte de votre choix. Vous pouvez assigner des scripts à chaque classe de compétition séparément via Edit > Competition Properties > Scripts. 

Il est important de conserver la structure générale du scénario : 

Nom du script du programme ;

commencer

... // Votre script ici

fin.

et de numéroter les scripts de manière séquentielle :

De nombreuses variables sont disponibles pour le script de notation. Voir ci-dessous les variables disponibles pour le script quotidien.

Scripts pour des résultats totaux

Vous pouvez également écrire un script pour les résultats totaux. La procédure est la même que pour les scripts quotidiens, sauf qu'ils se trouvent dans Edition > Propriétés du concours > Script Total. Voir ci-dessous les variables disponibles pour le script Total. 

Comment cela fonctionne-t-il ?

Un enregistrement TPilots est fourni par SeeYou au script de calcul des scores. L'enregistrement TPilots et quelques autres champs déterminent toutes les informations nécessaires au calcul du score pour un jour de concours donné. Voici la définition de l'enregistrement TPilot : 

SCRIPT POUR LES POINTS QUOTIDIENS

Pilotes[i] = enregistrement (les valeurs sont doubles si ce n'est pas indiqué autrement)

  • sstart heure de début affichée dans les ensembles de résultats en secondes
  • sfinish temps d'arrivée affiché dans les ensembles de résultats en secondes (valeurs négatives - pas d'arrivée) 
  • distance sdis indiquée dans les résultats en mètres (les valeurs négatives seront indiquées entre parenthèses)
  • sspeed vitesse indiquée dans les résultats en m/s (les valeurs négatives seront indiquées entre parenthèses)
  • les points indiqués dans les résultats
  • pointString : chaîne de caractères ; une représentation en chaîne de caractères des points pour une sortie personnalisée.
  • Facteur de handicap Hcap tel que déclaré dans la configuration du pilote.
  • points de pénalité définis dans le dialogue de performance de jour
  • start heure de début de la tâche (-1 si pas de début)
  • fin heure de fin de la tâche (-1 si pas de fin)
  • distance parcourue
  • vitesse vitesse des taks finis (-1 si pas de fin, prend en compte le temps de la tâche)
  • tstart heure de début de la tâche avec temps (-1 si pas de début)
  • tfinish temps de finition de la tâche avec le temps
  • tdis distance parcourue en temps de tâche
  • tspeed distance parcourue divisée par le temps de la tâche
  • décollage temps de décollage (-1 si pas de décollage)
  • temps d'atterrissage (-1 si pas d'atterrissage)
  • phototime outlanding time (-1 si pas d'outlanding)
  • isHc mis à TRUE si la concurrence n'est pas utilisée
  • FinishAlt altitude de la fin de la tâche
  • DisToGoal distance entre le point d'atterrissage de la tâche et le point d'atterrissage du vol
  • Valeur de la chaîne de balises telle que définie dans la boîte de dialogue Day performace.
  • Leg,LegT tableau d'enregistrements TLeg (voir la définition de TLeg ci-dessous)
  • Avertissement : Chaîne ; utilisée pour configurer un avertissement pour l'utilisateur
  • CompID : Chaîne ; ID de compétition du planeur.
  • PilotTag : String ; valeur de la chaîne telle que définie dans la boîte de dialogue d'édition du pilote
  • user_str1,user_str2,user_str3 : String ; chaînes d'utilisateur, à utiliser pour n'importe quoi
  • td1,td2,td3 : Double ; variables temporaires, à utiliser pour n'importe quoi
  • Marqueurs : tableau de TMarker (voir la définition de TMarker ci-dessous)
  • PotStarts : tableau d'entiers ; Tableau de tous les passages valides de la ligne de départ. En secondes depuis minuit

TLeg = enregistrement ; contenant des informations sur les jambes

  • start,finish,d,crs Double ; temps en secondes, distance en mètres, crs en radians
  • td1,td2,td3 Double ; les variables peuvent être utilisées comme variables temporaires  

TMarkers = enregistrement ; cet enregistrement contient des informations sur toutes les fois où le bouton du marqueur d'événement du pilote a été pressé.

  • Tsec : Integer ; Temps de chaque pression sur le bouton Pilote Event
  • Msg : message facultatif qui est enregistré avec le marqueur d'événement de pilote dans le fichier IGC.

Autres variables

  • info1..info2 chaînes d'information affichées sur les résultats
  • Valeur de la chaîne DayTag telle que définie dans la boîte de dialogue des propriétés de la journée.
  • ShowMessage( s:string ) ; utilisez cette fonction pour déboguer vos scripts. 

Tâche = document ; contenant des informations de base sur la tâche

  • TotalDis : Double ; distance de la tâche en mètres
  • TaskTime : Entier ; durée de la tâche en secondes  
  • NoStartBeforeTime : Entier ; heure de début en secondes
  • Point : Tableau de TTaskPoint ; description de la tâche.
  • ClassID : string ; Un enum des classes existantes :
    • monde
    • club
    • standard
    • 13_5_meter
    • 15_meter
    • 18_meter
    • double_siège
    • ouvrir
    • deltaplane_flexible
    • hang_glider_rigid
    • parapente
    • inconnu
  • ClassName : string ; Facultatif, un nom sympathique pour la classe donnée (tel qu'il est entré à Soaring Spot)

TTaskPoint = enregistrement ; contient des informations de base sur le point de tâche et le segment.

  • lon,lat : Double ; 
  • d,crs : Double ; distance, cap vers le point suivant
  • td1,td2,td3 Double ; les variables peuvent être utilisées comme variables temporaires

SCRIPT POUR LE TOTAL DES POINTS

Pilotes = record

  • Total : Double ; total des points (la valeur par défaut est la somme des DayPoints, et non 0)
  • TotalString : Chaîne ; si cette valeur n'est pas vide, le total des points sera affiché sous la forme de la chaîne définie dans cette valeur. 
  • DayPts : tableau de Double ; Les points de chaque jour tels que calculés dans les scripts quotidiens.
  • DayPtsString : tableau de String ; Même fonctionnalité que TotalString
Mis à jour le 20 avril 2021

Cet article vous a-t-il été utile ?

Articles connexes