Jump to content
Sign in to follow this  
Monsada

UPSMON - Urban Patrol Script Mon

Recommended Posts

Same as from gamestart:

[_grp,_patrolArea] execVM "scripts\upsmon.sqf";

Just change the values as you want them.

Share this post


Link to post
Share on other sites
Same as from gamestart:

[_grp,_patrolArea] execVM "scripts\upsmon.sqf";

Just change the values as you want them.

I'm probably being brain dead here, but at the start (before a mission is launched) I place the UPSMON code into a unit via the editor - Is there a way to have access to this same screen of a given unit once a mission is launched? (for example, the team leader of my QRF, I can call up his page and simply place in the UPSMON code). If this is the case, I had no idea I could do that for any given unit once a mission was launched.

Share this post


Link to post
Share on other sites

Well, not to the init field directly, but you can refer to the unit later. So like you'd name the unit QRF, then just run the script.

// Required parameters:

// unit = Unit to patrol area (1st argument)

// markername = Name of marker that covers the active area. (2nd argument)

// (e.g. nul=[this,"town"] execVM "ups.sqf")

To make things simple you might pre-place the QRFMarker on the map. Then you'd have a trigger which says detects OPFOR in the area and does this:

OnAct:

"QRFMarker" setMarkerPos getPos thisTrigger; nul = [QRF, "QRFMarker"] execVM "ups.sqf";

So what will happen when that trigger goes off is that we'll move the pre-existing marker from where it was (off map somewhere probably) to the trigger area then instruction the pre-placed group to start to patrol it.

Share this post


Link to post
Share on other sites
As far as I remember, the mortars don't actually shoot, the script just spawns shells. I think the actual unit is needed so that it can be killed to stop the shell spawning. Unfortunately, if you want them to actually shoot, you'll have to use other scripts.

To make markers disappear in a way that nobody will see them even for a brief second, make a preinit.sqf script with the "markerblah" setMarkerAlpha 0; commands. In the editor place a game logic (or any unit that has 100% probability of presence) and in its init type call compile preprocessFile "preinit.sqf" and this way the markers will disappear before anyone ever gets into the briefing screen. Doing the same in init.sqf might let people see the briefing screen before the markers disappear.

If you want them to only start moving when the radio is triggered, just don't start the UPSMON script until you want them to move. Just have them sitting in the copper, and start UPSMON on them ([unitName, "markerName"] execVM "scripts\USPMON.sqf";) only once the trigger is activated.

ok thanks galzohar

Share this post


Link to post
Share on other sites

To get units to act as reinforcements...

Do they need to have the same marker area in their init as the main units that call for aid or can they be patrolling another area and be called away to the primary area?

I cant seem to get this to work...trigger is setup as a radio button with BLUFOR detection...KRON_UPSMON_reinforcement=TRUE is in the action area for said trigger...and nada.

Share this post


Link to post
Share on other sites

This demo mission shows reinforcements. Not sure this is the best way, but after searching through 50+ pages in this thread and finding a missing demo mission, here you go.

Patrol Group's init:

campGuards = group this; nul=[this,"campArea","reinforcement:",1,"delete:",600] execVM "scripts\upsmon.sqf";

Trigger One (Radio Alpha) - South, Combat mode approach:

KRON_UPS_reinforcement1 = true; null=[campGuards,"alarmSouth","nowait","combat","reinforcement:",1] execVM "scripts\upsmon.sqf";

Trigger Two (Radio Bravo) - North, Safe mode approach:

KRON_UPS_reinforcement1 = true; null=[campGuards,"alarmNorth","nowait","reinforcement:",1] execVM "scripts\upsmon.sqf";

By default the group will patrol around inside the little camp. Use Radio Alpha and they'll enter combat mode and head to the south marker. Use Radio Bravo and they'll head via safe mode to the north marker (even if they were already at the south marker).

Share this post


Link to post
Share on other sites

You're the best...thanks.

