Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Gaj Ifeco

Registered:
Posts: 22
Reply with quote  #1 
Whats the best way, if any to destroy a Starbase.

I am looking to do it in a RP map.

I would like the ship to remain within a certain range of the base, and as long as the ship remains with the range of the station for a fixed time period, the base will be destroyed
Xavier Wise

Registered:
Posts: 1,141
Reply with quote  #2 
If I am reading this correctly, you want an RP way of destroying a starbase.

Deploy Marines - marines are transported across (teleport/ short range assault boats) from the ship. The ship must maintain distance to evac marines. Marines infiltrate base and deploy explosives/ sabotage systems and steal intel. Ship withdraws marines and leaves as base explodes.

This is similar to something we've done in TSN missions. As you're not going to abandon marines (they aren't going to blow themselves up if they won't be extracted!) then it gives a reason to stay near the base.

__________________
Fleet Captain Xavier Wise - TSN Sabre
Link to TSN RP Community website
ryleyra

Registered:
Posts: 3,009
Reply with quote  #3 
Here's what I did. I had a ship that was able to deploy boarding parties to destroy a base. (I intend to expand it to board enemy ships, but that will take assigning names to the ships and I haven't done that yet)

1) Test the range between the ship and the base. If a flag ("boardParty") has not been set (=0) then set the flag to 1 if it is within 600 meters. Send a message to Comms saying Boarding Parties dispatched. (A popup message could also be used) Start a timer set to 1 second.

2) When the timer expires, check the flag is still set (1 or 2), and the base's shields are greater than 1. If so subtract 5 from the base's shieldState. (not shieldStateFront, as with shielded ships)

3) When the timer expires, the flag is 1, and base shields are down, set the flag to 2. Send a message to Comms telling the ship that boarding parties have returned, and to fire at the base to destroy it. Note that 2) above will continue to set the shields back to 0 if they regenerate.

4) When the enemy base is destroyed (does not exist) and the flag is set, set the flag back to 0.

5) For other bases, use the above with the flags 3 and 4, 5 and 6, and so on. Note the bases must be named. (And so must the player ship)

There are some tweaks that can be made above. In step 3, instead of telling the ship to destroy the base, you can destroy the base using the script. However, this will not result in a satisfying explosion. As an alternative, you can create a mine or mines under the base, which will destroy it. However, this will likely destroy the player ship, especially if it is staying in range to "pick up" the boarding party.

That suggests another tweak, which is that you can make the ship have to be in range to pick up the boarding parties in step 3. Obviously you should NOT use this with the mine idea above. However, you may have the player pick up the boarding parties once shields are down, and then tell the ship to get out of range. Once is it more than 1000 m away, create the mine and destroy the base.

