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

а - цель обзора текущей камеры (Игрок-Инициатор)
прочитать статью о GetLocalPlayer()
осознать что ничего не понимаете
использовать более разумный подход и создавать в определенной области
б - координаты компьютерной мыши (Игрок-Инициатор)
прочитать статью о мемхаке
осознать......
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
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
21
Тут вроде получается, что у каждого игрока создаются юниты в цели обзора именно его текущей камеры
Ятп, надо определить цель обзора текущей камеры именно для игрока-инициатора
И в ней и создавать
2
Вопрос : как можно создать боевую единицу для конкретного игрока в одном из перечисленных
а - цель обзора текущей камеры (Игрок-Инициатор)
б - координаты компьютерной мыши (Игрок-Инициатор)
26
а - цель обзора текущей камеры (Игрок-Инициатор)
прочитать статью о GetLocalPlayer()
осознать что ничего не понимаете
использовать более разумный подход и создавать в определенной области
б - координаты компьютерной мыши (Игрок-Инициатор)
прочитать статью о мемхаке
осознать......
Принятый ответ
22
Предлагаю обходной способ. Дать игроку подконтрольную боевуе единицу, вероятно летающую. Дать этой еденице способность-пустышку. Например светлячок ночных эльфов с его взрывом. По использованию способности создавать войска на позиции.
Таким образом, игрок может создать войска для себя в нужном положении. Подставного юнита можно удалить, а можно оставить, в зависимости от нужд. Просто, безопасно.
+
Можно вообще создавать войска по использовани подставной способности на точке.
20
делаем для каждого игрока точку в центре его экрана, сверяем координаты с центром игрока - инициатора, если не совпало - скип, совпало - делаем
26
ssbbssc:
делаем для каждого игрока точку в центре его экрана, сверяем координаты с центром игрока - инициатора, если не совпало - скип, совпало - делаем
через гуи само получение центра камеры - десинк
28
ssbbssc:
делаем для каждого игрока точку в центре его экрана, сверяем координаты с центром игрока - инициатора, если не совпало - скип, совпало - делаем
Только тучку делать не надо.
28
ssbbssc, на компе 1 игрока они совпали
на компе другого нет
на компе 1 игрока создался юнит
на компе другого нет
хост сверяет таблицы хендлов и находит расхождение, после чего кикает всех игроков у которых не так как у хоста считая что они читеры
20
я имел ввиду, что скорее всего можно как-то соотнести координаты точки и центра экрана нужного игрока, и там уже создавать
в точке, а не в центре экрана
28
ssbbssc, у 1 игрока совпадут координаты а у другого нет
и десинк
надо синхронизировать данные между игроками
об этом в статьях написано
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.