Jump to content

TRR script - this is what i have so far


Lightspeed
 Share

Recommended Posts

<trr_rules>

<event name="start_game" type="once">

<element type="TriggerRandomEvent" event1="ev_1" chance1="25" event2="ev_2" chance2="50" event3="ev_3" chance3="75" event4="ev_4" chance4="100"

<event name="ev_1">

<element type="SetSpawnLocation" location="trrspawn_01" set="true" side="1"/>

<element type="SetSpawnLocation" location="trrspawn_03" set="true" side="2"/>

</event>

<event name="ev_2">

<element type="SetSpawnLocation" location="trrspawn_02" set="true" side="1"/>

<element type="SetSpawnLocation" location="trrspawn_04" set="true" side="2"/>

</event>

<event name="ev_3">

<element type="SetSpawnLocation" location="trrspawn_03" set="true" side="1"/>

<element type="SetSpawnLocation" location="trrspawn_01" set="true" side="2"/>

</event>

<event name="ev_4">

<element type="SetSpawnLocation" location="trrspawn_04" set="true" side="1"/>

<element type="SetSpawnLocation" location="trrspawn_02" set="true" side="2"/>

</event>

<element type="TriggerEvent" event="mission_specific" start_time="2" />

</event>

<!-- This event is always empty here. It is overridden from the mission.xml file in the specific level folder with mission specific stuff, like

names of places and so on -->

<event name="mission_specific" type="once">

</event>

<!-- ######################################## -->

<!--################# Start Round ############### -->

<!-- ######################################## -->

<event name="start_round" type="once">

<!-- Set sounds for briefings -->

<element type="Calculate">

<store target="winner_counter" source="0" />

</element>

<element type="GetGameData" id="side_1_score" name="_round_kills" side="1" />

<element type="GetGameData" id="side_2_score" name="_round_kills" side="2" />

<element type="SetSideScore" score_a="kill_a" score_b="kill_b" from_var="true" />

<!-- number of spawns per team -->

<element type="GiveLife" side="1" lives="5" frequency="2" />

<element type="GiveLife" side="2" lives="5" frequency="2" />

<element type="AllowSpawn" side="1" when="always" after_start="true" where="random' />

<element type="AllowSpawn" side="2" when="always" after_start="true" where="random" />

<element type="SetSpawnLocation" location="trr_01" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_02" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_03" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_04" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_05" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_06" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_07" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_08" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_09" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_10" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_11" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_12" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_13" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_14" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_15" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_16" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_17" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_18" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_19" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_20" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_21" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_22" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_23" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_24" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_25" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_26" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_27" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_28" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_29" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_30" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_31" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_32" set="true" side="1"/>

<element type="SetSpawnLocation" location="trr_01" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_02" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_03" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_04" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_05" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_06" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_07" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_08" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_09" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_10" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_11" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_12" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_13" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_14" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_15" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_16" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_17" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_18" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_19" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_20" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_21" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_22" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_23" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_24" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_25" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_26" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_27" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_28" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_29" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_30" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_31" set="true" side="2"/>

<element type="SetSpawnLocation" location="trr_32" set="true" side="2"/>

<event name="show_kills" >

<element type="GetGameData" id="side_1_score" name="_round_kills" side="1" />

<element type="GetGameData" id="side_2_score" name="_round_kills" side="2" />

<element type="SetSideScore" score_a="side_1_score" score_b="side_2_score" from_var="true" />

</event>

<!-- Have the Ghosts won by killing ALL the Rebels?

If you play alone, you have to set max_players = 1, or the game will end right away -->

<trigger name="check_all_ghosts_dead" interval="1" preserved="false" >

<condition type="ServerSetting" name="max_players" greater_than="1"/>

<condition type="PlayersNotPermanentlyDead" side="1" equal="0"/>

<condition type="PlayersNotSpawnedYet" side="1" equal="0"/>

<event name="All_ghosts_dead"/>

</trigger>

<!-- Have the Rebels won by killing ALL the ghosts?

If you play alone, you have to set max_players = 1, or the game will end right away -->

<trigger name="check_all_rebels_dead" interval="1" preserved="false" >

<condition type="ServerSetting" name="max_players" greater_than="1"/>

<condition type="PlayersNotPermanentlyDead" side="2" equal="0"/>