I may decide to do the latter myself, I only just thought of it. [biggrin] I just assumed the boarders used shuttles to return to the ship (or were expendable since they're robots) but I might have it so you have to retrieve them if you want to use them on the next base.

locqust

Avatar / Picture

Registered:
Posts: 70
Reply with quote  #4 
This is something I wrote for transporting survivors and until a certain number were rescued. Along with conditions for moving out of range, shields up etc. You could easily change this to use it plant explosives on a starbase. (And yes you can guess what the scenario is in this mission [wink] )

<event name_arme="ship1 reset not in range notify" id_arme="6585686c-c0bf-4bc6-91c7-878dffc33c2d" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_timer_finished name="reset-transporter1oor" />
<if_variable name="transport1oor" comparator="EQUALS" value="1.0" />
<set_variable name="transport1oor" value="0.0" />
</event>
<event name_arme="ship1 notify in range" id_arme="ec2008f5-4660-4455-9bf4-0346157af100" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_variable name="Player Count" comparator="GREATER_EQUAL" value="1.0" />
<if_variable name="Approach_maru" comparator="EQUALS" value="1.0" />
<if_inside_sphere name="U.S.S Endevour" centerX="71066.0" centerY="0.0" centerZ="77312.0" radius="1000" />
<if_variable name="transport1" comparator="EQUALS" value="0.0" />
<warning_popup_message message="Ship in transporter range" consoles="ECO" />
<set_variable name="transport1" value="1.0" />
</event>
<event name_arme="ship1 in range" id_arme="dab8751d-a5d4-48b1-9159-011b9dd73c6d" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_variable name="Player Count" comparator="GREATER_EQUAL" value="1.0" />
<if_variable name="Approach_maru" comparator="EQUALS" value="1.0" />
<if_distance name1="U.S.S Endevour" name2="Kobayashi Maru" comparator="LESS_EQUAL" value="1000.0" />
<if_client_key value="77" />
<if_variable name="transport1" comparator="EQUALS" value="1.0" />
<set_timer name="transport1" seconds="2" />
<set_variable name="transport1" value="2.0" />
<warning_popup_message message="Transporter room preparing, signaling ship to stand by. " consoles="ECO" />
</event>
<event name_arme="ship1 signal transport" id_arme="27f486e2-edf7-4a43-8e35-da214a8406f9" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_distance name1="U.S.S Endevour" name2="Kobayashi Maru" comparator="LESS_EQUAL" value="1000.0" />
<if_variable name="transport1" comparator="EQUALS" value="2.0" />
<if_timer_finished name="transport1" />
<incoming_comms_text from="Kobayashi Maru">Roger, we standing by and ready for transport.</incoming_comms_text>
<set_variable name="transport1" value="3.0" />
</event>
<event name_arme="ship1 engage transport" id_arme="0b995028-1c05-44a1-a218-ecfdda375edd" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_distance name1="U.S.S Endevour" name2="Kobayashi Maru" comparator="LESS_EQUAL" value="1000.0" />
<if_variable name="transport1" comparator="GREATER_EQUAL" value="3.0" />
<if_client_key value="77" />
<if_object_property property="shieldsOn" name="U.S.S Endevour" comparator="EQUALS" value="0.0" />
<incoming_comms_text from="Transporter room">Bridge, we're initiating beam out.^Please keep the ship in range and shields down^for lock on.</incoming_comms_text>
<warning_popup_message message="Transport Initiated" consoles="EO" />
<set_variable name="transport1" value="4.0" />
<set_timer name="TEvac" seconds="5" />
<set_variable name="Evacabort1" value="0.0" />
</event>
<event name_arme="ship1 transport progress" id_arme="61a94ec6-fe8c-4897-ba2f-a23f7c4d4101" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_variable name="Evac" comparator="GREATER" value="0.0" />
<if_variable name="Evac" comparator="LESS" value="91.0" />
<if_distance name1="U.S.S Endevour" name2="Kobayashi Maru" comparator="LESS_EQUAL" value="1000.0" />
<if_timer_finished name="TEvac" />
<if_object_property property="shieldsOn" name="U.S.S Endevour" comparator="EQUALS" value="0.0" />
<if_variable name="Evacabort1" comparator="NOT" value="1.0" />
<warning_popup_message message="Survivor now onboard" consoles="EO" />
<set_variable name="Evac" value="Evac + 1" />
<set_timer name="TEvac" seconds="5" />
</event>
<event name_arme="ship1 moves out of range" id_arme="eb9c2a76-3e94-410a-9503-2081c1cd74d7" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_variable name="Evac" comparator="GREATER" value="0.0" />
<if_variable name="Evac" comparator="LESS" value="91.0" />
<if_distance name1="U.S.S Endevour" name2="Kobayashi Maru" comparator="GREATER_EQUAL" value="1005.0" />
<if_timer_finished name="TEvac" />
<if_variable name="Evacabort1" comparator="EQUALS" value="0.0" />
<if_variable name="transport1" comparator="EQUALS" value="4.0" />
<incoming_comms_text from="Transporter room">Bridge, we've lost transporter lock.^You need to move back into range.</incoming_comms_text>
<warning_popup_message message="Transporter lock lost" consoles="EO" />
<set_variable name="Evacabort1" value="1.0" />
</event>
<event name_arme="ship1 shields up" id_arme="cf7bb966-af68-408e-8735-0e686e628e84" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_variable name="Evac" comparator="GREATER" value="0.0" />
<if_variable name="Evac" comparator="LESS" value="91.0" />
<if_object_property property="shieldsOn" name="U.S.S Endevour" comparator="EQUALS" value="1.0" />
<if_timer_finished name="TEvac" />
<if_variable name="Evacabort1" comparator="EQUALS" value="0.0" />
<if_variable name="transport1" comparator="EQUALS" value="4.0" />
<incoming_comms_text from="Transporter room">Bridge, we can't transport with^the shields up!</incoming_comms_text>
<warning_popup_message message="Warning! Cannot transport with shields up." consoles="EO" />
<set_variable name="Evacabort1" value="1.0" />
</event>
<event name_arme="ship1 cancel transport" id_arme="26115357-9a04-4283-9db0-6d012440a00b" parent_id_arme="62dbeddc-ec82-40a7-bc86-1ed52214e19e">
<if_variable name="Evac" comparator="GREATER" value="1.0" />
<if_variable name="Evac" comparator="LESS" value="91.0" />
<if_variable name="transport1" comparator="GREATER_EQUAL" value="2.0" />
<if_client_key value="78" />
<if_distance name1="U.S.S Endevour" name2="Kobayashi Maru" comparator="LESS_EQUAL" value="1000.0" />
<incoming_comms_text from="Transporter room">Roger Bridge, cancelling Transport operation.</incoming_comms_text>
<warning_popup_message message="Cancelling Transport operation" consoles="ECO" />
<set_variable name="transport1" value="1.0" />
</event>
<event name_arme="evac completed" id_arme="eee5e72d-2ff8-44a1-8606-90ab72ace129" parent_id_arme="ba3cc9ee-e18c-4563-90bc-5267a930eff7">

<if_variable name="Evac" comparator="EQUALS" value="91.0" />
<incoming_comms_text from="Transporter room">Evacuation completed!</incoming_comms_text>
<set_variable name="Evac" value="92.0" />
</event>

Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.