Reasons why Server splitting occurs?

PhoenixICE

New Member
Reaction score
0
Well i've looked around a couple of forums - and i've found out if u use pan camera as neccessary, units loaded already in the water can stuff up ur map and cause it to split - with the units already loaded in water does that count shallow water? and is there other reasons cause my map splits within the first 2-4 seconds (<--- plz note that, alot of ppl suggest memory leak but in the first 2-4 secs i really doubt it and various other things that cannot happen in 2-4 seconds), map link is: http://www.epicwar.com/maps/11094
 
hmmm good guide but doesn't help me - the server splitting issue in my map - i've tried all of what was said in the guide
 
How many triggers have you got? Would you like to post some? or post the entire map?
 
well i got the map link i'll post some triggers for u too see:

function Trig_item_store_Shield_Actions takes nothing returns nothing
set bj_forLoopAIndex = 199
set bj_forLoopAIndexEnd = 200
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I01B'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 196
set bj_forLoopAIndexEnd = 198
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I01A'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 190
set bj_forLoopAIndexEnd = 195
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I019'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 183
set bj_forLoopAIndexEnd = 189
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I018'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 176
set bj_forLoopAIndexEnd = 182
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I017'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 171
set bj_forLoopAIndexEnd = 175
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I016'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 161
set bj_forLoopAIndexEnd = 170
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I015'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 141
set bj_forLoopAIndexEnd = 160
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I014'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 101
set bj_forLoopAIndexEnd = 140
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I013'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction

//===========================================================================
function InitTrig_item_store_Shield takes nothing returns nothing
set gg_trg_item_store_Shield = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_item_store_Shield, 6.00 )
call TriggerAddAction( gg_trg_item_store_Shield, function Trig_item_store_Shield_Actions )
endfunction

---------------------------------------------------------------------------------------------------
function Trig_item_store_Sword_Actions takes nothing returns nothing
set bj_forLoopAIndex = 99
set bj_forLoopAIndexEnd = 100
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I001'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 96
set bj_forLoopAIndexEnd = 98
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I009'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 90
set bj_forLoopAIndexEnd = 95
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I007'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 83
set bj_forLoopAIndexEnd = 89
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I005'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 76
set bj_forLoopAIndexEnd = 82
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I004'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 71
set bj_forLoopAIndexEnd = 75
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I003'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 61
set bj_forLoopAIndexEnd = 70
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I002'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 41
set bj_forLoopAIndexEnd = 60
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I008'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 40
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Item_list_Town_1[GetForLoopIndexA()] = 'I006'
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction

//===========================================================================
function InitTrig_item_store_Sword takes nothing returns nothing
set gg_trg_item_store_Sword = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_item_store_Sword, 5.00 )
call TriggerAddAction( gg_trg_item_store_Sword, function Trig_item_store_Sword_Actions )
endfunction

-----------------------------------------------------------------------------------
function Trig_Set_Invunerable_For_Computer_Allied_Func001Func001C takes nothing returns boolean
if ( not ( IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction

function Trig_Set_Invunerable_For_Computer_Allied_Func001A takes nothing returns nothing
if ( Trig_Set_Invunerable_For_Computer_Allied_Func001Func001C() ) then
call SuspendHeroXPBJ( false, GetEnumUnit() )
else
call DoNothing( )
endif
call SetUnitInvulnerable( GetEnumUnit(), true )
call IssueImmediateOrderBJ( GetEnumUnit(), "holdposition" )
endfunction

function Trig_Set_Invunerable_For_Computer_Allied_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsOfPlayerAll(Player(10)), function Trig_Set_Invunerable_For_Computer_Allied_Func001A )
call TriggerSleepAction( 2 )
call SetUnitInvulnerable( gg_unit_h00D_0397, false )
endfunction

//===========================================================================
function InitTrig_Set_Invunerable_For_Computer_Allied takes nothing returns nothing
set gg_trg_Set_Invunerable_For_Computer_Allied = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_Set_Invunerable_For_Computer_Allied, 0.50 )
call TriggerAddAction( gg_trg_Set_Invunerable_For_Computer_Allied, function Trig_Set_Invunerable_For_Computer_Allied_Actions )
endfunction
 
