Вобщем моя карта как и ожидалось вылетает в мультиплеере
Пройдясь поиском по всем триггерам ища GetLocalPlayer, нашел вот эти примеры (знаю, код кривой).
Все чисто визуальщина, никаких хендлов создавать не должно.
Что из этого вызывает десинк?
//1 установить цель камеры
if GetLocalPlayer()==Player(i) {SetCameraTargetController(this.dummy,0,0,false)}

//2 видимость тексттага
SetTextTagVisibility(tt, IAbsBJ(View[GetPlayerId(GetLocalPlayer())].battle_index) == a)

//3 установить параметры камеры
        int j=GetPlayerId(GetLocalPlayer())
        SetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK,    View[j].pAngle,0)
        SetCameraField(CAMERA_FIELD_ZOFFSET,            View[j].pZ - GetZ(View[j].X, View[j].Y),0)
        SetCameraField(CAMERA_FIELD_TARGET_DISTANCE,    View[j].pRange,0)
        SetCameraField(CAMERA_FIELD_ROTATION,           View[j].pFacing,0)
 // при этом
    real GetZ(real x, real y)
    {
        MoveLocation(temp_zloc,x,y)
        return GetLocationZ(temp_zloc)
    }

//4 установить прозрачность юнита
            if GetLocalPlayer() == GetOwningPlayer(mdl) {SetUnitVertexColor(mdl, 255, 255, 255, 120)}

//5 установить громкость звука
            if IAbsBJ(View[GetPlayerId(GetLocalPlayer())].battle_index) != arena
            {
                SetSoundVolume(speech, 0)
            }

//6 кино-фильтр, картинка на весь экран; раньше спрашивал, сказали не десинкает
	if IAbsBJ(View[GetPlayerId(GetLocalPlayer())].battle_index) == index
            {
                CinematicFadeCommonBJ(100, 100, 100, time * 0.5, what, 100, 0)
                FinishCinematicFadeAfterBJ(time)
            }

//7 отобразить мультиборд игроку
	MultiboardDisplay(mb[p], GetLocalPlayer() == Player(p))

//8 опять прозрачность юнита, но по другому; переменная дальше никем не используется
            a=255; if GetLocalPlayer()!=Player(p) {a=0}
            SetUnitVertexColor(preview[p],255,255,255,a)

//9 опять видимость тексттага, но по другому
            if GetLocalPlayer()==Player(p)
            {
                SetTextTagVisibility(nametag[p], true)
            }

//10 опять отображение мультибордов
// скрыть все мультиборды кроме одного
// уже переделал это безобразие, но вдруг десинк был из-за него?
            if Player(i) == GetLocalPlayer()
            {
                if here[i] and !ai[i] and IAbsBJ(View[i].battle_index) == a.index and a.intro<0
                {
                    if i==a.pl[1].owner {
                        MultiboardDisplay(mb[a.pl[1].owner], true)
                    }
                    else
                    {
                        MultiboardDisplay(mb[a.pl[0].owner], true)
                    }
                }
                else
                {
                        MultiboardDisplay(mb[a.pl[0].owner], false)
                        MultiboardDisplay(mb[a.pl[1].owner], false)
                }
            }

Локейшены нельзя двигать локально, глобальный хендл. Двигай для всех и бери высоту для всех, ибо глобал параметры.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
28
Я уже как-то советовал. Можно поставить JNPG с эмуляцией мультиплеера, сам я этим пользовался разок.
20
biridius:
Tailer007, www.hiveworkshop.com/threads/fighting-for-azeroth-3d.305111
там вроде сразу обновилось
но в сингле тестить смысла нет, так то она и так работала в синглплеере
Мне нужно было код почитать, 20 раз используется GetLocalPlayer, а проверять в принципе можно используя патч 1.26 + KLoader для эмуляции нескольких окон Вар 3.
В целом уже по идее десинхронизации быть не должно. Все использования у тебя остались безопасные и не имеющие проблем.
PT153:
Я уже как-то советовал. Можно поставить JNPG с эмуляцией мультиплеера, сам я этим пользовался разок.
Лайк поставить не могу >_< Да, как вариант, правда лично у меня он отказался работать, но ранее работал.
Загрузил картинку со всеми использованиями, а то почему-то загрузить скриншот не даёт.
16
тексттаги абсолютно асинхронны, делай с ними что хочешь
проблему не вижу, потмоу что написано это не на жассе
22
DracoL1ch, пришли к консенсусу что
MoveLocation(temp_zloc,x,y)
не стоит делать если эти координаты локальные
22
все еще десинкает, хотя и убрал перемещение локейшенов
может мультиборд? или таки fade filter?
на хайве ответили, это все бж функция которая убирает fade filter, там создается таймер
28
на хайве ответили, это все бж функция которая убирает fade filter, там создается таймер
Да, всё так. Убери в 6-м GetLocalPlayer.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.