Точнее сказать десинк при создании боевой единицы в (Цель обзора текущей камеры)
кто бы из игроков не использовал команду "-spawn"
вылетают из игры все кроме хоста....
Вопрос : как можно создать боевую единицу для конкретного игрока в одном из перечисленных
а - цель обзора текущей камеры (Игрок-Инициатор)
б - координаты компьютерной мыши (Игрок-Инициатор)
Заранее благодарю за ответы.

Принятый ответ

а - цель обзора текущей камеры (Игрок-Инициатор)
прочитать статью о GetLocalPlayer()
осознать что ничего не понимаете
использовать более разумный подход и создавать в определенной области
б - координаты компьютерной мыши (Игрок-Инициатор)
прочитать статью о мемхаке
осознать......
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
4
7 лет назад
1
У тебя у каждого игрока создастся 1 юнит в разных местах. Вот и десинк.
0
2
7 лет назад
0
При тестировании создавались юниты у только Игрока-Инициатора (Игрок1, Игрок2 и т.д.), но спустя 1-2 секунд десинк у всех игроков кроме хоста.
0
22
7 лет назад
0
Положение камеры для каждого игрока своё. Как Daniil18 сказал, для каждого игрока юниты создаются в разных местах.
Замените место создания юнитов. Самое безопасное это центр регона созданного в редакторе.
Можно поплясать с GetLocalPlayer(). Однако я считаю что проще переделать таким образом чтобы не зависеть от положения камеры.
0
26
7 лет назад
0
цель обзора текущей камеры скорее всего не локальная, поэтому и десинкает
0
22
7 лет назад
0
Оно как раз таки локальное, для каждого клиента своё. Я так понимаю что хозяин посылает остальным игрокам команду создать юнитов в центре экрана. И у каждого игрока центр экрана указывает на разные места на карте.
Поправьте меня если я чего-то не понимаю в устройстве сети.
0
26
7 лет назад
Отредактирован Hate
0
Zahanc:
Оно как раз таки локальное, для каждого клиента своё. Я так понимаю что хозяин посылает остальным игрокам команду создать юнитов в центре экрана. И у каждого игрока центр экрана указывает на разные места на карте.
Поправьте меня если я чего-то не понимаю в устройстве сети.
никера оно не локальное
кат
function GetCurrentCameraSetup takes nothing returns camerasetup
    local camerasetup theCam = CreateCameraSetup()
    local real duration = 0
    call CameraSetupSetField(theCam, CAMERA_FIELD_TARGET_DISTANCE, GetCameraField(CAMERA_FIELD_TARGET_DISTANCE), duration)
    call CameraSetupSetField(theCam, CAMERA_FIELD_FARZ,            GetCameraField(CAMERA_FIELD_FARZ),            duration)
    call CameraSetupSetField(theCam, CAMERA_FIELD_ZOFFSET,         GetCameraField(CAMERA_FIELD_ZOFFSET),         duration)
    call CameraSetupSetField(theCam, CAMERA_FIELD_ANGLE_OF_ATTACK, bj_RADTODEG * GetCameraField(CAMERA_FIELD_ANGLE_OF_ATTACK), duration)
    call CameraSetupSetField(theCam, CAMERA_FIELD_FIELD_OF_VIEW,   bj_RADTODEG * GetCameraField(CAMERA_FIELD_FIELD_OF_VIEW),   duration)
    call CameraSetupSetField(theCam, CAMERA_FIELD_ROLL,            bj_RADTODEG * GetCameraField(CAMERA_FIELD_ROLL),            duration)
    call CameraSetupSetField(theCam, CAMERA_FIELD_ROTATION,        bj_RADTODEG * GetCameraField(CAMERA_FIELD_ROTATION),        duration)
    call CameraSetupSetDestPosition(theCam, GetCameraTargetPositionX(), GetCameraTargetPositionY(), duration)
    return theCam
endfunction
0
21
7 лет назад
0
Тут вроде получается, что у каждого игрока создаются юниты в цели обзора именно его текущей камеры
Ятп, надо определить цель обзора текущей камеры именно для игрока-инициатора
И в ней и создавать
0
2
7 лет назад
0
Вопрос : как можно создать боевую единицу для конкретного игрока в одном из перечисленных
а - цель обзора текущей камеры (Игрок-Инициатор)
б - координаты компьютерной мыши (Игрок-Инициатор)
3
26
7 лет назад
3
а - цель обзора текущей камеры (Игрок-Инициатор)
прочитать статью о GetLocalPlayer()
осознать что ничего не понимаете
использовать более разумный подход и создавать в определенной области
б - координаты компьютерной мыши (Игрок-Инициатор)
прочитать статью о мемхаке
осознать......
Принятый ответ
0
22
7 лет назад
0
Предлагаю обходной способ. Дать игроку подконтрольную боевуе единицу, вероятно летающую. Дать этой еденице способность-пустышку. Например светлячок ночных эльфов с его взрывом. По использованию способности создавать войска на позиции.
Таким образом, игрок может создать войска для себя в нужном положении. Подставного юнита можно удалить, а можно оставить, в зависимости от нужд. Просто, безопасно.
+
Можно вообще создавать войска по использовани подставной способности на точке.
0
20
7 лет назад
0
делаем для каждого игрока точку в центре его экрана, сверяем координаты с центром игрока - инициатора, если не совпало - скип, совпало - делаем
3
26
7 лет назад
3
ssbbssc:
делаем для каждого игрока точку в центре его экрана, сверяем координаты с центром игрока - инициатора, если не совпало - скип, совпало - делаем
через гуи само получение центра камеры - десинк
0
28
7 лет назад
0
ssbbssc:
делаем для каждого игрока точку в центре его экрана, сверяем координаты с центром игрока - инициатора, если не совпало - скип, совпало - делаем
Только тучку делать не надо.
1
28
7 лет назад
Отредактирован nvc123
1
ssbbssc, на компе 1 игрока они совпали
на компе другого нет
на компе 1 игрока создался юнит
на компе другого нет
хост сверяет таблицы хендлов и находит расхождение, после чего кикает всех игроков у которых не так как у хоста считая что они читеры
0
20
7 лет назад
0
я имел ввиду, что скорее всего можно как-то соотнести координаты точки и центра экрана нужного игрока, и там уже создавать
в точке, а не в центре экрана
2
28
7 лет назад
2
ssbbssc, у 1 игрока совпадут координаты а у другого нет
и десинк
надо синхронизировать данные между игроками
об этом в статьях написано
Чтобы оставить комментарий, пожалуйста, войдите на сайт.