Game Logic problems

So, I am making a very simple game that two players choose where they’ll move and shoot, and then when they’re ready it moves them and whatever happens. Anyway, currently you press a button and it sets the property to a value and then later at a different state the property is copied to the character and the character moves in a direction based on that property value. But, the problem is that after the property is copied, I can’t get the triggered actuator to just move the character once instead of infinity times (yes I tried setting the sensors to tap or pulse mode or whatever). I have tried a bunch of stuff and I know this seems stupid, but any help would be great. :smiley:
Here it is attached.

Attachments

mazegame.blend (356 KB)

Try the “Tap” button it might be what you are looking for. If not, then you may have to resort to learning python.

I tried the tap button on a bunch of the sensors but it didn’t work and I really hope I can do this without python because I have tried to make about ten different games and then give up because I can’t go on without python. P S did you make your I’d picture with blender? The eye.

Here is one way

  1. create an empty that sends messages to the player objects (this can be skipped but it makes it easy to keep track of all the keyboard commands in one place)
  2. when a move is intered e.g. player one move right. send a message to player one with some descriptive message title e.g. “move_right”
  3. set up a player with a message sensor that waits for subject “move_right”. connect this to a property that assigns a boolean property belonging to the object corresponding to theis move (the prop can also be called e.g. move_right) to “True”
  4. create a property sensor that looks for proprty “move_right” = True
  5. connect the sensor to two actuators
    5-a) one actuator moves the object
    5-b) the other actuator is a property actuator that sets the “move_right” property to False

step 5 is the key here. the player object only moves right when the move_right property is set to true. But by connecting the “is move_right = true” sensor to a property actuator that sets move_right=false you guarantee that only one move will be made (until the next signal is received).

an example of how to set this up is shown in the images below.

logic bricks for player object


logic bricks for “master controller” object


a blend file is attached.

Attachments

move_once.blend (410 KB)

Cool thanks I think this is what I was looking for. I am going to try it.