<condition type="PlayersNotSpawnedYet" side="2" equal="0"/>

<event name="All_rebels_dead"/>

</trigger>

<event name="All_ghosts_dead" type="once" >

<element type="StopTrigger" name="check_all_ghosts_dead" />

<element type="Calculate">

<add target="winner_counter" source="1" />

</element>

<!-- wait 2 secs so both dead checks can be made before determining the winner team -->

<element type="TriggerEvent" event="Determine_winner" start_time="2" />

</event>

<event name="All_rebels_dead" type="once" >

<element type="StopTrigger" name="check_all_rebels_dead" />

<element type="Calculate">

<add target="winner_counter" source="2" />

</element>

<!-- wait 2 secs so both dead checks can be made before determining the winner team -->

<element type="TriggerEvent" event="Determine_winner" start_time="2" />

</event>

<event name="Determine_winner">

<element type="TriggerEventIfVar" var="winner_counter" equal="1" event = "Rebels_win" />

<element type="TriggerEventIfVar" var="winner_counter" equal="2" event = "Ghosts_win" />

<element type="TriggerEventIfVar" var="winner_counter" equal="3" event = "Nobody_win" />

</event>

<!-- There are 6 different ways that a match can end:

1) Ghosts win by killing all Rebels within gametime ( Ghosts_win)

2) Rebels win by killing all Ghosts within gametime ( Rebels_win )

3) Both Rebels and Ghosts die at the same time within gametime, by a grenade maybe. ( Nobody_win )

4) Gametime is up, Ghosts had more score than Rebels -> ( Ghosts_win_by_score )

5) Gametime is up, Rebels had more score than Ghosts -> ( Rebels_win_by_score )

6) Gametime is up, Rebels and Ghosts had the exact same amount of score. ( Tie_game_by_score ) -->

<!--

in med dessa sen

<string id="all_ghosts_killed" value="The Rebels won this Map!" />

<string id="all_rebels_killed" value="The Ghosts won this Map!" />

<string id="both_teams_killed" value="Both teams were killed at the same time - redo the Map!" />

<string id="game_time_is_up" value="Game time is up" />

<string id="tie_game_by_score" value="Scores are level - Replay this Map!" />

<string id="ghosts_win_by_score" value="Ghosts won ths Map!" />

<string id="rebels_win_by_score" value="Rebels won this Map!" />-->

<event name="Ghosts_win" once="true">

<element type="StopAllTriggers" />

<!-- <element type="ShowMessage" msg="All rebels were killed - Ghosts win!" /> -->

<element type="ShowMessage" member_type="member_a" header="rvsa_victory" msg="Good Work Ghosts - Mission Success!!" kind="splash" />

<element type="ShowMessage" member_type="member_b" header="rvsa_defeat" msg="The Ghosts are too Strong - Mission Failed!!" kind="splash" />

<element type="GivePoints" side="1" points="1"/>

<element type="EndRound" winner_side="1" reason="Rebels victory!" start_time="30" />

</event>

<event name="Rebels_win" once="true">

<element type="StopAllTriggers" />

<!-- <element type="ShowMessage" msg="All ghosts were killed - Rebels win!" /> -->

<element type="ShowMessage" member_type="member_a" header="rvsa_defeat" msg="The Rebels are too Strong - Mission Failed!!" kind="splash" />

<element type="ShowMessage" member_type="member_b" header="rvsa_victory" msg="Well done Rebels - Mission Success!!" kind="splash" />

<element type="GivePoints" side="2" points="1"/>

<element type="EndRound" winner_side="2" reason="Ghosts victory!" start_time="30" />

</event>

<event name="Nobody_win" once="true">

<element type="StopAllTriggers" />

<!-- <element type="ShowMessage" msg="Both teams are dead - replay this Map!" /> -->

<element type="ShowMessage" header="hh_tie_game_header" msg="Both teams are dead - replay this Map!" kind="splash" />

<element type="EndRound" winner_side="0" reason="Tie game!" start_time="30" />

</event>

<!-- This event is called from within the game engine when it wants to force a match to end.

In this case it's called when the total gametime is up, and it enables us to give points to

different teams and players -->

<event name="Tie_game_by_score" once="true" >

<element type="StopAllTriggers" />

