[Tutorial] Плавное вращение обьекта по его осям - Форум




Главная О проекте Статьи Файлы Фотоальбомы Форум
Добавить сайт в «Избранное» | Вход в профиль

GTA V

Информация: iFruit

Информация: Изображения:

GTA: Chinatown Wars

Информация:

GTA IV

Информация:

Информация:

Информация:

Информация:

GTA: Vice City Stories

Информация: Изображения:

GTA: Liberty City Stories

Файлы: Информация: Изображения:

GTA: San-Andreas

Информация: Статьи: Изображения:

GTA: Vice City

Информация: Изображения: Файлы:

Информация: Изображения:

GTA ]I[

Информация: Файлы:

Информация: Изображения:

GTA 2

  • 1
  • 2

GTA: Advance

Информация:

GTA




  • 1
  • 2

Меню сайта

Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz

  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
    Страница 1 из 11
    Форум » PAWN » WIKI » Уроки » [Tutorial] Плавное вращение обьекта по его осям
    [Tutorial] Плавное вращение обьекта по его осям
    OKStyle Дата: Вторник, 09/06/2015, 22:36 | Сообщение # 1
    Analgésico



    Регистрация: 17/01/2009
    Клан:
    [ACF]
    Страна:
    Статус:


    Урок был написан ещё до появления координат поворота при движении объекта. В начало:

    Код
    new CurrentObject;   
    new AxisOfRotation;   
    new iteration;


    В OnGameModeInit:

    Код
    CurrentObject = CreateObject(....); // создаём объект


    В OnPlayerCommandText:

    Код
    if(!strcmp(cmd,"/rox+",true))   
    {   
          new tmp[30];   
          tmp = strtok(cmdtext,idx);   
          AxisOfRotation = 1;   
          new angle = strval(tmp);   
          iteration = angle/0.5;   
          SetTimerEx("ObjectRotateTimer",100,iteration);   
          return 1;   
    }   
    if(!strcmp(cmd,"/roy+",true))   
    {   
          new tmp[30];   
          tmp = strtok(cmdtext,idx);   
          AxisOfRotation = 2;   
          new angle = strval(tmp);   
          iteration = angle/0.5;   
          SetTimerEx("ObjectRotateTimer",100,iteration);   
          return 1;   
    }   
    if(!strcmp(cmd,"/roz+",true))   
    {   
          new tmp[30];   
          tmp = strtok(cmdtext,idx);   
          AxisOfRotation = 3;   
          new angle = strval(tmp);   
          iteration = angle/0.5;   
          SetTimerEx("ObjectRotateTimer",100,iteration);   
          return 1;   
    }   
    if(!strcmp(cmd,"/rox-",true))   
    {   
          new tmp[30];   
          tmp = strtok(cmdtext,idx);   
          AxisOfRotation = 4;   
          new angle = strval(tmp);   
          iteration = angle/0.5;   
          SetTimerEx("ObjectRotateTimer",100,iteration);   
          return 1;   
    }   
    if(!strcmp(cmd,"/roy-",true))   
    {   
          new tmp[30];   
          tmp = strtok(cmdtext,idx);   
          AxisOfRotation = 5;   
          new angle = strval(tmp);   
          iteration = angle/0.5;   
          SetTimerEx("ObjectRotateTimer",100,iteration);   
          return 1;   
    }   
    if(!strcmp(cmd,"/roz-",true))   
    {   
          new tmp[30];   
          tmp = strtok(cmdtext,idx);   
          AxisOfRotation = 6;   
          new angle = strval(tmp);   
          iteration = angle/0.5;   
          SetTimerEx("ObjectRotateTimer",100,iteration);   
          return 1;   
    }


    В низ мода:

    Код
    forward ObjectRotateTimer(angle);   
    public ObjectRotateTimer(angle)   
    {   
          if(iteration > 0)   
          {   
              if(AxisOfRotation == 1)   
              {   
                  new Float:x,Float:y,Float:z;   
                  GetObjectRot(CurrentObject,x,y,z);   
                  SetObjectRot(CurrentObject,x+0.5,y,z);   
              }   
              else if(AxisOfRotation == 2)   
              {   
                  new Float:x,Float:y,Float:z;   
                  GetObjectRot(CurrentObject,x,y,z);   
                  SetObjectRot(CurrentObject,x,y+0.5,z);   
              }   
              else if(AxisOfRotation == 3)   
              {   
                  new Float:x,Float:y,Float:z;   
                  GetObjectRot(CurrentObject,x,y,z);   
                  SetObjectRot(CurrentObject,x,y,z+0.5);   
              }   
              else if(AxisOfRotation == 4)   
              {   
                  new Float:x,Float:y,Float:z;   
                  GetObjectRot(CurrentObject,x,y,z);   
                  SetObjectRot(CurrentObject,x-0.5,y,z);   
              }   
              else if(AxisOfRotation == 5)   
              {   
                  new Float:x,Float:y,Float:z;   
                  GetObjectRot(CurrentObject,x,y,z);   
                  SetObjectRot(CurrentObject,x,y-0.5,z);   
              }   
              else if(AxisOfRotation == 6)   
              {   
                  new Float:x,Float:y,Float:z;   
                  GetObjectRot(CurrentObject,x,y,z);   
                  SetObjectRot(CurrentObject,x,y,z-0.5);   
              }   
              iteration--;   
          }   
    }




     
    Форум » PAWN » WIKI » Уроки » [Tutorial] Плавное вращение обьекта по его осям
    Страница 1 из 11
    Поиск:

    GTA MP

    Мультиплееры

    GTA Modding

    Статьи:
    GTA III

    Блок пользователя

    GTA: Criminal Russia


    Календарь новостей
    «  Март 2015  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031

    Поиск

    Наша кнопка



    Партнёры

    Multi Theft Auto Community Russia

    Alliance of Cheater's Fighters
    Elite Force Opossition
    Brotherhood of Plumbum
    E1ect
    San-Andreas Bugousers
    Seville Crew
    Русский•Exclusive•Сервер
    Mixes
    http://rus-gta.do.am/
    Здесь вы можете все узнать про pawno,так же скачать моды,скрипты,программы,новости и много другое

    Вход на сайт

    Корзина
    Ваша корзина пуста

    Поиск

    Мини-чат

    Наш опрос
    Считаете ли вы IV-MP лучше SA-MP?
    Всего ответов: 476

    Статистика


    Copyright © Лаборатория O.K.Style 2001-2016 | GTA-Exclusive 2007-2016 | GTA News 2007-2016 | Хостинг от uCoz