GetCameraTargetPositionZ - по логике должно работать на всех игроков. Но если я например хочу вычислить GetCameraTargetPositionZ какого то одного игрока, как это сделать?
Мб if (GetLocalPlayer() == Player(0)) then и функция с камерой endif, где ноль- индекс твоего игрока
Что значит Десинхронизация?
Вот 3 кода на настройки камеры. Для каждого игрока всё работает и без того что ты написал, но я щас не могу в данный момент проверить будет ли это работать для нескольки игроков одновременно.
//=========================================================================== function InitTrig_Camera_Limits takes nothing returns nothing set gg_trg_Camera_Limits = CreateTrigger( ) call DisableTrigger( gg_trg_Camera_Limits ) call TriggerRegisterTimerEventPeriodic( gg_trg_Camera_Limits, 0.05 ) call TriggerAddAction( gg_trg_Camera_Limits, function Trig_Camera_Limits_Actions ) endfunction
Code
function Trig_Cam_1_down_Actions takes nothing returns nothing local integer i = 1 loop exitwhen i > 10 set udg_DTT[i] = ( 1800.00 + ( 2.00 * ( 500.00 - GetCameraTargetPositionZ() ) ) ) call SetCameraFieldForPlayer( ConvertedPlayer(i), CAMERA_FIELD_TARGET_DISTANCE, udg_DTT[i], 0.60 ) set i = i + 1 endloop endfunction
//=========================================================================== function InitTrig_Cam_1_down takes nothing returns nothing set gg_trg_Cam_1_down = CreateTrigger( ) call TriggerRegisterVariableEvent( gg_trg_Cam_1_down, "udg_Cam", LESS_THAN, 500.00 ) call TriggerAddAction( gg_trg_Cam_1_down, function Trig_Cam_1_down_Actions ) endfunction
Code
function Trig_Cam_1_norm_Actions takes nothing returns nothing local integer i = 1 loop exitwhen i > 10 set udg_DTT[i] = 1800.00 call SetCameraFieldForPlayer( ConvertedPlayer(i), CAMERA_FIELD_TARGET_DISTANCE, udg_DTT[i], 0.60 ) set i = i + 1 endloop endfunction
//=========================================================================== function InitTrig_Cam_1_norm takes nothing returns nothing set gg_trg_Cam_1_norm = CreateTrigger( ) call TriggerRegisterVariableEvent( gg_trg_Cam_1_norm, "udg_Cam", GREATER_THAN_OR_EQUAL, 501.00 ) call TriggerAddAction( gg_trg_Cam_1_norm, function Trig_Cam_1_norm_Actions ) endfunction
Добавлено (24 Сентябрь 2011, 14:01:31) --------------------------------------------- Будет это работать для нескольки игроков ОДНОВРЕМЕННО?
Сообщение отредактировал FatalBlade - Суббота, 24 Сентября 2011, 14:00:24