HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

disconnect at map start

10-01-2004, 01:06 PM#1
DarkFanatic
i have a problem:
when my map is started (4 player map, tested with 2 players) the second player gets disconnected.
i have some ideas whats causing it:
my WE Unlimited (not likely i think)
my initialization triggers
my hero selection dialog
can any of these cause discs?
if yes i'll post them here, for trouble shooting.
if no, what else is causing it?
10-01-2004, 04:30 PM#2
Dead-Inside
WEU doesn't cause disconnects.

Post all of your "possibly involved" triggers. (Mainly initialization and hero selection triggers).
10-01-2004, 05:22 PM#3
D[a]gger
does it give an errors? if so, list them..


Oh, and I need a team fr my new map http://www.wc3campaigns.com/showthread.php?t=65922
10-01-2004, 07:11 PM#4
Kelna2
i sugest putting a message before each trigger that is fired in the begginig, when you disconect you should see a message, find the matching message in your triggers and you have found your problem.
10-01-2004, 09:38 PM#5
DarkFanatic
can you print a game - message in map initialization triggers?
k, i'm posting my triggers, but this is going to be a bit longer...
i would really appreciate it, if someone could look them through.

init triggers:
Code:
Initialisieren
    Events
        Map initialization
    Conditions
    Actions
        Advanced - Initialize advanced triggers
        -------- Startvariablen --------
        Set ExperiencePenalty = 240.00
        Set ExperienceRate = 60.00
        Set AcquisitionRange = 300.00
        Set Sprengradius = 350.00
        Set HeldenauswahlSpielerNr = 1
        Set AnzahlSpieler = 4
        Game - Hide creep camps on the minimap
        Game - Enable ally color button and Disable creep camp button
        Player - Disable sleeping for all creeps
        Cinematic - Turn subtitle display override On
        Player - Turn Gives bounty On for Player 9 (Gray)
        For each (Integer A) from 1 to AnzahlSpieler, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Player((Integer A))) slot status) Equal to Is playing
                    Then - Actions
                        Player - Set (Player((Integer A))) Current gold to 150
                        Player - Set (Player((Integer A))) Food used to 1
                    Else - Actions
        -------- Allianzen und Gegner --------
        For each (Integer A) from 1 to AnzahlSpieler, do (Actions)
            Loop - Actions
                Player - Make (Player((Integer A))) treat Player 11 (Dark Green) as an Enemy
                Player - Make Player 11 (Dark Green) treat (Player((Integer A))) as an Enemy
                Player - Make (Player((Integer A))) treat Player 10 (Light Blue) as an Ally
                Player - Make Player 10 (Light Blue) treat (Player((Integer A))) as an Ally
                Player - Make (Player((Integer A))) treat Neutral Hostile as an Enemy
                Player - Make (Player((Integer A))) treat Player 9 (Gray) as an Enemy
                Player - Make Player 9 (Gray) treat (Player((Integer A))) as an Enemy
        Player - Make Player 10 (Light Blue) treat Neutral Hostile as an Enemy
        Player - Make Player 9 (Gray) treat Player 10 (Light Blue) as an Enemy
        Player - Make Player 9 (Gray) treat Player 11 (Dark Green) as an Enemy
        Player - Make Player 11 (Dark Green) treat Player 9 (Gray) as an Enemy
        Player - Make Player 11 (Dark Green) treat Neutral Hostile as an Enemy
        Player - Make Neutral Hostile treat Player 11 (Dark Green) as an Enemy
        Player - Make Player 9 (Gray) treat Neutral Hostile as an Ally
        Player - Make Neutral Hostile treat Player 9 (Gray) as an Ally
        Player - Make Player 10 (Light Blue) treat Player 11 (Dark Green) as an Ally
        Player - Make Player 11 (Dark Green) treat Player 10 (Light Blue) as an Ally
        Player - Make Player 11 (Dark Green) treat Neutral Passive as an Ally
        Player - Make Neutral Passive treat Player 11 (Dark Green) as an Ally
        Player - Hide Player 10 (Light Blue) in the post-game score screen
        Player - Hide Player 11 (Dark Green) in the post-game score screen
        -------- Helden und Erfahrung --------
        For each (Integer A) from 1 to AnzahlSpieler, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Player((Integer A))) slot status) Equal to Is playing
                    Then - Actions
                        Hero - Make (Player((Integer A))) Heroes gain ExperienceRate% experience from future kills
                    Else - Actions
        -------- Sicht --------
        Visibility - Enable black mask
        Visibility - Enable fog of war
        For each (Integer A) from 1 to AnzahlSpieler, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Player((Integer A))) slot status) Equal to Is playing
                    Then - Actions
                        Visibility - Create an initially Enabled visibility modifier for (Player((Integer A))) emitting Visibility from (Center of Stadt Sicht <gen>) to a radius of 3200.00
                        Set StadtSicht[(Integer A)] = (Last created visibility modifier)
                    Else - Actions
        -------- Tag & Nacht --------
        Game - Set the time of day to 12.00
        Game - Set time of day speed to 25.00% of the default speed
        Animation - Play the death animation for all doodads of type Post Lantern within (Playable map area)
        -------- Einheiten und Gebäude --------
        Advanced - Add hero glow to Ranger 0289 <gen>
        Advanced - Add hero glow to Berserker 0287 <gen>
        Advanced - Add hero glow to Bischof 0088 <gen>
        Unit - Order Holzfäller 0017 <gen> to Harvest Summer Tree Wall 0338 <gen>
        Unit - Order Holzfäller 0019 <gen> to Harvest Summer Tree Wall 0348 <gen>
        Unit Group - Pick every unit in (Units in Wald Units <gen> owned by Player 9 (Gray)) and do (Actions)
            Loop - Actions
                Unit - Pause (Picked unit)
                Unit Group - Add (Picked unit) to WaldUeberfallEinheiten
        -------- Doodads --------
        Destructible - Set max life of Summer Tree Wall 0338 <gen> to 50000.00
        Destructible - Set max life of Summer Tree Wall 0348 <gen> to 50000.00
        -------- Items --------
        Set RingDerMagier[1] = Ring of the Archmagi
        Set RingDerMagier[2] = Ring of the Archmagi
        Set RingDerMagier[3] = Ring of the Archmagi
        Set RingDerMagier[4] = Ring of the Archmagi
        -------- Trigger --------
        Trigger - Destroy (This trigger)
