Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Offline Db.  
#1 Posted : Sunday, May 25, 2014 1:23:18 AM(UTC)
Db.
Private
Joined: 7/27/2013(UTC)
Posts: 3

Was thanked: 3 time(s) in 2 post(s)
Hey! The title is pretty much self explanatory. I'll try to be as descriptive as I can, but this guide is for advanced worldbuilders. If you are having trouble understanding all these, Check out EA's Worldbuilder Manual to learn the basics (On a side note, if you read this, you are probably a hardcore fan given that the game was published 7 years ago so you are probably an advanced user of worldbuilder anyway!Big Smile )
You will need to have MOD SDK and every extra file it needs but luckily it is available in cnc labs.

All right, First head into the directory of your map (for Windows 7 users: C:/Users/Username/AppData/Roaming/Command & Conquer 3: Tiberium Wars/Maps)

Once there, create an STR file and name it "map.str". In the file, write down the texts in this form:

SCRIPT:<name>
"Text"
End

I recommend the following for the primary objectives:

SCRIPT:Taara_Objective_1
"Text"
End

And this for bonus objectives:

SCRIPT:Taara_Bonus_Objective_1
"Text"
End

Afterwards open the file named "overrides.xml" using your text editor

Copy+paste this form:


<?xml version="1.0" encoding="UTF-8"?>
<AssetDeclaration
xmlns="uri:ea.com:eala:asset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Tags/>
<Includes>

</Includes>

<MissionObjectiveList id="MissionObjectives">
<MissionObjectiveTag
Script="<name>(example:SCRIPT:Taara_Objective_1)"
Description="<name>(example:SCRIPT:Taara_Objective_1_Detail)">
<PresentationSettings
ID="<id>(example:Taara_Obj_1)"
Dialog="<name>"
CameraFieldOfViewVariance="0">
<Duration><time in seconds>(example:8.0s)</Duration>
<CameraStartAngle>25d</CameraStartAngle>
<CameraEndAngle>-25d</CameraEndAngle>
<CameraFieldOfView>35d</CameraFieldOfView>
</PresentationSettings>
</MissionObjectiveTag>
</MissionObjectiveList>











</AssetDeclaration>



This is exactly the form you need. You don't need to change the id of the mission objective list nor the camera angle (you can change the angle however if you want to). Where there is <name> replace it with the name of the text in the map.str. Naturally the parentheses are there only to help in understanding and need not to be in the overrides file. In <time in seconds> you put the time the satellite view is going to last. In <id> just put something of your choice. The dialog is the trickiest. Usually you should leave this blank. It determines the words the announcer says when the satellite view for the objective is on (example: GDI First mission first objective: [This outpost was abandoned many years ago after its strategic value waned...] MGPr_EVA01).

Most of the times you won't remember which dialog is which through its coding. In that case you have to use the following script action:

Audio->Sound Effect->Play a Sound Effect as if it were an EVA event->Sound.

Once there try to find the sound in the list of the available sounds (to make things easier: The M means Mission The G means GDI campaign, A is for Scrin and N is for Nod. Pr is the theater and the mission, in this case prologue. But if you need a dialog from the second mission of the third theater of war NOT counting prologue, you should search for MG32. Then find the EVA quotes for the mission (example MN11_EVA2,MN11_EVA3 etc.) and listen them until you find the correct) Once you find it, copy its name to the dialog field.

So your first primary objective would look like this in the overrides xml:

<?xml version="1.0" encoding="UTF-8"?>
<AssetDeclaration
xmlns="uri:ea.com:eala:asset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Tags/>
<Includes>

</Includes>

<MissionObjectiveList id="MissionObjectives">
<MissionObjectiveTag
Script="SCRIPT:Taara_Objective_1"
Description="SCRIPT:Taara_Objective_1_Detail">
<PresentationSettings
ID="Taara_Obj_1"
Dialog="MN21_NodEVA11"
CameraFieldOfViewVariance="0">
<Duration>8.0s</Duration>
<CameraStartAngle>25d</CameraStartAngle>
<CameraEndAngle>-25d</CameraEndAngle>
<CameraFieldOfView>35d</CameraFieldOfView>
</PresentationSettings>
</MissionObjectiveTag>
</MissionObjectiveList>











</AssetDeclaration>

And there you have half of the work!

If you want a bonus objective (then, like me you are a perfectionistSmile ) you need to add one thing:

IsBonusObjective="true"> right before the presentation settings

so it would look like this:

<MissionObjectiveTag
Script="SCRIPT:Taara_Bonus_Objective_1"
Description="SCRIPT:Taara_Bonus_Objective_1_Detail"
IsBonusObjective="true">
<PresentationSettings
ID="Taara_B_Obj_1"
Dialog=""
CameraFieldOfViewVariance="0">
<Duration>4.0s</Duration>
<CameraStartAngle>25d</CameraStartAngle>
<CameraEndAngle>-25d</CameraEndAngle>
<CameraFieldOfView>35d</CameraFieldOfView>
</PresentationSettings>

</MissionObjectiveTag>

Now for a second objective, just add a second Field like the previous ones before the end of MissionObjectivesList.

(On a side note don't worry if you get anything wrong. Aside from being really advanced stuff, the map compilation ( we'll cover this later) will find any mistakes.)
For example , this is the form of the overrides file with two primary objectives (one has a dialog) and one bonus objective:

<?xml version="1.0" encoding="UTF-8"?>
<AssetDeclaration
xmlns="uri:ea.com:eala:asset"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Tags/>
<Includes>

</Includes>

<MissionObjectiveList id="MissionObjectives">
<MissionObjectiveTag
Script="SCRIPT:Taara_Objective_1"
Description="SCRIPT:Taara_Objective_1_Detail">
<PresentationSettings
ID="Taara_Obj_1"
Dialog="MN21_NodEVA11"
CameraFieldOfViewVariance="0">
<Duration>8.0s</Duration>
<CameraStartAngle>25d</CameraStartAngle>
<CameraEndAngle>-25d</CameraEndAngle>
<CameraFieldOfView>35d</CameraFieldOfView>
</PresentationSettings>
</MissionObjectiveTag>
<MissionObjectiveTag
Script="SCRIPT:Taara_Objective_2"
Description="SCRIPT:Taara_Objective_2_Detail">
<PresentationSettings
ID="Taara_Obj_2"
Dialog=""
CameraFieldOfViewVariance="0">
<Duration>4.0s</Duration>
<CameraStartAngle>25d</CameraStartAngle>
<CameraEndAngle>-25d</CameraEndAngle>
<CameraFieldOfView>35d</CameraFieldOfView>
</PresentationSettings>
</MissionObjectiveTag>
<MissionObjectiveTag
Script="SCRIPT:Taara_Bonus_Objective_1"
Description="SCRIPT:Taara_Bonus_Objective_1_Detail"
IsBonusObjective="true">
<PresentationSettings
ID="Taara_B_Obj_1"
Dialog=""
CameraFieldOfViewVariance="0">
<Duration>4.0s</Duration>
<CameraStartAngle>25d</CameraStartAngle>
<CameraEndAngle>-25d</CameraEndAngle>
<CameraFieldOfView>35d</CameraFieldOfView>
</PresentationSettings>

</MissionObjectiveTag>
</MissionObjectiveList>











</AssetDeclaration>

Now is the second part:
Open the worldbuilder and your mission. Create a script where you will setup your objectives through this action:
Interface-->Objectives-->Hide mission Objective
The set the number of the objective. The first <MissionObjectiveTag...</MissionObjectiveTag> in the overrides.xml is objective #1 (regardless of whether it is a bonus objective or not)
So, in our example since we have two primary and one bonus objective, we need the action three times:


Hide mission objective 1
Hide mission objective 2
Hide mission objective 3


Now you need to link your objectives with structures, units and waypoints in the game. Use the following action in the same script:
Interface-->Objectives-->Link mission objective to (object or waypoint) using presentation settings
Input the number corresponding to the objective and choose the object or waypoint you want. You can link any objective, primary or bonus, with more than one waypoints and objects. For the presentation settings, you will need to input the objective's id (the one you have in the overrides.xml)

So in the same example the script should look something like this:

Hide mission objective 1
Hide mission objective 2
Hide mission objective 3
Set mission objective 1 linked to (named object or waypoint) using (Taara_Obj_1) presentation settings
Set mission objective 2 linked to (named object or waypoint) using (Taara_Obj_2) presentation settings
Set mission objective 3 linked to (named object or waypoint) using (Taara_B_Obj_1) presentation settings
Set mission objective 3 linked to (named object or waypoint) using (Taara_B_Obj_1) presentation settings

The third action is there twice to link the objective with two units, structures or waypoints.
You also need to set a timer to expire in 5 - 6 seconds or so from the beginning of the mission. Then,create a new script. Input this condition:

Timers-->Timer Expired and choose the timer you've set. Then in the actions choose the following:
Interface-->Objectives-->Show mission objective

And choose the first objective. If it's a bonus objective you are ok with this and need no other action in this script, however if it is primary, you need the following action as well:
Interface-->Objectives-->Show satellite view presentation for specified objective
and choose the objective's number
Finally, make another script in which you will set the conditions for the objective to be marked as completed
In "Conditions" choose the condition you want
In "actions if true" use the following:
Interface-->Objectives-->Mark mission objective as completed

If you want your objective to be marked as failed in case for example a specific unit has been destroyed, then you should use this action:
Interface-->Objectives-->Mark mission objective as not completed

Then repeat this procedure for each of your objectives (for all the objectives after the first, you don't need to set a timer but it's better to do so)


Second part=Done!


The third and fastest part: Map Compilation

Head to the MOD SDK files in the game directory and open Buildmap.bat
input your map's name EXACTLY as it appears in the /maps directory
press enter
wait for the program to compile the map (if there is anything wrong, the map will not be compiled but the buildmap.bat will show you the mistake. Then you can head to the map directory and fix it)
And...there! it's done! Your map is ready to be played and has mission objectives just like you wanted.
Go on head into the game and give it a shot.
Thanks for reading!


Sources:

Protcow's objectives tutorial (head down there and complete it step by step if there is something wrong with the steps above:)

You can also download protcow's files but i don't think it is necessary.


That's all folks!

Edited by user Sunday, May 25, 2014 1:26:46 AM(UTC)  | Reason: Not specified

thanks 2 users thanked Db. for this useful post.
CommieDog on 5/25/2014(UTC), Taara on 11/28/2014(UTC)
Sponsor
Offline Taara  
#2 Posted : Friday, November 28, 2014 5:09:18 AM(UTC)
Taara
Private
Joined: 3/25/2011(UTC)
Posts: 13

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
Smile
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.