<!-- <element type="ShowMessage" msg="Game time is up - tie game by score!"/> -->

<element type="ShowMessage" header="hh_tie_game_header" msg="The Kill Scores are tied - Replay this Map!!" kind="splash" />

<element type="EndRound" winner_side="0" reason="Game time is up - tie game by score!" start_time="30" />

</event>

<event name="Ghosts_win_by_score" once="true" >

<element type="StopAllTriggers" />

<!-- <element type="ShowMessage" msg="Game time is up - ghosts win by score!" /> -->

<element type="ShowMessage" member_type="member_a" header="rvsa_victory" msg="Good Work Ghosts - Mission Success!!" kind="splash" />

<element type="ShowMessage" member_type="member_b" header="rvsa_defeat" msg="The Ghosts are too Strong - Mission Failed!!" kind="splash" />

<element type="GivePoints" side="1" points="1"/>

<element type="EndRound" winner_side="1" reason="Game time is up - ghosts win by score!" start_time="30" />

</event>

<event name="Rebels_win_by_score" once="true" >

<element type="StopAllTriggers" />

<!-- <element type="ShowMessage" msg="Game time is up - rebels win by score!" /> -->

<element type="ShowMessage" member_type="member_a" header="rvsa_defeat" msg="The Rebels are too Strong - Mission Failed!!" kind="splash" />

<element type="ShowMessage" member_type="member_b" header="rvsa_victory" msg="Well done Rebels - Mission Success!!" kind="splash" />

<element type="GivePoints" side="2" points="1"/>

<element type="EndRound" winner_side="2" reason="Game time is up - rebels win by score!" start_time="30" />

</event>

<event name="Check_winner_by_score">

<element type="TriggerEventIfVar" var="side_1_score" greater_than="side_2_score" event="Ghosts_win_by_score" else_event="Rebels_win_by_score"/>

</event>

<event name="Check_winner_by_deaths">

<element type="TriggerEventIfVar" var="side_1_deaths" greater_than="side_2_deaths" event="Rebels_win_by_score" else_event="Ghosts_win_by_score"/>

</event>

<event name="Tie_by_score_check_deaths">

<element type="GetGameData" id="side_1_deaths" name="_round_death" side="1" />

<element type="GetGameData" id="side_2_deaths" name="_round_death" side="2" />

<element type="TriggerEventIfVar" var="side_1_deaths" equal="side_2_deaths" event="Tie_game_by_score" else_event="Check_winner_by_deaths"/>

</event>

<event name="end_round">

<element type="GetGameData" id="side_1_score" name="_round_kills" side="1" />

<element type="GetGameData" id="side_2_score" name="_round_kills" side="2" />

<element type="TriggerEventIfVar" var="side_1_score" equal="side_2_score" event="Tie_by_score_check_deaths" else_event="Check_winner_by_score" />

</event>

<!-- ###### Lightspeed@GR.Net GRAW2 TRRs 2007 v1.1 ################## -->

</tdm_rules>

Let me know if it looks alright - at this stage I think th emain concern is the position of the Random Respawns - are they in the right spot on the script? And also will prolly have to make individual spawns for each team.

Link to comment
Share on other sites

I'll take a close look at it later. Got to get something to eat.

EDIT: I guess you haven't tried it yet as the last line is wrong.

</tdm_rules> doesn't match <trr_rules> in the first line. ;)

EDIT2: The first random element is missing /> at the end.

EDIT3: The events called "ev_1", "ev_2", "ev_3" & "ev_4" are inside the "start_game" event. Events can never be inside another event.

EDIT4: <element type="AllowSpawn" side="1" when="always" after_start="true" where="random' /> has an error in that the last " is an '. I also wouldn't add all the respawn zones so soon in the script. I'd delay it 10-15 seconds so that everyone first have time to spawn in their "base" location. I also noticed that you never turn off the base location, which will include it in the random spawn calculations. Maybe that is part of your plan, I don't know. Just felt I should point that out.

The "start_round" event also have no end tag.

EDIT5: You never start the "check_all_ghosts_dead" and "check_all_rebels_dead" triggers so they will never start doing their checks.

EDIT6: There is nothing that triggers the "show_kills" event. So it is never used.

Link to comment
Share on other sites

Ok. This may work better. I've fixed all the problems listed above. May still be some syntax error somewhere as I haven't looked at every " and /.

