Функции, связанные с NPC.
Описание функций, приведённых ниже, поможет вам легче ориентироваться в NPC-ботах при их создании.
1. OnNPCModeInit() - вызывается при загрузке NPC-скрипта.
PHP код:
public OnNPCModeInit()
{
print("[NPC]: Скрипт NPC успешно загружен!");
return true;
}
2. OnNPCModeExit() - вызывается при выгрузке NPC-скрипта.
PHP код:
public OnNPCModeInit()
{
print("[NPC]: Скрипт NPC успешно выгружен!");
return true;
}
3. OnNPCConnect(npcid) - вызывается при успешном подключении NPC к серверу.
PHP код:
public OnNPCConnect(npcid)
{
printf("[NPC]: NPC успешно подключен к серверу. Его ID: %i.", npcid);
return true;
}
4. OnNPCDisconnect() - вызывается при отключении NPC от сервера.
PHP код:
public OnNPCDisconnect(reason[])
{
printf("[NPC]: NPC отключился от сервера. Причина: %s.", reason);
return true;
}
5. OnNPCSpawn() - вызывается при спавне NPC на сервере.
PHP код:
public OnNPCSpawn()
{
print("[NPC]: NPC заспавнился.");
return true;
}
6. OnNPCEnterVehicle(vehicleid, npcid) - вызывается, когда NPC садится в автомобиль.
PHP код:
public OnNPCEnterVehicle(vehicleid, seatid)
{
printf("[NPC]: NPC садится на место %d в автомобиль с ID:%d.", seatid, vehicleid);
return true;
}
6. OnNPCExitVehicle() - вызывается, когда NPC покидает автомобиль.
PHP код:
public OnNPCExitVehicle()
{
print("[NPC]: NPC покидает автомобиль.");
return true;
}
7. ConnectNPC("имя бота", "название файла, из которого грузится бот (должен находиться в папке npcmodes)"); - подключение NPC к серверу.
PHP код:
public OnGameModeInit()
{
ConnectNPC("TestName","TestFile");
return true;
}
8. IsPlayerNPC(playerid) - проверка, которая определяет, является ли игрок ботом или нет.
PHP код:
public OnPlayerConnect(playerid)
{
if (IsPlayerNPC(playerid))
{
SendClientMessageToAll(0xFFFFFFFF,"[NPC]: На сервер подключился бот.");
return true;
}
}
! Это основные функции, которые обычно используются при работе с NPC. Однако, есть функции, тоже относящиеся к NPC, но которые успешно заменяются стандартными функциями, которые используются при работе с реальным игроком:
- SendChat (отправляет сообщение от бота всему серверу);
- SendCommand (использование команды ботом);
- GetMyPos (определение позиции [x,y,z] бота);
- SetMyPos (смена позиции [x,y,z] бота);
- GetMyFacingAngle (определение угла поворота бота);
- SetMyFacingAngle (смена угла поворота бота);