Zmienne
Zmienne możemy stosować zarówno do raportowania - tworzenia wpisów w logu, komunikacji z osobą badaną jak i do sterownia programem. Przed wykonaniem polecenia w bieżącej linii program zamienia zmienną na odpowiednią wartość i dopiero wykonuje polecenie.
Zmienne zaczynają się i kończą znakiem '%' (procent).
przykładowo linia:
log_text Odpowiedz %lastinputname%, timer = %timer_001%, counter = %counter_001%
zostanie zamieniona przed wykonaniem na:
log_text Odpowiedz KEY_S, timer = 35800, counter = 10
Gdzie osoba badana wcisnęła ostatnio klawisz "s", timer o numerze 001 wskazywał 35,8 sekundy a wartość licznika o numerze 001 wynosiła 10
%filename%
Nazwa pliku BPS. Nazwa jest generowana automatycznie i składa się z nazwy uruchomionego pliku BPX i znacznika czasu uruchomienia.
%lastinputid%
Identyfikator ostatniej akcji użytkownika - kod wciśniętego klawisza lub nazwa systemowa klikniętego obiektu. W przypadku klawiszy są to kody znajdujące się w tabeli 5.2 Kody klawiszy. Dla kliknięć myszą jest to identyfikator obiektu w który kliknęła osoba badana - np. picture_001, text_001, shape_001, background
%lastinputname%
Nazwa ostatniej akcji użytkownika - nazwa wciśniętego klawisza lub nazwa obiektu. Jeżeli obiekt nie posiada nazwy to zwracany jest identyfikator. Tę samą nazwę można nadać wielu obiektom.
%timenow%
Bieżąca data i godzina
%durationnow%
Czas od rozpoczęcia doświadczenia w milisekundach
%timer_xxx
Wskazanie timera o numerze xxx.
%counter_xxx
Wskazanie licznika o numerze xxx.
Komendy sterujące
Komendy sterujące pozwalają na zmianę przebiegu doświadczenia, wykonywanie warunkowe i wielkokrotne wykonywanie kodu.
label <nazwa>
Zakładka - oznaczenie miejsca w skrypcie, do którego chcemy mieć możliwość przeskoczenia. <nazwa> powinna być ciągiem znaków bez spacji, np start, koniec, etap01, eksperyment_02 i podobne.
goto_jump <label>
Przeskakuje do zakładki o nazwie <label>. Zakładka musi istnieć w skrypcie, inaczej skok zostanie zignorowany.
goto_return
Przeskakuje do ostatnio wykonanej komendy typu goto_ - umożliwia powrót po wykonanym skoku. Jeżeli w skrypcie skaczemy do jednej zakładki z wielu miejsc to program pamięta z której z nich został wykonany skok. Pozwala to na tworzenie podprogramów - wielokrotnie wykonywanych kawałków kodu skryptu (coś w rodaju prymitiwnej funkcji)
goto_iflastinputid <input> <label>
Przeskakuje do zakładki o nazwie <label> jeżeli ostatnia akcja osby badanej była równa <input>. Akcja to kod wciśniętego klawisza lub kod klikniętego obiektu
goto_iflastinputname <input name> <label>
Przeskakuje do zakładki o nazwie <label> jeżeli ostatnia akcja osby badanej była równa <input>. Akcja to kod wciśniętego klawisza lub nazwa klikniętego obiektu. Mozna nadać tę samą nazwę wielu obiektom, np wiele obrazków nazwanych "tak".
goto_ifcounterequal <x> <value> <label>
Przeskakuje do zakładki o nazwie <label> jeżeli licznik o numerze <x> jest równy <value>
Liczniki
Liczniki pozwalają na zliczanie parametrów w trakcie działania skryptu. Domyślnie wszystkie liczniki po starcie mają wartość 0.
counter_set <x> <value>
Zapisuje do licznika o numerze <x> wartość <value>
counter_plus <x> <value>
Dodaje do licznika o numerze <x> wartość <value>
counter_minus <x> <value>
Odejmuje od licznika o numerze <x> wartość <value>
counter_log <x>
Zapisuje wartość licznika o numerze <x> do krótkiego logu
Kształty
Kształty pozwalają na wyświetlanie prostych obiektów graficznych - prostokątów, okręgów i elips.
counter_set <x> <value>
Zapisuje do licznika o numerze <x> wartość <value>
shape_shape <x> <shape>
Określa kształt, dostępne są <shape> : circle, circle, rectangle, roundrect, roundsquare, square.
shape_width <x> <width>
Szerokość kształtu w pixelach
shape_height <x> <height>
Wsokość kształtu w pixelach
shape_borcol <x> <color>
Kolor obramowania kształtu
shape_borwidth <x> <width>
Szerokość obramowania kształtu w pixelach <width>
shape_name
patrz: pic_name
shape_color
patrz: pic_color
shape_show
patrz: pic_show
shape_hide
patrz: pic_hide
shape_vpos
patrz: pic_vpos
shape_hpos
patrz: pic_hpos
shape_vpospx
patrz: pic_vpospx
shape_hpospx
patrz: pic_hpospx
wait_delayinput