5 posts in this topic

Добрый день, дорогой читатель! Сегодня мы попробуем научиться делать ботов для crmp, впринципе, это актуально и для samp. 

Начнем. 

Для начала скачайте все необходимые файлы. 

А именно: инклуд (a_npc), и скрипт записи маршрута бота (npc_record.pwn and npc_record.amx). 

 

Как установить скрипт: два файла  (npc_record.pwn and npc_record.amx) киньте в папку filterscripts, потом пропишите в server.cfg:

filterscripts npc_record

 

ЭТАП 1/3 : ЗАПИСЬ МАРШРУТА

 

 

Далее, садитесь в машину / или пешком начинайте записывать маршрут. 

В случае, если маршрут записывается пешком, используйте команду /precord, если в авто используйте команду /vrecord. 

После окончания маршрута вводите /screcord и запись движений остановится. 

Записанный файл находится по пути: scriptfiles/namebot.rec

 

ЭТАП 2/3 : СОЗДАНИЕ СКРИПТА-БОТА

 

 

Теперь файл namebot.rec (из scriptfiles) перемещаем в npcmodes/recordings.

Там будет лежать запись бота. 

Переходим в папку /npcmodes.

Создаем скрипт (файл .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

ВНИМАНИЕ! Название .pwn скрипта НЕ произвольное. Оно должно быть таким же, как и название записи (.rec файла). 

В данном скрипте настройте, согласно указаниям, а после скомпилируйте скрипт (F5).

 

ЭТАП 3/3 : НАСТРОЙКА NPC В МОДЕ

 

Ко всем глобальным переменным (new) в моде добавляем:
 

new VehicleNPC; // транспорт, в который будем садить NPC. Проигнорируйте, если запись пешком

Далее отправляемся в OnGameModeInit и добавляем следующий код:

ConnectNPC("имя бота (произовльное)","название файла из scriptfiles без расширения");
VehicleNPC = CreateVehicle(400,0.0,0.0,5.0,0.0,3,3,5000); // нулевые координаты изменять не нужно, транспорт сам телепортируется к нашему нпс, измените только модель транспорта (по желанию) и цвет транспорта (по желанию)

Далее идем в OnPlayerSpawn, вставляем следующий код (желательно в начало паблика):

if(IsPlayerNPC(playerid))
{
    new npcname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,npcname,sizeof(npcname));
    if(!strcmp(npcname,"имя указанное в ConnectNPC",true))
    {
        PutPlayerInVehicle(playerid,VehicleNPC,0); // сажаем NPC в машину
      	SetPlayerColor(playerid, 0xFFFFFF00); // делаем прозрачный цвет NPC
    }
    return 1;
}

Далее, добавляем это в паблики, которые нежелательны для применения к NPC. Например, если он ездит в машине, добавьте там, где тратится бензин. Обязательно добавьте при регистрации, чтобы она ему не мешала и п. Если у вас возникли трудности, пишите в тему, расскажем куда еще добавить:

if(IsPlayerNPC(playerid)) return true;

Ну и все, npc готов! ВНИМАНИЕ! Если бот подключается, и его, сразу кикает, значит он не может заспавниться в моде. В основном это античит. Рекомендуется и туда добавить проверку, указанную чуть выше.  Автор урока: @steve! Будут проблемы, пишите в тему - поможем. 

4

Share this post


Link to post
Share on other sites

не работает

0

Share this post


Link to post
Share on other sites

@Сергей Князев что именно не работает? С таким описанием ничем помочь не сможем. 

0

Share this post


Link to post
Share on other sites
В 18.02.2018 в 14:29, DEST сказал:

@Сергей Князев что именно не работает? С таким описанием ничем помочь не сможем. 

А где скачать нужные файлы?

 

0

Share this post


Link to post
Share on other sites

@MaJoR в гугле  (а так всё есть в стандартном моде sa-mp)

Edited by MuhammadPawn

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content