hmm

WHY are you converting these triggers to jass? I dont think your writing them in jass (I dont know, just a guess)

And please put the # code around it, its next to quote!

it looks like
Code:
THIS
 
No, no. :p
The # is the button that you press to get the CODE tags (instead of writing them.)

You have to write CODE (like a Html tag.) If you know what I mean.

But instead of the html tag's < *text* > you use [ *text* ]

I'm probably confusing you right now. :p
But it should look like this:

[ CODE ] [ /CODE ] (But without the spaces)
 
Oh.
Um.. Testing? :p

[NOPARSE]
Code:
[/NOPARSE]

EDIT: Cool, it works! ^^ But it made my CODE non-capitalized. :(
 
A suggestion is to disable triggers until you don't have a desync, if it isn't obvious what action that causes the desync then start to disable actions in that trigger until you don't have a desync.

If it's just a single action or a group of actions that causes this then you will find the error using this method.
If it's more than one thing that causes this (like lots of leaks (I don't think this is the problem)) then it requires a bit more thinking but using this will atleast get rid of the error, spotting it's harder.
If the error isn't a trigger error (can be something else) or not caused indirectly by triggers then the error will be there after disabling all triggers. If so then you know where to not look :p
 
yea i was afraid i had to do that....well i need alot of dedicated beta testers then...

Edit: okay i've narrowed it down its not trigger problem. What terrain problems are associated with server split?

Edit 2: okay i've found out : if u have structures or any units in ANY water including shallow and deep then it splits for no reason thnxs everyone for trying bb.
 
Just as a FYI: You can use the [noparse][noparse][/noparse][/noparse] tag to display the code without spaces.
Like: [noparse]
Code:
some code
[/noparse]

I normally used [noparse]
Code:
[code]
[/code][/noparse]^^
But here it does not work :(
vB =! BB :'(
 
General chit-chat
Help Users
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    News portal has been retired. Main page of site goes to Headline News forum now
  • The Helper The Helper:
    I am working on getting access to the old news portal under a different URL for those that would rather use that for news before we get a different news view.
  • Ghan Ghan:
    Easily done
    +1
  • The Helper The Helper:
    https://www.thehelper.net/pages/news/ is a link to the old news portal - i will integrate it into the interface somewhere when i figure it out
  • Ghan Ghan:
    Need to try something
  • Ghan Ghan:
    Hopefully this won't cause problems.
  • Ghan Ghan:
    Hmm
  • Ghan Ghan:
    I have converted the Headline News forum to an Article type forum. It will now show the top 20 threads with more detail of each thread.
  • Ghan Ghan:
    See how we like that.
  • The Helper The Helper:
    I do not see a way to go past the 1st page of posts on the forum though
  • The Helper The Helper:
    It is OK though for the main page to open up on the forum in the view it was before. As long as the portal has its own URL so it can be viewed that way I do want to try it as a regular forum view for a while
  • Ghan Ghan:
    Yeah I'm not sure what the deal is with the pagination.
  • Ghan Ghan:
    It SHOULD be there so I think it might just be an artifact of having an older style.
  • Ghan Ghan:
    I switched it to a "Standard" article forum. This will show the thread list like normal, but the threads themselves will have the first post set up above the rest of the "comments"
  • The Helper The Helper:
    I don't really get that article forum but I think it is because I have never really seen it used on a multi post thread
  • Ghan Ghan:
    RpNation makes more use of it right now as an example: https://www.rpnation.com/news/
  • The Helper The Helper:
  • The Helper The Helper:
    What do you think Tom?
  • tom_mai78101 tom_mai78101:
    I will have to get used to this.
  • tom_mai78101 tom_mai78101:
    The latest news feed looks good

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top