Scrivere i propri script

Script per risultati giornalieri

SeeYou calcolerà gli elementi della prestazione giornaliera come la distanza di marcatura, la velocità, i tempi di partenza e di arrivo, ecc. E' responsabilità dello script determinare quanti PUNTI vengono assegnati per la prestazione ottenuta. 

Gli script SeeYou Competition sono implementati utilizzando gli script Pascal di Innerfuse ( http://www.carlo-kok.com). Sono routine Pascal molto semplici con alcune eccezioni. 

Puoi scrivere gli script in Notepad o in qualsiasi altro editor di testo di tua scelta. Puoi assegnare gli script a ogni classe di gara separatamente attraverso Modifica > Proprietà della gara > Script. 

È importante mantenere la struttura generale della sceneggiatura: 

Programma Scoring_Script_Name;

iniziare

... // Il tuo script qui

fine.

e di numerare gli script in modo sequenziale:

Ci sono molte variabili disponibili per lo script di punteggio. Vedi sotto per le variabili disponibili per il Daily Script.

Script per risultati totali

Puoi anche scrivere uno script per i risultati totali. La procedura è la stessa degli script giornalieri, tranne che si trovano in Modifica > Proprietà della concorrenza > Script totale. Vedi sotto per le variabili disponibili per lo Script Totale. 

Come funziona?

Un record di TPilots è fornito da SeeYou allo script Scoring. Il record TPilots e un paio di altri campi determinano tutte le informazioni necessarie per calcolare il punteggio per un dato giorno di gara. Questa è la definizione del record TPilot: 

SCRIPT PER I PUNTI GIORNALIERI

Piloti[i] = record (i valori sono Double se non indicato altrimenti)

  • sstart tempo di inizio visualizzato nei set di risultati in secondi
  • sfinish tempo di arrivo visualizzato nei set di risultati in secondi (valori negativi - nessun traguardo) 
  • sdis distanza mostrata nei risultati in metri (i valori negativi saranno mostrati tra parentesi)
  • sspeed velocità mostrata nei risultati in m/s (i valori negativi saranno mostrati tra parentesi)
  • punti punti mostrati nei risultati
  • pointString: stringa; una rappresentazione stringa dei punti per l'output personalizzato
  • Fattore di handicap Hcap come dichiarato nella configurazione del pilota
  • punti di penalità definiti nel dialogo delle prestazioni giornaliere
  • inizio ora di inizio del compito (-1 se nessun inizio)
  • finish tempo di fine del compito (-1 se non c'è fine)
  • distanza non volata
  • velocità velocità dei taks finiti (-1 se non finiti, tiene conto del tempo del compito)
  • tstart ora di inizio del compito con il tempo (-1 se nessun inizio)
  • tfinish tempo di fine del compito con il tempo
  • tdis distanza volata in tempo di task
  • tspeed distanza volata divisa per il tempo della task
  • decollo tempo di decollo (-1 se nessun decollo)
  • tempo di atterraggio (-1 se nessun atterraggio)
  • phototime tempo di ricaduta (-1 se nessuna ricaduta)
  • isHc impostato su TRUE se non si usa la concorrenza
  • FinishAlt altitudine di fine attività
  • DisToGoal distanza tra il punto di atterraggio del compito e il punto di atterraggio del volo
  • Valore della stringa del tag come definito nella finestra di dialogo Day performace
  • Leg,LegT array di record TLeg (vedi definizione di TLeg sotto)
  • Avviso: Stringa; usata per impostare un avviso per l'utente
  • CompID: stringa; ID della competizione dell'aliante
  • PilotTag: Stringa; valore della stringa come definito nella finestra di dialogo di modifica del pilota
  • user_str1,user_str2,user_str3: Stringa; stringhe utente, da usare per qualsiasi cosa
  • td1,td2,td3: Doppio; variabili temporanee, da usare per qualsiasi cosa
  • Marcatori: array di TMarker (vedi definizione di TMarker qui sotto)
  • PotStarts: array of Integer; Array di tutti gli attraversamenti validi della linea di partenza. In secondi da mezzanotte

TLeg = record; informazioni sulla gamba

  • start,finish,d,crs Doppio; tempo in secondi, distanza in metri, crs in radianti
  • td1,td2,td3 Doppio; le variabili possono essere usate come variabili temporanee  

TMarkers = record; questo record contiene informazioni su tutte le volte in cui è stato premuto il pulsante Pilot Event Marker

  • Tsec: Integer; Tempo di ogni pressione del pulsante dell'evento Pilote
  • Msg: messaggio opzionale che viene memorizzato con il marcatore dell'evento pilota nel file IGC

Altre variabili

  • info1..info2 stringhe informative mostrate sui risultati
  • Valore della stringa DayTag come definito nel dialogo delle proprietà Day
  • ShowMessage( s:string ); usatelo per eseguire il debug dei vostri script 

Task = record; tenere le informazioni di base sul compito

  • TotalDis: Doppio; distanza del compito in metri
  • TaskTime: intero; tempo di attività in secondi  
  • NoStartBeforeTime: intero; tempo di inizio in secondi
  • Punto: Array di TTaskPoint; descrizione del compito
  • ClassID: stringa; Un enum di classi esistenti:
    • mondo
    • club
    • standard
    • 13_5_metro
    • 15_metro
    • 18_metro
    • poltrona doppia
    • aprire
    • deltaplano_flessibile
    • hang_glider_rigid
    • parapendio
    • sconosciuto
  • ClassName: stringa; nome carino opzionale per la classe data (come inserito in Soaring Spot)

TTaskPoint = record; contiene informazioni di base sul taskpoint e sulla gamba

  • lon,lat: Doppio; 
  • d,crs: Doppio; distanza, rotta verso il prossimo punto
  • td1,td2,td3 Doppio; le variabili possono essere usate come variabili temporanee

SCRIPT PER I PUNTI TOTALI

Piloti = record

  • Total : Double; punti totali (il valore predefinito è la somma dei DayPoints, non 0)
  • TotalString : String; se questo non è vuoto, i punti totali saranno mostrati come la stringa definita in questo valore 
  • DayPts : array di Double; punti di ogni giorno come calcolati negli script giornalieri
  • DayPtsString : array di stringhe; stessa funzionalità di TotalString
Aggiornato il 20 aprile 2021

Questo articolo è stato utile?

Articoli correlati