Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Создание статических ботов(Actors) [0.3.7 RC6]

Статус
В этой теме нельзя размещать новые ответы.

gegelo71

Новичок
Здравствуйте, дорогие гости и пользователи портала Pawno-Info. Да, знаю, такая тема уже есть. Но в этой теме я бы хотел подробно рассказать вам о статических ботах (Актёрах).
Как нам уже известно, боты не занимают слоты, но они ограничены (1000 штук). Также, они не синхронизированы и не имеют каких-либо способностей.

Перейдём к делу:

Подключаем инклуд #include <a_actor>

Создание/удаление:
PHP:
CreateActor(modelid, Float: x, Float: y, Float: z, Float: Rotation); - создание актёра
Параметры:

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

[HR][/HR]
​
PHP:
DestroyActor(actorid); - удаление актёра

Параметры:
  • actorid - ID созданного актёра

Пример использования:
PHP:
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;
}
Применение/удаление анимации:
PHP:
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 - функция не удалась.

[HR][/HR]
PHP:
ClearActorAnimations(actorid); - очищение анимаций актёра
Параметры:
  • actorid - ID актёра, у которого нужно очистить анимацию.

Примеры:
PHP:
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;
}
Все доступные анимации можно найти (кликабельно).

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

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

Параметры:
  • actorid - ID нашего актёра
  • Float:X - X-позиция нашего актёра
  • Float:Y - Y-позиция нашего актёра
  • Float:Z - Z-позиция нашего актёра

[HR][/HR]
PHP:
GetActorPos(actorid, &Float:X, &Float:Y, &Float:Z); - узнать позицию нашего актёра
Параметры:
  • actorid - ID актёра
  • &Float:X - координата X
  • &Float:Y - координата Y
  • &Float:Z - координата Z


[HR][/HR]

​
PHP:
SetActorFacingAngle(actorid, Float:ang); - изменяет угол поворота актёра
Параметры:
  • actorid - ID актёра
  • Float:ang - новый угол поворота актёра.
[HR][/HR]
PHP:
GetActorFacingAngle(actorid, &Float:ang); - получает угол поворота актёра
Параметры:
  • actorid - ID актёра
  • &Float:ang - переменная, в которую нужно записать угол поворота
[HR][/HR]
PHP:
SetActorHealth(actorid, Float:health); - здоровье Актёра

Параметры:
  • actorid - ID актёра
  • Float:health - значение
[HR][/HR]
PHP:
GetActorHealth(actorid, &Float:health); - получает значение здоровья Актёра
Параметры:
  • actorid - ID актёра
  • &Float:health - переменная, в которую нужно записать значение
[HR][/HR]
PHP:
SetActorInvulnerable(actorid, invulnerable = true); - уязвимость актёра
Параметры:
  • actorid - ID актёра
  • invulnerable - значение (0 - уязвимые/1 - неуязвимые)
[HR][/HR]
PHP:
IsActorInvulnerable(actorid); - проверка, уязвим ли актёр
Параметры:
  • actorid - ID актёра

[HR][/HR]
PHP:
IsValidActor(actorid); - проверка на существование актёра
Параметры:
  • actorid - ID актёра

[HR][/HR]
PHP:
IsActorStreamedIn(actorid, forplayerid); - проверяет, видит ли игрок актёра
Параметры:
  • actorid - ID актёра
  • forplayerid - ID смотрящего

[HR][/HR]
PHP:
SetActorVirtualWorld(actorid, vworld); - устанавливает виртуальный мир актёра
Параметры:
  • actorid - ID актёра
  • vworld - виртуальный мир актёра

[HR][/HR]
PHP:
GetActorVirtualWorld(actorid); - получает виртуальный мир актёра
Параметры:
  • actorid - ID актёра

[HR][/HR]
На этом всё, всем спасибо :)
​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу