Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для Витёк
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.09.2015
    Сообщений
    215
    Репутация:
    1 ±

    Вопрос по передвежению объекта

    Добрый день
    С помощью какой формулы можно вычеслить кординаты для передвежение объета по оси
    Вот к примеру я создал объект с поворотом 90
    Код HTML:
    CreateObject(18648, object_x, object_y, object_z, 0.0, 0.0, 90.0);
    как можно сделать чтобы он двигался строго по 90 градусов или по любому градусу который я ему поставлю
    Разработка •  • Ч Е Р Н О Б Ы Л Ь •  • Выживание в припяти •

  2. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Для начального распознавания стойки объекта:
    PHP код:
    native GetObjectPos(objectid, &Float:X, &Float:Y, &Float:Z);
    native GetObjectRot(objectid, &Float:RotX, &Float:RotY, &Float:RotZ); 
    Для работы с резким поворотом/передвижением:
    PHP код:
    native SetObjectPos(objectidFloat:XFloat:YFloat:Z);
    native SetObjectRot(objectidFloat:RotXFloat:RotYFloat:RotZ); 
    Для работы с регулируемой скоростью поворота/передвижения:
    PHP код:
    native MoveObject(objectidFloat:XFloat:YFloat:ZFloat:SpeedFloat:RotX = -1000.0Float:RotY = -1000.0Float:RotZ = -1000.0); 
    Дальше мозг напрягай и складывай алгоритм как тебе нужно всё вычислить и настроить))
    Последний раз редактировалось vovandolg; 21.03.2017 в 19:31.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  3. #3
    Аватар для Витёк
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.09.2015
    Сообщений
    215
    Репутация:
    1 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Для начального распознавания стойки объекта:
    PHP код:
    native GetObjectPos(objectid, &Float:X, &Float:Y, &Float:Z);
    native GetObjectRot(objectid, &Float:RotX, &Float:RotY, &Float:RotZ); 
    Для работы с резким поворотом/передвижением:
    PHP код:
    native SetObjectPos(objectidFloat:XFloat:YFloat:Z);
    native SetObjectRot(objectidFloat:RotXFloat:RotYFloat:RotZ); 
    Для работы с регулируемой скоростью поворота/передвижения:
    PHP код:
    native MoveObject(objectidFloat:XFloat:YFloat:ZFloat:SpeedFloat:RotX = -1000.0Float:RotY = -1000.0Float:RotZ = -1000.0); 
    Дальше мозг напрягай и складывай алгоритм как тебе нужно всё вычислить и настроить))
    в том то и дело что я вычеслить не могу (формулу не знаю)
    Разработка •  • Ч Е Р Н О Б Ы Л Ь •  • Выживание в припяти •

  4. #4
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    PHP код:
    #define OBJ_MOVE_SPEED (2.0) // скорость передвижения объекта
    #define KOEF_ROT (45.0) // на сколько градусов нам нужно повернуть

    // заносим значения
    enum
    {
        
    ID_ROT_X,
        
    ID_ROT_Y,
        
    ID_ROT_Z,

        
    ID_SIDE_PLUS,
        
    ID_SIDE_MINUS
    };
    // выбираем из enum значение(по какой оси будет выполнятся поворот)
    #define SET_ID_MOVE (ID_ROT_X) //выбираем первое значение по оси X
    #define SET_SIDE_MOVE (ID_SIDE_MINUS) //выбираем значение minus(будем отнимать)

    new move_objmove_xmove_ymove_zmove_rot_xmove_rot_ymove_rot_z;

    move_obj CreateObject18648object_xobject_yobject_z0.00.090.0 );

    GetObjectPosmove_obj,  move_xmove_ymove_z );
    GetObjectRotmove_obj,  move_rot_xmove_rot_ymove_rot_z );

    switch(
    SET_ID_MOVE)
    {
    #if defined SET_SIDE_MOVE == ID_SIDE_MINUS
        
    case ID_ROT_Xmove_rot_x -= KOEF_ROT;
        case 
    ID_ROT_Ymove_rot_y -= KOEF_ROT;
        case 
    ID_ROT_Zmove_rot_z -= KOEF_ROT;
    #else
        
    case ID_ROT_Xmove_rot_x += KOEF_ROT;
        case 
    ID_ROT_Ymove_rot_y += KOEF_ROT;
        case 
    ID_ROT_Zmove_rot_z += KOEF_ROT;
    #endif
    }

    MoveObjectmove_objmove_xmove_ymove_zOBJ_MOVE_SPEEDmove_rot_xmove_rot_ymove_rot_z ); 
    как то так наверное, не проверял на работоспособность.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •