Jump to content

Newbie to Modding, need help with extraction


Recommended Posts

Guys,

 

Could someone help me with my extraction point as I don't get any pointer to where extraction is once all objectives are done. Have supplied mission script and a bit lost as this has worked before. Any suggestions or advice on the mission script in general would be good also as this is only my second try at doing this.

 

thanks heaps

 

Popey

 

 

 

<?xml version="1

.0" encoding="ISO-8859-1"?>
<!--
This is a basic mission template created by davros for the wiki at graw2.pbwiki.com
Please register and contribute to the community of knowledge on making GRAW2 coop missions

It required you to define the following things in the map editor.
coop_spawn : the initial spawn location for the ghosts
loc_trig01 : the first trigger location - causes the enemy patrol to spawn
loc_trig02 : another location on the map. Displays a message on the screen...up to you to make it do more :)
loc_extraction : the location the ghosts need to get to to extract
Patrol01 : a mexical patrol

=============================================================================================

Mission created by <put your details here> - <date created>
CONTACT ME AT <your contact details> FOR INFORMATION ON THIS MISSION

===========================Infernal==================================================================
-->
<mission_script>
<xi:include href = "/data/levels/common/common.xml#xpointer(/common/*)"/>
<xi:include href = "/data/levels/common/coop_ranks_ogr_quarry.xml"/>
<xi:include href = "/data/levels/common/coop_rules.xml"/>


<!--Set up for the game
==================-->
<event name = "start_mission">


<!--Environment variables wind, smoke etc-->
<element type = "SetWindEnable" value = "true" start_time = "2"/>
<element type = "SetWindDirection" degrees = "90" variation = "30" time = "5" start_time = "4"/>
<element type = "SetWindTilt" degrees = "-5" variation = "15" time = "8" start_time = "6"/>
<element type = "SetWindSpeed" unit = "beaufort" speed = "2" variation = "2" time = "7" start_time = "3"/>
<element type = "SetSpawnLocation" location = "coop_spawn" side = "1" set = "true"/>


<!-- Set triggers and attachables
=======================-->

<element type="StartTrigger" name="t_loc_trig01" start_time = "1"/>
<element type="StartTrigger" name="t_loc_trig02" start_time = "2"/>
<element type="StartTrigger" name="t_loc_trig03" start_time = "3"/>
<element type="StartTrigger" name="t_loc_trig04" start_time = "1"/>
<element type="StartTrigger" name="t_loc_trig05" start_time = "2"/>
<element type="StartTrigger" name="t_loc_trig06" start_time = "3"/>
<element type="StartTrigger" name="t_patrol06_dead" start_time = "2"/>

<element type="StartTrigger" name="t_extraction" start_time = "2"/>


<element type="MakeAttachable" attach="true" vehicle_id="adat01" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="adat02" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="adat03" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="adat04" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="adat05" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="pickup01" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="pickup02" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="pickup03" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="pickup04" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="pickup05" start_time="1"/>
<element type="MakeAttachable" attach="true" vehicle_id="pickup06" start_time="1"/>



DEBUG CODE - Useful for making the ghost invisible/tough for testing the mission
<element type="AlterGroupStats" player_type="team_a" invisible="true" max_health="10000" health="10000" start_time="5"/>


</event>

<!--Location 01
============-->
<trigger name ="t_loc_trig01" interval="2" preserved="false">
<condition type ="UnitInLocation" location ="loc_trig01" player_type = "team_a" greater_than="0"/>
<event name ="e_loc_trig01"/>

</trigger>

<event name = "e_loc_trig01">
<element type = "StopTrigger" name = "t_loc_trig01"/>
<element type="Objective" id="obj1" state="add" headline_id="Destroy Adat01" txt_id="Adat01" waypoint_id="ADAT01" vehicle_id="adat01" start_time="2"/>

<!--Activate the enemy -->

