code()
{
level.finalcode = "1:2:1:4";
level.code_correct_string = "^2Code correct!";
level.code_wrong_string = "^1Code Wrong!";
for(a=1;a<10;a++)
thread waitForCodeInput(a);
thread enter();
}
waitforcodeInput(number)
{
trig = getent(getText(number) + "key","targetname");
while(1)
{
trig waittill("trigger", player);
player thread addCode(number);
}
}
enter()
{
trig = getent("enterkey","targetname");
door = getent("firstdoor","targetname");
while(1)
{
trig waittill("trigger", player);
player thread addCode("final", door);
}
}
addCode(code, entity_door)
{
if(code == "final")
{
if(self.finalcode == level.finalcode)
{
self iprintlnbold(level.code_correct_string);
entity_door.origin += (0,0,10000); // tijdelijk
wait 3; // tijdelijk
entity_door.origin -= (0,0,10000); // tijdelijk
}
else
self iprintlnbold(level.code_wrong_string);
self.finalcode = "";
}
if(!isDefined(self.finalcode))
{
self.finalcode = "";
self.finalcode += code;
}
else
self.finalcode += ":" + code;
}
getText(num)
{
switch(num)
{
case 1:
return "first";
case 2:
return "second";
case 3:
return "third";
case 4:
return "fourth";
case 5:
return "fifth";
case 6:
return "sixth";
case 7:
return "seventh";
case 8:
return "eighth";
case 9:
return "nineth";
default:
iprintlnbold("^1Couldn't find the right number in getText thread, returning ''first''");
return "first";
}
}
/*Targetnames van triggers zijn:
firstkey secondkey thirdkey
fourthkey fifthkey sixthkey
seventhkey eighthkey ninethkey
Targetnames hoeven niet in dezelfde volgorde te staan.
"firstkey" hoeft niet noodzakelijk op toets "1" te staan.
Als in het script de code "1:5:2" wordt opgegeven zal dit wel verwijzen naar de volgende triggers:
"firstkey:fifthkey:secondkey"
Echter kunnen triggers in het spel op een andere plaats geplaatst worden.
Stel: de "firstkey" trigger zit bij cijfer 1, de "secondkey" bij 2, enz...
De code "1:2:3" is dan letterlijk "1, 2, 3"
Als je van "firstkey" de vijfde trigger maakt, van secondkey de vierde en van thirdkey de zevende,
dan wordt de code: "5, 4, 7"
Hierdoor is het onmogelijk om vanuit het script af te leiden wat de code is.
*/