I've found a fatal, but I don't know what is causing it

Jackal

You can change this now in User CP... or Die Tryin
Reaction score
38
For my map, I've experienced a fatal error if a player is a vassal of another. This fatal occurs when the income timer hits 0. Therefore I have gone to the income trigger and the part that is related to vassals is this:

Trigger:
  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
    • If - Conditions
      • IsVassal[(Integer A)] Equal to 1
    • Then - Actions
      • Set Income[(Integer A)] = (Income[(Integer A)] / 3)
      • Game - Display to (All players matching ((Matching player) Equal to (Player(IsVassalOfWhatPlayer[(Integer A)])))) the text: ((|cffffcc00Income from + ((Name of (Player((Integer A)))) + |r: )) + (String(Income[(Integer A)])))
      • Player - Add Income[(Integer A)] to (Player(IsVassalOfWhatPlayer[(Integer A)])) Current gold
      • Set Income[(Integer A)] = (Income[(Integer A)] x 2)
    • Else - Actions


IsVassal - Integer Array
Income - Integer Array
IsVassalOfWhatPlayer - Integer Array

The trigger starts off with For each (Integer A) from 1 to 12. Integer A represents a player number.


I haven't got the faintest idea of what part of this is causing the fatal. I doubt it is the IsVassalOfWhatPlayer reference, but in the Spoiler you'll find the other trigger that makes use of that variable just in case.

Trigger:
  • Accept Vassal
    • Events
      • Player - Player 1 (Red) types a chat message containing -accept vassal as A substring
      • Player - Player 2 (Blue) types a chat message containing -accept vassal as A substring
      • Player - Player 3 (Teal) types a chat message containing -accept vassal as A substring
      • Player - Player 4 (Purple) types a chat message containing -accept vassal as A substring
      • Player - Player 5 (Yellow) types a chat message containing -accept vassal as A substring
      • Player - Player 6 (Orange) types a chat message containing -accept vassal as A substring
      • Player - Player 7 (Green) types a chat message containing -accept vassal as A substring
      • Player - Player 8 (Pink) types a chat message containing -accept vassal as A substring
      • Player - Player 9 (Gray) types a chat message containing -accept vassal as A substring
      • Player - Player 10 (Light Blue) types a chat message containing -accept vassal as A substring
      • Player - Player 11 (Dark Green) types a chat message containing -accept vassal as A substring
      • Player - Player 12 (Brown) types a chat message containing -accept vassal as A substring
    • Conditions
    • 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
              • PlannedVassal[(Integer A)] Equal to (Player number of (Triggering player))
              • (Player((Integer A))) Not equal to (Triggering player)
              • (Entered chat string) Equal to (-accept vassal + ( + Color[(Integer A)]))
              • IsVassalMaster[(Player number of (Triggering player))] Equal to 0
            • Then - Actions
              • Set IsVassalMaster[(Integer A)] = 1
              • Set IsVassal[(Integer A)] = 1
              • Set NumberOfVassals[(Integer A)] = (NumberOfVassals[(Integer A)] + 1)
              • Set IsVassalOfWhatPlayer[(Player number of (Triggering player))] = (Integer A)
              • Game - Display to (All players) the text: (|cffffcc00 + ((Name of (Triggering player)) + (|r has accepted |cffffcc00 + ((Name of (Player((Integer A)))) + |r's offer and has become a vassal.))))
              • Player - Make (Triggering player) treat (Player((Integer A))) as an Ally with shared vision
              • Player - Make (Player((Integer A))) treat (Triggering player) as an Ally with shared vision
              • Player - Set name of (Triggering player) to ((Name of (Triggering player)) + ( (Vassal of + ((Name of (Player((Integer A)))) + ))))
              • Player - Change color of (Player((Player number of (Triggering player)))) to PlayerColorsColorsVariable[(Integer A)], Changing color of existing units
              • Player Group - Pick every player in (All enemies of (Triggering player)) and do (Actions)
                • Loop - Actions
                  • Player - Make (Picked player) treat (Player((Integer A))) as an Enemy
                  • Player - Make (Player((Integer A))) treat (Picked player) as an Enemy
              • Player Group - Pick every player in (All enemies of (Player((Integer A)))) and do (Actions)
                • Loop - Actions
                  • Player - Make (Triggering player) treat (Picked player) as an Enemy
                  • Player - Make (Picked player) treat (Triggering player) as an Enemy
            • 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
              • PlannedVassal[(Integer A)] Equal to (Player number of (Triggering player))
              • (Player((Integer A))) Not equal to (Triggering player)
              • (Entered chat string) Equal to (-accept vassal + ( + PlayerName[(Integer A)]))
              • IsVassalMaster[(Player number of (Triggering player))] Equal to 0
            • Then - Actions
              • Set IsVassalMaster[(Integer A)] = 1
              • Set IsVassal[(Integer A)] = 1
              • Set IsVassalOfWhatPlayer[(Player number of (Triggering player))] = (Integer A)
              • Game - Display to (All players) the text: (|cffffcc00 + ((Name of (Triggering player)) + (|r has accepted |cffffcc00 + ((Name of (Player((Integer A)))) + |r's offer and has become a vassal.))))
              • Player - Make (Triggering player) treat (Player((Integer A))) as an Ally with shared vision
              • Player - Make (Player((Integer A))) treat (Triggering player) as an Ally with shared vision
              • Player - Set name of (Triggering player) to ((Name of (Triggering player)) + ( (Vassal of + ((Name of (Player((Integer A)))) + ))))
              • Player - Change color of (Player((Player number of (Triggering player)))) to PlayerColorsColorsVariable[(Integer A)], Changing color of existing units
              • Player Group - Pick every player in (All enemies of (Triggering player)) and do (Actions)
                • Loop - Actions
                  • Player - Make (Picked player) treat (Player((Integer A))) as an Enemy
                  • Game - Display to (All players) the text: (|cffffcc00 + ((Name of (Player((Integer A)))) + (|r has declared war on |cffffcc00 + ((Name of (Picked player)) + |r.))))
                  • Player - Make (Player((Integer A))) treat (Picked player) as an Enemy
              • Player Group - Pick every player in (All enemies of (Player((Integer A)))) and do (Actions)
                • Loop - Actions
                  • Player - Make (Triggering player) treat (Picked player) as an Enemy
                  • Game - Display to (All players) the text: (|cffffcc00 + ((Name of (Triggering player)) + (|r has declared war on |cffffcc00 + ((Name of (Picked player)) + |r.))))
                  • Player - Make (Picked player) treat (Triggering player) as an Enemy
            • Else - Actions


Anyone got any ideas of what causes the fatal? :<
 

Icyculyr

I'm a Mac
Reaction score
68
Firstly, try disabling particular actions and debug what you can yourself, also using the Game - Display messages to display messages of Integers etc... where the problem might be.

Also where is the rest of the first trigger?

Kind Regards
 

Jackal

You can change this now in User CP... or Die Tryin
Reaction score
38
Ok, I've found what was causing the fatal. Turns out that the IsVassalOfWhatPlayer didn't want to work, so I made it into a player array instead.

Thanks anyway. :3
 
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