Escribir sus propios guiones

Guiones para los resultados diarios

SeeYou calculará los elementos de rendimiento del día como la distancia de marcado, la velocidad, los tiempos de salida y llegada, etc. Es responsabilidad del guión determinar cuántos PUNTOS se otorgan por el rendimiento alcanzado. 

Los scripts de SeeYou Competition se implementan utilizando los scripts Pascal de Innerfuse ( http://www.carlo-kok.com). Son rutinas Pascal muy básicas con algunas excepciones. 

Puede escribir scripts en el Bloc de notas o en cualquier otro editor de texto de su elección. Puede asignar scripts a cada clase de competición por separado a través de Edición > Propiedades de la competición > Scripts. 

Es importante mantener la estructura general del guión: 

Programa Scoring_Script_Name;

comenzar

... // Su script aquí

fin.

y numerar los guiones secuencialmente:

Hay muchas variables disponibles para el script de puntuación. Vea a continuación las variables disponibles para el Script Diario.

Guiones para resultados totales

También puede escribir un script para los resultados totales. El procedimiento es el mismo que para los scripts diarios, excepto que se encuentran en Edición > Propiedades de la competencia > Script total. Vea a continuación las variables disponibles para el Script Total. 

¿Cómo funciona?

SeeYou proporciona un registro de TPilots al script de puntuación. El registro TPilots y un par de campos más determinan toda la información necesaria para calcular la puntuación de un día de concurso. Esta es la definición del registro TPilot: 

GUIÓN PARA LOS PUNTOS DIARIOS

Pilotos[i] = registro (los valores son dobles si no se indica lo contrario)

  • sstart tiempo de inicio mostrado en los conjuntos de resultados en segundos
  • sfinish tiempo de finalización mostrado en los conjuntos de resultados en segundos (valores negativos - no hay finalización) 
  • sdis distancia mostrada en los resultados en metros (los valores negativos se mostrarán entre paréntesis)
  • sspeed velocidad mostrada en los resultados en m/s (los valores negativos se mostrarán entre paréntesis)
  • puntos mostrados en los resultados
  • pointString: cadena; una representación de cadena de los puntos para la salida personalizada
  • Factor de hándicap Hcap declarado en la configuración del piloto
  • puntos de penalización definidos en el diálogo de rendimiento de Day
  • inicio hora de inicio de la tarea (-1 si no hay inicio)
  • hora de finalización de la tarea (-1 si no hay finalización)
  • distancia de vuelo
  • velocidad de los taks terminados (-1 si no hay finalización, tiene en cuenta el tiempo de la tarea)
  • tstart hora de inicio de la tarea con tiempo (-1 si no hay inicio)
  • tfinish tiempo de finalización de la tarea con el tiempo
  • tdis distancia volada en tiempo de tarea
  • Velocidad de la distancia volada dividida por el tiempo de la tarea
  • tiempo de despegue (-1 si no hay despegue)
  • tiempo de aterrizaje (-1 si no hay aterrizaje)
  • phototime tiempo de aterrizaje (-1 si no hay aterrizaje)
  • isHc se establece en TRUE si no se utiliza la competencia
  • FinishAlt altitud de finalización de la tarea
  • Distancia DisToGoal entre el punto de aterrizaje de la tarea y el punto de aterrizaje del vuelo
  • Valor de la cadena de etiquetas definida en el diálogo Day performace
  • Leg,LegT matriz de registros TLeg (véase la definición de TLeg más abajo)
  • Advertencia: Cadena; se utiliza para establecer una advertencia al usuario
  • CompID: Cadena; ID de competición del parapente
  • PilotTag: Cadena; valor de la cadena como se define en el diálogo de edición del piloto
  • user_str1,user_str2,user_str3: String; cadenas de usuario, utilizar para cualquier cosa
  • td1,td2,td3: Dobles; variables temporales, utilizar para cualquier cosa
  • Marcadores: matriz de TMarker (véase la definición de TMarker más abajo)
  • PotStarts: array of Integer; Array de todos los cruces válidos de la línea de salida. En segundos desde la medianoche

TLeg = registro; contiene información sobre la pierna

  • start,finish,d,crs Doble; tiempo en segundos, distancia en metros, crs en radianes
  • td1,td2,td3 Doble; las variables pueden utilizarse como variables temporales  

TMarkers = registro; este registro contiene información sobre todas las veces que se ha pulsado el botón del marcador de eventos del piloto

  • Tsec: Entero; Tiempo de cada pulsación del botón de eventos de Pilote
  • Msg: Mensaje opcional que se almacena con el marcador de Evento Piloto en el archivo IGC

Otras variables

  • info1..info2 cadenas informativas mostradas en los resultados
  • Valor de la cadena DayTag como se define en el diálogo de propiedades de Day
  • ShowMessage( s:string ); utilícelo para depurar sus scripts 

Tarea = registro; contiene información básica sobre la tarea

  • TotalDis: Doble; distancia de la tarea en metros
  • TaskTime: Entero; tiempo de la tarea en segundos  
  • NoStartBeforeTime: Entero; hora de inicio en segundos
  • Punto: Array of TTaskPoint; descripción de la tarea
  • ClassID: string; Un enum de las clases existentes:
    • mundo
    • club
    • estándar
    • 13_5_metros
    • 15_metros
    • 18_metros
    • doble_asiento
    • Abrir
    • ala delta_flexible
    • ala delta_rigida
    • parapente
    • desconocido
  • ClassName: string; Nombre bonito opcional para la clase dada (como se introduce en Soaring Spot)

TTaskPoint = registro; contiene información básica sobre el punto de trabajo y el tramo

  • lon,lat: Doble; 
  • d,crs: Doble; distancia, rumbo al siguiente punto
  • td1,td2,td3 Doble; las variables pueden utilizarse como variables temporales

GUIÓN PARA EL TOTAL DE PUNTOS

Pilotos = récord

  • Total : Doble; total de puntos (el valor por defecto es la suma de DayPoints, no 0)
  • TotalString : Cadena; si no está vacío, el total de puntos se mostrará como la cadena definida en este valor 
  • DayPts : array of Double; Puntos de cada día calculados en los scripts diarios
  • DayPtsString : array of String; Misma funcionalidad que TotalString
Actualizado el 20 de abril de 2021

¿Le ha resultado útil este artículo?

Artículos relacionados

¿Necesita ayuda?
¿No encuentra la respuesta que busca?
Contactar con el servicio de asistencia