Jump to content
Sign in to follow this  
richard

UserActions no longer work inside

Recommended Posts

Everything was ok, until recently. I pbo'ed the model and saw that my UserActions don't work inside of the car... What I mean is that actions doesn't show up, but when I get outside everything is fine. I don't remember changing anything to the class.

And yes, I checked for quote pairs and things like that.

Also if it helps, a bit of my code

{
...
		class WipersOn 
		{
			displayName = "Turn On Wipers";
			position = "starter_axis";
			radius = "3";
			onlyForPlayer = "false";
			condition = "(PLAYER == driver this) && (this animationPhase ""dash_wipers"" == 0)";
			statement ="this animate [""dash_wipers"", 1]; this animate [""light_wipers"", 0]";
		};

		class WipersOff
		{
			displayName = "Turn Off Wipers";
			position = "starter_axis";
			radius = "3";
			onlyForPlayer = "false";
			condition = "(PLAYER == driver this) && (this animationPhase ""dash_wipers"" == 1)";
			statement ="this animate [""dash_wipers"", 0]; this animate [""light_wipers"", 1]";
		};
		class dveri1open
		{
			displayName = "Open Driver Door";
			position = "dveri1_axis";
			radius = "2";
			onlyForPlayer = "false";
			condition = "this animationPhase ""dveri1"" == 0";
			statement ="this animate [""dveri1"", 1]";
		};

		class dveri1close
		{
			displayName = "Close Driver Door";
			position = "dveri1_axis";
			radius = "2";
			onlyForPlayer = "false";
			condition = "this animationPhase ""dveri1"" == 1";
			statement ="this animate [""dveri1"", 0]";
		};
...
};

Share this post


Link to post
Share on other sites

onlyForPlayer = "false";
condition = "(PLAYER == driver this) && (this animationPhase ""dash_wipers"" == 0)";

This combination doesn't make much sense. What it states is that the action will be shown to AI units, but will also only be shown if the player is in the driver's seat. This doesn't explain why you can't see them inside (rather, it contradicts that you can see them outside, since the condition requires you to be inside), but I would change onlyForPlayer to true.

Anyway, this is probably why you can't see them inside the vehicle:

position = "starter_axis";
radius = "3";

First, the radius should be a raw number, not in quotes. I'm not sure what radius it would apply if you give it a number in quotes instead. Second, you must ensure that the position and radius cover the position of the crew proxies from where you expect to see the action. So for example, in this case the driver proxy would need to be within 3 distance units (I have no idea what units it's using here) of "starter_axis". So you could try increasing the radius if it's still not visible. Increasing the radius may also allow the action to be seen outside of the vehicle too, but if you don't want this then you can add a check to the condition to make sure the player is in the vehicle.

Anyway, here's a reference for UserActions.

Share this post


Link to post
Share on other sites

Thanks, I know that radius must be a raw number, but both works - string and number. Also don't mind the logic of the condition, because this was copied pasted just to add those actions and will be fixed later.

Share this post


Link to post
Share on other sites

Yes, of course it is defined. Can't seem to find the problem :/

Share this post


Link to post
Share on other sites

Fixed the problem by using ridiculously high radius...

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×