Jump to content

Can SidiBouZid scenrio be won?


Knaust1

Recommended Posts

I cannot win that scenario even if Allied troops occupied every site of the village and there are no more enemy troops and tanks

Now I examined the MissionWin trigger

The condition for victory to be checked is this one

SetWorkArmy (Army,2)

set @check=GetNUnitsInArea(ARMY,2,All,"Gorod",NO_PANIC,NOT_EMPTY,OK_WEAPON,CREW)

SetWorkArmy (Army,2)

set @check=GetNUnitsInArea(ARMY,2,All,"Gorod",NO_PANIC,NOT_EMPTY,OK_WEAPON,CREW)

MUL(@check10,100)

DIV(@check10,@check)

if (@check10<@check) then

...

MissionWin()

Now as @check10 is equal to @check, the if condition cannot be satisfied.

Please tell me where I am wrong

Link to comment
Share on other sites

Where is @check10? Only @check is calculated here.

oopppss....sorry...I missed it

the test must be read as

SetWorkArmy (Army,2)

set @check=GetNUnitsInArea(ARMY,2,All,"Gorod",NO_PANIC ,NOT_EMPTY,OK_WEAPON,CREW)

SetWorkArmy (Army,2)

set @check10=GetNUnitsInArea(ARMY,2,All,"Gorod",NO_PANIC ,NOT_EMPTY,OK_WEAPON,CREW)

MUL(@check10,100)

DIV(@check10,@check)

if (@check10<@check) then

...

MissionWin()

Link to comment
Share on other sites

No, you've missed some important pieces.

//Calculating soldiers in Gorod zone

SetWorkArmy ( ARMY , 2 )

set @check = GetNUnitsInArea ( ARMY , 2 , ALL , "Gorod" , NO_PANIC , NOT_EMPTY , OK_WEAPON , CREW )

//wait one minute

Delay ( 60000 )

//Calculating soldiers in Gorod zone again

SetWorkArmy ( ARMY , 2 )

set @check10 = GetNUnitsInArea ( ARMY , 2 , ALL , "Gorod" , NO_PANIC , NOT_EMPTY , OK_WEAPON , CREW )

//Calculating percentage of surviving enemy soldiers after one minute

MUL ( @check10 , 100 )

DIV ( @check10 , @check )

//Compare

if ( @check10 < @check ) then

//So, mission will be won if you're either killing enemy soldiers really quickly (their number after one minute is ten times lower) or there are no enemy soldiers left. It looks weird (percentage compared with actual number), but would work anyway.

Link to comment
Share on other sites

No, you've missed some important pieces.

//Calculating soldiers in Gorod zone

SetWorkArmy ( ARMY , 2 )

set @check = GetNUnitsInArea ( ARMY , 2 , ALL , "Gorod" , NO_PANIC , NOT_EMPTY , OK_WEAPON , CREW )

//wait one minute

Delay ( 60000 )

//Calculating soldiers in Gorod zone again

SetWorkArmy ( ARMY , 2 )

set @check10 = GetNUnitsInArea ( ARMY , 2 , ALL , "Gorod" , NO_PANIC , NOT_EMPTY , OK_WEAPON , CREW )

//Calculating percentage of surviving enemy soldiers after one minute

MUL ( @check10 , 100 )

DIV ( @check10 , @check )

//Compare

if ( @check10 < @check ) then

//So, mission will be won if you're either killing enemy soldiers really quickly (their number after one minute is ten times lower) or there are no enemy soldiers left. It looks weird (percentage compared with actual number), but would work anyway.

uhmmm...the mission doesn't want to end, either winning or losing...and it looks like there are no enemy left

so have I to wait for one day or more in order to achieve a result?

moreover if no enemy left then @check=0

@check10=0 too

then

@check10<@check cannot be satisfied (0<0)

Link to comment
Share on other sites

Yes, but this check should have been satisfied earlier: @check=any number, @check10=0.

I would add another condition, just in case:

if ( @check = 0 ) then

MissionWin()

If you're positive that there are no enemies in that village, then something gone wrong. Check how often this trigger for calculating victory conditions is being called - there is no point of waiting much more than that.

Link to comment
Share on other sites

Yes, but this check should have been satisfied earlier: @check=any number, @check10=0.

I would add another condition, just in case:

if ( @check = 0 ) then

MissionWin()

If you're positive that there are no enemies in that village, then something gone wrong. Check how often this trigger for calculating victory conditions is being called - there is no point of waiting much more than that.

about 10 minutes

but I can't see any point where the Mission_Win trigger is called, neither in the init trigger

moreover I edited the init trigger as such as the first instruction

MissionWinButton ( ACTIVATE )

Delay ( 30000 )

MissionWin ( )

Halt

and the scenario doesn't terminate

Well no problem!

Link to comment
Share on other sites

try playing with setfogofwar disabled this will tell you if you really have wiped out the opposing side rather than having some little shyster hiding in a building.

HTH

I cannot see any fog of war control button

Link to comment
Share on other sites

×
×
  • Create New...