Jump to content
Sign in to follow this  
MWPA

Rewriting my first mission

Recommended Posts

I wasn't going to even attempt to build a mission at first. I went nuts over Operation: Flashpoint many years ago and when the "cti" missions were made I went even nuttier. For a few years I stopped playing computer games (except for a Turkish made medieval game occasionally) to pursue some other goals but recently (this past March) I bought A2:CO. I found all the warfare missions available and while they are excellent. All of them freeze on the Chernarus map. That's my favorite map! So I started learning about scripting and the reason I'm now rewriting this mission is that I finally learned how to pass variables to a script which means I can now use local variables :yay:

The original file (which I'll post if anybody wants to see what not to do when scripting) uses all global variables which means there are tons and tons of repeated scripts... about 15MB worth. For the life of me I couldn't figure out how to pass variables. I'd think to myself: "I passed something but I don't think it was a variable..."

So this is what I'm piecing together: The working title is "Resistance Adventure A0.03" and it's more of a label that a title. My friends and I referred to the Dungeons & Dragons modules we would write when we were kids as "adventures" and this one involves the Resistance.

It uses WICT (which is the star of the show -- the original working title was "WICTfare"). But aside from spawning in allies and enemies I've tried to expand its role. Each town in Chernarus, including the airports; the two factories near Solnichniy and Orlovets; and the TV Station (which will play a role in influencing the civilians in some future version) has an associated WICTbase. The smaller towns have standard infantry spawns while the bases at the larger towns, factories and airports spawn in a greater variety of units appropriate to its location (the airports have two bases, one for aircraft, one for special forces). Since WICT uses markers any command that affects markers (setMarkerColor, setMarkerText, etc.) can affect the nature of the base from who owns it, to what it spawns in, or whether or not it even exists (deleteMarker). This is controlled from a bunker within that location, each with a folding table that gives roost to desktops and satellite phones that "addActions" those abilities to the player (it was trying to figure out removeAction that led me to understand local variables; the tables and accessories are a proud nod to my WW2Online days). However it takes more than just fighting your way into a bunker and working the accessories... it costs money.

That's where RUG Inventory comes in. Anyone who has tried it knows that you can run code from any inventory object. The object doesn't even have to exist. It can simply be an image in the interface. Purchase it, click it, and the code runs. That means any code (I think). So aside from soldiers, weapons, and vehicles, you can also purchase...

A Mando Missiles Air Support Console! There might have to be a vanilla or CO version because I'm calling in Hexagon's Mirages as well as aircraft from Gnat, GLT, and more. And even if you can afford to pay for all that air support (I haven't even touched integrating RUG Inventory with Mando Missiles ASC but since any code can be run from an RI_object (RI for RUG Inventory)) surely you can't just run around Chernarus calling it in, first you have to achieve rank.

You start off at the rank of private with skill levels at .5 across the board. Assuming an effective player will amass RI_money, rank can be purchased as well as increases to skill levels. This is to make it a little more "gamey." I was thinking of having various "power ups" (not rank though) spawning in around perceptive players but that might be a little too Super Mario. However when I learn how to manipulate the Description.ext that might become optional. This is, in a way, based on the Evolution missions and while I never played them, reading the description of those missions while wondering how to keep the game from getting stagnant made me think, "Oh yeah, rank." So there you go.

In addition to the friends and enemies WICT will spawn in are the garrisons and patrols that are spawned in by triggers at each location that has a WICTbase. At the moment the file loaded from Init.sqf that spawns in the spawn triggers is roughly 4300 lines long. I didn't mention yet who your enemies and allies are. The insurgents hold Chernarus so there are no need for Opfor triggers. The 4300 line long monstrosity summons six triggers for each group of soldiers (up to five groups per location). There are three different trigger types for both "guer" and "west." One spawns the group in, another changes its behavior based upon detection, and the last kills off the group if the activating units leave the area. I didn't count but that's a lot of triggers. I'm thinking of attaching a trigger to the player, which is how I suspect CreoBellum's (sorry if I spelled it wrong) unit caching script works. Which leads to...

CreoBellum's Unit Caching Script as well as the CreoBellum Relaxed AI Script. If the enemy doesn't detect you, you get to watch them smoke invisible cigarettes and do push-ups from the shadows.

There's also Bon's Unit Recruitment Script which is used to spawn soldiers into the player's group. The limit is rank based (that works) as well as the selection of soldiers (that doesn't). Bon's Artillery Script comes with WICT as well as the "f" Multi Player Script Suite which I haven't looked into. Unfortunately RUG Infantry only works in single player so it's a single player mission. If an experienced scripter can modify it to work in multiplayer then this could become much more interesting.

So it's 4:15 AM. All of this was written from memory so if I post the mission in its current state (not tonight though, too zonked) and you spot an add-on or script I didn't mention please don't think it's a sign of disrespect. I'm modifying the scripts and I should be done in a week or two with a respectable alpha (right now it's not quite alpha or pre-alpha, more pre-alfalfa with the hair sticking up). I'm just glad to finally know what _this is. Now, a goodnight to all and off the bed before my face smashes into the keyboard.

Share this post


Link to post
Share on other sites

I'm happy you've decided to use RUG Inventory, first of all, especially like this: there's no rule saying anywhere you HAVE to use it just to simulate all the cigs you're carrying around, you can also use it for something completely abstract. So good on you! If you have any questions or need any help, feel free to contact me here or over at OFPEC at any time :)

Unfortunately RUG Infantry only works in single player so it's a single player mission. If an experienced scripter can modify it to work in multiplayer then this could become much more interesting.

I have absolutely no idea how RUG Inventory would work in an MP environment, if it'd work at all. The biggest problems I foresee are things like managing containers anyone can access, managing -simultaneous- access of these containers (so two people don't pick up the same item), and finally trading/bartering items between two players. However if it's just used as an abstract and entirely individual inventory, then I think it -might- work out all right with a minimum of editing. But don't look at me: I don't know MP scripting at all!

Anyway, good luck with this mission, it sounds epic :)

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Thanks Wolfrug. I still have a lot to learn but each addon script teaches me something new. I think I might have figured out why my computer freezes when playing any kind of Warfare mission on Chernarus. I have two 1TB HDDs striped together in a basic RAID array so it amounts to a 2TB HDD... completely unpartitioned :o Reading through some island making guides (the parts that teach preparation) leads me to think that this is a major bottleneck and I'm hamstringing myself.

On a positive note, if after I create some partitions this problem is resolved then I can rebuild this mission in its original form. Originally I wanted to use the Warfare module. The Resistance was hostile to both East and West (who are still hostile towards one another) and hunted by both as they conduct their war in Chernarus. As East and West use the Warfare economy, RUG Inventory provides a very versatile underground, Black Market economy. Since the Resistance also has an HQ and all the same base building benefits East and West enjoy, the Reisitance can convert RI_money to Warfare money and vice versa. Set up like this the Resistance player doesn't have to possess towns or even a base, all he has to do is stash the HQ vehicle somewhere safe and then go cause havoc on his "oppressors." Even if the HQ is lost the player can buy another from the Underground using RI_money.

Russia represents the East and the USA represents the West. It takes place on September 13th 2019 (a Friday) so I can make up any background story I like. NATO is dissolved and both former superpowers are feeling really lonely as far as allies go. Thus, the British, French, German, Swedish, and any other nation represented in the game can become a supplier of weapons and vehicles for the Resistance. You just have to buy your way to the appropriate contacts by paying off civilian sympathizers. I plan on having many opportunities for the player to earn RI_money by performing tasks for Resistance leaders (until the player finally becomes Resistance commander) so the player can potentially defeat his enemies without conducting the same kind of warfare East and West are limited to. My head is literally swimming with ideas (right now I'm thinking of how the player can purchase information from civilian spies about troop and possible enemy base locations).

That's what I love about Arma and OFP, thinking about its potential is just as exciting as playing the game. Thanks again! :)

Share this post


Link to post
Share on other sites

This sounds like something I tried to create a long time ago, but I kept running into problems. Then at some point the real world crept in and stopped me from finishing it. I really hope to see your project see the light of day. It sounds great.

Share this post


Link to post
Share on other sites

Thanks. A lot of the stuff I'm having problems with I'm finding alternatives for. I'm testing the re-re-re-rewriting of this right now. There are just a few more features I'd like to add and few things I want to figure out. Getting close :)

Share this post


Link to post
Share on other sites

Hi MWPA,

all the best with your mission, mma console and WICT seem like a perfect fit (to bring the real World in Conflict feeling ;)

Cheers

Crusader

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  

×