Добавлен biridius
Вобщем моя карта как и ожидалось вылетает в мультиплеере
Пройдясь поиском по всем триггерам ища GetLocalPlayer, нашел вот эти примеры (знаю, код кривой).
Все чисто визуальщина, никаких хендлов создавать не должно.
Что из этого вызывает десинк?
Пройдясь поиском по всем триггерам ища 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)
}
}
Принятый ответ
Локейшены нельзя двигать локально, глобальный хендл. Двигай для всех и бери высоту для всех, ибо глобал параметры.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Unryze
PT153: Совершенно не заметил, да, я похоже слишком выше гор смотрел. Виноват :)
biridius: После удаления движения локации перестало десинкать?
Отредактирован biridius
там вроде сразу обновилось
но в сингле тестить смысла нет, так то она и так работала в синглплеере
Отредактирован Unryze
PT153: Лайк поставить не могу >_< Да, как вариант, правда лично у меня он отказался работать, но ранее работал.
проблему не вижу, потмоу что написано это не на жассе