---------- Post added at 16:17 ---------- Previous post was at 15:28 ----------

Isn't it possible to make the AI patrols call in the reinforcements automatically? I'm almost positive I've done it before...just cant remember what the hell I did differently...

Share this post


Link to post
Share on other sites

OK I got the backup available by radio button...but isnt it possible to make the AI call for backup on their own? I know I had them doing this at one point...

Share this post


Link to post
Share on other sites
OK I got the backup available by radio button...but isnt it possible to make the AI call for backup on their own? I know I had them doing this at one point...

Not sure, never really used any of these advanced features but reading through the thread seemed to indicate you'd have to trigger an alarm (by setting a global variable to true) for the actual reinforcement to happen.

Share this post


Link to post
Share on other sites

//Enable it to send reinforcements, better done it in a trigger inside your mission.

KRON_UPS_reinforcement = false;

LOL...probably should switch that to true before we have any more discussions...lol.

---------- Post added at 14:21 ---------- Previous post was at 14:02 ----------

Now the reinforcements get called non-stop...before the trigger couldve ever even thought about being tripped...grrr...

Share this post


Link to post
Share on other sites

Yeah, the reinforcement thing is set to send troops when that variable (KRON_UPS_reinforcement) is true, so if you set it to true in the script config they'll think they are under attack right away. So the trigger is used to set "the alarm" as it were true. So there's no automatic reinforcement, just the ability to set a group as a reinforcement option.

Share this post


Link to post
Share on other sites

[/color]Isn't it possible to make the AI patrols call in the reinforcements automatically? I'm almost positive I've done it before...just cant remember what the hell I did differently...

First you need to ask yourself based on what kind of decision would you like the AI to call in reinforcements.

Also where do you want them to head to.

Reinforcements can either be called to go to a specific place (E.g. fixed predefined position or markername - which could in it;s turn be linked to specific group to make it dynamic), or called as general reinforcement, so they will go wherever UPSmon has decided are enemies.

Some more info: https://dev-heaven.net/projects/upsmon/wiki/Reinforcement

Share this post


Link to post
Share on other sites

Hi everyone

Just one question. I would like to use reinforcements, I set it up and everything works well apart from one thing. If it is a long way to the area where reinforcements are sent and there are empty vehicles, the soldiers get in, go where they should but when they get to the designated area they don't get out but go on patrolling in the vehicles. Is that the way it should be?

And now I have done a little testing. If I just move the patrol area marker by using setmarkerpos the same thing happens.

If UPSMON groups realize that they should use a vehicle to get to the area they should patrol in, in the same way they should be able to realize they should get out when they get there. This is just an idea and by no means any criticism as I really like UPSMON and use it in several missions.

Edited by b1944
Testing

Share this post


Link to post
Share on other sites

I guess this works as designed: why should they get out of the vehicles for no particular reason?

To my experience UPSmon AI loaded trucks will unload when under fire.. so unless there's enemy around they will stay in the truck.

