Scriptfix for Marketgarden Problem


(nUllSkillZ) #1

Hi,

ATM I’m trying to fix an annoying behaviour of the Marketgarden R2 map:
Axis are winning if time expires and none of the teams have fullfilled their objective.

But it doesn’t work.
I’ve also tested it without the wait action in the timelimit_hit trigger.
Also don’t working.

Any suggstions / help much appreciated.

Scriptpart:


game_manager

{

	spawn

	{
		...

		// Stopwatch mode defending team (0=Axis, 1=Allies)

		wm_set_defending_team	0



		// If the round timer expires, the Axis have won, so set the current winning team

		// Set the round winner:  0 == AXIS, 1 == ALLIED

		// ***** nUllSkillZ START *****

		//wm_setwinner -1 // ORIGINAL
		wm_setwinner 0 // SET TO SW DEFENDING TEAM - WILL BE OVERWRITTEN BY THE CHECKGAMES OR TIMELIMIT_HIT

		// ***** nUllSkillZ END *****
		...

	}

	// ***** nUllSkillZ START *****
	trigger timelimit_hit
	{
		wait 150
		wm_setwinner -1
	}
	// ***** nUllSkillZ END *****
	...
}
...


(DerSaidin) #2

I haven’t seen that timelimit_hit trigger before, so I dont know it it would work. I haven’t seen wm_setwinner -1 either.

I’m not sure who you want to win if the timelimit is hit?

If you want it to be no one, then I would think you’d set it to -1 at the start (if that works), not 0.


(kamikazee) #3

Normally, wm_setwinner -1 will keep the map running untill the winner is set to 1 or 0. However, that’s only when the map hasn’t ended. Your timelimit_hit trigger only gets called after the map has been won and will therefore have no response.

Check the whole script and see if there is no place where wm_setwinner is accidentally set to 0.


(shadrach) #4

I’m not positive but as far as I know the “wm_setwinner -1” command has to be in the spawn section of game_manager?


game_manager
{
	spawn 
   	{		
		// Game rules
		wm_axis_respawntime	20
		wm_allied_respawntime	20
		wm_number_of_objectives	8
		wm_set_round_timelimit	30

		
		// Stopwatch mode defending team (0=Axis, 1=Allies)
		wm_set_defending_team	0

		// Winner on expiration of round timer (0=Axis, 1=Allies, -1=no winner at expiration)
		wm_setwinner	-1 //No winner when time runs out		
   	}


where the only way the map can end is thru the checkgame functions.


(kamikazee) #5

Now I think of it: nUllSkillZ, did this occur when you played it in LMS or normal play?

Maybe the wm_set_defender statement is more important in LMS than wm_setwinner and will terminate the round anyway when the time is up.


(Jecoliah) #6

I originally posted a fix for this problem here…

Its the 37th post.

I re-uploaded the fix here.

http://www.badongo.com/file/2317041

It should end in a Tie if objectives are not done by either team,

Jec


(nUllSkillZ) #7

Thnx for the info.
Pretty much the same that I’ve tried :confused:


(Jecoliah) #8

I believe the difference is this…

trigger timelimit_hit
	{
	wm_setwinner -1
	wait 250
	wm_setwinner -1

	}

I had to put wm_setwinner -1 twice for it to work.

Jec