<trr_rules>

	<event name="start_game" type="once">

		<element type="TriggerRandomEvent" event1="ev_1" chance1="25" event2="ev_2" chance2="50" event3="ev_3" chance3="75" event4="ev_4" chance4="100" />

		<element type="TriggerEvent" event="mission_specific" start_time="2" />

	</event>


	<event name="ev_1">

		<element type="SetSpawnLocation" location="trrspawn_01" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trrspawn_03" set="true" side="2"/>

	</event>


	<event name="ev_2">

		<element type="SetSpawnLocation" location="trrspawn_02" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trrspawn_04" set="true" side="2"/>

	</event>


	<event name="ev_3">

		<element type="SetSpawnLocation" location="trrspawn_03" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trrspawn_01" set="true" side="2"/>

	</event>


	<event name="ev_4">

		<element type="SetSpawnLocation" location="trrspawn_04" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trrspawn_02" set="true" side="2"/>

	</event>


	<event name="mission_specific" type="once">

	</event>


	<!-- ######################################## -->

	<!--################# Start Round ############### -->

	<!-- ######################################## -->

	<event name="start_round" type="once">

		<element type="Calculate">

			<store target="winner_counter" source="0" />

		</element>


		<element type="GetGameData" id="side_1_score" name="_round_kills" side="1" />

		<element type="GetGameData" id="side_2_score" name="_round_kills" side="2" />

		<element type="SetSideScore" score_a="kill_a" score_b="kill_b" from_var="true" />


		<!-- number of spawns per team -->

		<element type="GiveLife" side="1" lives="5" frequency="2" />

		<element type="GiveLife" side="2" lives="5" frequency="2" />


		<element type="AllowSpawn" side="1" when="always" after_start="true" where="random" />

		<element type="AllowSpawn" side="2" when="always" after_start="true" where="random" />


		<element type="StartTrigger" name="sync_kills" start_time="1" />		

		<element type="StartTrigger" name="check_all_ghosts_dead" start_time="5" />

		<element type="StartTrigger" name="check_all_rebels_dead" start_time="5" />


		<element type="TriggerEvent" event="activate_respawns" start_time="15" />

	</event>


	<event name="activate_respawns" type="once">

		<element type="SetSpawnLocation" location="trr_01" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_02" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_03" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_04" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_05" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_06" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_07" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_08" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_09" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_10" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_11" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_12" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_13" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_14" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_15" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_16" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_17" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_18" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_19" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_20" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_21" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_22" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_23" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_24" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_25" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_26" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_27" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_28" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_29" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_30" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_31" set="true" side="1"/>

		<element type="SetSpawnLocation" location="trr_32" set="true" side="1"/>


		<element type="SetSpawnLocation" location="trr_01" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_02" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_03" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_04" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_05" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_06" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_07" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_08" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_09" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_10" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_11" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_12" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_13" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_14" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_15" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_16" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_17" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_18" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_19" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_20" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_21" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_22" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_23" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_24" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_25" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_26" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_27" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_28" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_29" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_30" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_31" set="true" side="2"/>

		<element type="SetSpawnLocation" location="trr_32" set="true" side="2"/>

	</event>



	<trigger name="sync_kills" interval="1" preserved="true" >						

		<event name="show_kills"/>

	</trigger>


	<event name="show_kills" >

		<element type="GetGameData" id="side_1_score" name="_round_kills" side="1" />

		<element type="GetGameData" id="side_2_score" name="_round_kills" side="2" />

		<element type="SetSideScore" score_a="side_1_score" score_b="side_2_score" from_var="true" />

	</event>



	<trigger name="check_all_ghosts_dead" interval="1" preserved="false" >

		<condition type="ServerSetting" name="max_players" greater_than="1"/>

		<condition type="PlayersNotPermanentlyDead" side="1" equal="0"/>

		<condition type="PlayersNotSpawnedYet" side="1" equal="0"/>

		<event name="all_ghosts_dead"/>

	</trigger>


	<trigger name="check_all_rebels_dead" interval="1" preserved="false" >

		<condition type="ServerSetting" name="max_players" greater_than="1"/>

		<condition type="PlayersNotPermanentlyDead" side="2" equal="0"/>

		<condition type="PlayersNotSpawnedYet" side="2" equal="0"/>

		<event name="all_rebels_dead"/>

	</trigger>


	<event name="all_ghosts_dead" type="once" >

		<element type="StopTrigger" name="check_all_ghosts_dead" />

		<element type="Calculate">

			<add target="winner_counter" source="1" />

		</element>

		<element type="TriggerEvent" event="determine_winner" start_time="2" />

	</event>


	<event name="all_rebels_dead" type="once" >

		<element type="StopTrigger" name="check_all_rebels_dead" />

		<element type="Calculate">

			<add target="winner_counter" source="2" />

		</element>

		<element type="TriggerEvent" event="determine_winner" start_time="2" />

	</event>


	<event name="determine_winner">

		<element type="TriggerEventIfVar" var="winner_counter" equal="1" event = "rebels_win" />

		<element type="TriggerEventIfVar" var="winner_counter" equal="2" event = "ghosts_win" />

		<element type="TriggerEventIfVar" var="winner_counter" equal="3" event = "nobody_win" />

	</event>


	<event name="ghosts_win" once="true">

		<element type="StopAllTriggers" />

		<element type="ShowMessage" member_type="member_a" header="rvsa_victory" msg="Good Work Ghosts - Mission Success!!" kind="splash" />

		<element type="ShowMessage" member_type="member_b" header="rvsa_defeat" msg="The Ghosts are too Strong - Mission Failed!!" kind="splash" />

		<element type="GivePoints" side="1" points="1"/>

		<element type="EndRound" winner_side="1" reason="Rebels victory!" start_time="30" />

	</event>


	<event name="rebels_win" once="true">

		<element type="StopAllTriggers" />

		<element type="ShowMessage" member_type="member_a" header="rvsa_defeat" msg="The Rebels are too Strong - Mission Failed!!" kind="splash" />

		<element type="ShowMessage" member_type="member_b" header="rvsa_victory" msg="Well done Rebels - Mission Success!!" kind="splash" />

		<element type="GivePoints" side="2" points="1"/>

		<element type="EndRound" winner_side="2" reason="Ghosts victory!" start_time="30" />

	</event>


	<event name="nobody_win" once="true">

		<element type="StopAllTriggers" />

		<element type="ShowMessage" header="hh_tie_game_header" msg="Both teams are dead - replay this Map!" kind="splash" />

		<element type="EndRound" winner_side="0" reason="Tie game!" start_time="30" />

	</event>



	<event name="end_round">

		<element type="GetGameData" id="side_1_score" name="_round_kills" side="1" />

		<element type="GetGameData" id="side_2_score" name="_round_kills" side="2" />

		<element type="TriggerEventIfVar" var="side_1_score" equal="side_2_score" event="tie_by_score_check_deaths" else_event="check_winner_by_score" />

	</event>


	<event name="tie_by_score_check_deaths">

		<element type="GetGameData" id="side_1_deaths" name="_round_death" side="1" />

		<element type="GetGameData" id="side_2_deaths" name="_round_death" side="2" />

		<element type="TriggerEventIfVar" var="side_1_deaths" equal="side_2_deaths" event="tie_game_by_score" else_event="check_winner_by_deaths"/>

	</event>


	<event name="tie_game_by_score" once="true" >

		<element type="StopAllTriggers" />

		<element type="ShowMessage" header="hh_tie_game_header" msg="The Kill Scores are tied - Replay this Map!!" kind="splash" />

		<element type="EndRound" winner_side="0" reason="Game time is up - tie game by score!" start_time="30" />

	</event>


	<event name="check_winner_by_deaths">

		<element type="TriggerEventIfVar" var="side_1_deaths" greater_than="side_2_deaths" event="rebels_win_by_score" else_event="ghosts_win_by_score"/>

	</event>



	<event name="check_winner_by_score">

		<element type="TriggerEventIfVar" var="side_1_score" greater_than="side_2_score" event="ghosts_win_by_score" else_event="rebels_win_by_score"/>

	</event>


	<event name="ghosts_win_by_score" once="true" >

		<element type="StopAllTriggers" />

		<element type="ShowMessage" member_type="member_a" header="rvsa_victory" msg="Good Work Ghosts - Mission Success!!" kind="splash" />

		<element type="ShowMessage" member_type="member_b" header="rvsa_defeat" msg="The Ghosts are too Strong - Mission Failed!!" kind="splash" />

		<element type="GivePoints" side="1" points="1"/>

		<element type="EndRound" winner_side="1" reason="Game time is up - ghosts win by score!" start_time="30" />

	</event>


	<event name="rebels_win_by_score" once="true" >

		<element type="StopAllTriggers" />

		<element type="ShowMessage" member_type="member_a" header="rvsa_defeat" msg="The Rebels are too Strong - Mission Failed!!" kind="splash" />

		<element type="ShowMessage" member_type="member_b" header="rvsa_victory" msg="Well done Rebels - Mission Success!!" kind="splash" />

		<element type="GivePoints" side="2" points="1"/>

		<element type="EndRound" winner_side="2" reason="Game time is up - rebels win by score!" start_time="30" />

	</event>


	<!-- ###### Lightspeed@GR.Net GRAW2 TRRs 2007 v1.1 ################## -->

