Всем привет, столкнулся с проблемой автозагрузки героев при сохранении карты в Reforged.
Получается, что если я сохраняю карту в версии 1.26 JNGP, то все отлично загружают своих героев, а если я тот же код сохраняю в Reforged, то происходит десинхронизация.
Десинхронизация происходит вот на этом этапе, если я сохраняю карту в редакторе Reforged. Почему так?
      if GetPlayerController(p)==MAP_CONTROL_USER and GetPlayerSlotState(p)==PLAYER_SLOT_STATE_PLAYING then
        if GetLocalPlayer()==p then
          call Preloader("save2\\Multiplayer\\DungeonRunners\\"+udg_Name[GetPlayerId(p)+1]+".pld")
        endif
      endif
Код:
function NameLoad takes player p returns nothing
local string S
local string Name=udg_Name[GetPlayerId(p)+1]
local integer LOOP
set LOOP=StringLength(Name)
    loop
    exitwhen LOOP<=0
    set S=SubString(Name,LOOP-1,LOOP)
        if S=="#" then
            set S=SubString(Name,LOOP,LOOP+1)
            if (S=="0")or(S=="1")or(S=="2")or(S=="3")or(S=="4")or(S=="5")or(S=="6")or(S=="7")or(S=="8")or(S=="9")then
                set udg_Name[GetPlayerId(p)+1]=SubString(Name,0,LOOP-1)
                set LOOP=0
            elseif S=="" then
                set LOOP=0
            endif
        elseif (S!="0")and(S!="1")and(S!="2")and(S!="3")and(S!="4")and(S!="5")and(S!="6")and(S!="7")and(S!="8")and(S!="9") then
            set LOOP=0
        endif
        set LOOP=LOOP-1
    endloop
endfunction

function Trig_InitialPlayersLoad_Actions takes nothing returns nothing
    local integer i=0
    local player p
    loop
      exitwhen i>15
      set udg_Player[i]=Player(i)
      set i=i+1
    endloop
    set udg_ColoredName[1] = ( ( "|c00FF0000" + GetPlayerName(Player(0)) ) + "|r" )
    set udg_ColoredName[2] = ( ( "|c000000FF" + GetPlayerName(Player(1)) ) + "|r" )
    set udg_ColoredName[3] = ( ( "|c0000FFC2" + GetPlayerName(Player(2)) ) + "|r" )
    set udg_ColoredName[4] = ( ( "|c004B005D" + GetPlayerName(Player(3)) ) + "|r" )
    set udg_ColoredName[5] = ( ( "|c00FFFF00" + GetPlayerName(Player(4)) ) + "|r" )
    set udg_ColoredName[6] = ( ( "|c00FF8B00" + GetPlayerName(Player(5)) ) + "|r" )
    set udg_ColoredName[7] = ( ( "|c0000C800" + GetPlayerName(Player(6)) ) + "|r" )
    set udg_ColoredName[8] = ( ( "|c00FF52AE" + GetPlayerName(Player(7)) ) + "|r" )
    set udg_ColoredName[9] = ( ( "|c00888888" + GetPlayerName(Player(8)) ) + "|r" )
    set udg_ColoredName[10] = ( ( "|c009FC4FF" + GetPlayerName(Player(9)) ) + "|r" )
    set udg_ColoredName[11] = ( ( "|c00004400" + GetPlayerName(Player(10)) ) + "|r" )
    set udg_ColoredName[12] = ( ( "|c00543200" + GetPlayerName(Player(11)) ) + "|r" )
    set i=1
    loop
        exitwhen i>12
        set udg_Name[i] = GetPlayerName(udg_Player[i-1])
        set i=i+1
    endloop
    set i=0
    loop
      exitwhen i>11
      set p=udg_Player[i]
      call NameLoad(p)
      if GetPlayerController(p)==MAP_CONTROL_USER and GetPlayerSlotState(p)==PLAYER_SLOT_STATE_PLAYING then
        if GetLocalPlayer()==p then
          call Preloader("save2\\Multiplayer\\DungeonRunners\\"+udg_Name[GetPlayerId(p)+1]+".pld")
        endif
      endif
      set i=i+1
    endloop
endfunction

//===========================================================================
function InitTrig_InitialPlayersLoad takes nothing returns nothing
    set gg_trg_InitialPlayersLoad = CreateTrigger()
    call TriggerAddAction( gg_trg_InitialPlayersLoad, function Trig_InitialPlayersLoad_Actions )
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
3
1 год назад
Отредактирован Smeto
0
карту в луа перепиши не десинхнет
10k кода... Не готов переписывать, собственно, как это по фиксить на Jass ? А главное, в чём проблема десинхрона?
0
8
1 год назад
0
Итого: Правильно ли я понимаю ситуацию:
Есть карта. Её можно открыть в jngp 1.26 и в какой-то новой версии редактора для рефа.
Если запускать карту, собранную в jngp, что в рефорже что в 1.26 десинк не происходит.
Если запускать карту, собранную в рефовом редакторе, то в рефе десинкает?
0
3
1 год назад
0
Итого: Правильно ли я понимаю ситуацию:
Есть карта. Её можно открыть в jngp 1.26 и в какой-то новой версии редактора для рефа.
Если запускать карту, собранную в jngp, что в рефорже что в 1.26 десинк не происходит.
Если запускать карту, собранную в рефовом редакторе, то в рефе десинкает?
Да, всё верно!
Чтобы оставить комментарий, пожалуйста, войдите на сайт.