Jump to content
Sign in to follow this  
Crimson_Raptor

Working with Sahrani Seize the Base City (Coop 20)

Recommended Posts

I've been trying to figure out how to edit the stock Sahrani Island Mission 06: Seize the Base (Coop 20) for the past 3 years. I have been unsucessful in finding a pbo extracter that works with this particular mission.

When I had tried to find editing tips for this mission back in the day, it seems no "hardcore" players liked it, but in our gaming center, is was the easiest start-up, drop-in, tactical combat mission ever made (yet it seemed so simple).

The way you start out marching up to the frontline, yet have a handful of vehicles, and several cratefuls of weaponry to use, it was easy to setup the bots, or other players to begin combat and for people to learn how to play the game and still fun. In the past 3 years I have only been able to beat the mission twice with only myself and 9 other bots (the other 10 get slaughtered with or without my help), but I always ended up with me being the only survivor.

I'm rambling a little bit, so basically I want to know if any one has extracted the pbo of this mission "mp01seizethecity.sara.pbo" the 177kb file?

Share this post


Link to post
Share on other sites

I tired to even put a copy of the "mp01seizethecity.sara.pbo" file in the mpmission saved and mpmissions in the my documents arma folders to no avail.

I've tried Kegetys's ArmaTools Version: 7.7.2010 http://www.armaholic.com/page.php?id=411 and his pbo extracter doesn't seem to work even when associating it with windows explorer. By default Arma2:OA seems to like those files for some reason. Course when you open it says can not find content "Sara" as in the Sara map in Arma.

Maybe all I need is a link to a pbo extractor that works! I've had no luck searching.

---------- Post added at 08:42 PM ---------- Previous post was at 07:07 PM ----------

I got it! Thank the matrix for Armaholic.com!

Voyager & Flea's PBO View dated June 7th, 2007! To think I had to go that far back to find one that worked with the stock files, that's almost ridiculous.

http://www.armaholic.com/page.php?id=1434

Unfortunately there are a lot more files in this pbo then a simple mission.sqm. I udnerstand all the different language briefings but there a few I don't get what they do for the mission:

MP01.paa (I think this is a misson/level selection picture that shows up ingame but not for sure)

$PREFIX$ (Doesn't have an extension so I couldn't open it, don't really know if it's needed then.)