</trr_rules> 

As I wrote earlier, I don't know yet if you can assign the same locations for spawning both sides. It could work, and most likely will. I'm just not 100% sure.

Link to comment
Share on other sites

UPDATE -

Kit restrictions are being reworked by Nutlink - he scrapped his first effort and has gone back to the drawing board to try and create TB - "true balance" - a term I just coined just then hehe. Meanwhile, we have both had a kwik run of the trr on the first map I made. It works perfectly from what we can see so far - just a few timing tweaks to mess with.

Also shortly to be looking at skins and how we want to implement them - different ones for each map looks like we will run with.

I am organising a new Load Screen for the gametype at present - outsourcing it actually. lol

And personally, I have completed 5 maps so far for the TRR gametype.

I have used the original mission maps - have ripped, stripped and equipped all of the maps with high and low points, multiple chokepoint and cover zones. Given the nature of Random Respawns and the fact that the maps are designed with multiple access points - REPLAYABILITY is the essence of this Mod.

You will not be able to play this map the same way twice for a long long time - there are so many variables in this gametype that you have to continue to adapt and relocate and work as a well-oiled unit to win.

That is all for now.

Link to comment
Share on other sites

finally 10 maps are complete and they are superb MP maps - i took the campaign maps had a good look at them and then set about to create exciting MP maps.

