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

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

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

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

Мануал Создание автоматических ворот

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

Sanek_M

Специалист
Для начала инклуд:
PHP:
#include <a_samp>
Теперь нам нужен forward для таймера,положим его ниже инклуда а_самп:
PHP:
forward GateCheck();
Теперь нам нужно создать,то что хранит обЪект,вставляем ниже:
PHP:
new AutomaticGate;
Теперь вставляем в OnGameModeInit,или OnFilterScriptInit,в нашем случае,я делаю для мода,значит использую OnGameModeInit
PHP:
public OnGameModeInit()
Теперь мы создадим таймер:
PHP:
SetTimer("GateCheck", 500, true);
Вы можете менять 500 как вам угодно,но если больше поставите,то сервер может лагать.
Теперь создадим сам обЪект:
PHP:
AutomaticGate = CreateObject(971, 2641.8201, 2810.6196, 36.3222, 0, 0, 0);
В общем должно выглядеть так:
PHP:
public OnGameModeInit()
{
    SetTimer("GateCheck", 500, true);
    AutomaticGate = CreateObject(971, 2641.8201, 2810.6196, 36.3222, 0, 0, 0);
    return 1;
}
Создадим функцию таймера:
PHP:
public GateCheck()
Создадим луп для всех игроков:
PHP:
for(new i=0; i<MAX_PLAYERS; i++)
Теперь сделаем проверку,что игроки присоединились на серв:
PHP:
if(IsPlayerConnected(i))
Теперь проверка на то что игрок у ворот,используем функцию IsPlayerInRangeOfPoint :
PHP:
if(IsPlayerInRangeOfPoint(i, 10.0, 2641.8201, 2810.6196, 36.3222))
Если игрок не у ворот,то мы должны рестартануть процесс
PHP:
MoveObject(AutomaticGate, 2641.8201, 2810.6196, 36.3222, 5.0);
Должно выглядеть что-то типо того:
PHP:
public CheckGate()
{
    for(new i=0; i<MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(IsPlayerInRangeOfPoint(i, 10.0, 2641.8201, 2810.6196, 36.3222))
            {
                MoveObject(AutomaticGate, 2641.8201, 2810.6196, 26.3222, 5.0);
            }
            else
            {
                MoveObject(AutomaticGate, 2641.8201, 2810.6196, 36.3222, 5.0);
            }
        }
    }
}
Вот и все,если помог + не пожалей:)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу