as the title suggests, the 'bPlayerOnly' tick box isnt working on trigger volumes or triggers either, and bots can activate my trigger volumes.
How do you stop bots activating your 'Touched' trigger volumes?
cheers
as the title suggests, the 'bPlayerOnly' tick box isnt working on trigger volumes or triggers either, and bots can activate my trigger volumes.
How do you stop bots activating your 'Touched' trigger volumes?
cheers
I don't believe bPlayerOnly means exactly what you think it does. I think it just means that objects like KActors or movers cannot activate the event. I would probably connect an empty Object variable to the Instigator link of the event and do a comparison between that variable and a Player variable. If it is true, then you have a player controlled character. If not, it is a bot.
How do you set this up? With an If Compare and link A to the instigator and B to player variable? Got any screenshots of the kismet mQe or ffejnosliw? Cheers by the way, this has been bugging me for ages!
mQe and ffejnosliw you guys are legends! Its works a treat! That is so good! nice one! And whats more, Ive figured something else out from this, I have a barrel on fir ein my map and I want it to set oil on fire if it rolls over it, and so if you do the same setup but with checking for the Kactor not the player, it will trigger the event. HOWEVER, you have to make sure in the trigger_touch the classProximityTypes is set to KActor not Pawn, otherwise it wont be checking for Kactors.
cheers guys, nice one for the screen shot too mQe
actually no wait! Ive found a problem! The player check works great until the player dies, and then the trigger no longer recognises you as the player? It must give an incremented variable name or something each time the player respawns, how can I get it to recognise ANY player, regardless of how often they have died?
Correct me if I am wrong, but isn't it that mQe sequence just checks that actor is a 'Player 0' (player with index 0) and not just any player?
Won't it crush after respawn or when several (real) players are on the level?
Are you making a multi-player or a single-player map?
I would try it without unchecking bAllPlayers on the Player variable if that's not how you were already doing it. I don't know if that will fix it or not, though.
Ive half found the answer, if you make the variable PlayerIdx a number then which ever number you make it the spawned player will be counted, so player 0 wil be the first time, player 1 is what your called if you die once and spawn again. Is there a way though to do it without having to make 100 different playert variables connected? As having Player with AllPlayers ticked doesnt work for just the player controlled character.
Ok, here is one way I think will work. Add a Condition -> Switch -> Switch Class. Add an Item to the ClassArray. Set the ClassName for the [0] element to UTPlayerController. Connect the Object variable that is the Touch event's instigator to the Object link of the Switch Class. When it is a player, the first output of the Switch Class will fire. When it isn't the second output will fire.
Isn't that the same as setting the classProximityClass of the trigger to UTPlayerController?
I tried doing that, didn't work. Doing it the way you described it didn't seem to work either![]()
Actually I don't seem to have the player index increasing problem... Everything seems good here...
I forgot that the Touch event outputs the pawn instead of the controller. You can use the Actor -> Object -> Get Property action to get the controller though which would make it work according to my experiment just now.
Ok that last one lost me totally. How does that tie in with your previous posts or is this a new thing? I am following this thread to try to do something similar. What I want to do is set a variable when a player (or bot) jumps through a window and then that variable becomes the target for take damage. Right now I have it all set up so that when a player jumps through the window he takes some minor damage. However, all players take that damage not just the one that goes through the window. I go from the touch action to the set variable action. I have the set variable target set up as a player variable. Then I have that player variable tied to the cause damage. Doesn't seem to work though. Am I over simplifying things? I am new to this kismet stuff but it seems like once touched the set object variable should be set to the player that did the touching then as the target of the cause damage that player and that player only should take the damage.
You probably should have posted this in a new thread since it isn't really what was being discussed here. It sounds like all you need to do is link an empty Object variable to the Instigator of the Touch Event and the Target of the Cause Damage action. The Instigator link will output the actor that triggered the Touch event so you can use it with the Cause Damage action.
Bookmarks