Trigger Debug? I can't figure out why this is happening...

thevoden

New Member
Reaction score
5
- At the start of each game, the Control Tower, an Edifice and a Hero is created for a player.
- Whenever a player builds an edifice in an "empty" zone, it creates a Control Tower for him.
- The problem comes when a player at his starting zone builds an edifice (in his starting zone) it creates a Control Tower. (the Control Tower is already pre-placed in the beginning, so it doesn't need to create another one).
- Only one control tower should be allowed in each zone.
- Everything else works perfectly fine in other zones ( i can create only 1 control tower in other zones).



Here are my two triggers:

Code:
Player Locations
    Events
    Conditions
    Actions
        Set start_TEMP_REGION_randomnumber = (Random integer number between 1 and start_REGION_max)
        Set start_REGION_Tspawn = start_REGION_set[start_TEMP_REGION_randomnumber]
        For each (Integer A) from 1 to 16, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        start_REGION_Boolean[start_TEMP_REGION_randomnumber] Equal to False
                    Then - Actions
                        Set System_Temp_Point = (Center of start_REGION_set[(Integer A)])
                        Unit - Create 1 Start_Variable_Heroes[start_MAIN_Hero_Element[(Player number of (Triggering player))]] for (Triggering player) at System_Temp_Point facing Default building facing degrees
                        Player - Add -5 to (Triggering player) Food used
                        For each (Integer A) from 1 to 2, do (Actions)
                            Loop - Actions
                                Item - Create MENU_Items_towers[start_MAIN_Hero_Element[(Player number of (Triggering player))]] at (Center of start_REGION_Tspawn)
                                Hero - Give (Last created item) to (Last created unit)
                        Unit - Create 1 MENU_Units_Ediface[start_MAIN_Hero_Element[(Player number of (Triggering player))]] for (Triggering player) at System_Temp_Point facing Default building facing degrees
                        Unit - Add Dummy Ability Check (+1) to (Last created unit)
                        Camera - Pan camera for (Owner of (Last created unit)) to (Position of (Last created unit)) over 0.00 seconds
                        Set Integer_Variable = (Integer_Variable + 1)
                        Unit - Set the custom value of (Last created unit) to Integer_Variable
                        -------- Control Assigned --------
                        Unit - Create 1 Control Tower for (Owner of (Last created unit)) at System_Temp_Point facing Default building facing degrees
                        Unit - Make (Last created unit) Invulnerable
                        Set System_Control_Tower[(Integer A)] = (Last created unit)
                        Set System_ControlTower_Invincible[(Integer A)] = 2
                        Set start_REGION_Boolean[(Integer A)] = True
                        Set start_alreadycontroltower[(Integer A)] = True
                        Set System_ControlTower_Invincible[(Integer A)] = 2
                        Set START_ControlledTowers[(Integer A)] = 1
                        Set System_ZoneTowers[(Integer A)] = (System_ZoneTowers[(Integer A)] + 1)
                        Custom script:   call RemoveLocation (udg_System_Temp_Point)
                    Else - Actions
                        Trigger - Run (This trigger) (checking conditions)
        -------- Backup --------
        For each (Integer A) from 1 to 16, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        start_REGION_Boolean[start_TEMP_REGION_randomnumber] Equal to False
                    Then - Actions
                        Set System_Temp_Point = (Center of start_REGION_set[(Integer A)])
                        Unit - Create 1 Start_Variable_Heroes[start_MAIN_Hero_Element[(Player number of (Triggering player))]] for (Triggering player) at System_Temp_Point facing Default building facing degrees
                        Player - Add -5 to (Triggering player) Food used
                        For each (Integer A) from 1 to 2, do (Actions)
                            Loop - Actions
                                Item - Create MENU_Items_towers[start_MAIN_Hero_Element[(Player number of (Triggering player))]] at (Center of start_REGION_Tspawn)
                                Hero - Give (Last created item) to (Last created unit)
                        Unit - Create 1 MENU_Units_Ediface[start_MAIN_Hero_Element[(Player number of (Triggering player))]] for (Triggering player) at System_Temp_Point facing Default building facing degrees
                        Unit - Add Dummy Ability Check (+1) to (Last created unit)
                        Camera - Pan camera for (Owner of (Last created unit)) to (Position of (Last created unit)) over 0.00 seconds
                        Set Integer_Variable = (Integer_Variable + 1)
                        Unit - Set the custom value of (Last created unit) to Integer_Variable
                        Set start_REGION_Boolean[(Integer A)] = True
                        Set start_alreadycontroltower[(Integer A)] = True
                        -------- Control Assigned --------
                        Set System_ControlTower_Invincible[(Integer A)] = 2
                        Unit - Create 1 Control Tower for (Owner of (Last created unit)) at System_Temp_Point facing Default building facing degrees
                        Unit - Make (Last created unit) Invulnerable
                        Set System_Control_Tower[(Integer A)] = (Last created unit)
                        Set System_ControlTower_Invincible[(Integer A)] = 2
                        Set System_ZoneTowers[(Integer A)] = (System_ZoneTowers[(Integer A)] + 1)
                        Custom script:   call RemoveLocation (udg_System_Temp_Point)
                    Else - Actions
                        Trigger - Run (This trigger) (checking conditions)

Code:
Gain Zone Control
    Events
        Unit - A unit Finishes construction
    Conditions
        Or - Any (Conditions) are true
            Conditions
                (Unit-type of (Constructed structure)) Equal to Fire Edifice
                (Unit-type of (Constructed structure)) Equal to Grass Edifice
                (Unit-type of (Constructed structure)) Equal to Rock Edifice
    Actions
        Set temp_player = (Owner of (Last created unit))
        -------- Re-Invulnerable Zone --------
        For each (Integer A) from 1 to 16, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        System_ControlTower_Invincible[(Integer A)] Equal to 1
                        start_REGION_Boolean[(Integer A)] Equal to True
                        (start_REGION_set[(Integer A)] contains (Triggering unit)) Equal to True
                        (start_REGION_set[(Integer A)] contains System_Control_Tower[(Integer A)]) Equal to True
                        System_ZoneTowers[(Integer A)] Less than 1
                        (Level of Dummy Ability Check (+1) for (Triggering unit)) Equal to 0
                    Then - Actions
                        -------- Notification --------
                        Custom script:   if GetLocalPlayer() == udg_temp_player then
                        Sound - Play QuestCompleted <gen>
                        Custom script:   endif
                        -------- Notification --------
                        Set System_ControlTower_Invincible[(Integer A)] = 2
                        Unit - Make System_Control_Tower[(Integer A)] Invulnerable
                        Unit - Add Dummy Ability Check (+1) to (Triggering unit)
                    Else - Actions
        -------- Zone Control --------
        For each (Integer A) from 1 to 16, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        (start_REGION_set[(Integer A)] contains (Constructed structure)) Equal to True
                        start_REGION_Boolean[(Integer A)] Equal to False
                        start_alreadycontroltower[(Integer A)] Equal to False
                        (start_REGION_set[(Integer A)] contains System_Control_Tower[(Integer A)]) Equal to False
                        START_ControlledTowers[(Integer A)] Not equal to 1
                        (Level of Dummy Ability Check (+1) for (Triggering unit)) Equal to 0
                    Then - Actions
                        -------- New Zone Control --------
                        Set Integer_Variable = (Integer_Variable + 1)
                        Unit - Set the custom value of (Constructed structure) to Integer_Variable
                        Set start_REGION_Boolean[(Integer A)] = True
                        Set System_Temp_Point = (Center of start_REGION_set[(Integer A)])
                        Unit - Create 1 Control Tower for (Owner of (Constructed structure)) at System_Temp_Point facing Default building facing degrees
                        Custom script:   call RemoveLocation (udg_System_Temp_Point)
                        Unit - Make (Last created unit) Invulnerable
                        Set System_ControlTower_Invincible[(Integer A)] = 2
                        Set System_Control_Tower[(Integer A)] = (Last created unit)
                        Set System_ZoneTowers[(Integer A)] = (System_ZoneTowers[(Integer A)] + 1)
                        Unit - Add Dummy Ability Check (+1) to (Triggering unit)
                        -------- Notification --------
                        Custom script:   if GetLocalPlayer() == udg_temp_player then
                        Sound - Play Rescue <gen>
                        Custom script:   endif
                        -------- Notification --------
                    Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (start_REGION_set[(Integer A)] contains (Constructed structure)) Equal to True
                                start_REGION_Boolean[(Integer A)] Equal to True
                                (Level of Dummy Ability Check (+1) for (Triggering unit)) Equal to 0
                            Then - Actions
                                Set Integer_Variable = (Integer_Variable + 1)
                                Unit - Set the custom value of (Constructed structure) to Integer_Variable
                                Set System_ZoneTowers[(Integer A)] = (System_ZoneTowers[(Integer A)] + 1)
                                Unit - Add Dummy Ability Check (+1) to (Triggering unit)
                                -------- Notification --------
                                Custom script:   if GetLocalPlayer() == udg_temp_player then
                                Sound - Play GoodJob <gen>
                                Custom script:   endif
                                -------- Notification --------
                            Else - Actions
 

Sinan2

New Member
Reaction score
9
You could try to place the buildings at Map Init to make it run the trigger, maybe that could work.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top