Здравствуйте. В этой теме мы научимся делать ботов для CR:MP.
Для начало, скачаем необходимые файлы, пароль: pawno-crmp.ru
Скачать
Файлы npc_record.pwn и npc_record.amx копируем в filterscripts, а a_npc.inc в /pawno/include.
Далее открываем server.cfg и в строке filterscripts прописываем npc_record, также изменяем maxnpc на количество ботов на сервере.
Далее открываем мод через pawno.exe и после #include добавляем #include и компилируем мод.
В этом уроке мы будем делать бота который ездит на машине по заданному маршруту. Заходим на сервер, входим как RCON администратор, садимся в машину и как только вы готовы начать записывать бота - вводим команду /vrecord [имя бота] (не используйте кириллицу в названии бота). Запись началась, ездим по нужному нам маршруту и когда нужно остановить запись бота - вводим команду /srecord и запись останавливается.
Выходим из игры и заходим в scriptfiles, там вы увидите названия бота.rec копируем этот файл в /npcmodes/recordings.
Создаем чистый .pwn файл и вносим в него следующий код:
#define RECORDING "NameNPC" //Имя вашего записанного файла из scriptfiles без расширения
#define RECORDING_TYPE 1 //1 - если путь записан на машине, 2 - пешком
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#if RECORDING_TYPE == 1
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
#else
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING); .
#endif
Компилируем и перемещаем его в папку npcmodes
Открываем свой мод и ко всем глобальным переменным добавляем (название может быть любое, я взял ProverkaNPC):
new ProverkaNPC;
Далее идем в public OnGameModeInit() и добавляем:
ConnectNPC("любое имя бота","название файла из scriptfiles без расширения");
ProverkaNPC = CreateVehicle(400,0.0,0.0,5.0,0.0,3,3,5000);//Координаты изменять не надо, можете изменить только модель ТС и цвет
Далее идем в public OnPlayerSpawn(playerid) и добавляем:
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid,npcname,sizeof(npcname));
if(!strcmp(npcname,"имя указанное в ConnectNPC",true))
{
PutPlayerInVehicle(playerid,ProverkaNPC,0);
}
return 1;
}
Если при подключении бота, его выкидывает с сервера из-за того, что у вас система регистрации, то при регистрации нужно вставить этот код:
if(IsPlayerNPC(playerid)) return 1;
Всё! Если вы всё сделали правильно, то у вас всё должно работать.
Для начало, скачаем необходимые файлы, пароль: pawno-crmp.ru
Скачать
Файлы npc_record.pwn и npc_record.amx копируем в filterscripts, а a_npc.inc в /pawno/include.
Далее открываем server.cfg и в строке filterscripts прописываем npc_record, также изменяем maxnpc на количество ботов на сервере.
Далее открываем мод через pawno.exe и после #include добавляем #include и компилируем мод.
В этом уроке мы будем делать бота который ездит на машине по заданному маршруту. Заходим на сервер, входим как RCON администратор, садимся в машину и как только вы готовы начать записывать бота - вводим команду /vrecord [имя бота] (не используйте кириллицу в названии бота). Запись началась, ездим по нужному нам маршруту и когда нужно остановить запись бота - вводим команду /srecord и запись останавливается.
Выходим из игры и заходим в scriptfiles, там вы увидите названия бота.rec копируем этот файл в /npcmodes/recordings.
Создаем чистый .pwn файл и вносим в него следующий код:
#define RECORDING "NameNPC" //Имя вашего записанного файла из scriptfiles без расширения
#define RECORDING_TYPE 1 //1 - если путь записан на машине, 2 - пешком
#include <a_npc>
main(){}
public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING);
#if RECORDING_TYPE == 1
public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING);
public OnNPCExitVehicle() StopRecordingPlayback();
#else
public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING); .
#endif
Компилируем и перемещаем его в папку npcmodes
Открываем свой мод и ко всем глобальным переменным добавляем (название может быть любое, я взял ProverkaNPC):
new ProverkaNPC;
Далее идем в public OnGameModeInit() и добавляем:
ConnectNPC("любое имя бота","название файла из scriptfiles без расширения");
ProverkaNPC = CreateVehicle(400,0.0,0.0,5.0,0.0,3,3,5000);//Координаты изменять не надо, можете изменить только модель ТС и цвет
Далее идем в public OnPlayerSpawn(playerid) и добавляем:
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid,npcname,sizeof(npcname));
if(!strcmp(npcname,"имя указанное в ConnectNPC",true))
{
PutPlayerInVehicle(playerid,ProverkaNPC,0);
}
return 1;
}
Если при подключении бота, его выкидывает с сервера из-за того, что у вас система регистрации, то при регистрации нужно вставить этот код:
if(IsPlayerNPC(playerid)) return 1;
Всё! Если вы всё сделали правильно, то у вас всё должно работать.
Последнее редактирование модератором: