Jump to content
Danidan

Move marker and trigger

Recommended Posts

Hello Word,

 

I made crazy, two week i test this. I hope that anyone can help me.

 

I have a marker "cap1" and a trigger "zone1". It's a cap area and i want to move it after X time.

 

I have make this on trigget activation: 

deleteMarker "cap1"; 
hint "Wrong intel cap area have move"; 
_markerstr = createMarker ["cap2",[7098.22,2740.35,12.255]]; 
_markerstr setMarkerShape "ELLIPSE"; 
_markerstr setmarkercolor "ColorCivilian"; 
_markerstr setMarkerSize [25,25]; deletevehicle zone1;
zone1 = createTrigger ["EmptyDetector", getMarkerPos "cap2"];
_trg setTriggerArea [25,25,0,false,100]; 

This is good in local and serveur yesterday but now don't work....

 

2) I want to use this on script.sqf but i don't do not know how to start my script to retrieve trigger activation.

 

I would really appreciate if anyone could help me.

 

Thank's RuskoFF

Share this post


Link to post
Share on other sites

triggerActivated zone1

 

You need deliver more specified information about what you want to achieve, because in arma you

can set some statements for both trigger and marker areas. Maybe you need an marker only.

Trigger is an object therefore you can set variable on it for example where variable value can be your marker

 

Share this post


Link to post
Share on other sites

I use a toolkit for my team.

 

I need only a trigger zone with a name "zone1". Marker is only for players to know where the area to capture is.

 

The toolkit  make the calcul with personal in area of this trigger name in another script. 

 

I need only to move my "zone1" and marker on the map.

 

Thank's

Share this post


Link to post
Share on other sites

So, why you don't use setMarkerPos fro your marker and setPos for your trigger,when needed?

Share this post


Link to post
Share on other sites

Re,

 

I have try this in activation trigger :

"cap1" setMarkerPos [6703,2970.23,0];
_pos = getMarkerPos "cap1"; zone1 setPos [6703,2970.23,0]; 

I tested on 2 minutes on the server and it works. I have to test on longer parts. If i want to move again this trigger and marker, it's possible?

 

I teste this on mycustom.sqf:

if (triggerActivated zone1) then {
"cap1" setMarkerPos [6703,2970.23,0];
_pos = getMarkerPos "cap1"; zone1 setPos [6703,2970.23,0]; 
};

She dosn't work? What is my error?

 

Share this post


Link to post
Share on other sites

My goal is to have an empty trigger zone "zone1" with a mark on it that moves on the map after 10 minutes occupation of anybody and this X many time.

 

Thank's!

Share this post


Link to post
Share on other sites

I too am having some trouble understanding, but maybe this is what you are looking for.

 

Here is my understanding of the situation. You have a marker named "cap1". You also have a trigger named "zone1" which has some sort of activation condition and can be activated repeatedly. The trigger "zone1" also has the below code in the On Activation field:

"cap1" setMarkerPos [6703,2970.23,0]; 
_pos = getMarkerPos "cap1"; 
zone1 setPos [6703,2970.23,0];

But you don't want that code in the On Activation field, you want it in a .sqf file. So you put that code into mycustom.sqf inside the mission folder and called it done.

 

But it doesn't work. Probably because you have not actually executed the script. In the On Activation field of the trigger, put the following:

null = [] execVM "mycustom.sqf";

With that, your code should work as you are intending, assuming you just have not showed us how you are doing your timer, where the coordinates are coming from, etc. There is plenty that could be done to optimize the above, but for now let's get it working.

 

---

 

All of that being said, the best thing you could do is give a more complete picture of what you are trying to accomplish. You gave us your goal, but the code snippets you have provided are not only not consistent, but they do not at all mention a timer or multiple executions. 

Share this post


Link to post
Share on other sites

I need help with continiuously activated trigger. So, I have trigger who "playMove" for example push ups but animation normaly stops whent finished. I need that the trigger play it again continiously (check trigger conditions again and play command on activation) all the time the trigger conditions are met.

For example: one player1 activates the trigger - I want the trigger play anything what it normaly play for all the time player1 is in the triger area.

Please, any help?

Share this post


Link to post
Share on other sites

@KC Grimes  Ok, tanks. I thought I had to put that in my init files?

execVM "customScripts.sqf";

@pierremgi It's easy. An empty trigger zone named "zone1" and would like to move it on the map several times when she is busy too long. I have a scorbord of my team that calculates the people inside at the end of the game.

 

I think I found my solution is to have other trigger that moves the zone1 sur leur possition!?

Share this post


Link to post
Share on other sites
2 hours ago, Danidan said:

@KC Grimes  Ok, tanks. I thought I had to put that in my init files?


execVM "customScripts.sqf";

@pierremgi It's easy. An empty trigger zone named "zone1" and would like to move it on the map several times when she is busy too long. I have a scorbord of my team that calculates the people inside at the end of the game.

 

I think I found my solution is to have other trigger that moves the zone1 sur leur possition!?

 

It depends. Are you wanting to move "cap1" and "zone1" on mission start (init.sqf) or On Activation of "zone1" (in which case you would use the On Activation field of "zone1")? It seems like you are wanting the latter.

 

There is no need for another trigger just for the purpose of moving the "zone1" trigger, as that is already accomplished above.

 

Personally, for the sake of maintaining data and having a visual in the mission editor, I would have elliptical triggers and markers for each "zone", each having the condition you are working with (BLUFOR present or something) in addition to requiring a certain global variable being true after completion of the previous zone. On Activation of the trigger, you can have it execute a script that does whatever you want, including keeping a 10 minute timer that also checks trigger activation status and exits if the zone is no longer occupied. In this way, no triggers or markers are being moved, just the triggers have conditions that make an obvious linear system, and markers that need hiding/showing/recoloring. 

Share this post


Link to post
Share on other sites
5 hours ago, Nemanjic said:

I need help with continiuously activated trigger. So, I have trigger who "playMove" for example push ups but animation normaly stops whent finished. I need that the trigger play it again continiously (check trigger conditions again and play command on activation) all the time the trigger conditions are met.

For example: one player1 activates the trigger - I want the trigger play anything what it normaly play for all the time player1 is in the triger area.

Please, any help?

 

You need to either add a condition that will make the trigger conditions briefly no longer true after execution of the script in the On Activation field, or, more likely, you just need to add some more detail to the script that is executed on trigger activation. 

 

In the On Activation field:

null = [thisTrigger, thisList] execVM "script.sqf";

And inside script.sqf:

_trigger = _this select 0;
_unitsArray = _this select 1;
while {(triggerActivated _trigger)} do {
	{
		_x playMove "AmovPercMstpSnonWnonDnon_exercisePushup";
	} forEach _unitsArray;
};

Depending on how playMove is functioning, you may need to add a sleep inside the while loop. But this should at least get you going. 

  • Thanks 1

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

×