Jump to content
The Dark Mod Forums

Lighting torches in correct order puzzle


kingsal

Recommended Posts

Hey All,

 

 

I am working on a puzzle for my level in which the player must light 3 torches in the correct order.

If they light them in the wrong order the puzzle resets. If they extinguish any of the torches the puzzle resets.

 

I attempted to do it through the objectives menu, but ran into trouble. I currently have stim/responses set up on all three torches to know when they are lit or extinguished, but I can't seem to figure out a way to make the sequence puzzle part work.

 

Does anyone know of a way to do this using scripts or a series of entities. The help would be very much appreciated!

 

Thanks so much!

 

 

Link to comment
Share on other sites

something like this

 

 

candleOne = FALSE;
candleTwo = FALSE;
candleThree = FALSE;

void turnOffCandle()
{
candleOne = FALSE;
candleTwo = FALSE;
candleThree = FALSE;
//put code here to turn off all lit candles
}

void sequenceCorrect()
{
if ( candleOne && candleTwo && candleThree )
{
//put code here to do something that does something when candles sequence correct
}
}

//sequence 213

//run CandleCheckOne from first candle
void CandleCheckOne()
{
if ( !candleOne && candleTwo && !candleThree )
{
candleOne = TRUE;
sequenceCorrect();
}
else
{
turnOffCandle();
}
}

//run CandleCheckTwo from second candle
void CandleCheckTwo()
{
if ( !candleOne && !candleTwo && !candleThree )
{
candleTwo = TRUE;
sequenceCorrect();
}
else
{
turnOffCandle();
}
}

//run CandleCheckThree from third candle
void CandleCheckThree()
{
if ( candleOne && candleTwo && !candleThree )
{
candleThree = True;
sequenceCorrect();
}
else
{
turnOffCandle();
}
}

 

Link to comment
Share on other sites

The script looks quite good, couldn't have done it myself, but if I see it correctly the script you posted resets the candles as soon as the first candle is lit in the wrong order. If I understood correctly, kingsal wants all three candles to be lit and then to check if the order was correct.

Link to comment
Share on other sites

how about this

 

 

candleOne = FALSE;
candleTwo = FALSE;
candleThree = FALSE;
sequenceState = FALSE;

void turnOffCandle()
{
candleOne = FALSE;
candleTwo = FALSE;
candleThree = FALSE;
//put code here to turn off all lit candles
}

void sequenceCorrect()
{
if ( candleOne && candleTwo && candleThree && sequenceState )
{
//put code here to do something that does something when candles sequence correct
}
else if ( candleOne && candleTwo && candleThree && !sequenceState )
{
turnOffCandle();
}
}

//sequence 213

//run CandleCheckOne from first candle
void CandleCheckOne()
{
if ( !candleOne && candleTwo && !candleThree )
{
candleOne = TRUE;
sequenceCorrect();
}
else
{
sequenceState = FALSE;
//turnOffCandle();
}
}

//run CandleCheckTwo from second candle
void CandleCheckTwo()
{
if ( !candleOne && !candleTwo && !candleThree )
{
candleTwo = TRUE;
sequenceCorrect();
}
else
{
sequenceState = FALSE;
//turnOffCandle();
}
}

//run CandleCheckThree from third candle
void CandleCheckThree()
{
if ( candleOne && candleTwo && !candleThree )
{
candleThree = TRUE;
sequenceState = TRUE
sequenceCorrect();
}
else
{
sequenceState = FALSE;

//turnOffCandle();
sequenceCorrect();
}
}

 

Edited by stumpy
Link to comment
Share on other sites

Hey Guys! I don't know enough about scripting to read Stumpy's post without trying it out in-game, but I will certainly test it out once I hook up the script.

 

The script looks quite good, couldn't have done it myself, but if I see it correctly the script you posted resets the candles as soon as the first candle is lit in the wrong order. If I understood correctly, kingsal wants all three candles to be lit and then to check if the order was correct.

 

Yeah I imagine the sequence is checked after the three candles are lit and extinguishes all three of them if they are incorrect. This way the player can keep trying different sequences and then realize they need a clue to solve the puzzle. (Light candles in this order readable).

 

 

The two outcomes would ideally fire a trigger_relay. I have them currently set up this way:

 

torch_relay_correct- Plays a sound or signal to the player that they've done the sequence in the correct order and triggers a hidden objective.

 

torch_relay_incorrect- Resets the candles by extinguishing them. Although this might be handled in the script itself?

 

So in effect, the player will keep trying combinations of three until they've done it correctly (ideally lighting and relighting the same candle will not count towards the combination, unlike it would in a keypad for instance with combo 112)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • nbohr1more

      The FAQ wiki is almost a proper FAQ now. Probably need to spin-off a bunch of the "remedies" for playing older TDM versions into their own article.
      · 1 reply
    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 3 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 7 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
×
×
  • Create New...