- Joined
- Nov 9, 2006
- Messages
- 2,558
Hello, i'm currently working on a map called Warcraft Royale and i've got some problems with desyncs at the start of my game. I assume it has something to do with initial triggers causing some errors. So if anyone could look quickly over my triggers i would appreciate it. Typically players desync when there are 6 or more players = 1 desync, the more players the more desync.
Init, creates error on screen when casting on impossible positions
Init, creates error on screen when casting on impossible positions
- //TESH.scrollpos=0
- //TESH.alwaysfold=0
-
function Sim_Error takes player ForPlayer, string msg returns nothing
- local sound error = CreateSoundFromLabel("InterfaceError",false,false,false,10,10)
-
if (GetLocalPlayer() == ForPlayer) then
-
if (msg!="") and (msg!=null) then
- call ClearTextMessages()
- call DisplayTimedTextToPlayer(ForPlayer, 0.52, -1.00, 2.00, "|cffffcc00"+msg+"|r" )
- endif
- call StartSound( error )
-
if (msg!="") and (msg!=null) then
- endif
- call KillSoundWhenDone( error)
- set error=null
- endfunction
-
Variables 1 Random
-
Events
- Map initialization
- Conditions
-
Actions
- -------- Random Hero --------
- Set RandomHeroType[1] = Paladin
- Set RandomHeroType[2] = Archmage
- Set RandomHeroType[3] = Mountain King
- Set RandomHeroType[4] = Blood Mage
- Set RandomHeroType[5] = Blademaster
- Set RandomHeroType[6] = Far Seer
- Set RandomHeroType[7] = Tauren Chieftain
- Set RandomHeroType[8] = Shadow Hunter
- Set RandomHeroType[9] = Death Knight
- Set RandomHeroType[10] = Lich
- Set RandomHeroType[11] = Dreadlord
- Set RandomHeroType[12] = Crypt Lord
- Set RandomHeroType[13] = Keeper of the Grove
- Set RandomHeroType[14] = Priestess of the Moon
- Set RandomHeroType[15] = Demon Hunter
- Set RandomHeroType[16] = Warden
- Set RandomHeroType[17] = Alchemist
- Set RandomHeroType[18] = Naga Sea Witch
- Set RandomHeroType[19] = Tinker
- Set RandomHeroType[20] = Beastmaster
- Set RandomHeroType[21] = Dark Ranger
- Set RandomHeroType[22] = Firelord
- Set RandomHeroType[23] = Pandaren Brewmaster
- Set RandomHeroType[24] = Pit Lord
- Set RandomHeroType[25] = Ranger
- Set RandomHeroType[26] = Ancient of Winter
- Set RandomHeroType[27] = Ogre Battlemage
- -------- Random Human --------
- Set RandomHeroHuman[1] = Paladin
- Set RandomHeroHuman[2] = Archmage
- Set RandomHeroHuman[3] = Mountain King
- Set RandomHeroHuman[4] = Blood Mage
- Set RandomHeroHuman[5] = Ranger
- -------- Random Orc --------
- Set RandomHeroOrc[1] = Blademaster
- Set RandomHeroOrc[2] = Far Seer
- Set RandomHeroOrc[3] = Tauren Chieftain
- Set RandomHeroOrc[4] = Shadow Hunter
- Set RandomHeroOrc[5] = Ogre Battlemage
- -------- Random Undead --------
- Set RandomHeroUndead[1] = Death Knight
- Set RandomHeroUndead[2] = Lich
- Set RandomHeroUndead[3] = Dreadlord
- Set RandomHeroUndead[4] = Crypt Lord
- -------- Random Night Elf --------
- Set RandomHeroNightElf[1] = Keeper of the Grove
- Set RandomHeroNightElf[2] = Priestess of the Moon
- Set RandomHeroNightElf[3] = Demon Hunter
- Set RandomHeroNightElf[4] = Warden
- Set RandomHeroNightElf[5] = Ancient of Winter
- -------- Random Neutral --------
- Set RandomHeroNeutral[1] = Alchemist
- Set RandomHeroNeutral[2] = Naga Sea Witch
- Set RandomHeroNeutral[3] = Tinker
- Set RandomHeroNeutral[4] = Beastmaster
- Set RandomHeroNeutral[5] = Dark Ranger
- Set RandomHeroNeutral[6] = Firelord
- Set RandomHeroNeutral[7] = Pandaren Brewmaster
- Set RandomHeroNeutral[8] = Pit Lord
- -------- Random Strength --------
- Set RandomHeroStrength[1] = Paladin
- Set RandomHeroStrength[2] = Mountain King
- Set RandomHeroStrength[3] = Tauren Chieftain
- Set RandomHeroStrength[4] = Death Knight
- Set RandomHeroStrength[5] = Dreadlord
- Set RandomHeroStrength[6] = Crypt Lord
- Set RandomHeroStrength[7] = Alchemist
- Set RandomHeroStrength[8] = Beastmaster
- Set RandomHeroStrength[9] = Pandaren Brewmaster
- Set RandomHeroStrength[10] = Pit Lord
- Set RandomHeroStrength[11] = Ancient of Winter
- -------- Random Agility --------
- Set RandomHeroAgility[1] = Blademaster
- Set RandomHeroAgility[2] = Shadow Hunter
- Set RandomHeroAgility[3] = Priestess of the Moon
- Set RandomHeroAgility[4] = Demon Hunter
- Set RandomHeroAgility[5] = Warden
- Set RandomHeroAgility[6] = Dark Ranger
- Set RandomHeroAgility[7] = Firelord
- Set RandomHeroAgility[8] = Ranger
- -------- Random Intelligence --------
- Set RandomHeroIntelligence[1] = Archmage
- Set RandomHeroIntelligence[2] = Blood Mage
- Set RandomHeroIntelligence[3] = Far Seer
- Set RandomHeroIntelligence[4] = Lich
- Set RandomHeroIntelligence[5] = Keeper of the Grove
- Set RandomHeroIntelligence[6] = Naga Sea Witch
- Set RandomHeroIntelligence[7] = Tinker
- Set RandomHeroIntelligence[8] = Ogre Battlemage
- -------- Random Melee --------
- Set RandomHeroMelee[1] = Paladin
- Set RandomHeroMelee[2] = Mountain King
- Set RandomHeroMelee[3] = Blademaster
- Set RandomHeroMelee[4] = Tauren Chieftain
- Set RandomHeroMelee[5] = Death Knight
- Set RandomHeroMelee[6] = Dreadlord
- Set RandomHeroMelee[7] = Crypt Lord
- Set RandomHeroMelee[8] = Demon Hunter
- Set RandomHeroMelee[9] = Warden
- Set RandomHeroMelee[10] = Alchemist
- Set RandomHeroMelee[11] = Tinker
- Set RandomHeroMelee[12] = Beastmaster
- Set RandomHeroMelee[13] = Pandaren Brewmaster
- Set RandomHeroMelee[14] = Pit Lord
- Set RandomHeroMelee[15] = Ancient of Winter
- -------- Random Ranged --------
- Set RandomHeroRanged[1] = Archmage
- Set RandomHeroRanged[2] = Blood Mage
- Set RandomHeroRanged[3] = Far Seer
- Set RandomHeroRanged[4] = Shadow Hunter
- Set RandomHeroRanged[5] = Lich
- Set RandomHeroRanged[6] = Keeper of the Grove
- Set RandomHeroRanged[7] = Priestess of the Moon
- Set RandomHeroRanged[8] = Naga Sea Witch
- Set RandomHeroRanged[9] = Dark Ranger
- Set RandomHeroRanged[10] = Firelord
- Set RandomHeroRanged[11] = Ranger
- Set RandomHeroRanged[12] = Ogre Battlemage
-
Events
-
Variables 2 Color
-
Events
- Map initialization
- Conditions
-
Actions
- -------- Color String --------
- Set Playercolorsstring[0] = |cffffcc00
- Set Playercolorsstring[1] = |c00ff0303
- Set Playercolorsstring[2] = |c000042ff
- Set Playercolorsstring[3] = |c001ce6b9
- Set Playercolorsstring[4] = |c00540081
- Set Playercolorsstring[5] = |c00fffc01
- Set Playercolorsstring[6] = |c00feba0e
- Set Playercolorsstring[7] = |c0020c000
- Set Playercolorsstring[8] = |c00e55bb0
- Set Playercolorsstring[9] = |cFF808080
- Set Playercolorsstring[10] = |cFF8080FF
- Set Playercolorsstring[11] = |cFF008080
- Set Playercolorsstring[12] = |cFF804000
- Set Playercolorsstring[13] = |cFF8B0000
- Set Playercolorsstring[14] = |cFF4169E1
- Set Playercolorsstring[15] = |cFF40E0D0
- Set Playercolorsstring[16] = |cFF800080
- Set Playercolorsstring[17] = |cFFF08080
- Set Playercolorsstring[18] = |c004E2A04
- Set Playercolorsstring[19] = |cFF9ACD32
- Set Playercolorsstring[20] = |cFFDDA0DD
- Set Playercolorsstring[21] = |cFF000000
- Set Playercolorsstring[22] = |cFFFFFFFF
- Set Playercolorsstring[22] = |cFFFFFFFF
- Set Playercolorsstring[23] = |cFF7FFFD4
- Set Playercolorsstring[24] = |cFFDEB887
- -------- Color --------
- Set PlayerColor[0] = Black
- Set PlayerColor[1] = Red
- Set PlayerColor[2] = Blue
- Set PlayerColor[3] = Teal
- Set PlayerColor[4] = Purple
- Set PlayerColor[5] = Yellow
- Set PlayerColor[6] = Orange
- Set PlayerColor[7] = Green
- Set PlayerColor[8] = Pink
- Set PlayerColor[9] = Gray
- Set PlayerColor[10] = Light Blue
- Set PlayerColor[11] = Dark Green
- Set PlayerColor[12] = Brown
- Set PlayerColor[13] = Maroon
- Set PlayerColor[14] = Navy
- Set PlayerColor[15] = Turquoise
- Set PlayerColor[16] = Violet
- Set PlayerColor[17] = Wheat
- Set PlayerColor[18] = Peach
- Set PlayerColor[19] = Mint
- Set PlayerColor[20] = Lavender
- Set PlayerColor[21] = Coal
- Set PlayerColor[22] = Snow
- Set PlayerColor[23] = Emerald
- Set PlayerColor[24] = Peanut
- -------- Color String --------
- Set ColorString[0] = Black
- Set ColorString[1] = Red
- Set ColorString[2] = Blue
- Set ColorString[3] = Teal
- Set ColorString[4] = Purple
- Set ColorString[5] = Yellow
- Set ColorString[6] = Orange
- Set ColorString[7] = Green
- Set ColorString[8] = Pink
- Set ColorString[9] = Grat
- Set ColorString[10] = Light Blue
- Set ColorString[11] = Dark Green
- Set ColorString[12] = Brown
- Set ColorString[13] = Maroon
- Set ColorString[14] = Navy
- Set ColorString[15] = Turquoise
- Set ColorString[16] = Violet
- Set ColorString[17] = Wheat
- Set ColorString[18] = Peach
- Set ColorString[19] = Mint
- Set ColorString[20] = Lavender
- Set ColorString[21] = Coal
- Set ColorString[22] = Snow
- Set ColorString[23] = Emerald
- Set ColorString[24] = Peanut
-
Events
-
Variables 3 Circle
-
Events
- Map initialization
- Conditions
-
Actions
- -------- Circle Variables --------
- Set CircleRadius = 25000.00
- Set CircleTimerColdown = 420.00
- Set CircleMovementSpeedReduction = 10.00
- Set CircleTimerColdownReduction = 60.00
- Set CircleStaticDmg = 0.00
- Set CircleStaticShrink = 25.00
- Set CircleTimerMin = 60.00
- Set CircleMaxReduction = 0
- Set CircleMaxShrinkPercentage = 25
- Set CircleIsShrinking = False
- Set CircleNewPoint = (Center of (Playable map area))
- Set CircleOldPoint = (Center of (Playable map area))
- Set CircleCurrentRadius = CircleRadius
- -------- Hint String --------
- Set HintString[1] = Buy units from shops as first priority, so that killing creeps becomes easier. Use "|cffffcc00-ping unit shop|r" to find nearby shops.
- Set HintString[2] = Your units will survive longer if you let the damage they take spread across evenly.
- Set HintString[3] = If you click [|cffffcc00A|r]ttack with a unit on another friendly unit, creeps will change aggro to that target instead.
- Set HintString[4] = If you're struggling with a type of resource drop, you can trade one type for another at the market place.
- Set HintString[5] = As a temporary solution to food shortage, you can buy the "|cffffcc00tiny farm item|r" from item shops. The circle will destroy buildings though.
- Set HintString[6] = With gold abundance and food shortage, your gold is better spent empowering your hero.
- Set HintString[7] = Invest in spying units to find out who the enemy heroes are, what items they carry and what units they have.
- Set HintString[8] = You can use large units and items such as "tiny farm or tower item" to lock in or zone out players.
- Set HintString[9] = Dead players have full vision of the map. As a dead player don't give away positions. Show some courtesy!
- Set HintString[10] = You should always bring some form of healing with you.
-
Events
-
Variables 4 Drop Table
-
Events
- Map initialization
- Conditions
-
Actions
- -------- T1 = 3 Powerups --------
- Set ItemTypePowerupTier1[1] = Tome of Strength +1
- Set ItemTypePowerupTier1[2] = Tome of Agility +1
- Set ItemTypePowerupTier1[3] = Tome of Intelligence +1
- -------- T2 = 3 Powerups --------
- Set ItemTypePowerupTier2[1] = Tome of Strength +2
- Set ItemTypePowerupTier2[2] = Tome of Agility +2
- Set ItemTypePowerupTier2[3] = Tome of Intelligence +2
- -------- T3 = 3 Powerups --------
- Set ItemTypePowerupTier3[1] = Tome of Strength +3
- Set ItemTypePowerupTier3[2] = Tome of Agility +3
- Set ItemTypePowerupTier3[3] = Tome of Intelligence +3
- -------- T1 = 2 Resources --------
- Set ItemTypeResourceBundleTier1[1] = Small Gold Stack
- Set ItemTypeResourceBundleTier1[2] = Small Lumber Bundle
- Set ItemTypeResourceBundleTier1[3] = Small Food Stack
- -------- T2 = 2 Resources --------
- Set ItemTypeResourceBundleTier2[1] = Medium Gold Stack
- Set ItemTypeResourceBundleTier2[2] = Medium Lumber Bundle
- Set ItemTypeResourceBundleTier2[3] = Medium Food Stack
- -------- T3 = 2 Resources --------
- Set ItemTypeResourceBundleTier3[1] = Large Gold Stack
- Set ItemTypeResourceBundleTier3[2] = Large Lumber Bundle
- Set ItemTypeResourceBundleTier3[3] = Large Food Stack
- -------- T1 = 10 Items --------
- Set ItemTypePermanentitemTier1[1] = Cloak of Shadows
- Set ItemTypePermanentitemTier1[2] = Gauntlets of Ogre Strength +3
- Set ItemTypePermanentitemTier1[3] = Slippers of Agility +3
- Set ItemTypePermanentitemTier1[4] = Mantle of Intelligence +3
- Set ItemTypePermanentitemTier1[5] = Boots of Speed
- Set ItemTypePermanentitemTier1[6] = Circlet of Nobility
- Set ItemTypePermanentitemTier1[7] = Circlet of Nobility
- Set ItemTypePermanentitemTier1[8] = Claws of Attack +6
- Set ItemTypePermanentitemTier1[9] = Ring of Protection +2
- Set ItemTypePermanentitemTier1[10] = Staff of Teleportation
- -------- T2 = 15 Items --------
- Set ItemTypePermanentitemTier2[1] = Claws of Attack +9
- Set ItemTypePermanentitemTier2[2] = Pendant of Energy
- Set ItemTypePermanentitemTier2[3] = Periapt of Vitality
- Set ItemTypePermanentitemTier2[4] = Ring of Protection +3
- Set ItemTypePermanentitemTier2[5] = Ring of Regeneration
- Set ItemTypePermanentitemTier2[6] = Talisman of Evasion
- Set ItemTypePermanentitemTier2[7] = Alleria's Flute of Accuracy
- Set ItemTypePermanentitemTier2[8] = Belt of Giant Strength +6
- Set ItemTypePermanentitemTier2[9] = Boots of Quel'Thalas +6
- Set ItemTypePermanentitemTier2[10] = Diamond of Summoning
- Set ItemTypePermanentitemTier2[11] = Legion Doom-Horn
- Set ItemTypePermanentitemTier2[12] = Robe of the Magi +6
- Set ItemTypePermanentitemTier2[13] = Runed Bracers
- Set ItemTypePermanentitemTier2[14] = Scourge Bone Chimes
- Set ItemTypePermanentitemTier2[14] = Sobi Mask
- Set ItemTypePermanentitemTier2[15] = The Lion Horn of Stormwind
- -------- T3 = 15 Items --------
- Set ItemTypePermanentitemTier3[1] = Ancient Janggo of Endurance
- Set ItemTypePermanentitemTier3[2] = Claws of Attack +12
- Set ItemTypePermanentitemTier3[3] = Cloak of Flames
- Set ItemTypePermanentitemTier3[4] = Crystal Ball
- Set ItemTypePermanentitemTier3[5] = Helm of Valor
- Set ItemTypePermanentitemTier3[6] = Hood of Cunning
- Set ItemTypePermanentitemTier3[7] = Khadgar's Pipe of Insight
- Set ItemTypePermanentitemTier3[8] = Medallion of Courage
- Set ItemTypePermanentitemTier3[9] = Warsong Battle Drums
- Set ItemTypePermanentitemTier3[10] = Amulet of Spell Shield
- Set ItemTypePermanentitemTier3[11] = Khadgar's Gem of Health
- Set ItemTypePermanentitemTier3[12] = Orb of Darkness
- Set ItemTypePermanentitemTier3[13] = Pendant of Mana
- Set ItemTypePermanentitemTier3[14] = Ring of Protection +4
- Set ItemTypePermanentitemTier3[15] = Staff of Silence
- -------- T4/Artifact = 7 Items --------
- Set ItemTypeArtifact[1] = Claws of Attack +15
- Set ItemTypeArtifact[2] = Crown of Kings +5
- Set ItemTypeArtifact[3] = Kelen's Dagger of Escape
- Set ItemTypeArtifact[4] = Mask of Death
- Set ItemTypeArtifact[5] = Orb of Frost
- Set ItemTypeArtifact[6] = Ring of Protection +5
- Set ItemTypeArtifact[7] = Tome of Power
-
Events
-
Settings
-
Events
- Map initialization
- Conditions
-
Actions
- Game - Set Lock resource trading to Off
-
For each (Integer A) from 1 to 24, 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 - Turn Gives bounty On for (Player((Integer A)))
- Player - Set (Player((Integer A))) Food max to 100
- Player - Set (Player((Integer A))) Food cap to 12
- Player Group - Add (Player((Integer A))) to PingGroup
- Player Group - Add (Player((Integer A))) to HintGroup
- Player Group - Add (Player((Integer A))) to IncomeGroup
- Player - For (Player((Integer A))), turn Alliance (non-aggression) On toward Neutral Passive
- Player - For (Player((Integer A))), turn Friendly spell targeting On toward Neutral Passive
- Player - For Neutral Passive, turn Alliance (non-aggression) On toward (Player((Integer A)))
- Player - For Neutral Passive, turn Friendly spell targeting On toward (Player((Integer A)))
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Events
-
Quest
-
Events
- Map initialization
- Conditions
-
Actions
- Quest - Create a Optional quest titled Info with the description This map was made b..., using icon path ReplaceableTextures\CommandButtons\BTNSentryWard.blp
- Quest - Enable (Last created quest)
- Quest - Create a Optional quest titled Commands with the description Player Commands: -..., using icon path ReplaceableTextures\CommandButtons\BTNFaerieFire.blp
- Quest - Enable (Last created quest)
- Quest - Create a Optional quest titled Credits with the description Protector of the Pi..., using icon path ReplaceableTextures\CommandButtons\BTNPeasant.blp
- Quest - Enable (Last created quest)
- Quest - Create a Required quest titled Goal with the description Be the last hero st..., using icon path ReplaceableTextures\CommandButtons\BTNBattleStations.blp
- Quest - Enable (Last created quest)
- Quest - Create a Required quest titled Item Drops with the description When killing neutra..., using icon path ReplaceableTextures\CommandButtons\BTNINV_Misc_Coin_02.blp
- Quest - Enable (Last created quest)
- Quest - Create a Required quest titled The Circle with the description The circle is a bar..., using icon path ReplaceableTextures\CommandButtons\BTNAbility_Tracking.blp
- Quest - Enable (Last created quest)
- Quest - Create a Required quest titled Balance Changes with the description This is the list of..., using icon path ReplaceableTextures\CommandButtons\BTNClayFigurine.blp
- Quest - Enable (Last created quest)
-
Events
-
Start and Soul Spawn
-
Events
- Time - Elapsed game time is 0.00 seconds
- Conditions
-
Actions
- Game - Display to (All players) the text: |cffffcc00Map by:|r...
- Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (100.00%, 100.00%, 100.00%) with 0.00% transparency
- -------- Wait --------
- Wait 10.00 game-time seconds
- Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (100.00%, 100.00%, 100.00%) with 0.00% transparency
- -------- Create Circle --------
- Set TempPoint1 = (Center of (Playable map area))
- Unit - Create 1 Eye of the Circle for Neutral Passive at TempPoint1 facing 0.00 degrees
- Set CircleUnit = (Last created unit)
- -------- Enable Triggers --------
- Trigger - Turn off Squad Command <gen>
- Trigger - Turn on Income <gen>
- Trigger - Turn on Damage Tick Loop <gen>
- Trigger - Run Create Timer <gen> (checking conditions)
- -------- Create Souls --------
-
For each (Integer A) from 1 to 24, 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
- Set TempPoint1 = (Random point in Spawn <gen>)
- Player Group - Add (Player((Integer A))) to PlayersRemaining
- Unit - Create 1 Soul of a Hero for (Player((Integer A))) at TempPoint1 facing 0.00 degrees
- Set PlayerUnit[(Player number of (Player((Integer A))))] = (Last created unit)
- Special Effect - Create a special effect attached to the origin of (Last created unit) using Abilities\Spells\Human\Resurrect\ResurrectTarget.mdl
- Special Effect - Destroy (Last created special effect)
- Unit - Add a 30.00 second Generic expiration timer to (Last created unit)
- Selection - Select (Last created unit) for (Player((Integer A)))
- Camera - Pan camera for (Player((Integer A))) to TempPoint1 over 0.00 seconds
- Unit - Add Hero Race List to (Triggering unit)
- Unit - Add Hero Traits List to (Triggering unit)
- Unit - Add Hero Attribute List to (Triggering unit)
- Custom script: call RemoveLocation(udg_TempPoint1)
-
Else - Actions
- Do nothing
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- -------- Create Multiboard --------
- Trigger - Run Create Multiboard <gen> (checking conditions)
-
Events