Jump to content

Recommended Posts

Warning! Long post ahead. :butbut:

My ineptness arises when I actually look at the code and instructions he posted and then try to figure out what means what and what I need to change.

My problem exactly. I was really happy when I heard about the ACM, but then I look at DnA's post and get instantly disheartened. :(

---

Some guy: -"Hey, DnA, how does the player choose which factions and units are to appear, and where?"

DnA: -"Oh, pffft. That's easy. All you have to do, is this:"

*Writes down a mile long list of nigh unintelligable gooble-gooble-goo moon language techno gibberish that makes absolutely no sense to anyone not completely into coding, with sentences consisting of words you've never even heard before, with all sorts of commas, brackets and general punctuation in places they seemingly have no buissness being.*

"... And then, all you have to do is write this down into the init-field of the Game Logic, although sometimes you are supposed write it into the init-field of the group leader, although sometimes you're not supposed to write it anywhere, but scream it out loud at your monitor while you're playing. If it still doesn't work, just do this:

*Writes down another mile-long list of even more technobabble.*

"...Then, manually make a file, paste it into the mission folder, add the text I wrote, and start the game, hoping for the best. If that still doesn't work, give up, turn off the computer and sink discretely back into the comfort of a deep alcoholic slumber. Alternatively, go back to playing the first Spyro the Dragon on your little brother's old Playstation 1, preferably while crying. Sure is nice the devs decided to make the Editor more user-friendly this time around, eh? :)"

---

Yeah, yeah, alright. Let me just explain that in OFP and ArmA 1, I had a fairly good grasp on how to script commands in the init-fields of the soldiers and vehicles, and have them do stuff.

I could, for example, write "This SetBehaviour 'Combat'; this SetCombatMode 'Red'; This SetFormation 'Line'.", and know that when I pressed "Preview", the squad(s) in question would approach their designated objective in a spread-out line formation, set to engage at will, and seek cover as they'd see fit. I could tell vehicles to drop people off, and have them get in. I could change the weapons and equipment the soldiers would start with; that sort of thing. And while it was pretty easy once you had learned how the scripting-system worked, I honestly thought it was complicated enough as it was.

I had hoped the "new" Game Logic system would work something like this. I actually believe I could have coped with that. But apparently, it's something even weirder? :confused:

Granted; maybe, like the devs say, the new system turns out to be really simple and immediately obvious once I actually get the game, around the 19th or so. But as of right now, I don't even know what the command interface of a Game Logic looks like.

Could someone please be charitable and make a screenshot showing what the menu screen that appears once you have selected a GL looks like? Or does it look just like that of any other object, with nothing but a line in the middle that you're supposed to write the whole script on?

Sorry for this long-winded and whiny post. I'm just a little tired and confused right now...

Edited by St!gar

Share this post


Link to post
Share on other sites

I know I'll kick myself once I see the example missions. Even though this stuff looks tough it always ends up being and I can comprehend it in a matter of seconds when I see it in action.

Thanks DnA and no worries, get that other stuff done. ;)

Great game thus far as well. You guys have incorporated some damn good stuff in A2. The difference between A1 and A2 is mind-blowing. Congrats.

Share this post


Link to post
Share on other sites

The great thing about all this is that once someone actually writes the code down.. All you have to do is copy and paste it from the Internet into Arma II editor. Then all you really need to change is the numbers in the viarable.

But alas we have to wait for someone to write the code down in a demo type way...

Share this post


Link to post
Share on other sites

@St!gar : It may looks difficult, but 2 points :

- The script & variables parameters are there to change the default behavior of the modules. You can easily simply drop the module and synchronize it if needed, and you're set.

- These modules may look difficult to configure, but they achieve a whole lot by simply dropping an object on the map, doing the same by yourself would require.... well, a lot lot of line of scripting and such :)

Share this post


Link to post
Share on other sites

I using [uSMC, BIS_ACM] call BIS_ACM_setFactionsFunc; but ACM spawns units of all factions, what's wrong? If i type "USMC" ACM doesn't work.

Edited by MiXeR

Share this post


Link to post
Share on other sites

This should be really awesome once it can be used by scripters.

Would be even cooler to combine enemy spawns with locations. So every time you're near a village that has a name (a location) the ACM starts spawning the right faction inside the village.

It's just a shame we can't control exactly where units are spawned. I'd like to see them coming out of houses front doors like civilians. Would be cool if we could manipulate the ACM spawn pos somehow.

I using ["USMC", BIS_ACM] call BIS_ACM_setFactionsFunc; but ACM spawns units of all factions, what's wrong?

<factions | Array of Strings>

Means: ["USMC"] for a faction array.

So that's how it should be:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;

Edited by ])rStrangelove

Share this post


Link to post
Share on other sites

This one definitly works after some time, removed the configuration from the trigger and put this into an "init.sqf":

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[100, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 1, 10] call BIS_ACM_setSpawnDistanceFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

As you see, I wait for "initDone" and I also changed the min / max distance. Friendly units started to spawn once I lowered my flyheight, so your min / max of zero might be the problem.

Edit:

It seems to me that both is necessary, wait for "initDone" and set the min / max distance to something appropriate.

In this case, you are flying in chopper at height 50, so to spawn ground units set min >= 50 and max 80 for example. Still not sure though.

Edited by schaefsky

Share this post


Link to post
Share on other sites
This one definitly works after some time, removed the configuration from the trigger and put this into an "init.sqf":

waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};

[100, BIS_ACM] call BIS_ACM_setIntensityFunc;
[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[bIS_ACM, 1, 10] call BIS_ACM_setSpawnDistanceFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;

As you see, I wait for "initDone" and I also changed the min / max distance. Friendly units started to spawn once I lowered my flyheight, so your min / max of zero might be the problem.

Edit:

It seems to me that both is necessary, wait for "initDone" and set the min / max distance to something appropriate.

In this case, you are flying in chopper at height 50, so to spawn ground units set min >= 50 and max 80 for example. Still not sure though.

Quick question:

What does "[100, BIS_ACM]" stand for in "[100, BIS_ACM] call BIS_ACM_setIntensityFunc;"?

And the "[bIS_ACM, 1, 10]" in "[bIS_ACM, 1, 10] call BIS_ACM_setSpawnDistanceFunc;"?

Share this post


Link to post
Share on other sites
Quick question:

What does "[100, BIS_ACM]" stand for in "[100, BIS_ACM] call BIS_ACM_setIntensityFunc;"?

And the "[bIS_ACM, 1, 10]" in "[bIS_ACM, 1, 10] call BIS_ACM_setSpawnDistanceFunc;"?

DNA explained earlier:

[100, BIS_ACM] call BIS_ACM_setIntensityFunc;, where 100 is intensity (shouldn't this be value between 0 and 1?), and BIS_ACM references the module itself (can also reference a unit).

[bIS_ACM, 1, 10] call BIS_ACM_setSpawnDistanceFunc; Once again BIS_ACM references the module or unit, 1 is minimum spawn distance and 10 is maximum spawn distance.

Share this post


Link to post
Share on other sites
DNA explained earlier:

[100, BIS_ACM] call BIS_ACM_setIntensityFunc;, where 100 is intensity (shouldn't this be value between 0 and 1?), and BIS_ACM references the module itself (can also reference a unit).

[bIS_ACM, 1, 10] call BIS_ACM_setSpawnDistanceFunc; Once again BIS_ACM references the module or unit, 1 is minimum spawn distance and 10 is maximum spawn distance.

Yeah I read and replied to that post earlier. I should be a little more clear, what does the 1 and 10 max/min distance refer to? i.e. does 1=1m and 10=10m or something much higher. If I set it to 10 how far away will the spawn?

Same goes for 100. Is that 100% and if so what does that mean. Intensity of what? The fighting or spawning of units and so on.

Share this post


Link to post
Share on other sites

I'm guessing that the intensity refers to how many groups spawn within the spawnDistance specified. As far as I know the distance is in meters (need to do some more tests when I get home).

Share this post


Link to post
Share on other sites

i think somewhere along this thread mention that intensity is actually kinda like frequency. how frequent new unit will be spawned. I could be wrong though

edit:

Found it:

When you set the intensity to 1 (0.5 being default), there should be more and quicker patrols.

so it's intensity and frequency?

Edited by Mr_Centipede

Share this post


Link to post
Share on other sites

schaefsky, thank you! It's works now fine. This module is very interesting..

Edited by MiXeR

Share this post


Link to post
Share on other sites

I have a new question. How to spawn only infantry?

Share this post


Link to post
Share on other sites

will this module only create firefights around you and delete units who get to close to you? Or will those units also attack you?

Share this post


Link to post
Share on other sites
I using [uSMC, BIS_ACM] call BIS_ACM_setFactionsFunc; but ACM spawns units of all factions, what's wrong? If i type "USMC" ACM doesn't work.

Please try:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;

The list of factions should be an Array of Strings :)

Share this post


Link to post
Share on other sites
will this module only create firefights around you and delete units who get to close to you? Or will those units also attack you?

Nope, it definately will not delete units when they get close and you will be attacked by spawned enemies.

Looking at it that way maybe ambient isn't the best description. When we wanted ambient war sounds in the game, we didn't want to simply add some ambient pre-recorded sounds like certain other games do; we wanted actual combat :D

Share this post


Link to post
Share on other sites
i think somewhere along this thread mention that intensity is actually kinda like frequency. how frequent new unit will be spawned. I could be wrong though

edit:

Found it:

so it's intensity and frequency?

Ok, now I get it. Not sure why I didn't understand that when I read it. Thanks everyone. Now what about the spawn distance. Not quite sure what 1 or 10 is suppose to refer to.

Share this post


Link to post
Share on other sites
Ok, now I get it. Not sure why I didn't understand that when I read it. Thanks everyone. Now what about the spawn distance. Not quite sure what 1 or 10 is suppose to refer to.

Just tested it, spawn distance is in meters Manzilla. Using [bIS_ACM, 1, 10] will spawn units at a minimum distance of 1m and a max of 10m.

For example: [MY_ACM, a, b] allows the spawn distance (in meters) to be chosen from the range of values between a and b

Share this post


Link to post
Share on other sites

Remeber sizes of units vary around you, so you may only see few units for a long time or loads and it always is varied, but with the simple commands you can change that.

Player + Sync Game Logic = Working nothing else needed. :)

Share this post


Link to post
Share on other sites
Just tested it, spawn distance is in meters Manzilla. Using [bIS_ACM, 1, 10] will spawn units at a minimum distance of 1m and a max of 10m.

For example: [MY_ACM, a, b] allows the spawn distance (in meters) to be chosen from the range of values between a and b

Alright, I'm getting it. But is that spawn distance the distance the units will spawn from me or from the ACM gamelogic? I guess that's what's confusing me. It seems a little silly to have stuff spawning 1 to 10m away from the player. Plus when playing the missions and campaign I never saw anything that close to me.

Share this post


Link to post
Share on other sites
Please try:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;

The list of factions should be an Array of Strings :)

Okay, stupid question: It's the ["USMC"] part of the code that makes the USMC spawn, right? So if I want the ACM to make me a battle with the USMC against Russians, I'll type:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;

;

[["Russia"], BIS_ACM] call BIS_ACM_setFactionsFunc;

...Or something, right?

Share this post


Link to post
Share on other sites
Please try:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;

The list of factions should be an Array of Strings :)

Okay, stupid question: It's the ["USMC"] part of [["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc that makes US forces spawn, right? So if I want the ACM to make me a battle with the USMC against Russia, I'll type:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;[["Russia"], BIS_ACM] call BIS_ACM_setFactionsFunc;[/i]

...Or something, right? :raisebrow:

Edited by St!gar

Share this post


Link to post
Share on other sites
Okay, stupid question: It's the ["USMC"] part of [["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc that makes US forces spawn, right? So if I want the ACM to make me a battle with the USMC against Russia, I'll type:

[["USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;[["Russia"], BIS_ACM] call BIS_ACM_setFactionsFunc;[/i]

...Or something, right? :raisebrow:

Maybe:

[["USMC","RU"], BIS_ACM] call BIS_ACM_setFactionsFunc;

Not sure though

EDIT:

Jesus I finally figured what something like this means after all this time.

//Pick from: USMC, CDF, RU, INS, GUE.

[<factions | Array of Strings>, <ACM reference | Object>] call BIS_ACM_setFactionsFunc;

Yes just enter the Array of strings here:

<factions | Array of Strings>

so

["USMC", "CDF", "RU"]

then this

<ACM reference | Object>

you put

BIS_ACM
- (which in this case is simply referencing the ACM Module itself. Not really sure in what instance you'd use an object or what "ACM reference" really means in this case.)

So it should look like this in the end if you want to have combat between US and CDF vs. RU:

[["USMC", "CDF", "RU"], BIS_ACM] call BIS_ACM_setFactionsFunc;

Hopefully this is correct

Edited by Manzilla

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

×