PDA

Просмотр полной версии : [Вопрос] Не передвигается объект



Kevin_Patterson
11.07.2014, 20:42
Здравствуйте, нелепая какая-то ошибка...
В общем, не срабатывают функции MoveObject и MoveDynamicObject.

Делаю так:


ArmyGate[0] = CreateObject(10671, 2720.36, -2504.59, 13.41, 0.00, 0.00, 0.00);
ArmyGate[1] = CreateObject(10671, 2720.22, -2403.71, 13.34, 0.00, 0.00, 0.00);
// Или
ArmyGate[0] = CreateDynamicObject(10671, 2720.36, -2504.59, 13.41, 0.00, 0.00, 0.00);
ArmyGate[1] = CreateDynamicObject(10671, 2720.22, -2403.71, 13.34, 0.00, 0.00, 0.00);


else if(IsPlayerInRangeOfPoint(playerid,15.0,2726.6179,-2504.9519,13.5949))
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:objectx, Float:objecty, Float:objectz;
GetObjectPos(ArmyGate[0], objectx, objecty, objectz);
if(objectz >= 11.0) return MoveDynamicObject(ArmyGate[0], 2720.3274, -2504.5671, 10.6203, 3.00), SendClientMessage(playerid, -1, "Сработало!");
else if(objectz <= 11.0) return MoveDynamicObject(ArmyGate[0], 2720.36, -2504.59, 13.41, 3.00), SendClientMessage(playerid, -1, "Сработало!");
}
}
else if(IsPlayerInRangeOfPoint(playerid,15.0,2727.0029,-2405.9819,13.5600))
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:objectx, Float:objecty, Float:objectz;
GetObjectPos(ArmyGate[1], objectx, objecty, objectz);
if(objectz >= 11.0) return MoveObject(ArmyGate[1], 2720.2200, -2403.7100, 10.6118, 3.00), SendClientMessage(playerid, -1, "Сработало!");
else if(objectz < 11.0) return MoveObject(ArmyGate[1], 2720.22, -2403.71, 13.34, 3.00), SendClientMessage(playerid, -1, "Сработало!");
}
}

И вот что происходит:
Надпись "Сработало" появляется, но ворота не двигаются.
Прошу помощи, если нужно что-то предоставить еще - просьба уведомить меня об этом.

Spectrum
11.07.2014, 20:44
Если объект создан через CreateObject, он должен передвигаться MoveObject, а если CreateDynamicObject - то соответственно MoveDynamicObject, надпись появится в любом случае т.к. код построен верно, главное не запутаться в том, что я описал выше

Kevin_Patterson
11.07.2014, 20:51
Если объект создан через CreateObject, он должен передвигаться MoveObject, а если CreateDynamicObject - то соответственно MoveDynamicObject, надпись появится в любом случае т.к. код построен верно, главное не запутаться в том, что я описал выше

Все использую так, как вы написали - эффекта 0

L0ndl3m
11.07.2014, 22:00
Все использую так, как вы написали - эффекта 0

Покажи код, с предложенным вариантом от Spectrum'а.

Kevin_Patterson
12.07.2014, 10:42
Покажи код, с предложенным вариантом от Spectrum'а.


ArmyGate[0] = CreateDynamicObject(10671, 2720.36, -2504.59, 13.41, 0.00, 0.00, 0.00);
ArmyGate[1] = CreateDynamicObject(10671, 2720.22, -2403.71, 13.34, 0.00, 0.00, 0.00);


else if(IsPlayerInRangeOfPoint(playerid,15.0,2726.6179,-2504.9519,13.5949))
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:objectx, Float:objecty, Float:objectz;
GetObjectPos(ArmyGate[0], objectx, objecty, objectz);
if(objectz >= 11.0) return MoveDynamicObject(ArmyGate[0], 2720.3274, -2504.5671, 10.6203, 3.00), SendClientMessage(playerid, -1, "Сработало!");
else if(objectz <= 11.0) return MoveDynamicObject(ArmyGate[0], 2720.36, -2504.59, 13.41, 3.00), SendClientMessage(playerid, -1, "Сработало!");
}
}
else if(IsPlayerInRangeOfPoint(playerid,15.0,2727.0029,-2405.9819,13.5600))
{
if(IsPlayerInAnyVehicle(playerid))
{
new Float:objectx, Float:objecty, Float:objectz;
GetObjectPos(ArmyGate[1], objectx, objecty, objectz);
if(objectz >= 11.0) return MoveDynamicObject(ArmyGate[1], 2720.2200, -2403.7100, 10.6118, 3.00), SendClientMessage(playerid, -1, "Сработало!");
else if(objectz < 11.0) return MoveDynamicObject(ArmyGate[1], 2720.22, -2403.71, 13.34, 3.00), SendClientMessage(playerid, -1, "Сработало!");
}
}

KShaddix
12.07.2014, 19:23
И замени GetObjectPos на GetDynamicObjectPos.

Kevin_Patterson
12.07.2014, 21:02
И замени GetObjectPos на GetDynamicObjectPos.

Получилось, спасибо вам огромное, тему закрываю!
Эм..Вот только не знаю как закрыть тему :(

Edwin
14.07.2014, 11:13
Получилось, спасибо вам огромное, тему закрываю!
Эм..Вот только не знаю как закрыть тему :(

Не беспокойтесь, модеры сами закроют ;)