<element type = "ActivateGroup" group_id = "patrol01"/>
<element type = "ActivateGroup" group_id = "sniper01"/>
<element type="ActivateVehicle" vehicle_id="heli01" start_time="5"/>
<element type="OrderHeli" vehicle_id="heli01" order="move" speed="1" up="2400" start_time="10"/>
<element type="OrderHeli" vehicle_id="heli01" order="guard" speed="0.8" position="-25950.9 26668.025 -7487.8184" inner_radius="1600" outer_radius="3000" start_time="5"/>
<element type="ActivateVehicle" vehicle_id="tank01" start_time=".5"/>


</event>

<!--Location 02
============-->
<trigger name ="t_loc_trig02" interval="2" preserved="false">
<condition type ="UnitInLocation" location ="loc_trig02" player_type = "team_a" greater_than="0"/>
<event name ="e_loc_trig02"/>
</trigger>

<event name = "e_loc_trig02">
<element type = "StopTrigger" name = "t_loc_trig02"/>
<element type="Objective" id="obj2" state="add" headline_id="Destroy Adat02" txt_id="Adat02" waypoint_id="ADAT02" vehicle_id="adat02" start_time="2"/>
<element type = "SetSpawnLocation" location = "coop_spawn" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn01" side = "1" set = "true"/>
<element type="ShowMessage" msg="Damn New orders .......... We have to eliminate ALL baddies and adats before we go home" kind="splash" pause="10"/>


<!--Activate the enemy -->

<element type = "ActivateGroup" group_id = "patrol02"/>
<element type = "ActivateGroup" group_id = "sniper02"/>


</event>


<!--Location 03
============-->
<trigger name ="t_loc_trig03" interval="2" preserved="false">
<condition type ="UnitInLocation" location ="loc_trig03" player_type = "team_a" greater_than="0"/>
<event name ="e_loc_trig03"/>
</trigger>

<event name = "e_loc_trig03">
<element type = "StopTrigger" name = "t_loc_trig03"/>
<element type="Objective" id="obj3" state="add" headline_id="Destroy Adat03" txt_id="Adat03" waypoint_id="Adat03" vehicle_id="adat03" start_time="2"/>
<element type = "SetSpawnLocation" location = "coop_spawn" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn01" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn02" side = "1" set = "true"/>
<element type="ShowMessage" msg="Damn New orders .......... We have to eliminate ALL baddies and adats before we go home" kind="splash" pause="10"/>

<element type="Objective" id="obj4" state="add" headline_id="Destroy pickup" txt_id="pickup" waypoint_id="pickup" vehicle_id="pickup03" start_time="1"/>
<element type="Objective" id="obj5" state="add" headline_id="Destroy pickup" txt_id="pickup" waypoint_id="pickup" vehicle_id="pickup04" start_time="1"/>
<element type="Objective" id="obj6" state="add" headline_id="Destroy pickup" txt_id="pickup" waypoint_id="pickup" vehicle_id="pickup05" start_time="1"/>
<element type="Objective" id="obj7" state="add" headline_id="Destroy pickup" txt_id="pickup" waypoint_id="pickup" vehicle_id="pickup06" start_time="1"/>


<!--Activate the enemy -->

<element type = "ActivateGroup" group_id = "patrol03"/>
<element type = "ActivateGroup" group_id = "sniper03"/>



</event>

<!--Location 04
============-->
<trigger name ="t_loc_trig04" interval="2" preserved="false">
<condition type ="UnitInLocation" location ="loc_trig04" player_type = "team_a" greater_than="0"/>

<if_all>
<condition type="VehicleDestroyed" vehicle_id="pickup03" equal="1"/>
<condition type="VehicleDestroyed" vehicle_id="pickup04" equal="1"/>
<condition type="VehicleDestroyed" vehicle_id="pickup05" equal="1"/>
<condition type="VehicleDestroyed" vehicle_id="pickup06" equal="1"/>
</if_all>

<event name ="e_loc_trig04"/>
</trigger>

<event name = "e_loc_trig04">
<element type = "StopTrigger" name = "t_loc_trig04"/>

<element type="Objective" id="obj8" state="add" headline_id="Destroy Adat04" txt_id="Adat04" waypoint_id="Adat04" vehicle_id="adat04" start_time="2"/>

<element type = "SetSpawnLocation" location = "coop_spawn" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn01" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn02" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn03" side = "1" set = "true"/>
<element type="ShowMessage" msg="Damn New orders .......... We have to eliminate ALL baddies and adats before we go home" kind="splash" pause="10"/>