spent 2 hours on the 10th map before I decided I didnt like it that much and redid the whole thing in a new area - and it is fantastic.

so this is where we halt the map production and focus on mission testing, skins, weapons balancing (nutlink is well into that actually).

we will also look at implementing a second gametype into these maps at release probably random team deathmatch (4 possible spawns) which I think is the only thing lacking in tdm at present (make the spawns unpredictable and its harder to camp spawns).

also considering the option of a tdm spawn that changes halfway through a map - why? bcoz i imagined if u were in the heat of battle against enemy forces, its quite plausible that reinforcemnts would show up in a new position - thats the aim of this gametype.

so thats where we're at so far.

Link to comment
Share on other sites

finally 10 maps are complete and they are superb MP maps - i took the campaign maps had a good look at them and then set about to create exciting MP maps.

spent 2 hours on the 10th map before I decided I didnt like it that much and redid the whole thing in a new area - and it is fantastic.

so this is where we halt the map production and focus on mission testing, skins, weapons balancing (nutlink is well into that actually).

we will also look at implementing a second gametype into these maps at release probably random team deathmatch (4 possible spawns) which I think is the only thing lacking in tdm at present (make the spawns unpredictable and its harder to camp spawns).

also considering the option of a tdm spawn that changes halfway through a map - why? bcoz i imagined if u were in the heat of battle against enemy forces, its quite plausible that reinforcemnts would show up in a new position - thats the aim of this gametype.

so thats where we're at so far.

:drool: Man, great work. These next couple of months will be great for the game. I get excited every time I look at what is going on in the modding section. Wish more people would devote some time to these forums.

Excellent job to everyone with projects going on.

Link to comment
Share on other sites

