Player "cheating the puzzle" detection?
Quote from MissStabby on May 27, 2011, 7:55 pmI'm currently designing a testchamber,
And in a recent playtest i found a different, wrong way to solve the puzzle.Though instead of removing the possibility completely, i want to make Glados respond angry and some panels doing some funny things to mess with the "wrong" solution.
I managed to get it running from a button, though i cant seem to get any logic system to detect it.
The trigger would be that lasercatcher02 would be activated while lasercatcher01 isn't activated yet.
Also it needs to detect a certain prop at a certain location (to trigger the right panel popping up)Has anyone a idea on how to approach this?
(here is a picture of the chamber with the panel messing with the player)
http://img26.imageshack.us/img26/9728/2011052800004.jpg
I'm currently designing a testchamber,
And in a recent playtest i found a different, wrong way to solve the puzzle.
Though instead of removing the possibility completely, i want to make Glados respond angry and some panels doing some funny things to mess with the "wrong" solution.
I managed to get it running from a button, though i cant seem to get any logic system to detect it.
The trigger would be that lasercatcher02 would be activated while lasercatcher01 isn't activated yet.
Also it needs to detect a certain prop at a certain location (to trigger the right panel popping up)
Has anyone a idea on how to approach this?
(here is a picture of the chamber with the panel messing with the player)
http://img26.imageshack.us/img26/9728/2011052800004.jpg
Spotlighted and over 9000 downloads!!! SP_Angrybombs
Here's my youtube & deviantart
Quote from kwp21 pitts on May 27, 2011, 8:58 pmSo what you want to do is to have an event triggered ONLY if lasercatcher02 is activated before lasercatcher01. This case you may have to have that particular event in a logic_relay (lets call it "Special Event") and have an output on lasercatcher01 that disables the "special Event" relay. While have lasercatcher02 trigger it.
So what you want to do is to have an event triggered ONLY if lasercatcher02 is activated before lasercatcher01. This case you may have to have that particular event in a logic_relay (lets call it "Special Event") and have an output on lasercatcher01 that disables the "special Event" relay. While have lasercatcher02 trigger it.

VDC User PageQuote from MissStabby on May 27, 2011, 10:51 pmSounds interesting, though im not really sure how to apply this to the chamber.
Also the trigger should go off when lasercatcher01 was activated, but since has been deactivated before activating lasercatcher02Also i am wondering on how to play a animation backwards, since i have a nice animation with the panel popping up, but the animation doesnt come with a "backwards" version.
Sounds interesting, though im not really sure how to apply this to the chamber.
Also the trigger should go off when lasercatcher01 was activated, but since has been deactivated before activating lasercatcher02
Also i am wondering on how to play a animation backwards, since i have a nice animation with the panel popping up, but the animation doesnt come with a "backwards" version.
Spotlighted and over 9000 downloads!!! SP_Angrybombs
Here's my youtube & deviantart
Quote from kwp21 pitts on May 27, 2011, 11:18 pmTrust me there are a lot of animations with those panels. I'm sure that there is a backwards version.
Trust me there are a lot of animations with those panels. I'm sure that there is a backwards version.

VDC User PageQuote from Croolsby on May 27, 2011, 11:56 pmalso I think you can make a logic_relay with an output like "OnTrigger, prop, SetPlaybackRate, -1". I think that makes the animation play backwards.
also I think you can make a logic_relay with an output like "OnTrigger, prop, SetPlaybackRate, -1". I think that makes the animation play backwards.
Quote from kwp21 pitts on May 27, 2011, 11:59 pmCroolsby wrote:also I think you can make a logic_relay with an output like "OnTrigger, prop, SetPlaybackRate, -1". I think that makes the animation play backwards.That is actually not true, Frame rate cannot have negative values.
That is actually not true, Frame rate cannot have negative values.