(And even then, I've noticed they sometimes will get out and patrol on foot)

Share this post


Link to post
Share on other sites

Just one question on reinforcements -

I have a patrol set to reinforce walking calmly through their patrol zone.

Then they are called to reinforce!

What I want them to do is haul a$$ to the reinforce zone ready for combat. But they don't they casually walk over like they're still in the casual patrol mode and it's just not the reaction I need.

How to resolve this one please.

thanx Lighty.

Share this post


Link to post
Share on other sites

im creating a jet it works but its dumb even with adding SAD markers and playing with its skill

so i am trying to place it in with upsmon which seems to work great however the marker that i am creating for it to spawn seems to be moved to the bottom left hand corner of the map. so the jet will only patrol the bottom left hand corner. but if i // the upsmon line of this script the marker stays in the middle of the map and the plane patrols the said waypoint.

this is my code

Su34DeathLoop ={	 		
		 sleep 5;
 		[] spawn Su34MapPatrol;
	   };


Su34MapPatrol ={ 

       _jetman = createGroup east;

           _Su34 = createVehicle ["Su34", getmarkerpos "center", [], 250, "FLY"]; 
           _Su34 setDir 290;

           _Su34dir =  290;
           _Su34speed = 500;

           _Su34 setVelocity [(sin _Su34dir * _Su34speed),(cos _Su34dir * _Su34speed), 0];
           _Su34 addEventHandler["killed", { (_this select 0) spawn Su34DeathLoop; }];

           _Su34pilot = _jetman createUnit ["RU_Soldier_Pilot", [0,0,1], [], 0, "CAN_COLLIDE"];
           _Su34pilot moveInDriver _Su34;
           _Su34pilot = driver _Su34;
           _Su34pilot setskill 1;

		[(units _Su34) select 0,"center","spawned","track","delete:",0.5] execVM "scripts\upsmon.sqf";

{_x setSkill ["aimingAccuracy",0.65]} forEach units _jetman;
{_x setSkill ["aimingShake",0.65]} forEach units _jetman;
{_x setSkill ["aimingSpeed",0.65]} forEach units _jetman;
{_x setSkill ["endurance",0.85]} forEach units _jetman;
{_x setSkill ["spotDistance",0.99]} forEach units _jetman;
{_x setSkill ["spotTime",0.85]} forEach units _jetman;
{_x setSkill ["courage",0.85]} forEach units _jetman;
{_x setSkill ["reloadSpeed",0.85]} forEach units _jetman;
{_x setSkill ["commanding",0.85]} forEach units _jetman;
{_x setSkill ["general",0.85]} forEach units _jetman;

//====> this code below works fine but the jet is dumb as shit =====</////
//_Su34waypoint0 = _jetman addWaypoint [getmarkerpos "center",0]; 
//_Su34waypoint0 setWaypointType "SAD";
//_Su34waypoint0 setWaypointBehaviour "COMBAT";
//_Su34waypoint0 setwaypointcombatmode "RED"; 
//_Su34waypoint0 setWaypointSpeed "NORMAL";

           ////////=====> now the debug code <==////////////////////////////////////////////////////////////////////////
      if (HOG_debug) then { 
               [sgt,nil,rgroupChat,"Spawning Enemy Jet + Debug ON."] call RE;                
               Su34markerfollow = {
                   _Su34jet = _this select 0; 
				_Su34jetmarker = createmarker ["jet",getMarkerPos "debug"];
                   _Su34jetmarker setMarkerType "mil_triangle";
				_Su34jetmarker setMarkerColor "ColorRed";
				_Su34jetmarker setMarkerDir (direction _Su34jet);
				_Su34jetmarker setMarkerText "Su34";

				[sgt,nil,rgroupChat,"Spawning Enemy Jet Debug Markers."] call RE; 

                   while {alive _Su34jet} do 
                   {					
                       _Su34jetmarker setMarkerPos getPosATL _Su34jet;
                       sleep .5;
                   };
				[sgt,nil,rgroupChat,"Spawning Enemy Jet Debug Finished."] call RE;
               };


               _handle = [_Su34] spawn Su34markerfollow;
      };   

};
/////////////////////////////////////////////////////////////////////////////////////////

if (isserver) then
{
    [] spawn Su34MapPatrol;    
    sleep 5;    

};



does any 1 know what i am doing wrong cheers

Share this post


Link to post
Share on other sites

What kind of marker is "center"? UPSMON is taken [0,0,0] as the patrol area. Be sure that "center" is global and not type ICON. sideChat the result of getMarkerPos, just in case.

Share this post


Link to post
Share on other sites
What kind of marker is "center"? UPSMON is taken [0,0,0] as the patrol area. Be sure that "center" is global and not type ICON. sideChat the result of getMarkerPos, just in case.

A "center" empty marker (usually ICON) is often a sign they are using Norrin's revive script. It's used as a "swim this direction" check if you die in water.

Share this post


Link to post
Share on other sites
A "center" empty marker (usually ICON) is often a sign they are using Norrin's revive script. It's used as a "swim this direction" check if you die in water.

What I meant to say was, that UPSMON needs an ELLIPSE or RECTANGLE marker, an area marker, not an ICON one.

Share this post


Link to post
Share on other sites

so how would i add these vehicles to UPSMON so upsmon will take control of there waypoints and add drivers.

   	_EVEHICLESdistance = [100,200,300,400] call BIS_fnc_selectRandom;
   _EVEHICLEStype = ["T34_TK_EP1","BRDM2_ATGM_TK_EP1","LandRover_MG_TK_EP1","T72_TK_EP1","ZSU_TK_EP1"] call BIS_fnc_selectRandom;

      _EVEHICLESpos = [getMarkerPos "E_Patrol", _EVEHICLESdistance, random 359, false, [0, 0]] call SHK_pos;	      
      _EVEHICLESgun = createVehicle [_EVEHICLEStype, _EVEHICLESpos, [], 0, "NONE"];
      _EVEHICLESgun setDir random 290;

   //I TRIED THIS BUT DOESNT WORK AND E_PATROL IS A RECTANGLE MARKER OF 1000 X 1000
   [(units _staticgun) select 0, "E_Patrol","spawned","nofollow","random","nowait","delete:",120] execVM "scripts\upsmon.sqf";


Share this post


Link to post
Share on other sites

Now it's not clear what _staticgun is. For all I see it should be:

[_EVEHICLESgun, "E_Patrol","spawned","nofollow","random","nowait","delete:",120] execVM "scripts\upsmon.sqf";

But if you redacted some part of your code, then I don't know :).

Share this post


Link to post
Share on other sites

i am getting this error with upsmon

Error in expression <wounded = false;



if ((R_GOTHIT_ARRAY select _grpId) != 0) then
{
_gothit = tr>
 Error position: <select _grpId) != 0) then
{
_gothit = tr>
 Error Zero divisor
File C:\Users\natho\Documents\ArmA 2 Other Profiles\=Mason=\missions\Operation_HOG_V_3.Chernarus\scripts\upsmon.sqf, line 866
Error in expression <wounded = false;



if ((R_GOTHIT_ARRAY select _grpId) != 0) then
{
_gothit = tr>
 Error position: <select _grpId) != 0) then
{
_gothit = tr>
 Error Zero divisor
File C:\Users\natho\Documents\ArmA 2 Other Profiles\=Mason=\missions\Operation_HOG_V_3.Chernarus\scripts\upsmon.sqf, line 866


has any 1 seen this before

Share this post


Link to post
Share on other sites

Hey, I have edited the "Escape Chernarus" mission for personal use, all I did was change the starting man from USMC to a BAF soldier and made the revive options from

multiplayer to single player. But now I am getting this "script scripts\UPSMON\MON_surrended.sqf not found" on starting the mission. Anyone know how to fix it?

There was never a script called MON_surrended.sqf even in the original mission.

Thanks.

Share this post


Link to post
Share on other sites

OK so i am trying to use the arty module for UPSMON without triggers and scripts i have the arty guns spawn 2000 mters from the task area and need the ai at the task to relay the enemy positions for firesupport

is this how its done

      _artygunner1 = _artymen createUnit ["RU_Soldier_Crew", [0,0,1], [], 0, "CAN_COLLIDE"];
      _artygunner1 assignAsGunner _artygun1;
      _artygunner1 moveInGunner _artygun1; 
     [color="#FF0000"] nul=[_artygunner1] execVM "scripts\UPSMON\MON_artillery_add.sqf";[/color]


or do i need more,

Share this post


Link to post
Share on other sites

will throw this question out again -

With reinforcement the patrol walks off to reinforce, however, would like them to switch from a normal patrol to a running/combat mode.

Has anyone figured out how to do this?

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  

×