Update (cos I know u love 'em) -

Nutlink and I had a chat and we said ###### it - why put out 10 and then another 10 later.

Let's just do the whole lot in one hit - particularly as the MP Maps are already geared towards MP.

So we're pushin ahead - and I've currently got 13 finished and Nutlinks working on a few more.

(Nutlink for your info - I have done Lagoon, Cavalera and Crashsite)

In addition, we are putting in Random Team Death Match now - that is 4 possible spawn points at startup. We figure that should make the TDM a bit less predictable and harder to spawncamp (we'll see).

Considering the implementation of one or two more gametypes if we think we can get them in quickly.

Link to comment
Share on other sites

alright a kwik update -

i have finished all of the maps for this pack - i tried to create a mix of large, medium and smaller maps.

there are 2 versions of a couple of the maps- namely timber large and timber small, and dam outer and dam inner.

there are a couple of others which i cant even remember anymore hehe.

there are about 4 night maps.

TOTAL NUMBER = 21 MP Maps.

(depending on how successful this pack is I may add another 5 - 10).

__________________________________________________

To make it easier for players Nutlink aka Bota:49 decided it would be better for all to make this a map pack NOT a mod because Mods dont work unless the server you jump on to has that Mod - crazy I know.

So a Map Pack can be held by player only and you will still get into all servers without the Map Pack installed. Having said that I can't imagine there will be a server that duznt utilize this stuff.

But there is a trade-off - we cannot modify kits for balance - only restrict kits - so in this map pack there will be no GL - sorry for those who like it but it is a cheesy weapon in GRAW2 and not good for balanced MP. wILL TRY TO MAKE THE saw A BIT BETTER IF IT CAN BE DONE - PROLLY NOT.

In addition, we cannot change the skins so they are the default MP_Template skins - I hope they do the job.

__________________________________________________

So thats where its up to - I do have to light render a few maps becuase of aded objects but Im doing that now.

Once Ive got all the maps packed - Nutlink will add the Kit Restrictions and bundle the mappack.

Also, working on the Splash at present.

Thats all for now....

Edited by PoW_LigHtsPeEd
Link to comment
Share on other sites

Well I guess the latest update is due and it's exciting news!!!

i had 20+ maps ready with trr loactions on them but decided to get everything running perfect on one map before trying to finalise the other maps.

so i messed with code for the gametype and had some guys (thanks QUEKEL AND MAD) run some testing and report things that needed tweaking.

the spawns are working perfectly - 4 random initial team spawns followed by 32 individual player spawns after the game starts.

i finally learnt how to bundle too - god that was a ###### but so easy once you know.

i also had to generate new minimap which was a nghtmare but i worked that out.

changing skins and creating new kit loadouts is crazy and i will delay that until a later date - but the game type will have kit restrictions to improve tactics and gameplay.

Quekel has built 5 load screens for my TRRs which will be assigned to various maps.

I have the respawn time set to about 3 seconds so once a player chooses a kit at start of match there stuck with it -so choose carefully (thats the way i wanted it - its fair).

Also the game will only launch when everyone has readied up - perfect for clan matching.

Also noone can join a game after launch - again a bonus for team matching.

______________________________

So thats where Im at - as far as Random TeamDeathmatch - i still think the one spawn fro Team Deathmatch sucks cos it can still be overrun by spawncampers - so at this stage i wont do it.

I will look at implementing roaming spawn points at a later stage - so that no sooner duz someone camp one then its changes.

I will try to implement some changing environments (thanks bsr_vhladd) to provide even more stunning gaming environments.

Not long now folks - the greatest MP gametype (imho) will soon be released!!!!!!!!!!!!!!!

Link to comment
Share on other sites

I have the respawn time set to about 3 seconds so once a player chooses a kit at start of match there stuck with it -so choose carefully (thats the way i wanted it - its fair).

Hmmm, a lot of people were already complaining about the short amount of time to choose a weapon after death. This will especially be painful to new comers who aren't familiar with the weapons and want to do some experimenting. I think if you want to limit the player to kit he originally selected then the server should be running with no respawns. For deathmatch with respawns I can see people getting annoyed that they can't change kits.

Also noone can join a game after launch - again a bonus for team matching.

Can they join the server and be in on the next round?

I will try to implement some changing environments (thanks bsr_vhladd) to provide even more stunning gaming environments.

Personally I was not very fond of the environment effects that were used in some of the modded campaign maps. Fog or dusk especially just look horrible for some reason. My personal opinion though.

Good work though. The added maps will be a nice addition for those who play mp deathmatch.

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.

 Share

×
×
  • Create New...