Home   Help Search Login Register  

Author Topic: (Review Completed) [SP] "USMC Village Raid"  (Read 8188 times)

0 Members and 1 Guest are viewing this topic.

Offline RangerX3X

  • Members
  • *
  • Ranger, out.
    • RangerX3X
Re: [SP] "USMC Village Raid"
« Reply #15 on: 16 Feb 2010, 22:11:25 »
To post your revision, edit the first post in the threat and upload the newest mission file. Add a change log to your original post so people can quickly see what fundamental ajustments have been made. And always if you add a pic to your original post in entices people to d/l and try it.
Ranger, out.

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #16 on: 16 Feb 2010, 22:17:03 »
Good advice, will follow it to the letter!  Thanks.

Offline Zipper5

  • BIS Team
  • ****
Re: [SP] "USMC Village Raid"
« Reply #17 on: 16 Feb 2010, 22:31:23 »
Yup, just add the new version to the original post and so long as nothing gamebreaking is present in it, it will be reviewed when you want it to be.

Oh, and by the way, you do get the "Objective complete" hint pop up on screen when you complete the objective, but the task itself is not completed. If you go to the map and look at your task window, when the task is completed the square next to it should turn green. This happens when you use that code I showed you before (taskName setTaskState "SUCCEEDED";).

If you want, I could edit it for you, no credit necessary of course. Though I'm sure you'll be able to accomplish it. ;)

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #18 on: 16 Feb 2010, 22:41:01 »
Thank you very much, Zipper.  Let me try and if I fail, should I send you the .sqs or will you just UPBO the mission?  I'm going to give it a shot, though.  I'm assuming "Obj1" is the task name -- next time I will be sure to name everything as soon as I create it -- and that I should put that line in the activation field of the trigger synchronised to the "Seek and Destroy" wp associated with the task?

As I said, this would have been easier if (i) I had known about Arma Edit so that I could create all briefing text in that instead of doing it from scratch and (ii) if I had realised  that all objects should be named.

Thanks again!

Offline Zipper5

  • BIS Team
  • ****
Re: [SP] "USMC Village Raid"
« Reply #19 on: 16 Feb 2010, 22:42:31 »
Just send me the PBO file or the uncompressed file of your mission if you need it.

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #20 on: 17 Feb 2010, 09:23:25 »
Zipper, I'm attaching a zipped User Save file.  As you'll see from the triggers at both objectives (the radar target and the extraction), I used the following text in the activation field:

Code: [Select]
task1 setTaskState "SUCCEEDED";
player setCurrentTask task2;

and

Code: [Select]
task2 setTaskState "SUCCEEDED";
I changed "task1Name" to "task1" because I did not give these two tasks names (a mistake that I will correct in all future missions).  How do you name a task in the Editor?  There is a "Name" field in Triggers but only a "Description" field in Waypoints and I had assumed that you have to name the task in the waypoint as that is where the task is defined.

FYI, I having saved the mission under a different title -- I'm not a total idiot -- I deleted the "1" ObjStatus SUCCEEDED etc. language from the same triggers as you indicated that A2 does not use these terms any more.  I can always restore this if I need to, I'm not sure what effect, if any, they were having.  

I'm sure I'm missing something very simple here.  If you could corrrect it, or take a look and tell me how, either in the "SetSimple Task" section of the briefing or in the Editor, I'd be grateful.

I have learned a great deal from this experience and intend to put it all, and more, to good use in future missions, without being nearly as needy here.  It's a steep learning curve.  Thank you.


Edit: attachment utilised; removed - WEK
« Last Edit: 09 Oct 2010, 22:29:48 by Walter_E_Kurtz »

Offline Zipper5

  • BIS Team
  • ****
Re: [SP] "USMC Village Raid"
« Reply #21 on: 17 Feb 2010, 10:19:41 »
Judging from your briefing.sqf file your objectives have been named obj1 and obj2.
Code: [Select]
obj1 = player createSimpleTask ["Destroy AA Radar"];The name given before the equals sign is the name of that specific task. They are defined in reverse order within the briefing.sqf file as that makes them show up in the right order in-game. Some weird thing BIS did to the briefing.

I changed a couple things in the mission to make it work better. The first thing I did was went to your Seek and Destroy waypoint for destroying the radar station. To accomplish this better, I decided I would have it execute a script once it was completed that would successfully accomplish the task, show a hint about it, set the next task as the player's current task, and then show a hint about that. So, I put in the synchronized trigger's activation line:
Code: [Select]
null = [] execVM "obj1Complete.sqf"And put the following in the script file of the same name:
Code: [Select]
obj1 setTaskState "SUCCEEDED";
player setCurrentTask obj2;
[objNull, objNull, obj1, "SUCCEEDED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf";
sleep 1;
[objNull, objNull, obj2, "CURRENT"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf";

That's it done for the first objective of destroying the radar. I then went to your other waypoint for the player to get in the helicopter. I noticed that the way you were doing it would still have caused the mission to end if the player got in the helicopter and then got out. So, I changed your trigger by ungrouping it and changing it's condition to the following:
Code: [Select]
({_x in Helo} count (units grp1)) == count (units grp1) && taskCompleted obj1This will make it only run what's in the activation line once all remaining units of the player's squad are in the helicopter. To do this, I had to go to the player unit and add the following to its init line:
Code: [Select]
grp1 = group this;So, with that done, I changed the activation to execute another script:
Code: [Select]
null = [] execVM "obj2Complete.sqf"Which had the following in it:
Code: [Select]
obj2 setTaskState "SUCCEEDED";
[objNull, objNull, obj2, "SUCCEEDED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sqf";
sleep 30;
missionEnd = true;
And now, I created a new trigger with the activation "End #1" with the condition line missionEnd, which will end the mission 30 seconds after the player's squad has gotten in the helicopter.

I also made it so that the conversations were removed by adding the following to the Init.sqf file:
Code: [Select]
{_x setVariable ["BIS_noCoreConversations", true]} forEach allUnits;And I noticed that your helicopter was sometimes engaging the enemy when extracting us, so I changed it's behavior to careless and told it to never fire. Works better now. I also made it so that the first aid modules worked by synchronizing them to the player.

That should be it I think. I've attached the new version to this post. See what you think. Let me know if there's anything you want to be changed.


Edit: attachment utilised; removed - WEK
« Last Edit: 09 Oct 2010, 22:29:28 by Walter_E_Kurtz »

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #22 on: 17 Feb 2010, 19:43:07 »
This is great, Zipper, I owe you one.

Examining what you have done will teach me a great deal.  May I ask a couple of questions meanwhile?

-  What does the word "Null" mean in ArmA code and why is it often repeated, separated by commas?

-  what do the curly parentheses, { }, mean in ArmA code?

Your coding for the mission end at extraction is much more sophisticated than mine and I'm looking forward to testing it out.  The only possible fly in the ointment -- which is why I abandoned a previous end trigger for after the unit embarks -- is that sometimes it's a tedious chore for the player to get the unit to embark because (I think) even at "Safe" they run around in "alert" poses, sighting enemies they should not be engaging.  This is obviously not the case when all enemies are dead but I hate mission goals that involve killing everything that moves and deliberately wanted to challenge the player to withdraw under fire if necessary.  This is why I set the mission to end 30 seconds after the helo  was < 2ft from the ground.  So...if, after a few test-plays, this problem rears its ugly head again (it may well not, now that the coding is more streamlined), is there a quick fix I might be able to implement, a workaround?

« Last Edit: 17 Feb 2010, 19:45:59 by Bahger »

Offline Zipper5

  • BIS Team
  • ****
Re: [SP] "USMC Village Raid"
« Reply #23 on: 17 Feb 2010, 20:40:13 »
null essentially means nothing. It's what you use for a variable if you don't want to define one. The {} is just part of the scripting syntax. In the way it was used in my scripts, it's to apply that same piece of code within them to multiple different units. I'm not sure about the exact name for them, someone from the Editors Depot can probably give you a better explanation that me.

And don't worry too much about the AI currently acting like they're in Danger mode no matter what stance you put them in. That was something introduced in one of the last beta patches before the v1.05 patch, and it is quite clear that the community wants it removed. You shouldn't have to worry about it for too long with any luck. But a quick fix you could have is detect whether the player is in the helicopter, have the script wait for, say, 30 seconds, and if all of the members of his squad are not in the helicopter it simply moves them in. In the case of this mission, you would use the following:
Create a trigger with the condition line reading
Code: [Select]
player in HeloAnd in the activation have something like:
Code: [Select]
null = [] execVM "extractCheck.sqf"Then, in the extractCheck.sqf script, put the following:
Code: [Select]
sleep 30;
if (({_x in Helo} count (units grp1)) !== count (units grp1) && taskCompleted obj1) then
{
{_x assignAsCargo Helo; _x moveInCargo Helo} forEach units (group player);
};
That would automatically move the entire squad into the helicopter after the player has been in the chopper for 30 seconds and they still aren't in.

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #24 on: 18 Feb 2010, 08:52:46 »
Zipper5, a couple of things are broken in the improved build.

- No visible hints appear onscreen when the hint script should run after obj1 (destroying the radar) is accomplished.  Odd, huh? 

- I'm pretty sure the task-switch is not working quite as planned either.  The task box is filled in but I did not notice the yellow marker appear in the HUD to guide the player to his next wp.

- Most importantly: The helo won't land!

Maybe the helo won't land because the pilot's behavior is set to careless?  It overflies the LZ and lingers, hovering, which stalemates the mission.  I'd like to get the helo to land, as it did before, even under fire from a distance, and both accomplish obj2 (extraction) and end the mission without these events depending on a complete, successful boarding of the squad, the AI is just too squirrely for that to work every time.  However, I do want to get the chopper on the ground as it gives a sense of completion and I don't mind if the door gunner is engaging targets.  In playing the mission many times and observing how the AI will drag their feet on the withdrawal to the extraction if there are any threats left, no matter how tactically insignificant, I resolved not to make the obj2 success or the end mission activation dependent on a successful embarkation.  Rather, I wanted the player to reach the LZ, call the chopper, get the response, and have the helo approach and land, triggering obj2 success and then mission end after the chopper is down and a 30 sec timeout.  This way, if the AI is behaving itself, the player can still watch the squad begin to board and feel a sense of accomplishment in getting them off the LZ and on their way home yet the obj2/end mission triggers are not dependent on the AI actually managing to complete this event.

I'm reluctant to fiddle too much with your triggers and scripts as I have no experience scripting and I'd be thrashing about in the dark, possibly making things worse.  Could you take a look?  Worse case, at least my original, jury-rigged trigger grouped with the helo and conditioned by the 2 ft above ground event + 30 seconds seemed to get the helo down every time and the mission concluded but I do not want to reinstate it not knowing how it will interact with the added code.  Not that I'm suggesting you reinstate bad code but maybe we have too many moving parts here?

Offline Zipper5

  • BIS Team
  • ****
Re: [SP] "USMC Village Raid"
« Reply #25 on: 18 Feb 2010, 09:04:33 »
I'm pretty sure the hints show up, they did both times I tested the mission after I'd added them. They aren't like the Objective complete ones, they don't make a noise, they just appear in the middle of the screen. Exactly how they did in the official SP missions and the campaign.

When you say it didn't show the player his next waypoint do you mean after he destroyed the radar? That worked for me exactly how it should.

And the helicopter landed both times for me when I tested it. Before setting it to Careless and Never fire, it would always engage any remaining enemy forces and would not land until they were taken out. This often caused it to crash into the trees around it. When I put it on Careless and Never fire, it didn't do that anymore. Perhaps adding this setCaptive true to it would improve it further by not making the AI engage it at all.

This is quite odd. I'll have a look and see if I can find any of these problems and then try to fix it.

Edit: Ok, I tested it again, and all of the hints work:



The tasks also complete and switch how they should:

And the chopper lands every time it should in the mission.

However, I've found out why the chopper may not land sometimes. Due to the way you've done it with waypoints, the player has to have reached the get in waypoint which is synchronized with the chopper's load waypoint before the chopper will actually land. Therefore, if the player has not already reached that waypoint, the helicopter will not land.

This can easily be fixed by using a script and a few changes. First, change the chopper's load waypoint to a move waypoint and put in it's activation line:
Code: [Select]
null = [] execVM "chopperLand.sqf"Then give it a move waypoint immediately after it with the condition:
Code: [Select]
allInThen change the player's get in waypoint to a move waypoint and synchronize it to a new trigger with the condition:
Code: [Select]
atLZAnd then give the player a get in nearest waypoint immediately after it.

Inside the chopperLand.sqf file, there needs to be the following:
Code: [Select]
atLZ = true;
Helo land "GET IN";
waitUntil {({_x in Helo} count (units grp1)) == count (units grp1)};
allIn = true;

So now it won't rely on the player to have reached the waypoint for the chopper to land. I've attached the version with these fixes to this post. Unfortunately, that's the only way I know how to do this. It's worked for my missions in the past. I hope it's what you're looking for. Everything else appears to be working.


Edit: attachment utilised; removed - WEK
« Last Edit: 09 Oct 2010, 22:29:01 by Walter_E_Kurtz »

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #26 on: 18 Feb 2010, 20:49:37 »
Thank you, Zipper5.  I'm so sorry that your kind offer to help me out with this detail has led to so much busy work for you.  I'm not sure what happened last night when the hints did not appear but the game is not without its ecentricitied and anomalies and I'm sure it'll play though just fine now.  Either way, I appreciate the help and will get out of your hair now as I just playtest it a few times before releasing it...with a big thank you to you, the other participants in this thread and OFPEC in the readme!

Offline Zipper5

  • BIS Team
  • ****
Re: [SP] "USMC Village Raid"
« Reply #27 on: 18 Feb 2010, 21:06:17 »
It's no problem at all mate, it's what I signed on to do. Glad you seem to have got it working now, and good luck with releasing it to the public. Are you planning on putting it up for review at OFPEC as well, by any chance? We'd be more than happy to review it for you.

Offline Bahger

  • Members
  • *
Re: [SP] "USMC Village Raid"
« Reply #28 on: 18 Feb 2010, 22:39:11 »
Oh yeah, OFPEC first and foremost.  You guys have made this my home.  In fact, I'm happy to have it reviewed here and have anybody else who want to play it come here to get it.

Offline RangerX3X

  • Members
  • *
  • Ranger, out.
    • RangerX3X
Re: [SP] "USMC Village Raid" [Please Review]
« Reply #29 on: 21 Feb 2010, 05:55:38 »
Hey Bahger,

I gave your mission a run through and here are a few suggestions that I have:

1. Although the zip file is "Village_Raid", you saved the mission with spaces in the name so it unzips as "USMC%20Village%20Raid%20Zipper%20Final.Chernarus". If you place underscores in the save as file name it will not have the %20 garbage in the file name. You have "USMC Village Raid" in the Intel section correctly and it shows up fine in the single player scenario section.

2. The overview pic shows your hud. I took the liberty of DPBO'ing your mission and I took a camera.sqs shot and have attached it to your post that shows the target. Feel free to use it if you like.

3. Your description file has "OnLoadMission = "USMC Village Raid";" which is obviously the same title as your mission. I would suggest using something other than this, such as "OnLoadMission = "Outside Krasnostav...";" or "OnLoadMission = "Waiting to board chopper...";".

4. No intro or outro sequences: This is fine and I am sure that you will develop into these tasks with later missions but please note that sometimes this site will dock you for not having them when reviewing your mission.

5. I would suggest that you name your radio trigger alpha to "Extraction" by placing that in the text field of the trigger, otherwise it just shows "Alpha" on the radio.

6. There are two waypoint carrots constantly visible during the mission: The players S&D waypoint carrot and the waypoint carrot created by using "obj1 setSimpleTaskDestination (getMarkerPos "Khelm");" in your briefing. I would suggest removing that line from your briefing. Even though the S&D waypoint is set to "Never Show", it shows.

7. The first aid system does not work. You can clearly test this by standing on the tarmac waiting for the chopper to pick you up by shooting one of your squad in the back which starts the AIS - Alternative Injury Simulation. No one will come to their aid, not even the medic. This caused me to have to provide first aid throughout the mission play. This is most likely a bug in the game with the modules. No matter how you synch them to a group where the player is the group leader, the AI will not perform the task (unless the AI controls the group leader position).

You can circumvent this issue by having the player as the high commander and the full squad as the high command subordinate. Then they will perform the first aid functions properly. As a suggestion you can break them up into three fire teams as high commader subordinates and have each group with their own first aid modules. Also having First Aid: Action module is redundant; those actions are taken care of in battlefield clearance and simulation modules. Group these to the AI group leader only if you go that route.

8. In the initialization field of the helo you should try "this flyinheight 150" or 200...on leaving the airstrip the helo barely cleared the hanger and on extraction it barely cleared the tree tops...made for some tense moments  :D

9. And as a final suggestion on the mission debrief it said I killed the following civilians: A mongrel, 2 chickens and a rooster. Instead of individually placing the farm animals on the map I would suggest using the Ambient Animals module.

Overall the mission took me about an hour to play. I worked the tree lines and split m guys up into three fire teams, using all three M136 (might consider throwing a Javelin unit in there for fun) units to attack the reinforcements first further south. Once we cleared that out we advanced north into the target area and had some interesting three way fire fights. At the end everyone was dead when we advanced to the radar and blew it up.

Nice mission that created some tactical opportunities. Look forward to more work by you.


Edit: attachment utilised; removed - WEK
« Last Edit: 09 Oct 2010, 22:24:48 by Walter_E_Kurtz »
Ranger, out.