<!--Activate the enemy -->

<element type = "ActivateGroup" group_id = "patrol04"/>
<element type = "ActivateGroup" group_id = "sniper04"/>


</event>

<!--Location 05
============-->
<trigger name ="t_loc_trig05" interval="2" preserved="false">
<condition type ="UnitInLocation" location ="loc_trig05" player_type = "team_a" greater_than="0"/>
<event name ="e_loc_trig05"/>
</trigger>

<event name = "e_loc_trig05">
<element type = "StopTrigger" name = "t_loc_trig05"/>

<element type="Objective" id="obj9" state="add" headline_id="Destroy Adat05" txt_id="Adat05" waypoint_id="Adat05" vehicle_id="adat05" start_time="2"/>

<element type = "SetSpawnLocation" location = "coop_spawn" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn01" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn02" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn03" side = "1" set = "false"/>
<element type = "SetSpawnLocation" location = "loc_respawn04" side = "1" set = "true"/>
<element type="ShowMessage" msg="Damn New orders .......... We have to eliminate ALL baddies and adats before we go home" kind="splash" pause="10"/>
<element type="Objective" id="obj10" state="add" headline_id="Destroy pickup" txt_id="pickup" waypoint_id="pickup" vehicle_id="pickup01" start_time="1"/>
<element type="Objective" id="obj11" state="add" headline_id="Destroy pickup" txt_id="pickup" waypoint_id="pickup" vehicle_id="pickup02" start_time="1"/>


<!--Activate the enemy -->

<element type = "ActivateGroup" group_id = "patrol05"/>
<element type = "ActivateGroup" group_id = "sniper05"/>



</event>

<!--Location 06
============-->
<trigger name ="t_loc_trig06" interval="2" preserved="false">
<condition type ="UnitInLocation" location ="loc_trig06" player_type = "team_a" greater_than="0"/>
<if_all>
<condition type="VehicleDestroyed" vehicle_id="pickup01" equal="1"/>
<condition type="VehicleDestroyed" vehicle_id="pickup02" equal="1"/>
</if_all>

<event name ="e_loc_trig06"/>
</trigger>

<event name = "e_loc_trig06">
<element type = "StopTrigger" name = "t_loc_trig06"/>

<element type = "SetSpawnLocation" location = "coop_spawn" side = "1" set = "false"/>
<element type="ShowMessage" msg=" Hurry .......... Get to the Extraction" kind="splash" pause="10"/>


<!--Activate the enemy -->

<element type = "ActivateGroup" group_id = "patrol06"/>
<element type = "ActivateGroup" group_id = "sniper06"/>
<element type="ActivateVehicle" vehicle_id="tank02" start_time=".5"/>

</event>

<!--patrol06 all dead
========================-->
<trigger name="t_patrol06_dead" interval="2" preserved="false">
<condition type = "SoldiersKilled" group_id = "patrol06" amount = "all"/>
<event name="e_patrol06_dead"/>
</trigger>

<event name = "e_patrol06_dead">
<element type = "StopTrigger" name = "t_patrol06_dead"/>
<element type="StartTrigger" name="t_loc_extraction" start_time = "1"/>
<element type="Objective" id="obj12" state="add" headline_id="Extraction" txt_id="Extraction" waypoint_id="loc_extraction" waypoint="-12226.104 31777.875 -7487.5376" />
<element type="CreateUnit" unit="efx_hh_zone_smoke" location="loc_extraction" center="true" name_id="smoke_extract1" start_time=".5"/>
<element type="CreateUnit" unit="efx_hh_zone_smoke" location="loc_extraction" center="true" name_id="smoke_extract2" start_time="1"/>
<element type="ColorSmoke" side="1" name_id="smoke_extract1"/>
<element type="ColorSmoke" side="2" name_id="smoke_extract2"/>

<element type="StartTrigger" name="t_extraction" />


</event>

<!--Extraction/End of Game
========================-->

