treatment "WBV_2020_NEGOTIATION_7.ztt"{ background{ table globals{ } table subjects{ } table summary{ } table contracts{ } table session{ } table logfile{ } numsubjects = 2; numgroups = 1; numpracticeperiods = 0; numactualperiods = 31; exchangerate = 1; startendowment = 0; showupfee = 0; noAutoscope = FALSE; firstBoxesOnTop = FALSE; showupfeeawaytext = "Sie haben Verlust gemacht. Wollen Sie das Startgeld einsetzen, um diesen Verlust zu decken?"; showupfeeawayyestext = "Ja"; showupfeeawaynotext = "Nein"; moneyawaytext = "Sie haben Verlust gemacht. Wollen Sie weiterfahren?"; moneyawayyestext = "Ja"; moneyawaynotext = "Nein"; bancruptwaittext = "Bitte warten Sie bis Ihr Computer wieder freigegeben wird."; program{ table = subjects; do{ //DIAGNOSTIC diag = 0; } } program{ table = subjects; do{ // DEFINE TYPES type=-1; // 1 = Public sector treatment // 2 = Private sector treatment // keep track of the number of offers per agreement no_offers = 0; // PAYMENT FOR PUBLIC standardpayment = 10; } } program{ table = subjects; do{ // ASSIGN TO TYPES - BASED ON EVEN PAIRS type = mod(Subject -1,2)+1; //type = mod(Subject,2); } } program{ table = subjects; do{ // RANDOMISATION OVER TYPES - TRULY RANDOM //rn = random(); //others_rn = find (same(Group) & not (same(Subject)), rn); //type = if (rn>others_rn,1,2); } } program{ table = globals; do{ // PIE SIZE // get the time for calculating speed start_time = gettime(); // iterator with array does not work pie = -1; if (Period ==1){pie=240;} if (Period ==2){pie=160;} if (Period ==3){pie=220;} if (Period ==4){pie=40;} if (Period ==5){pie=100;} if (Period ==6){pie=200;} if (Period ==7){pie=20;} if (Period ==8){pie=60;} if (Period ==9){pie=120;} if (Period ==10){pie=80;} if (Period ==11){pie=300;} if (Period ==12){pie=260;} if (Period ==13){pie=280;} if (Period ==14){pie=180;} if (Period ==15){pie=140;} // negative payoffs // Dummy round if (Period ==16){pie=-240;} if (Period ==17){pie=-160;} if (Period ==18){pie=-220;} if (Period ==19){pie=-40;} if (Period ==20){pie=-100;} if (Period ==21){pie=-200;} if (Period ==22){pie=-20;} if (Period ==23){pie=-60;} if (Period ==24){pie=-120;} if (Period ==25){pie=-80;} if (Period ==26){pie=-300;} if (Period ==27){pie=-260;} if (Period ==28){pie=-280;} if (Period ==29){pie=-180;} if (Period ==30){pie=-140;} if (Period ==31){pie=-240;} } } program{ table = globals; do{ // TIME TO REACH AN AGREEMENT time = 45; timeresults =5; } } program{ table = subjects; do{ // NEGOTIATION STATE AND DECLARATION OF VARS offer = -1; counteroffer=-1; sum = -1; // KEEP TRACK OF WHEN AN AGREEMENT IS REACHED. // CONTRACT BOXES DISSAPEAR WHEN THIS IS SET TO 1 BY PLAYERS transaction =0; // Profit and TotalProfit cannot handle negative numbers. Creation of new variable Score = 0; TotalScore = 0; } } program{ table = contracts; do{ // NEGOTIATION VARIABLES creator =0; // who proposed? accepted_by = 0; a=0; // buyers ID b=0; // sellers ID } } program{ table = globals; do{ // GROUP MATCHING // NUMBER OF PLAYERS PER GROUP NumInGroup = 2; } } program{ table = subjects; do{ // GROUP MATCHING rand = random(); } } program{ table = subjects; do{ // GROUP MATCHING rank = count (rand>:rand)+1; } } program{ table = subjects; do{ // GROUP MATCHING //Group = rounddown((rank -1)/NumInGroup,1)+1; } } program{ table = subjects; do{ // GROUP MATCHING // ONLY PUBLIC-PRIVATE MATCHES Group = count(same(type) & rand <=:rand); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; headerbox "Header"{ hasframe = TRUE; height = 10%; top = 0p; cuttop = TRUE; showPeriods = TRUE; showNumPeriods = TRUE; periodtext = "Periode"; periodoftext = "von"; practiceperiodprefix = "Probe "; showtime = TRUE; timestr = "Verbleibende Zeit [sec]:"; pleasedecidetext = "Bitte entscheiden Sie sich jetzt!"; } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "Text"{ hasframe = TRUE; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "Bitte warten Sie, bis das Experiment weitergeht."; } } } } stage "GENERAL INSTRUCTION"{ startwaitforall = TRUE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = never; timeout = 30; program{ table = subjects; do{ Participate = if ( (Period==1) & (diag==0) ,1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "Standard"{ hasframe = FALSE; width = 80%; height = 20%; top = 20%; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Herzlich willkommen im Experiment \"Verhandeln in PPPs\"! Vielen Dank, dass Sie teilnehmen! \r\n\r\n\\line \\line\r\nIm Folgenden nehmen Sie an einem mehrstufigen, dynamischen Entscheidungsexperiment teil. \\line In dieser Studie geht es darum herauszufinden, wie Menschen in bestimmten Situationen verhandeln. Bitte stellen Sie sich folgendes Szenario vor: \r\n\r\n\\line \\line\r\nVor einigen Jahren ist in einer nahegelegenen Stadt neues Bauland ausgewiesen worden, auf dem ein neuer, großer Stadtteil entstehen soll. Dieses Projekt wird von allen Beteiligten als sehr positiv für die zukünftige Stadtentwicklung betrachtet. \r\n\r\n\\line \\line\r\nAllerdings sind die Investitionskosten für den Bau von Straßen und für die Erschließung des Geländes sehr hoch, sodass die Stadt diese Kosten für die Quartiersentwicklung nicht alleine tragen kann und daher mit einem großen Bauunternehmen in einer langfristigen Partnerschaft zusammenarbeitet. Das Bauunternehmen stammt aus dem privatwirtschaftlichen Sektor, d.h. es ist profitorientiert, während die Stadt ein öffentlicher Akteur ist, d.h. dem Gemeinwohl verpflichtet ist und keine Gewinnabsicht hat.\r\n\\line \r\nAls diese Partnerschaft gegründet wurde, wurde vertraglich festgelegt, dass sich beide Partner die Kosten und die Erträge, die durch dieses Projekt erzeugt werden, gleichmäßig teilen wollen.\r\n\\line \\line\r\nDiese Partnerschaft funktioniert nun schon seit mehreren Jahren sehr gut und alles läuft so wie vereinbart. \r\nAllerdings ist in der aktuellen Planungsperiode etwas Unvorhergesehenes passiert: Das Projekt entwickelt sich dynamischer als zuvor angenommen und manchmal kommt es nun dazu, dass zusätzliche Erträge und auch zusätzliche Verluste erzeugt werden. Leider wurde für diese Fälle keine spezielle Vertragsklausel vereinbart, sodass nun Uneinigkeit darüber herrscht, wie diese unplanmäßigen Posten aufgeteilt werden sollen. \r\n\r\n\\line \\line Die einzige Option ist nun, dass die Partner direkt miteinander verhandeln um auszumachen, wer welchen Teil dieser ungeplanten Erträge und Verluste tragen soll. "; } } standardbox "Standard"{ hasframe = FALSE; height = 10%; bottom = 0; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; button "OK"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = FALSE; buttoncolor = 0; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "ROLE VIGNETTES"{ startwaitforall = TRUE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = ifnoinput; timeout = 30; program{ table = subjects; do{ Participate = if ( (Period==1) & (diag==0) ,1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "PUBLIC"{ hasframe = FALSE; width = 80%; height = 20%; top = 0%; displaycondition = type==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Stellen Sie sich bitte vor, Sie wären Beamte/r im höheren Dienst der Stadtverwaltung. Sie wurden zum Chefunterhändler seitens der Stadt bestellt, um den Streit über die Verteilung der zusätzlichen Erträge und Kosten durch direktes Verhandeln mit einem Vertreter des Bauunternehmens zu lösen. \r\n\\line \\line\r\nDenken Sie bitte kurz über diese Rolle nach, die Sie im Rahmen dieses Experiments eingenommen haben. Stellen Sie sich kurz vor, wie es ist, im öffentlichen Sektor zu arbeiten. An was denken Sie dann? Welche Assoziationen verbinden Sie mit dem öffentlichen Sektor und mit den Menschen, die im öffentlichen Sektor arbeiten? "; } } standardbox "PRIVATE"{ hasframe = FALSE; width = 80%; height = 20%; top = 0%; displaycondition = type==2; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Stellen Sie sich bitte vor, Sie arbeiteten in der Abteilung für strategisches Management dieses großen Bauunternehmens. Sie wurden zum Chefunterhändler seitens des Unternehmens bestellt um den Streit über die Verteilung der zusätzlichen Erträge und Kosten durch direktes Verhandeln mit einem Vertreter der Stadtverwaltung zu lösen. \r\n\\line \\line\r\nDenken Sie bitte kurz über diese Rolle nach, die Sie im Rahmen dieses Experiments eingenommen haben. Stellen Sie sich kurz vor, wie es ist, im privatwirtschaftlichen Sektor zu arbeiten. An was denken Sie dann? Welche Assoziationen verbinden Sie mit dem privatwirtschaftlichen Sektor und mit den Menschen, die in diesem Sektor arbeiten? "; } } standardbox "ATTRIBUTE-PUBLIC"{ hasframe = FALSE; width = 80%; height = 50%; top = 20%; displaycondition = type==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Was verbinden Sie mit dem öffentlichen Sektor allgemein? "; variable = attribute1; format = "!string"; input = TRUE; showdefault = FALSE; emptyallowed = TRUE; min = 1; max = 100; } item{ } item{ label = "{\\rtf \\fs24 Was verbinden Sie mit den Menschen, die im öffentlichen Sektor arbeiten? "; variable = attribute2; format = "!string"; input = TRUE; showdefault = FALSE; emptyallowed = TRUE; min = 1; max = 100; } item{ } item{ label = "{\\rtf \\fs24 Wie würde es sich anfühlen, der Chefunterhändler für die Stadtverwaltung zu sein? "; variable = attribute3; format = "!string"; input = TRUE; showdefault = FALSE; emptyallowed = TRUE; min = 1; max = 100; } item{ } item{ label = "{\\rtf \\fs24 Zur Erinnerung: \\line Sie sind Beamte/r im höheren Dienst der Stadtverwaltung und Sie wurden zum Chefunterhändler seitens der Stadt bestellt um den Streit mit dem privaten Bauunternehmen zu lösen. Sie wissen, dass es mehrere Posten (sowohl Erträge und Verluste) gibt, über die Sie gleich verhandeln müssen. Sie müssen über jeden einzelnen Posten getrennt voneinander verhandeln. Bitte versuchen Sie so gut wie möglich zu verhandeln! Jeder einzelne Euro, den Sie für die Stadt herausholen, kommt der Gemeinschaft zu Gute, schließlich handelt es sich um Steuergelder, die investiert wurden.\r\n\\line \\line\r\nIhr eigenes Gehalt ist von dem Ergebnis der Verhandlungen nicht betroffen! \r\n\\line \\line\r\nGleich geht es los, bitte halten Sie sich bereit! \r\n"; } } standardbox "ATTRIBUTE-PRIVATE"{ hasframe = FALSE; width = 80%; height = 50%; top = 20%; displaycondition = type==2; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Was verbinden Sie mit dem privaten Sektor allgemein? "; variable = attribute1; format = "!string"; input = TRUE; showdefault = FALSE; emptyallowed = TRUE; min = 1; max = 100; } item{ } item{ label = "{\\rtf \\fs24 Was verbinden Sie mit den Menschen, die in der Privatwirtschaft arbeiten? "; variable = attribute2; format = "!string"; input = TRUE; showdefault = FALSE; emptyallowed = TRUE; min = 1; max = 100; } item{ } item{ label = "{\\rtf \\fs24 Wie würde es sich anfühlen, der Chefunterhändler für das Bauunternehmen zu sein? "; variable = attribute3; format = "!string"; input = TRUE; showdefault = FALSE; emptyallowed = TRUE; min = 1; max = 100; } item{ } item{ label = "{\\rtf \\fs24 Zur Erinnerung: \\line \r\nSie arbeiten in der Abteilung für strategisches Management dieses großen Bauunternehmens und Sie wurden zum Chefunterhändler seitens des Unternehmens bestellt um den Streit mit der Stadtverwaltung zu lösen. Sie wissen, dass es mehrere Posten (sowohl Erträge und Verluste) gibt, über die Sie gleich verhandeln müssen. Sie müssen über jeden einzelnen Posten getrennt voneinander verhandeln. \r\n\\line \\line\r\nBitte versuchen Sie so gut wie möglich zu verhandeln! Jeder einzelne Euro, den Sie für das Unternehmen herausholen, kommt indirekt auch Ihnen selbst zu Gute! Sie wissen, dass Ihr Chef Ihr Gehalt relativ zu Ihrem Verhandlungserfolg erhöhen oder abmindern wird. \r\n\\line \\line\r\nJe mehr Sie für das Unternehmen heraushandeln, desto höher Ihr Gehalt!\r\n\\line \\line\r\nGleich geht es los, bitte halten Sie sich bereit! "; } } standardbox "OK"{ hasframe = FALSE; width = 80%; height = 10%; bottom = 0; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; button "OK"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = FALSE; buttoncolor = 0; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "GAINS INSTRUCTIONS ROUND 1-15"{ startwaitforall = TRUE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = ifnoinput; timeout = 30; program{ table = subjects; do{ Participate = if ((Period==1) & (diag==0),1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; plotbox ""{ hasframe = FALSE; height = 80%; top = 0; maintainaspectratio = FALSE; xaxistype = LINEAR; yaxistype = LINEAR; xleft = -100; xright = 100; ybottom = -100; ytop = 100; plottext ""{ text = "<>In diesem Planungszeitraum wurden durch die Partnerschaft zusätzliche ERTRÄGE generiert! Bitte verhandeln Sie über den jeweiligen Anteil, den jeder Partner an diesen Erträgen erhalten soll. Sie haben Sekunden um eine Einigung zu erzielen, ansonsten verfallen die Erträge. Bitte verhandeln Sie jetzt! "; x = -90; horizontalalignment = LEFT; verticalalignment = FIRSTLINE; textcolor = rgb(0,0,0); bold = TRUE; fontsize = 18; } } standardbox "Standard"{ hasframe = FALSE; bottom = 0; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; button "OK"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = FALSE; buttoncolor = 0; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "LOSS INSTRUCTIONS ROUND 16 ONWARDS"{ startwaitforall = TRUE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = ifnoinput; timeout = 30; program{ table = subjects; do{ Participate = if ((Period==16) & (diag==0),1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; plotbox ""{ hasframe = FALSE; height = 80%; top = 0; maintainaspectratio = FALSE; xaxistype = LINEAR; yaxistype = LINEAR; xleft = -100; xright = 100; ybottom = -100; ytop = 100; plottext ""{ text = "<>In diesem Planungszeitraum wurden durch die Partnerschaft leider zusätzliche VERLUSTE generiert! Bitte teilen Sie den Verlustbetrag vollständig (!) untereinander auf. Sie haben Sekunden Zeit, um zu verhandeln. Wenn Sie sich nicht einigen, trägt jeder Partner automatisch die Hälfte der Verluste. Bitte verhandeln Sie jetzt!"; x = -90; horizontalalignment = LEFT; verticalalignment = FIRSTLINE; textcolor = rgb(0,0,0); bold = TRUE; fontsize = 18; } } standardbox "Standard"{ hasframe = FALSE; bottom = 0; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; button "OK"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = FALSE; buttoncolor = 0; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "A - GAINS"{ startwaitforall = FALSE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = always; timeout = \time; program{ table = subjects; do{ Participate = if( (Period <= 15) & (type==1),1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "DIAGNOSIS"{ hasframe = TRUE; width = 25%; height = 50%; left = 0; top = 0; displaycondition = diag ==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "Diagnostics - GAINS A"; } item{ label = "subject"; variable = Subject; format = "1"; input = FALSE; } item{ label = "group"; variable = Group; format = "1"; input = FALSE; } item{ label = "type"; variable = type; format = "1"; input = FALSE; } } makecontractbox "Contract maker"{ hasframe = TRUE; width = 50%; height = 50%; top = 0; displaycondition = transaction == 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; numrecords = 1; tablelayout = VERTICAL; item{ label = "{\\rtf \\fs18 Zusätzlicher ERTRAG, über den verhandelt wird (x1000 €)"; variable = pie; format = "1"; input = FALSE; } item{ } item{ label = "{\\rtf \\fs18 Meine Organisation bekommt (x 1000 €)"; variable = offer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } item{ label = "{\\rtf \\fs18 Das Partnerunternehmen bekommt (x 1000 €)"; variable = counteroffer; format = "1"; input = TRUE; showdefault = TRUE; emptyallowed = FALSE; min = -500000; max = 500000; } button "VORSCHLAGEN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; checker{ condition = offer+counteroffer <= pie; message = "<> Der Maximalbetrag beläuft sich auf . Die Summe aus dem, was die Sie beanspruchen, und dem Betrag, den Ihr Partner erhalten soll ist größer als ,"; noButtonStr = "OK"; } checker{ condition = offer >= 0 ; message = "Bitte tragen Sie nur positive Beträge ein. "; noButtonStr = "OK"; } checker{ condition = counteroffer >= 0 ; message = "Bitte tragen Sie nur positive Beträge ein. "; noButtonStr = "OK"; } program{ table = contracts; do{ creator = :Subject; a = :Subject; b = 0; Group = :Group; :no_offers = :no_offers + 1; offertime = gettime() - \start_time; } } } } containerbox "Container"{ hasframe = FALSE; width = 100%; height = 50%; bottom = 0; displaycondition = transaction == 0; selectcontractbox "Offers A"{ hasframe = TRUE; width = 50%; height = 90%; left = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = a; condition = (b==0) & (Group == :Group); sortfields = "-offer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation bekommt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen bekommt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } } selectcontractbox "Offers B"{ hasframe = TRUE; width = 50%; height = 90%; right = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = b; condition = (a==0) & (Group == :Group); sortfields = "-counteroffer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation bekommt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen bekommt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } button "AKZEPTIEREN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; program{ table = contracts; do{ // SET GROUP, a=:Subject; Group =:Group; accepted_by=:Subject; accepttime = gettime() - \start_time; } } program{ table = subjects; do{ sum = offer + counteroffer; } } program{ table = contracts; do{ //FIND PROFITS AND COPY INTO SUBJECT TABLE subjects.do{ if (Subject==:a){ Score=:counteroffer; transaction = 1; } elsif(Subject==:b){ Score=:offer; transaction = 1; } } } } program{ table = subjects; do{ // LEAVE STAGE IF AN OFFER HAS BEEN ACCEPTED if (subjects.sum(transaction)==subjects.maximum(Subject)){ subjects.do{LeaveStage=1;} } } } } } standardbox "Title text left side"{ hasframe = FALSE; width = 50%; height = 10%; left = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Ihre Forderungen an das Partnerunternehmen"; } } standardbox "Title text right side"{ hasframe = FALSE; width = 50%; height = 10%; right = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Die Angebote des Partnerunternehmens an Sie"; } } } plotbox "AGREEMENT_POPUP"{ hasframe = FALSE; width = 100%; height = 100%; displaycondition = transaction==1; maintainaspectratio = FALSE; xaxistype = LINEAR; yaxistype = LINEAR; xleft = -100; xright = 100; ybottom = -100; ytop = 100; plottext ""{ text = "Sie haben eine Einigung erzielt, bitte warten Sie, bis das Experiment weiter geht!"; horizontalalignment = CENTER; verticalalignment = CENTER; textcolor = rgb(1.00,0.00,0.00); font = MS Sans Serif; bold = TRUE; fontsize = 24; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "A - LOSSES"{ startwaitforall = FALSE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = always; timeout = \time; program{ table = subjects; do{ Participate = if( (Period >= 16) & (type==1),1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "DIAGNOSIS"{ hasframe = TRUE; width = 25%; height = 50%; left = 0; top = 0; displaycondition = diag ==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "Diagnostics - LOSSES A"; } item{ label = "subject"; variable = Subject; format = "1"; input = FALSE; } item{ label = "group"; variable = Group; format = "1"; input = FALSE; } item{ label = "type"; variable = type; format = "1"; input = FALSE; } } makecontractbox "Contract maker"{ hasframe = TRUE; width = 50%; height = 50%; top = 0; displaycondition = transaction == 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; numrecords = 1; tablelayout = VERTICAL; item{ label = "{\\rtf \\fs18 Zusätzlicher VERLUST, über den verhandelt wird (x1000 €)"; variable = pie; format = "1"; input = FALSE; } item{ } item{ label = "{\\rtf \\fs18 Meine Organisation übernimmt (x1000 €)"; variable = offer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } item{ label = "{\\rtf \\fs18 Das Partnerunternehmen übernimmt (x1000 €)"; variable = counteroffer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } button "VORSCHLAGEN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; checker{ condition = offer+counteroffer == pie; message = "<> Sie müssen die Gesamtsumme i.H.v. aufteilen! Bitte passen Sie Ihr Angebot an."; noButtonStr = "OK"; } checker{ condition = offer <= 0 ; message = "Bitte tragen Sie nur negative Werte ein."; noButtonStr = "OK"; } checker{ condition = counteroffer <= 0 ; message = "Bitte tragen Sie nur negative Werte ein."; noButtonStr = "OK"; } program{ table = contracts; do{ creator = :Subject; a = :Subject; b = 0; Group = :Group; :no_offers = :no_offers + 1; offertime = gettime() - \start_time; } } } } containerbox "Container"{ hasframe = FALSE; width = 100%; height = 50%; bottom = 0; displaycondition = transaction == 0; selectcontractbox "Offers A"{ hasframe = TRUE; width = 50%; height = 90%; left = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = a; condition = (b==0) & (Group == :Group); sortfields = "-offer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation übernimmt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen übernimmt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } } selectcontractbox "Offers B"{ hasframe = TRUE; width = 50%; height = 90%; right = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = b; condition = (a==0) & (Group == :Group); sortfields = "-counteroffer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation übernimmt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen übernimmt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } button "AKZEPTIEREN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; program{ table = contracts; do{ // SET GROUP, a=:Subject; Group =:Group; accepted_by=:Subject; accepttime = gettime() - \start_time; } } program{ table = subjects; do{ sum = offer + counteroffer; } } program{ table = contracts; do{ //FIND PROFITS AND COPY INTO SUBJECT TABLE subjects.do{ if (Subject==:a){ Score=:counteroffer; transaction = 1; } elsif(Subject==:b){ Score=:offer; transaction = 1; } } } } program{ table = subjects; do{ // LEAVE STAGE IF AN OFFER HAS BEEN ACCEPTED if (subjects.sum(transaction)==subjects.maximum(Subject)){ subjects.do{LeaveStage=1;} } } } } } standardbox "Title text left side"{ hasframe = FALSE; width = 50%; height = 10%; left = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Ihre Angebote an das Partnerunternehmen"; } } standardbox "Title text right side"{ hasframe = FALSE; width = 50%; height = 10%; right = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Die Angebote des Partnerunternehmens an Sie"; } } } plotbox "AGREEMENT_POPUP"{ hasframe = FALSE; width = 100%; height = 100%; displaycondition = transaction==1; maintainaspectratio = FALSE; xaxistype = LINEAR; yaxistype = LINEAR; xleft = -100; xright = 100; ybottom = -100; ytop = 100; plottext ""{ text = "Sie haben eine Einigung erzielt, bitte warten Sie, bis das Experiment weiter geht!"; horizontalalignment = CENTER; verticalalignment = CENTER; textcolor = rgb(1.00,0.00,0.00); font = MS Sans Serif; bold = TRUE; fontsize = 24; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "B - GAINS"{ startwaitforall = FALSE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = always; timeout = \time; program{ table = subjects; do{ Participate = if( (Period <=15) & (type==2),1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "DIAGNOSIS"{ hasframe = TRUE; width = 25%; height = 50%; left = 0; top = 0; displaycondition = diag ==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 Diagnostics - GAINS B"; } item{ label = "subject"; variable = Subject; format = "1"; input = FALSE; } item{ label = "group:"; variable = Group; format = "1"; input = FALSE; } item{ label = "type"; variable = type; format = "1"; input = FALSE; } } makecontractbox "Contract maker"{ hasframe = TRUE; width = 50%; height = 50%; top = 0; displaycondition = transaction == 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; numrecords = 1; tablelayout = VERTICAL; item{ label = "{\\rtf \\fs18 Zusätzlicher ERTRAG, über den verhandelt wird (x 1000 €)"; variable = pie; format = "1"; input = FALSE; } item{ } item{ label = "{\\rtf \\fs18 Meine Organisation bekommt (x 1000 €)"; variable = offer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } item{ label = "{\\rtf \\fs18 Das Partnerunternehmen bekommt (x 1000 €)"; variable = counteroffer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } button "VORSCHLAGEN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; checker{ condition = offer+counteroffer <= pie; message = "<> Die Maximalsumme, die aufgeteilt werden kann ist Die Eingabe ist größer als diese Maximalsumme "; noButtonStr = "OK"; } checker{ condition = offer >= 0; message = "Bitte tragen Sie nur positive Werte ein."; noButtonStr = "OK"; } checker{ condition = counteroffer >= 0 ; message = "Bitte tragen Sie nur positive Werte ein."; noButtonStr = "OK"; } program{ table = contracts; do{ creator = :Subject; b = :Subject; a=0; Group = :Group; :no_offers = :no_offers + 1; offertime = gettime() - \start_time; } } } } containerbox "Container"{ hasframe = FALSE; width = 100%; height = 50%; bottom = 0; displaycondition = transaction == 0; selectcontractbox "Offers A"{ hasframe = TRUE; width = 50%; height = 90%; right = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = a; condition = (b==0) & (Group ==:Group); sortfields = "-offer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation bekommt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen bekommt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } button "AKZEPTIEREN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; program{ table = contracts; do{ // SET GROUP, b=:Subject; Group =:Group; accepted_by=:Subject; accepttime = gettime() - \start_time; } } program{ table = subjects; do{ sum = offer + counteroffer; } } program{ table = contracts; do{ //FIND PROFITS AND COPY INTO SUBJECT TABLE subjects.do{ if (Subject==:a){ Score=:offer; transaction = 1; } elsif(Subject==:b){ Score=:counteroffer; transaction = 1; } } } } program{ table = subjects; do{ // LEAVE STAGE IF AN OFFER HAS BEEN ACCEPTED if (subjects.sum(transaction)==subjects.maximum(Subject)){ subjects.do{LeaveStage=1;} } } } } } selectcontractbox "Offers B"{ hasframe = TRUE; width = 50%; height = 90%; left = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = b; condition = (a==0) & (Group ==:Group); sortfields = "-counteroffer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation bekommt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen bekommt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } } standardbox "Title text left side"{ hasframe = FALSE; width = 50%; height = 10%; left = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Ihre Forderungen an das Partnerunternehmen"; } } standardbox "Title text right side"{ hasframe = FALSE; width = 50%; height = 10%; right = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Die Forderungen des Partnerunternehmens an Sie "; } } } plotbox "AGREEMENT_POPUP"{ hasframe = FALSE; width = 100%; height = 100%; displaycondition = transaction==1; maintainaspectratio = FALSE; xaxistype = LINEAR; yaxistype = LINEAR; xleft = -100; xright = 100; ybottom = -100; ytop = 100; plottext ""{ text = "Sie haben eine Einigung erzielt! Bitte warten Sie bis das Experiment weiter geht."; horizontalalignment = CENTER; verticalalignment = CENTER; textcolor = rgb(1.00,0.00,0.00); font = MS Sans Serif; bold = TRUE; fontsize = 12; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "B - LOSSES"{ startwaitforall = FALSE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = always; timeout = \time; program{ table = subjects; do{ Participate = if( (Period >=16 ) & (type==2),1,0); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "DIAGNOSIS"{ hasframe = TRUE; width = 25%; height = 50%; left = 0; top = 0; displaycondition = diag ==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "Diagnostics - LOSSES B"; } item{ label = "subject"; variable = Subject; format = "1"; input = FALSE; } item{ label = "group:"; variable = Group; format = "1"; input = FALSE; } item{ label = "type"; variable = type; format = "1"; input = FALSE; } } makecontractbox "Contract maker"{ hasframe = TRUE; width = 50%; height = 50%; top = 0; displaycondition = transaction == 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; numrecords = 1; tablelayout = VERTICAL; item{ label = "{\\rtf \\fs18 Zusätzlicher VERLUST, über den verhandelt wird (x 1000 €)"; variable = pie; format = "1"; input = FALSE; } item{ } item{ label = "{\\rtf \\fs18 Meine Organisation übernimmt (x 1000 €)"; variable = offer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } item{ label = "{\\rtf \\fs18 Das Partnerunternehmen übernimmt (x 1000 €)"; variable = counteroffer; format = "1"; input = TRUE; showdefault = FALSE; emptyallowed = FALSE; min = -500000; max = 500000; } button "VORSCHLAGEN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; checker{ condition = offer+counteroffer == pie; message = "<> Sie müssen die Gesamtsumme i.H.v. aufteilen! Bitte passen Sie Ihr Angebot an."; noButtonStr = "OK"; } checker{ condition = offer <= 0; message = "Bitte tragen Sie nur negative Werte ein."; noButtonStr = "OK"; } checker{ condition = counteroffer <= 0 ; message = "Bitte tragen Sie nur negative Werte ein."; noButtonStr = "OK"; } program{ table = contracts; do{ creator = :Subject; b = :Subject; a=0; Group = :Group; :no_offers = :no_offers + 1; offertime = gettime() - \start_time; } } } } containerbox "Container"{ hasframe = FALSE; width = 100%; height = 50%; bottom = 0; displaycondition = transaction == 0; selectcontractbox "Offers A"{ hasframe = TRUE; width = 50%; height = 90%; right = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = a; condition = (b==0) & (Group ==:Group); sortfields = "-offer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation übernimmt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen übernimmt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } button "AKZEPTIEREN"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = TRUE; specialbuttoncolor = FALSE; buttoncolor = 0; program{ table = contracts; do{ // SET GROUP, b=:Subject; Group =:Group; accepted_by=:Subject; accepttime = gettime() - \start_time; } } program{ table = subjects; do{ sum = offer + counteroffer; } } program{ table = contracts; do{ //FIND PROFITS AND COPY INTO SUBJECT TABLE subjects.do{ if (Subject==:a){ Score=:offer; transaction = 1; } elsif(Subject==:b){ Score=:counteroffer; transaction = 1; } } } } program{ table = subjects; do{ // LEAVE STAGE IF AN OFFER HAS BEEN ACCEPTED if (subjects.sum(transaction)==subjects.maximum(Subject)){ subjects.do{LeaveStage=1;} } } } } } selectcontractbox "Offers B"{ hasframe = TRUE; width = 50%; height = 90%; left = 0; bottom = 0; table = contracts; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; emptyallowed = FALSE; allemptyallowed = FALSE; ownervariable = b; condition = (a==0) & (Group ==:Group); sortfields = "-counteroffer"; tablelayout = LIST; scrollatstart = FALSE; scrollatEnd = TRUE; selectbest = TRUE; item{ label = "Meine Organisation übernimmt (x 1000 €)"; variable = offer; format = "1"; input = FALSE; } item{ label = "Das Partnerunternehmen übernimmt (x 1000 €)"; variable = counteroffer; format = "1"; input = FALSE; } } standardbox "Title text left side"{ hasframe = FALSE; width = 50%; height = 10%; left = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Ihre Forderungen an das Partnerunternehmen"; } } standardbox "Title text right side"{ hasframe = FALSE; width = 50%; height = 10%; right = 0; top = 0; buttonposition = MIDDLEMIDDLE; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs18 \\b \\qc Die Forderungen des Partnerunternehmens an Sie "; } } } plotbox "AGREEMENT_POPUP"{ hasframe = FALSE; width = 100%; height = 100%; displaycondition = transaction==1; maintainaspectratio = FALSE; xaxistype = LINEAR; yaxistype = LINEAR; xleft = -100; xright = 100; ybottom = -100; ytop = 100; plottext ""{ text = "Sie haben eine Einigung erziel! Bitte warten Sie, bis das Experiment weiter geht."; horizontalalignment = CENTER; verticalalignment = CENTER; textcolor = rgb(1.00,0.00,0.00); font = MS Sans Serif; bold = TRUE; fontsize = 24; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "Result"{ startwaitforall = TRUE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = always; timeout = timeresults; program{ table = subjects; do{ // SPLIT THE LOSSES IF NO AGREEMENT HAS BEEN REACHED if ( Period >=16 & transaction ==0 ) { Score = pie/NumInGroup; }; } } program{ table = subjects; do{ // CALCULATE CUMULATIVE SCORES TotalScore = Score + OLDsubjects.find(same(Subject),TotalScore); } } program{ table = subjects; do{ // DUMP SCORES IN SubjectsPay VARIABLE FOR CALCULATING PAYOFFS if (Period ==31){ if (type == 1){SubjectsPay = standardpayment; } if (type==2){ SubjectsPay = TotalScore; } } } } program{ table = session; condition = Period==31; do{ // SAVE TOTALSCORE IN SESSION FOR PAYMENT FILE payout = subjects.find(same(Subject),SubjectsPay); } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "A"{ hasframe = FALSE; height = 50%; top = 30%; displaycondition = (Group==Group) & type==1; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Verhandlungsmasse in dieser Runde"; variable = pie; format = "1"; input = FALSE; } item{ label = "{\\rtf \\fs24 Ihr Ergebnis in dieser Runde"; variable = Score; format = "1"; input = FALSE; } item{ label = "{\\rtf \\fs24 Ihr aktuelles Guthaben"; variable = TotalScore; format = "1"; input = FALSE; } button "OK"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = FALSE; buttoncolor = 0; } } standardbox "B"{ hasframe = FALSE; height = 50%; top = 30%; displaycondition = (Group==Group) & type==2; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "{\\rtf \\fs24 Verhandlungsmasse in dieser Runde"; variable = pie; format = "1"; input = FALSE; } item{ label = "{\\rtf \\fs24 Ihr Ergebnis in dieser Runde"; variable = Score; format = "1"; input = FALSE; } item{ label = "{\\rtf \\fs24 Ihr aktuelles Guthaben"; variable = TotalScore; format = "1"; input = FALSE; } button "OK"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = FALSE; buttoncolor = 0; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } stage "Payout"{ startwaitforall = TRUE; singleentry = FALSE; singleentrycontinuation = FALSE; timeouttype = never; timeout = 30; program{ table = subjects; do{ //info //last round //PAYOUT } } program{ table = subjects; do{ Participate = if(Period == NumPeriods,1,0); } } program{ table = subjects; condition = Period == NumPeriods; do{ //zuordnung eine Group if (SubjectsPay == 10){ paygroup = 0; } else { paygroup = 1; } } } program{ table = subjects; condition = Period == NumPeriods; do{ //Negative werte auf Positive wandeln if (paygroup == 1){ if (SubjectsPay<0){ SubjectsPay= SubjectsPay* (-1); } } } } program{ table = subjects; condition = Period == NumPeriods; do{ //Reihnfolge festlegen subjects.do{ payRank = count( same(paygroup) & SubjectsPay <= : SubjectsPay); } } } program{ table = subjects; condition = Period == NumPeriods; do{ //Pay berechnung //für jeden besseren Rank gibt es 50 cent mehr if (paygroup == 1){ payoutold = SubjectsPay ; SubjectsPay = 6 + (payRank * 0.50); } } } program{ table = subjects; condition = Period == NumPeriods; do{ //Pay zuordnung FinalProfit = SubjectsPay; Profit = FinalProfit; } } screen action{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; standardbox "Payout"{ hasframe = TRUE; height = 50%; top = 30%; buttonposition = BOTTOMRIGHT; buttonsequence = HORIZONTAL; item{ label = "<>{\\rtf \\fs22 \\ql Ihr Payout beträgt Euro mit Showupfee.}"; } button "Weiter"{ clearinputafterok = FALSE; norecordmadeorselected = FALSE; terminatestage = FALSE; donotterminatestage = FALSE; specialbuttoncolor = TRUE; buttoncolor = 13158600; } } } screen wait{ usesbg = TRUE; withalertscreen = FALSE; noalertscreen = FALSE; } } roles{ role "S 1"{ } role "S 2"{ } } period "1"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "2"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "3"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "4"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "5"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "6"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "7"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "8"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "9"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "10"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "11"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "12"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "13"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "14"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "15"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "16"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "17"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "18"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "19"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "20"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "21"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "22"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "23"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "24"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "25"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "26"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "27"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "28"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "29"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "30"{ subject 1{ group = 1; } subject 2{ group = 1; } } period "31"{ subject 1{ group = 1; } subject 2{ group = 1; } } }