• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

[Solved] Fatal error - Not sure where to post this

Status
Not open for further replies.
Level 8
Joined
Jul 29, 2010
Messages
319
Apon testing these two triggers, a few seconds into the game i got this error and the game closed
I don't think this trigger caused the crash but here it is anyway
  • INIT Copy
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Wait 1.00 seconds
      • Set C_integer = 0
      • Set C_integer2 = 0
      • Hashtable - Create a hashtable
      • Set C_HASHAREA = (Last created hashtable)
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- FOR EACH CAPTURE POINT SET PARAMETERS --------
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- 1 --------
      • Set C_AREA[0] = Flag A <gen>
      • Set C_temp_unit[0] = Capture Point Glow (large) 0008 <gen>
      • Custom script: set udg_integer = GetHandleIdBJ( udg_AREA[0] )
      • -------- MAX UNIT TO CAPTURE (MORE UNITS DOESN'T INCREASE CAPTURING SPEED) --------
      • Set C_integerM[0] = 4
      • Hashtable - Save C_integerM[0] as 0 of C_integer in C_HASHAREA
      • -------- TIME TO CAPTURE --------
      • Set C_real[0] = 8.00
      • Hashtable - Save C_real[0] as 0 of C_integer in C_HASHAREA
      • -------- UNIT CAPTURING VALUE (1 UNIT DECREASE TIME TO CAPTURE THE POINT BY:) --------
      • Set C_real[1] = 0.50
      • Hashtable - Save C_real[1] as 1 of C_integer in C_HASHAREA
      • -------- UNIT MARKER --------
      • Hashtable - Save Handle OfC_temp_unit[0] as 0 of C_integer in C_HASHAREA
      • -------- ------------------------------------------------------------------------------------------------------------------------ --------
      • -------- 2 --------
      • Set C_AREA[0] = Flag B <gen>
      • Set C_temp_unit[0] = Capture Point Glow (large) 0009 <gen>
      • Custom script: set udg_integer = GetHandleIdBJ( udg_AREA[0] )
      • -------- MAX UNIT TO CAPTURE (MORE UNITS DOESN'T INCREASE CAPTURING SPEED) --------
      • Set C_integerM[0] = 4
      • Hashtable - Save C_integerM[0] as 0 of C_integer in C_HASHAREA
      • -------- TIME TO CAPTURE --------
      • Set C_real[0] = 8.00
      • Hashtable - Save C_real[0] as 0 of C_integer in C_HASHAREA
      • -------- UNIT CAPTURING VALUE (1 UNIT DECREASE TIME TO CAPTURE THE POINT BY:) --------
      • Set C_real[1] = 0.50
      • Hashtable - Save C_real[1] as 1 of C_integer in C_HASHAREA
      • -------- UNIT MARKER --------
      • Hashtable - Save Handle OfC_temp_unit[0] as 0 of C_integer in C_HASHAREA
  • EVERY 00X SEC
    • Events
      • Time - Every 1.00 seconds of game time
    • Conditions
    • Actions
      • Set C_real[0] = 1.00
      • -------- ------------------------------------------------------------------------------- --------
      • Set C_AREA[0] = Flag A <gen>
      • Custom script: set udg_integer = GetHandleIdBJ( udg_C_AREA[0] )
      • Set C_group[0] = (Units in C_AREA[0] matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is A structure) Not equal to True)) and ((Owner of (Matching unit)) Not equal to Neutral Passive)))
      • Set C_temp_unit[0] = (Load 0 of C_integer in C_HASHAREA)
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Set C_integerM[(Integer A)] = 0
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in C_group[0]) Greater than 0
        • Then - Actions
          • Set C_integerM[0] = 0
          • Unit Group - Pick every unit in C_group[0] and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Owner of (Picked unit)) Not equal to Neutral Victim
                  • (Owner of (Picked unit)) Not equal to Neutral Hostile
                  • (Owner of (Picked unit)) Not equal to Neutral Victim
                  • (Owner of (Picked unit)) Not equal to Neutral Extra
                • Then - Actions
                  • Set C_integerM[(Player number of (Owner of (Picked unit)))] = (C_integerM[(Player number of (Owner of (Picked unit)))] + 1)
                • Else - Actions
          • For each (Integer A) from 1 to 12, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • C_integerM[(Integer A)] Greater than or equal to C_integerM[0]
                  • C_integerM[(Integer A)] Greater than 0
                • Then - Actions
                  • Set C_integer2 = (C_integerM[(Integer A)] - C_integerM[0])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • C_integer2 Greater than or equal to (Load 0 of C_integer from C_HASHAREA)
                    • Then - Actions
                      • Set C_integer2 = (Load 0 of C_integer from C_HASHAREA)
                    • Else - Actions
                  • Set C_real[1] = ((Load 1 of C_integer from C_HASHAREA) x (Real((C_integer2 - C_integerM[0]))))
                  • Set C_integer2 = (Integer A)
                  • Set C_integerM[0] = C_integerM[C_integer2]
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • C_real[1] Greater than 0.00
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • C_integer2 Equal to (Load 1 of C_integer from C_HASHAREA)
                • Then - Actions
                  • Set C_real[2] = ((Load 2 of C_integer from C_HASHAREA) + C_real[1])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • C_real[2] Greater than or equal to (Load 0 of C_integer from C_HASHAREA)
                    • Then - Actions
                      • Set C_real[2] = ((Load 0 of C_integer from C_HASHAREA) + 0.00)
                    • Else - Actions
                  • Hashtable - Save C_real[2] as 2 of C_integer in C_HASHAREA
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Load 1 of C_integer from C_HASHAREA) Equal to 0
                    • Then - Actions
                      • Set C_real[2] = ((Load 2 of C_integer from C_HASHAREA) + C_real[1])
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • C_real[2] Greater than or equal to (Load 0 of C_integer from C_HASHAREA)
                        • Then - Actions
                          • Set C_real[2] = 0.00
                          • Hashtable - Save C_integer2 as 1 of C_integer in C_HASHAREA
                          • Unit - Change color of C_temp_unit[0] to (Color of (Player(C_integer)))
                        • Else - Actions
                      • Hashtable - Save C_real[2] as 2 of C_integer in C_HASHAREA
                    • Else - Actions
                      • Set C_real[2] = ((Load 2 of C_integer from C_HASHAREA) - C_real[1])
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • C_real[2] Less than or equal to 0.00
                        • Then - Actions
                          • Set C_real[2] = 0.00
                          • Hashtable - Save 0 as 1 of C_integer in C_HASHAREA
                          • Unit - Change color of C_temp_unit[0] to Gray
                        • Else - Actions
                      • Hashtable - Save C_real[2] as 2 of C_integer in C_HASHAREA
            • Else - Actions
        • Else - Actions
      • Custom script: call DestroyGroup( udg_C_group[0] )
      • -------- ------------------------------------------------------------------------------- --------
      • Set C_AREA[0] = Flag B <gen>
      • Custom script: set udg_integer = GetHandleIdBJ( udg_C_AREA[0] )
      • Set C_group[0] = (Units in C_AREA[0] matching (((((Matching unit) is alive) Equal to True) and (((Matching unit) is A structure) Not equal to True)) and ((Owner of (Matching unit)) Not equal to Neutral Passive)))
      • Set C_temp_unit[0] = (Load 0 of C_integer in C_HASHAREA)
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • Set C_integerM[(Integer A)] = 0
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Number of units in C_group[0]) Greater than 0
        • Then - Actions
          • Set C_integerM[0] = 0
          • Unit Group - Pick every unit in C_group[0] and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Owner of (Picked unit)) Not equal to Neutral Victim
                  • (Owner of (Picked unit)) Not equal to Neutral Hostile
                  • (Owner of (Picked unit)) Not equal to Neutral Victim
                  • (Owner of (Picked unit)) Not equal to Neutral Extra
                • Then - Actions
                  • Set C_integerM[(Player number of (Owner of (Picked unit)))] = (C_integerM[(Player number of (Owner of (Picked unit)))] + 1)
                • Else - Actions
          • For each (Integer A) from 1 to 12, do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • C_integerM[(Integer A)] Greater than or equal to C_integerM[0]
                  • C_integerM[(Integer A)] Greater than 0
                • Then - Actions
                  • Set C_integer2 = (C_integerM[(Integer A)] - C_integerM[0])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • C_integer2 Greater than or equal to (Load 0 of C_integer from C_HASHAREA)
                    • Then - Actions
                      • Set C_integer2 = (Load 0 of C_integer from C_HASHAREA)
                    • Else - Actions
                  • Set C_real[1] = ((Load 1 of C_integer from C_HASHAREA) x (Real((C_integer2 - C_integerM[0]))))
                  • Set C_integer2 = (Integer A)
                  • Set C_integerM[0] = C_integerM[C_integer2]
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • C_real[1] Greater than 0.00
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • C_integer2 Equal to (Load 1 of C_integer from C_HASHAREA)
                • Then - Actions
                  • Set C_real[2] = ((Load 2 of C_integer from C_HASHAREA) + C_real[1])
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • C_real[2] Greater than or equal to (Load 0 of C_integer from C_HASHAREA)
                    • Then - Actions
                      • Set C_real[2] = ((Load 0 of C_integer from C_HASHAREA) + 0.00)
                    • Else - Actions
                  • Hashtable - Save C_real[2] as 2 of C_integer in C_HASHAREA
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • (Load 1 of C_integer from C_HASHAREA) Equal to 0
                    • Then - Actions
                      • Set C_real[2] = ((Load 2 of C_integer from C_HASHAREA) + C_real[1])
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • C_real[2] Greater than or equal to (Load 0 of C_integer from C_HASHAREA)
                        • Then - Actions
                          • Set C_real[2] = 0.00
                          • Hashtable - Save C_integer2 as 1 of C_integer in C_HASHAREA
                          • Unit - Change color of C_temp_unit[0] to (Color of (Player(C_integer)))
                        • Else - Actions
                      • Hashtable - Save C_real[2] as 2 of C_integer in C_HASHAREA
                    • Else - Actions
                      • Set C_real[2] = ((Load 2 of C_integer from C_HASHAREA) - C_real[1])
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • C_real[2] Less than or equal to 0.00
                        • Then - Actions
                          • Set C_real[2] = 0.00
                          • Hashtable - Save 0 as 1 of C_integer in C_HASHAREA
                          • Unit - Change color of C_temp_unit[0] to Gray
                        • Else - Actions
                      • Hashtable - Save C_real[2] as 2 of C_integer in C_HASHAREA
            • Else - Actions
        • Else - Actions
      • Custom script: call DestroyGroup( udg_C_group[0] )
      • -------- ------------------------------------------------------------------------------- --------
Any and all help is appreciated greatly

EDIT: i've just tested it again and it's definitally the second trigger causing the crash, question is why, it never crashed until i changed this line in the trigger
  • Unit - Change ownership of C_temp_unit[0] to (Player(C_integer2)) and Change color
to this
  • Unit - Change color of C_temp_unit[0] to (Color of (Player(C_integer)))
For now i've reverted the line back to it's original.
 

Attachments

  • Error.png
    Error.png
    40.6 KB · Views: 44
Last edited:
Status
Not open for further replies.
Top