VDC User PageQuote from MrTwoVideoCards on May 28, 2011, 12:46 amkwp21 pitts wrote:Croolsby wrote:also I think you can make a logic_relay with an output like "OnTrigger, prop, SetPlaybackRate, -1". I think that makes the animation play backwards.That is actually not true, Frame rate cannot have negative values.
Incorrect, you can set negative playback rates.
Anyways with this situation you'll want to set up a logic_compare, and have your second catcher set a value to it. If your first catcher turns on, compare the value, and if it's "untrue" then you don't play the special event, if the value is true (in this case compare the value when the second catcher turns on) then play the event.
That is actually not true, Frame rate cannot have negative values.
Incorrect, you can set negative playback rates.
Anyways with this situation you'll want to set up a logic_compare, and have your second catcher set a value to it. If your first catcher turns on, compare the value, and if it's "untrue" then you don't play the special event, if the value is true (in this case compare the value when the second catcher turns on) then play the event.
Quote from kwp21 pitts on May 28, 2011, 1:11 amMrTwoVideoCards wrote:kwp21 pitts wrote:Croolsby wrote:also I think you can make a logic_relay with an output like "OnTrigger, prop, SetPlaybackRate, -1". I think that makes the animation play backwards.That is actually not true, Frame rate cannot have negative values.
Incorrect, you can set negative playback rates.
Anyways with this situation you'll want to set up a logic_compare, and have your second catcher set a value to it. If your first catcher turns on, compare the value, and if it's "untrue" then you don't play the special event, if the value is true (in this case compare the value when the second catcher turns on) then play the event.
Ok my bad missed some of the details on the developer site.
That is actually not true, Frame rate cannot have negative values.
Incorrect, you can set negative playback rates.
Anyways with this situation you'll want to set up a logic_compare, and have your second catcher set a value to it. If your first catcher turns on, compare the value, and if it's "untrue" then you don't play the special event, if the value is true (in this case compare the value when the second catcher turns on) then play the event.
Ok my bad missed some of the details on the developer site.

VDC User PageQuote from Croolsby on May 29, 2011, 4:47 amI need help with a similar situation. I want to create a special event for if the player gets stuck in a room. Basically, it's like the player walks into a room and the door closes behind them. If the player placed a portal before entering, then no special event happens since the player isn't stuck. Otherwise, it happens. Also, the portal I'm talking about needs to have been placed in a specific spot.
What do I use to detect if that portal was placed?
I need help with a similar situation. I want to create a special event for if the player gets stuck in a room. Basically, it's like the player walks into a room and the door closes behind them. If the player placed a portal before entering, then no special event happens since the player isn't stuck. Otherwise, it happens. Also, the portal I'm talking about needs to have been placed in a specific spot.
What do I use to detect if that portal was placed?
Quote from MissStabby on May 29, 2011, 7:24 amYou can use the "info_placementhelper" to both check for a portal in a specific area, aswell as influencing where and at what angle the portal is placed on the wall.
Anywhere you shoot in the radius of the sphere (i used 96 on a 128x128 panel), the portal gets opened at the center location of the placement helperI used it to simplify the puzzle and prevent (some) cheating methods.
theres a option that adds angle control, its off by default.
You need to rotate it like this:
(Big)Red arrow points out perpendicular from the surface
Green arrows pointing left and right
Blue arrow poining to the "bottom" of the portalAlso you could just use a portal cleaning trigger to get rid of the player's portal...
Also for what i did with the determining of the "being cheated" state is, i had every item in the puzzle add a value to a math counter.
And to avoid getting mixups (2+1 = 3+0 = 1+1+1 ect.) i inputted some binary numbers.
Like portalcatcher 1 adds/substracts 10 and portalcatcher 2 adds/substracts 100 (when they activate/deactivate)That way 110 would mean the puzzle is correctly solved, and 10 would be a incomplete puzzle, and 100 a cheated puzzle.
The logic_case can then add all the events you need, since you can specify a value for every "case"
so if the logic case gets a value of 100 it applies to case nr 3, with the output of "OnCase3" being some panels activating.
You can use the "info_placementhelper" to both check for a portal in a specific area, aswell as influencing where and at what angle the portal is placed on the wall.
Anywhere you shoot in the radius of the sphere (i used 96 on a 128x128 panel), the portal gets opened at the center location of the placement helper
I used it to simplify the puzzle and prevent (some) cheating methods.
theres a option that adds angle control, its off by default.
You need to rotate it like this:
(Big)Red arrow points out perpendicular from the surface
Green arrows pointing left and right
Blue arrow poining to the "bottom" of the portal
Also you could just use a portal cleaning trigger to get rid of the player's portal...
Also for what i did with the determining of the "being cheated" state is, i had every item in the puzzle add a value to a math counter.
And to avoid getting mixups (2+1 = 3+0 = 1+1+1 ect.) i inputted some binary numbers.
Like portalcatcher 1 adds/substracts 10 and portalcatcher 2 adds/substracts 100 (when they activate/deactivate)
That way 110 would mean the puzzle is correctly solved, and 10 would be a incomplete puzzle, and 100 a cheated puzzle.
The logic_case can then add all the events you need, since you can specify a value for every "case"
so if the logic case gets a value of 100 it applies to case nr 3, with the output of "OnCase3" being some panels activating.
Spotlighted and over 9000 downloads!!! SP_Angrybombs
Here's my youtube & deviantart