Code:
Banditen Variablen
    Events
        Map initialization
    Conditions
    Actions
        Unit - Create 1 Rogue for Neutral Hostile at (Random point in Banditen Bruecke <gen>) facing (Random angle) degrees
        Unit - Create 1 Assassin for Neutral Hostile at (Random point in Banditen Bruecke <gen>) facing (Random angle) degrees
        Unit - Create 1 Assassin for Neutral Hostile at (Random point in Banditen Bruecke <gen>) facing (Random angle) degrees
        Set BanditenRegionen[1] = Banditen Oststrasse <gen>
        Set BanditenRegionen[2] = Banditen Weg zum Camp <gen>
        Set BanditenRegionen[3] = Banditen Bruecke <gen>
        Set BanditenRegionen[4] = Banditen hinter der Bruecke <gen>
        For each (Integer A) from 1 to 4, do (Actions)
            Loop - Actions
                Unit Group - Pick every unit in (Units in BanditenRegionen[(Integer A)]) and do (Actions)
                    Loop - Actions
                        Unit Group - Add (Picked unit) to BanditenGruppen[(Integer A)]
                        Unit - Set (Picked unit) acquisition range to AcquisitionRange
        Trigger - Destroy (This trigger)
two more like this one, one including this:
Code:
Set GischtForceWalls[1] = ForceWall 3165 <gen>
Set GischtForceWalls[2] = ForceWall 3166 <gen>
For each (Integer A) from 1 to 2, do (Actions)
    Loop - Actions
        Destructible - Kill GischtForceWalls[(Integer A)]
