-
Content Count
228 -
Joined
-
Last visited
-
Medals
Posts posted by Monsada
-
-
I don't really get this example mission. How do I set this up for the enemy to call the reinforcements?Also when I call the reinforcements and the guys get in the truck(I assume these are the reinforcements.) it takes forever for the driver to get to the drop off point. He doesn't take the roads and prefers to drive off road. I know the AI driving is bad but that is terrible. Do more wp's need to be added?
I understand most stuff in the readme but the way the mission is setup confuses me. Can you make one that uses all the features but have it set up for the enemy side defending.
Also one of the guys in the mission keeps getting hurt at mission start so he wouldn't enter the truck and the truck wouldn't move. I had to move the players group just a bit to stop this from happening.
Hi Manzilla,
for calling reinforcements all u need is to set true the variable u want KRON_UPS_reinforcement1 for groups with paramenter "reinforcement",1
KRON_UPS_reinforcement2 for groups with paramenter "reinforcement",2
KRON_UPS_reinforcement3 for groups with paramenter "reinforcement",3
....
or KRON_UPS_reinforcement for all groups and all ones with parameter "reinforcement".
for truck movement AI uses careles if far away of enemy or AWARE for avoiding roads if near. No waypoints will solve this.
When getin in a vehicle low level commands of arma waits until all are inside. No way to solve this, this does arma by default. If driver is not inside, when pased a minute another soldier takes driver and goes on leaving people not inside.
-
Excellent work! The only thing needed is artillery. AI spots you and calls in artillery.How do u spect will run artillery? may explain a detail example?
when u say artillery this means that AI needs a static weapon no? if is it ok, I will say that am working on implementation for AI using static weapons on battle field.
-
Hi Monsada - I'll try and check this out. Do you know if it works well with F2 already, or do you think we would need to do some further integration work?
I'm not sure but I think u won't have any problem, with integration works i don't know what u mean, if u have any trouble or doubt mail me.
-
I assume because of this:KRON_UPS_Res_enemy = [east];
That both sides cant run upsmon - limited to one side only?
KRON_UPS_Res_enemy is a parameter for resistance squads.
u need to especify the enemy of UPSMON resistance squads.
In editor u can put east or opfor, west or bluefor and independent or resistance squads. If u put resistance squads u must especify wich one is resistance enemy:
KRON_UPS_Res_enemy = [east];
or
KRON_UPS_Res_enemy = [west];
or
KRON_UPS_Res_enemy = [east,west];
-
Ok, but I called in the reinforcement via radio trigger and the enemy hasn't detected me yet. In that case, where will the reinforcements go?If no enemy known squads Will go no no where else. Think at the situation, all squad gets a call by radio for getting reinforcement, then they ask, where is the enemy position? and answer, no there is no enemy. Nobody will go for this call.
Minimalaco si tu no pides refuerzos "kron_ups_reinforcement=true" las unidades sin el parámetro "reinforcement" no acudiran a la llamada, otra cosa es que se encuentren dentro del radio de influencia y por su naturaleza movil acudan para atacar al enemigo. Lo que puedes hacer es reducir el área de influencia "kron_ups_sharedist" puedes bajarlo de 1500 metros a 1000, pero no recomiendo bajarlo mucho más o se perderán otras funcionalidades.
If reinforcements are called "kron_ups_reinforcement=true" only units with reinforcement will go to atack enemy at enemy position. If u have units with "move" parameters and without reinforcement only will engage enemy if is in his inflence dist "kron_ups_sharedist". If u fell this área is so high u can reduce it, but dont recoment downloading less than 1000 for no losing other functionalities.
-
function MON_UnitsGetIn or function MON_GetIn_NearestVehicles in MON_functions.
video:
U will find it in UPSMON.
-
loadfile only loads a file wathis more there are some characters not compiled. its all.
Now u would make me a favour, take a look at UPSMON, it will love u, sure, let me know
-
This looks awesome Fer, maybe you would like to take a look at UPSMON its purpuse is to improve AI giving them intelligence for using empty vehicles, like cars, truks and helis. They talk eachothers comunicating if enemys near and flanking enemy, fortify in zone taking position in nearest buildings, multiple reinforcement..
This and much more without doing nothing in editor, really simplifies mision creating.
Maybe u would use it.
See u
-
try UPSMON with parameters "NOMOVE" or "FORTIFY"and tells me the result.
-
Im not sure but try compile preprocess
I supose this fucntions runs ok then try:
SPAWN_WAVE = compile preprocessFileLineNumbers ("scripts\spawn_wave.sqf"); SPAWN_INF = compile preprocessFileLineNumbers ("scripts\spawn_infantry.sqf"); SPAWN_VEC = compile preprocessFileLineNumbers ("scripts\spawn_vehicles.sqf");in yor trigger:
sidechat format["inf1=%1", inf1]; sidechat format["infantry_groups=%1", count infantry_groups]; sidechat format["fb_hill=%1", getPos fb_hill]; rawr=[getPos inf1, infantry_groups, getPos fb_hill, east] call SPAWN_INF; //this is basicly where it fails
if u get troubles checks for errors in:
C:\Users\"YOUR MACHINE"\AppData\Local\ArmA 2\arma2.RPT
-
I solved it in UPSMON with command stop:
stop true in all crew
and stop false when leaves vehicle.
look at in MON_functions.sqf
-
Hi, for begginers I recomend to use UPSMON, it simplifies a lot editing and greatly improves AI in combat.
Well to answer you:
This is a template of a briefing/objective.
All u need is socceed each task with a trigger with this command:
_tskKillSpongebob setTaskState "Succeeded"
see wiki for mor info:
http://community.bistudio.com/wiki/setTaskState
/* * Mikey's Briefing Template v0.03 * * * Notes: * - Use the tsk prefix for any tasks you add. This way you know what the varname is for by just looking at it, and * aids you in preventing using duplicate variable names. * * * Required briefing commands: * - Create Note: player createDiaryRecord ["Diary", ["*The Note Title*", "*The Note Message*"]]; * - Create Task: tskExample = player createSimpleTask ["*The Task Title*"]; * - Set Task Description: tskExample setSimpleTaskDescription ["*Task Message*", "*Task Title*", "*Task HUD Title*"]; * * Optional briefing commands: * - Set Task Destination: tskExample setSimpleTaskDestination (getMarkerPos "mkrObj1"); // use an existing marker! * - Set the Current Task: player setCurrentTask tskExample; * * Formatting: * - To add a newline: <br/> * - To add a marker link: <marker name='mkrObj1'>Attack this area!!!</marker> * - To add an image: <img image='somePic.jpg'/> * - custom width/height: <img image='somePic.jpg' width='200' height='200'/> * * Commands to use in-game: * - Set Task State: tskExample setTaskState "SUCCEEDED"; // states: "SUCCEEDED" "FAILED" "CANCELED" "CREATED" * - Get Task State: taskState tskExample; * - Get Task Description: taskDescription tskExample; // returns the *task title* as a string * - Show Task Hint: [tskExample] call mk_fTaskHint; // make sure tskExample and the mk_fTaskHint function exist * * * Authors: Jinef & mikey */ // since we're working with the player object here, make sure it exists waitUntil { !isNull player }; // all hip now ;-) waitUntil { player == player }; switch (side player) do { case WEST: // BLUFOR briefing goes here { }; case EAST: // REDFOR briefing goes here { player createDiaryRecord["Diary", ["Info", "<br/>Author - Monsada<br/>Version 1.00<br/>"]]; player createDiaryRecord["Diary", ["Fuerzas enemigas", "<br/>Creemos que solo hay medio centenar de infanteria por el pueblo y los alrededores y hemos podido ver algunas patrullas de jeeps controlando los accesos por carretera, la ONU tiene tropas en los pueblos de alrededor de modo que no se descarta que pidan refuerzos si se ven acorralados, estaremos alerta por si interceptamos alguna senal de radio."]]; player createDiaryRecord["Diary", ["Fuerzas amigas", "<br/>Las fuerzas rusas no nos atacaran porque.. bueno ya sabeis porque, pero tampoco espereis que nos ayuden. <br/>Sabemos que hay guerrilleros Chernorusos muy inquietos desde que la ONU tomo Dubrovka, los hemos visto merodeando por el oeste de Dubrovka observando los movimientos de la ONU, puede ser un buen punto de huida si las cosas se ponen feas."]]; player createDiaryRecord["Diary", ["Mision", "<br/>Bien, vayamos al grano, Las fuerzas de la ONU han tomado <marker name='TOWN'>Dubrovka</marker>, y estan construyendo una <marker name='m_o3'>base</marker> y varios puestos de defensa."]]; player createDiaryRecord["Diary", ["Situacion", "<br/>Parece que el pueblo les interesa y mucho por la cantidad de tropas que han destinado y las defensas que estan construyendo, es de vital importancia tomar Dubrovka ahora que todavia podemos, <br/>Dubrovka esta muy bien comunicada y esta demasiado cerca de nuestra base, de no lograr el objetivo podrian intentar cortarnos los suministros y nuestra base se veria seriamente amenazada"]]; //>---------------------------------------------------------< // Secondary Objective tskObj4 = player createSimpleTask["Secundary: Encontrar informacion relevante"]; tskObj4 setSimpleTaskDescription["Esta semana un importante sequito de los Estados Unidos ha visitado la nueva <marker name='m_o4'>base</marker> de la ONU en Dubrovka y creemos que han tenido una reunion en secreto, es posible que en esa base puede haber informacion importante, echad un vistazo haber que encontrais", "Encontrar informacion relevante", "Encontrar informacion relevante"]; tskObj4 setSimpleTaskDestination (getMarkerPos "m_o3"); //>---------------------------------------------------------< // Primary Objective tskObj1 = player createSimpleTask["Primary: Expulsar a la ONU de Dubrovka"]; tskObj1 setSimpleTaskDescription["Eliminar las fuerzas americanas y de la ONU de <marker name='TOWN'>Dubrovka</marker>. Vigilar al acercaros, hay patrullas por las carreteras. Buena suerte chicos", "Expulsar a la ONU de Dubrovka", "Expulsar a la ONU de Dubrovka"]; tskObj1 setSimpleTaskDestination (getMarkerPos "TOWN"); // Third Objective //tskObj3 = player createSimpleTask["Secundary: Destruir el radar",tskObj2]; //tskObj3 setSimpleTaskDescription["En la base que estan construyendo hemos podido ver un <marker name='m_o3'>radar</marker>, creemos que si ese radar es destruido no tendran forma de comunicarse con el centro de mando para pedir refuerzos", "Destruir radar", "Destruir el radar"]; //tskObj3 setSimpleTaskDestination (getMarkerPos "m_o3"); //>---------------------------------------------------------< // Secondary Objective tskObj2 = player createSimpleTask["Secundary: Recuperar la estacion de servicio"]; tskObj2 setSimpleTaskDescription["Hemos marcado una <marker name='m_b3'>Estacion de servicio</marker> que es de vital importancia para nuestros intereses y que ha sido tomada por fuerzas de la ONU, una vez mas han dejado patente los verdaderos intereses en la zona, o eso o preveen atacarnos en breve y tienen miedo de nuestros blindados, jajaja, jojojojo, jejejeje.... esto.. ejem, ejem, hay que recuperarla. ", "Recuperar la estacion de servicio", "Recuperar la estacion de servicio"]; tskObj2 setSimpleTaskDestination (getMarkerPos "m_b3"); player setCurrentTask tskObj2; //tskObj2 setTaskState "Assigned"; //>---------------------------------------------------------< //Inicializamos las futuras tareas tskObj5 = objnull; tskObj6 = objnull; }; case RESISTANCE: // RESISTANCE/INDEPENDENT briefing goes here { }; case CIVILIAN: // CIVILIAN briefing goes here { }; }; if (true) exitWith {}; -
seems that megaupload takes a long time to activate link, in main post there are two links for download, now are ok.
-
New version 5.0.1 released
MadMike.48th has a very good idea and told me to implement multiple reinfocement squads, thanks MadMike. Im uploading a video to show u how new functions "fortify" and "reinforcement:",1 runs, be aware
//Version: 5.0.1// Added
// Mulitiple reinforcement reinforcement:x, now you can put an id of reinforcement for calling only this groups later:
// nul=[this,"town", "move","reinforcement:",1, "delete:",600] execVM "scripts\upsmon.sqf";
// nul=[this,"town", "move","reinforcement:",2, "delete:",600] execVM "scripts\upsmon.sqf";
// Modified:
// Fixed fortify squads don't get defence positions until known enemys
// Fortify squads leave fortify status when called for reinforcement
video:
download:
http://www.simulacion-esp.com/v3/index.php?app=core&module=attach§ion=attach&attach_id=1443
-
@Monsadaok - i have sent you the complete mission.
thx again!!
No UPSMON in the mision u sended me :confused: I put ups and runs ok.
I think u sended me an incorrect mission. Please don't make me waste my time. Send me a mission in wich I can see the problem easy no need complete mision.
-
May be I don't understand u.
scritp runs in leader AI only, enemies may be players or AI aswell. If script runs in opfor AI must recognie u as enemy. Is estrange what u say Please send me your mision or I will not can help u
-
@MonsadaI found out something really strange. The script works even very well with the BWMod-Soldiers - but only if the players are ai-controlled. If the Soldiers are made "playable" in the editor (like my team of 5 soldiers) and are controlled by human players the ai don´t call "enemy detected" and no reinforcement is coming.
Why don´t they detect "my squad" as an enemy? Maybe its because i gave them name p1, p2, p3, p4, and so on? I do this because of the revive_script.
Maybe you have an idea?
Ahhh then the problem is this!! UPSMON is for AI groups, no have sense with players, upsmon solves the relation between squads of AI, is made for gaving enemy AI more global intelillence and making easy mision editing.
in any case u could put as a player in a UPSMON squad but not into leader, the leader must be an AI.
---------- Post added at 07:49 PM ---------- Previous post was at 07:46 PM ----------
Version: 5.0.0
Well I have implemented the upgrades demanded, closed version 4
// Version: 5.0.0
// Added
// KRON_UPS_flyInHeight: Height that heli will fly this input will be randomiced in a 10%
// KRON_UPS_paradropdist: Max distance to target for doing paradrop, will be randomiced between 0 and 100% of this value.
// parameter "fortify" makes leader order to take positions on nearly buildings at distance 100 meters near leader,
// squads with fortify will ignore "MOVE" rol.
// Modified:
// Fixed bug that eventually stoped hely when paradrops done.
Downloads
http://www.megaupload.com/?d=3EC1FQQG
http://www.simulacion-esp.com/v3/index.php?app=core&module=attach§ion=attach&attach_id=1439
-
i will check it, dont worry, if there is a problem i will find and correct it.
-
Hi MadMike, I'm glad UPSMON likes u.
Well
1. Is it possible to set the paradrop more accurate? (Heli flys in more height and don´t drop so early?
Is a good idea, I will implement it in next revisión:
KRON_UPS_flyInHeight=80;
Then u will can put what u want.
2. Usually we play as BLUFOR against OPFOR. If i use the german BWMod-Soldiers instead of USMC the script don´t work. They don´t call for reinforcement - i think they don´t see the BWMod-Soldiers as an real enemy. Of course the russians shoot at them, but they dont say "Enemy detected". If i change the german Soldiers to USMC and they enter the sensor it starts the heli for reinforcement. The BWMod soldiers don´t. Can i add them somewhere in the script to be detected as BLUFOR, too?
There are 3 tipes that is recognized, BLUEFOR, OPFOR and resistance.
Well for resistance AI's UPSMON needs to know who is the enemy, for it u have this parameter array:
KRON_UPS_Res_enemy = [east];
If u want resistance will be enemy to all put [east, west] instead, maybe this is the problem, if it not correct the problem, then may be a bug, please send me your mission to chs.monsada@gmail.com and explain me how to test it. I will correct the bug.
---------- Post added at 12:09 PM ---------- Previous post was at 11:53 AM ----------
Hi Monsada. Thanks for the great script, I am having tons of fun playing my missions with it.I tried the last version, 4.2.6, but my units still paradrop early from the heli. Way short of target marker. Is there any parameter I can use to make them jump correctly?
thanks.
Hi bobrock,
thats ok, Paradrop will do in a random distance from 0.2 * (safedist+closeenought), why? I don't want AI always paradroop on enemy because of fire and dinamice result, playes won't know when paradrop AI and don't know if they will land.
I will implement a parameter KRON_UPS_paradropdist.
AI will paradrop in a random distance with the max put in this parameter. Doing this u will fix it at 0 and other players as mine would put 400 meters.
If there is no troubles will be post in next days
-
Very grafical sample Myke, bravo
-
marker.sqf
null=[_leader,_marker] execvm "marker.sqf";
_unit = _this select 0 _grp = group _unit _marker = _this select 1 While {true} do { _pos = [getpos leader _grp select 0, getpos leader _grp select 1] _marker setMarkerPosLocal _pos sleep 1; }; if(true) exithWith{}; -
Hi Monsada,GREAT! But the website says that the file is temporarily unavailable...
Splicer.
Yes, I don't know why, I put another link.
-
New version available
//Version: 4.2.6
// Added
//
// Modified:
// Fixed bug that leaves a soldier in front of vehicle afte geting out.
// Fixed bug that made AI to disenbark from heli before arriving objective.
http://www.megaupload.com/?d=Y52DS4ZN
http://www.simulacion-esp.com/v3/index.php?app=core&module=attach§ion=attach&attach_id=1435
video:
-
Hi RonnieJ,
There are two things to understand with variables:
First:
Local variables are all that begins with "_" and its visibility is only in the script that is runing.
Example:
//Local variable _myvar = 5;
_myvar is local and it only is visible in the script that it isdefined.
Global variables are all that not begins with "_"
//Global variable Myvar =5;
is a global variable, is visible in any side the game but only in the machine that is runing the script. What this means?
If there are two machines playing a mission, one a server and another the client, if the server runs a scritp that sets Myvar =6; only the server has this value, the client not see the change.
The correct thing to do when programing is setting value of global variables only in the server, and then propagate its value to all the clients:
if (!isServer) exitwith{}; Myvar =5; //Now propagates the value to all machines publicating de variable publicvariable "Myvar";publicvariable only must be done with global variables.

UPSMON - Urban Patrol Script Mon
in ARMA 2 & OA : MISSIONS - Editing & Scripting
Posted
I will implement this on next review.