# Conditioned place preference baseline and probe script. 20 minutes of visual stimuli that change sides at 5 minutes. # You can use colour or images for stimuli. There are define statements on lines 22 and 23 to alter. # To use the the images hash out the colour INVOKE statements (lines 78,100) # or vice versa, to use colours hash out the sprite INVOKE statements (lines 87,99). # This is a sample script that illustrates how zanscript can be written to run an experiment and deliver some example data. # Zantiks Ltd cannot guarantee this is how you want to run your experiments. This script is offered only to demonstrate the # capabilities of the system and assist you in learning how to script for your research. # define experiment requirements DEFINE COLOUR1 BLUE DEFINE COLOUR2 GREEN DEFINE UNIT_TIME 300 DEFINE NUMBER_OF_TRIALS 2 # define the animal model tracking requirments (dependent on animal size) SET(TARGET_SIZE,15) SET(DETECTOR_THRESHOLD,5) # takes an autoreference required for tracking SET(AUTOREF_MODE,MOVEMENT) SET(AUTOREF_TIMEOUT,30) # loads tracking assets LOAD(ARENAS,"arenas_2l.bmp") LOAD(ZONES,"zones_2w.bmp") SET(COUNTER1,COUNTER_ZERO) ACTION MAIN AUTOREFERENCE() LOGCREATE("RUNTIME|TEXT:TIME_BIN|TEXT:ZONE1_COLOUR") LOGAPPEND("TEXT:ZONE2_COLOUR|TEXT:ARENA1_ZONE2_DISTANCE") LOGAPPEND("TEXT:ARENA1_ZONE2_DISTANCE|TEXT:ARENA2_ZONE1_DISTANCE") LOGAPPEND("TEXT:ARENA2_ZONE2_DISTANCE|TEXT:ARENA1_ZONE1_TIME") LOGAPPEND("TEXT:ARENA1_ZONE2_TIME|TEXT:ARENA2_ZONE1_TIME|TEXT:ARENA2_ZONE2_TIME") LOGAPPEND("TEXT:ARENA1_ZONE1_ENTRIES|TEXT:ARENA1_ZONE2_ENTRIES") LOGAPPEND("TEXT:ARENA2_ZONE1_ENTRIES|TEXT:ARENA2_ZONE2_ENTRIES") LOGAPPEND("TEXT:ARENA1_TOTAL_DISTANCE|TEXT:ARENA2_TOTAL_DISTANCE") LOGRUN() LOGDATA(DATA_SNAPSHOT,"begin") INVOKE(CPP_SEQ,NUMBER_OF_TRIALS) LOGDATA(DATA_SNAPSHOT,"after") LOGDATA(DATA_SELECT,"begin") LOGDATA(DATA_DELTA,"after") LOGCREATE("RUNTIME|TEXT:TOTALS|TEXT:|TEXT:") LOGAPPEND("ZONE_DISTANCES:A1-2 Z1-2|ZONE_TIMERS:A1-2 Z1-2") LOGAPPEND("ZONE_COUNTERS:A1-2 Z1-2|ARENA_DISTANCES:A1-2") LOGRUN() COMPLETE ACTION CPP_SEQ INVOKE(CPPBASEPROBE,1) INVOKE(CPPBASEPROBE_SWITCH,1) COMPLETE ACTION CPPBASEPROBE SET(COUNTER1,COUNTER_INC) #INVOKE(LT1CHECKLT2GREY,1) INVOKE(LT1COLOUR1_LT2COLOUR2,1) LOGDATA(DATA_SNAPSHOT,"begin5") WAIT(UNIT_TIME) LOGDATA(DATA_SNAPSHOT,"after5") LOGDATA(DATA_SELECT,"begin5") LOGDATA(DATA_DELTA,"after5") LOGCREATE("RUNTIME|COUNTER1|TEXT:GREEN|TEXT:BLUE") LOGAPPEND("ZONE_DISTANCES:A1-2 Z1-2|ZONE_TIMERS:A1-2 Z1-2") LOGAPPEND("ZONE_COUNTERS:A1-2 Z1-2|ARENA_DISTANCES:A1-2") LOGRUN() COMPLETE ACTION CPPBASEPROBE_SWITCH SET(COUNTER1,COUNTER_INC) #INVOKE(LT1GREYLT2CHECK,1) INVOKE(LT1COLOUR2_LT2COLOUR1,1) WAIT(UNIT_TIME) LOGDATA(DATA_SNAPSHOT,"after10") LOGDATA(DATA_SELECT,"after5") LOGDATA(DATA_DELTA,"after10") LOGCREATE("RUNTIME|COUNTER1|TEXT:BLUE|TEXT:GREEN") LOGAPPEND("ZONE_DISTANCES:A1-2 Z1-2|ZONE_TIMERS:A1-2 Z1-2") LOGAPPEND("ZONE_COUNTERS:A1-2 Z1-2|ARENA_DISTANCES:A1-2") LOGRUN() LIGHTS(ALL,OFF) COMPLETE ACTION LT1GREYLT2CHECK SETLIGHT(LIGHT1,SPRITE,300,500,1000) SETLIGHT(LIGHT2,SPRITE,1300,500,1000) LOAD(SPRITE_FILE,"1:grey128x128") LOAD(SPRITE_FILE,"2:check640x640") LIGHTS(LIGHT1,ON) LIGHTS(LIGHT2,ON) COMPLETE ACTION LT1CHECKLT2GREY SETLIGHT(LIGHT1,SPRITE,300,500,1000) SETLIGHT(LIGHT2,SPRITE,1300,500,1000) LOAD(SPRITE_FILE,"1:check640x640") LOAD(SPRITE_FILE,"2:grey128x128") LIGHTS(LIGHT1,ON) LIGHTS(LIGHT2,ON) COMPLETE ACTION LT1COLOUR1_LT2COLOUR2 SETLIGHT(LIGHT1,SQUARE,300,500,1000) SETLIGHT(LIGHT2,SQUARE,1300,500,1000) LIGHTS(LIGHT1,COLOUR1) LIGHTS(LIGHT2,COLOUR2) COMPLETE ACTION LT1COLOUR2_LT2COLOUR1 SETLIGHT(LIGHT1,SQUARE,300,500,1000) SETLIGHT(LIGHT2,SQUARE,1300,500,1000) LIGHTS(LIGHT1,COLOUR2) LIGHTS(LIGHT2,COLOUR1) COMPLETE