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