and some triggers that set some other variables (quests, items and stuff)
the hero selection triggers look like this (using dialog arrays):
Code:
Heldenauswahl Dialog
    Events
        Time - Elapsed game time is 0.25 seconds
    Conditions
    Actions
        Set StartRegion = Spieler Start <gen>
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                ((Player(HeldenauswahlSpielerNr)) slot status) Equal to Is playing
            Then - Actions
                Dialog - Change the title of Heldenauswahl[HeldenauswahlSpielerNr] to Wähle deinen Held!
                Dialog - Create a dialog button for Heldenauswahl[HeldenauswahlSpielerNr] labelled Krieger
                Set KriegerButton[HeldenauswahlSpielerNr] = (Last created dialog Button)
                Dialog - Create a dialog button for Heldenauswahl[HeldenauswahlSpielerNr] labelled Magier
                Set MagierButton[HeldenauswahlSpielerNr] = (Last created dialog Button)
                Dialog - Create a dialog button for Heldenauswahl[HeldenauswahlSpielerNr] labelled Waldläufer
                Set WaldlaeuferButton[HeldenauswahlSpielerNr] = (Last created dialog Button)
                Dialog - Create a dialog button for Heldenauswahl[HeldenauswahlSpielerNr] labelled Kleriker
                Set KlerikerButton[HeldenauswahlSpielerNr] = (Last created dialog Button)
                Dialog - Create a dialog button for Heldenauswahl[HeldenauswahlSpielerNr] labelled Nekromant
                Set NekromantButton[HeldenauswahlSpielerNr] = (Last created dialog Button)
                Dialog - Show Heldenauswahl[HeldenauswahlSpielerNr] for (Player(HeldenauswahlSpielerNr))
            Else - Actions
                Set HeldenauswahlSpielerNr = (HeldenauswahlSpielerNr + 1)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        HeldenauswahlSpielerNr Less than or equal to 4
                    Then - Actions
                        Trigger - Run (This trigger) (ignoring conditions)
                    Else - Actions
                        Trigger - Destroy (This trigger)
                        Trigger - Destroy Heldenauswahl   Redone <gen>
this one displays the dialog, and the next one runs when a button is klicked
Code:
Heldenauswahl   Redone
    Events
        Dialog - A dialog button is clicked for Heldenauswahl[1]
        Dialog - A dialog button is clicked for Heldenauswahl[2]
        Dialog - A dialog button is clicked for Heldenauswahl[3]
        Dialog - A dialog button is clicked for Heldenauswahl[4]
    Conditions
    Actions
        Set PlayerA = (Player(HeldenauswahlSpielerNr))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Clicked dialog button) Equal to KriegerButton[HeldenauswahlSpielerNr]
            Then - Actions
                Unit - Create 1 Krieger for PlayerA at (Random point in StartRegion) facing (Random angle) degrees
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Clicked dialog button) Equal to MagierButton[HeldenauswahlSpielerNr]
            Then - Actions
                Unit - Create 1 Magier for PlayerA at (Random point in StartRegion) facing (Random angle) degrees
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Clicked dialog button) Equal to WaldlaeuferButton[HeldenauswahlSpielerNr]
            Then - Actions
                Unit - Create 1 Waldläufer for PlayerA at (Random point in StartRegion) facing (Random angle) degrees
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Clicked dialog button) Equal to KlerikerButton[HeldenauswahlSpielerNr]
            Then - Actions
                Unit - Create 1 Kleriker for PlayerA at (Random point in StartRegion) facing (Random angle) degrees
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                (Clicked dialog button) Equal to NekromantButton[HeldenauswahlSpielerNr]
            Then - Actions
                Unit - Create 1 Nekromant for PlayerA at (Random point in StartRegion) facing (Random angle) degrees
            Else - Actions
        Unit Group - Add (Last created unit) to Heroes
        Set HeroOfPlayer[(Player number of PlayerA)] = (Last created unit)
        Set StartRegion = Spieler Start <gen>
        Game - Display to (Player group(PlayerA)) the text: Du startest mit 150...
        Set HeldenauswahlSpielerNr = (HeldenauswahlSpielerNr + 1)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                HeldenauswahlSpielerNr Less than or equal to 4
            Then - Actions
                Trigger - Run Heldenauswahl Dialog <gen> (ignoring conditions)
            Else - Actions
                Trigger - Destroy (This trigger)
                Trigger - Destroy Heldenauswahl Dialog <gen>

sorry for the german variables, hope that doesn't irritate -.-'
10-01-2004, 11:02 PM#6
Vexorian
Only thing I can think at this moment is the huge hit points the destructables get
10-02-2004, 09:04 AM#7
DarkFanatic
thx, i'll try reducing them, to see if that helps.

EDIT: i just reduced the hitpoints to 1000, players now stay in the game!
thx for the help vexorian! do you happen to know what the "safe" limit for such values is?