<!--Check to see if players are all in extract location and if so, call e_win to complete the game-->
<trigger name = "t_objectives_complete" interval = "1" preserved = "false">
<condition type="UnitInLocation" location="loc_extraction" player_type="team_a" amount="all"/>
<event name = "e_win"/>
</trigger>

<!--Complete the game-->
<event name = "e_win">
<element type="ShowMessage" msg="Well done ghosts - You won!" kind="splash" start_time="0"/>
<element type = "EndRound" winner_side = "1" reason = "Well done ghosts - Let's go home!" start_time = "5"/>
</event>

<gametype_info name = "enemies_to_kill" value = "1"/>
</mission_script>


<!--Notes and stuff
=================
Coding rules:
Comment your code and then comment some more.
Triggers start with t_
Events start with e_
Locations start with loc_


-->

Edited by popey71
Link to comment
Share on other sites

Hi Popey,

Welcome to the forums.

It's been a long while since I did any scripting but I can see you don't have a location marker to mark your extraction point.

I'm on the iPad at the moment but when I get on the PC (hopefully this evening) I'll check one of my old scripts to see if I can find out what I did.

Sorry I can't help more but I have forgotten how I did this.

John

Link to comment
Share on other sites

Hi Popey,

Had another look at your script and noticed you have setup an extraction objective so I cant quite see why it doesn't work but the code for that objective differs slightly from what I have used.

Here is one of mine:

<element type="Objective" id="obj16" state="add" headline_id="Head To Extraction" waypoint_id="Extract" waypoint="18034.486 8370.5527 1580.3784"/>​

I see you have minus values set in your waypoint, this may be ok depending on the altitude of your extraction point but worth a check.

I used to place a marker at the centre of the extraction point then find that marker in the world.xml and use the values from that for the waypoint.

Again I'm sorry I cant be more help but I've forgotten most of what I used to know about scripting.

You are more than welcome to unbundle any of my missions and use what ever you want for your missions, all I ask is that if you release any of them to the public give credit to me for anything you use in the description.

I wish you well, this modding is not easy,

John

Link to comment
Share on other sites

LOL...

After all...you know how good I was at scripting :shifty:


But John...

Didn't you need a marker to tell you where the extraction point was?

You need it for coordinates, but as I read it, it doesn't say where the extraction point is and for all objectives you need a marker, no?

@Popey: So the games does end when you reach the extraction zone?

Edited by Spik@
Link to comment
Share on other sites

Haha, yeah your scripting was second to none!

If you use a circle as a location you can use the centre of that to pinpoint the waypoint, looking at Popey's code it looks like that is what he is trying to do using the waypoint_id but if I rememer correctly (not forgetting the senile part) these locations have a tendency to bury themselves way below the terrain which can hide the objectives waypoint text.

So yeah I normally used a marker to get the coordinates for the waypoint correct.

All this scripting talk makes it just like old times Spik@.

  • Like 1
Link to comment
Share on other sites

"Second to none...." Oi! No need to be rude now! :boxing:

I am not sure yet, as Popey has not replied yet, but as I understand it, the extraction point works, but does not show up as an objective. I thought (with my second to none scripting knowledge :angry: ) that it might be because an objective (the text/direction) needs more than only a location...

And yes...the good ol' days with brainstorming sessions on new 3dsmax props/buildings and scripting ideas... Good memories.

Link to comment
Share on other sites

Yes! That is good news Popey! :lol:

You will find that scripting for GR:AW2 is a challenge at almost every corner you take (edit: at least it is starting out. Not intended to discourage you in any way! ;) ). Luckily somewhere, in the depths of scripting memories, a few of us will/can be of any assistance.

Like John I am curious on what you did to fix it. :hmm:

Edited by Spik@
Link to comment
Share on other sites

Hi Guys,

I changed the below 2 lines in the script and also redone extraction point in the editor. I think more to do with the script though. I have also edited the above script to show where the lines were put.

Again thanks guys

<element type="StartTrigger" name="t_objectives_complete" start_time = "10"/>   --->      <element type="StartTrigger" name="t_extraction" start_time = "2"/>

<element type="StartTrigger" name="t_objectives_complete" />                    --->                   <element type="StartTrigger" name="t_extraction" />

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...