init.sqs (all it contains is the following code but isn't this a stock game action to fade into the next player?)

titleCut ["","BLACK IN", 3]

outro.sqs (a little more in grossed, here's a code box)

_camera = "camera" camCreate [8388.39,4348.80,0.74] 
_camera cameraEffect ["internal","back"]

enableRadio false

;=== 15:42:01
_camera camPrepareTarget [-24022.59,99148.51,-9349.68]
_camera camPreparePos [9469.71,5397.70,31.56]
_camera camPrepareFOV 0.486
_camera camCommitPrepared 0
@camCommitted _camera

;=== 15:42:53
_camera camPrepareTarget [-49753.71,84931.73,-13721.95]
_camera camPreparePos [9625.73,5664.28,60.66]
_camera camPrepareFOV 0.312
_camera camCommitPrepared 12
@camCommitted _camera

player cameraEffect ["terminate","back"]
camDestroy _camera

over = true
publicVariable "over"

handsUp.sqs (an animation text file? Very odd, yet looks like it sets all the "Zbrane" or enemies to careless, yet why was that not just down in the editor? Very strange reason to have this file.)

_zbrane = weapons _this
_zbraneMax = count _zbrane

_this setBehaviour "Careless"
_this setUnitPos "Up"
_this setCaptive true

_i = 0;
#LOOP
? _i >= _zbraneMax : goto "ANIMATION"

_this action ["DropWeapon", _this,_zbrane select _i]
@count weapons _this ==  count _zbrane - _i

_i = _i + 1
goto "LOOP"

#ANIMATION
_this playMove "AmovPercMstpSsurWnonDnon"
_x = random 30
? _x < 10 : _x = 10
~_x

description.ext (something to do with multiplayer maybe?)

respawn="group";

onLoadMission=$STR_MP_M01n01;

class Header
{
 gameType = Coop;
 minPlayers = 1;
 maxPlayers = 20;
};


statsColumn=9;

coefLoser=0;
coefEnd1=3;
coefEnd2=0;
coefEnd3=0;
coefEnd4=0;
coefEnd5=0;
coefEnd6=0;

bombing.sqf (these two "bombing" files have something to do with the ags30 grenade launcher soldier that has him maybe "randomly" fire over where we thinks the enemy is at rather than accurately fire when in sight?)

_x = Random 30;
if (_x < 15) then {_x = 15};
sleep _x;

while {count magazines ag1 > 1} do {
_targets = count list wstList;
if (_targets > 0 and _targets < 5) then {
	h1 setpos getpos (list wstList select 0);
	_oldPosH1 = getPos H1;
	ag1 doTarget h1;
	while {(ag1 ammo "ags30" < 1) or (tady < 8)} do {
		h1 setpos [50 + (_oldPosH1 select 0) - (random 100), 50 + (_oldPosH1 select 1) - (random 100), _oldPosH1 select 2];
		sleep 0.5;
		ag1 fire "ags30";
		sleep Random 4;
	};
};
if (_targets > 5 and _targets < 12) then {
	h1 setpos getpos (list wstList select 1);
	h2 setpos getpos (list wstList select 8);
	_oldPosH1 = getPos H1;
	_oldPosH2 = getPos H2;
	ag1 doTarget h1;
	ag2 doTarget h2;
	while {(ag1 ammo "ags30" < 1) or (tady < 8)} do {
		h1 setpos [50 + (_oldPosH1 select 0) - (random 100), 50 + (_oldPosH1 select 1) - (random 100), _oldPosH1 select 2];
		sleep 0.5;
		ag1 fire "ags30";
		sleep Random 3;
		h2 setpos [50 + (_oldPosH2 select 0) - (random 100), 50 + (_oldPosH2 select 1) - (random 100), _oldPosH2 select 2];
		sleep 0.5;
		ag2 fire "ags30";
		sleep Random 3;
	};
};
if (_targets >= 12) then {
	h1 setpos getpos (list wstList select 2);
	h2 setpos getpos (list wstList select 8);
	h2 setpos getpos (list wstList select 14);
	_oldPosH1 = getPos H1;
	_oldPosH2 = getPos H2;
	_oldPosH3 = getPos H3;
	ag1 doTarget h1;
	ag2 doTarget h2;
	ag2 doTarget h3;
	while {(ag1 ammo "ags30" < 1) or (tady < 8)} do {
		h1 setpos [50 + (_oldPosH1 select 0) - (random 100), 50 + (_oldPosH1 select 1) - (random 100), _oldPosH1 select 2];
		sleep 0.5;
		ag1 fire "ags30";
		sleep Random 3;
		h2 setpos [50 + (_oldPosH2 select 0) - (random 100), 50 + (_oldPosH2 select 1) - (random 100), _oldPosH2 select 2];
		sleep 0.5;
		ag2 fire "ags30";
		sleep Random 3;
		h3 setpos [50 + (_oldPosH3 select 0) - (random 100), 50 + (_oldPosH3 select 1) - (random 100), _oldPosH3 select 2];
		sleep 0.5;
		ag3 fire "ags30";
		sleep Random 3;
	};
};
sleep 4
};

bombing.sqs

_x = Random 30
? _x < 15 : _x = 15
~_x

_targets = count list wstList



? _targets >= 1 : h1 setpos getpos (list wstList select 0)
? _targets >= 2 : h2 setpos getpos (list wstList select 1)
? _targets >= 3 : h3 setpos getpos (list wstList select 2)

_oldPosH1 = getPos H1
_oldPosH2 = getPos H2
_oldPosH3 = getPos H3

ag1 doTarget h1
ag2 doTarget h2
ag3 doTarget h3

#LOOP

? (ag1 ammo "ags30" < 1) or (tady == 8) : goto "SKIP"

h1 setpos [50 + (_oldPosH1 select 0) - (random 100), 50 + (_oldPosH1 select 1) - (random 100), _oldPosH1 select 2]
~0.5
ag1 fire "ags30"

~Random 2

h2 setpos [50 + (_oldPosH2 select 0) - (random 100), 50 + (_oldPosH2 select 1) - (random 100), _oldPosH2 select 2]
~0.5
ag2 fire "ags30"

~Random 2

h3 setpos [50 + (_oldPosH3 select 0) - (random 100), 50 + (_oldPosH3 select 1) - (random 100), _oldPosH3 select 2]
~0.5
ag3 fire "ags30"


goto "LOOP"

#SKIP

Any help is greatly appreciated!

Edited by Crimson_Raptor

Share this post


Link to post
Share on other sites

- the paa file should be the title image.

- im not sure what the prefix thing means.

- the init.sqs is a script that automatically activates when the mission starts, and in this case it seems that they used it to create a sort of mini-intro.

- the outro.sqs is a script that most likely activates when you finish the mission and most likely will activate the outro video-thingy.

- the handsup.sqs seems to be used to make a unit drop his gun and put his hands up, so i would check how this script is activated in the mission (probably using a trigger).

-the description.ext file is another one of those default files (like the init.sqs), only this one isnt a script,and it is used to define some stuff and it is used mostly for multiplayer missions i think.

the respawn thing means that if you are killed you will take control of any remaining ai unit and if there is no remaining ai you will be taking control of a seagull.

the onloadmission thing defines the name of the mission (in this case this might be some code of BIS to make the mission show up differently from user created missions).

Those next three things define the mission as a coop (which helps with filtering the mission online), and the minimum and maximum amount of players.

And about all the other things in it i am not sure what they mean.

- the bombing.sqf file is another script (function actually, its a different programming language then the sqs files) , the bombing.sqs file seems to do the same as the bombing.sqf file, they are just written in different programming languages.

Your guess that they have something to do with the targetting of an ags-30 might be correct, again i would recommend you checking out how they rae activated.

And here's some further reading,

http://community.bistudio.com/wiki/Description.ext

and taken from the bohemia interactive wiki (too small a text to post the entire link)

The init.sqs file is loaded automatically by the Operation FlashPoint engine when the mission begins. The file resides in the root of the mission directory.

The init.sqs file is a good place to load scripts, and variables before the mission begins.

Note: you can also use a init.sqf instead of init.sqs

Share this post


Link to post
Share on other sites

Awesome! Thank you so much, that really helped me understand what everything meant.

Looks like a description.ext is needed to be able to respawn within a defined group. You can change the max players up and down so it shows right in the multiplayer screen within the file.

Also I added the following into each init file of the playable units: OurG2 = group this;

That told the game that you can spawn within those selected units as a group.

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  

×