Перейти к содержанию
Авторизация  
reduz

Боты с анимацией.

Рекомендуемые сообщения

reduz

Всем привет.Хочу сделать ботов с анимацией на заводе,но не знаю как.Кто подскажет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hteppl

Мануал не мой,но должен помочь.

 

Работает только в CRMP 0.3.7.

 

Подключаем инклуд

#include <a_actor>

Создание.

CreateActor(modelid, Float: x, Float: y, Float: z, Float: Rotation); - создание актёра  

Параметры:
 

  • modelid - скин нашего актёра (ID скина)
  • Float: x - X-координата позиции актёра
  • Float: y - Y-координата позиции актёра
  • Float: z - Z-координата позиции актёра
  • Float: Rotation - Изменяет угол поворота актёра.

 

Удаление.

DestroyActor(actorid); - удаление актёра 

Параметры:

  • actorid - ID созданного актёра

 

Пример использования:

new actors; //глобальная

public OnGameModeInit()
{
    actors = CreateActor(228, 0.0, 0.0, 3.0, 180);
    return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
    if(!strcmp(cmdtext, "/actors", true))
      {
            DestroyActor(actors);
            return 1;    
      }    
      return 0;
}  

Применение/удаление анимации:

ApplyActorAnimation(actorid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time); - применение анимации  

Параметры:

  • actorid - ID нашего актёра
  • animlib[] - название библиотеки анимации
  • animname - название анимации
  • fDelta - скорость анимации
  • loop - циклическое повторение (0/1)
  • lockx - фиксация координаты X. Если 1, то после 1 цикла анимации координата Х позиции актра - будет выставлена как до анимации, если 0 - то координата Х не будет меняться на первоначальную.
  • locky - фиксация координаты Y. Если 1, то после 1 цикла анимации координата Y позиции актёра - будет выставлена как до анимации, если 0 - то координата Y не будет меняться на первоначальную.
  • freeze - заморозить ли после окончания анимации
  • time - время выполнения анимации. Для бесконечной используйте 0.

 

Возвращаемые значение: 

1 - анимация была применена.
0 - функция не удалась.

ClearActorAnimations(actorid); - очищение анимаций актёра  

Параметры: 

  • actorid - ID актёра, у которого нужно очистить анимацию.

 

Примеры:

new actors; //глобальная

public OnGameModeInit()
{
    actors = CreateActor(228, 0.0, 0.0, 3.0, 180);
    return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
    if(!strcmp(cmdtext, "/clear", true))
      {
            ApplyActorAnimation(actors, "DANCING", "bd_clap", 4.1, 1, 1, 1, 1, 1);
            return 1;    
      }    
      return 0;
}  

Все доступные анимации можно найти Здесь (кликабельно).

 

Остальные функции:

SetActorPos(actorid, Float:X, Float:Y, Float:Z); - установить позицию актёра  

Параметры:

  • actorid - ID нашего актёра
  • Float:X - X-позиция нашего актёра
  • Float:Y - Y-позиция нашего актёра
  • Float:Z - Z-позиция нашего актёра
GetActorPos(actorid, &Float:X, &Float:Y, &Float:Z); - узнать позицию нашего актёра

Параметры:

  • actorid - ID актёра
  • &Float:X - координата X
  • &Float:Y - координата Y
  • &Float:Z - координата Z
SetActorFacingAngle(actorid, Float:ang); - изменяет угол поворота актёра  

Параметры: 

  • actorid - ID актёра
  • Float:ang - новый угол поворота актёра.
GetActorFacingAngle(actorid, &Float:ang); - получает угол поворота актёра  

Параметры:

  • actorid - ID актёра
  • &Float:ang - переменная, в которую нужно записать угол поворота
SetActorHealth(actorid, Float:health); - здоровье Актёра 

Параметры:

  • actorid - ID актёра
  • Float:health - значение
GetActorHealth(actorid, &Float:health); - получает значение здоровья Актёра  

Параметры: 

  • actorid - ID актёра
  • &Float:health - переменная, в которую нужно записать значение
SetActorInvulnerable(actorid, invulnerable = true); - уязвимость актёра  

Параметры: 

  • actorid - ID актёра
  • invulnerable - значение (0 - уязвимые/1 - неуязвимые)
IsActorInvulnerable(actorid); - проверка, уязвим ли актёр 

Параметры:

  • actorid - ID актёра
IsValidActor(actorid); - проверка на существование актёра  

Параметры:

  • actorid - ID актёра
IsActorStreamedIn(actorid, forplayerid); - проверяет, видит ли игрок актёра  

Параметры:

  • actorid - ID актёра
  • forplayerid - ID смотрящего
SetActorVirtualWorld(actorid, vworld); - устанавливает виртуальный мир актёра  

Параметры:

  • actorid - ID актёра
  • vworld - виртуальный мир актёра
GetActorVirtualWorld(actorid); - получает виртуальный мир актёра  

Параметры:

  • actorid - ID актёра

 

Автор : Gegelo71.

 

P.S: Взято с постороннего ресурса.

 

Если будет нужно,создам отдельную тему.

Изменено пользователем ExPlaY
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

, Мда

Ставишь NPC и применяешь к нему анимацию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
reduz

,Спасибо за помощь,но мне надо именно на платформе 0.3e. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@reduz, в 03е ботов нет, за исключением npc, но никак не актер. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
reduz

,Ну NPC,как его создать с анимацией? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Alonso

@reduz, н и к а к! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Smirnov+

@reduz,по-моему их с анимацией нельзя сделать (так как должны быть в движение).Но это не точно! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.