20 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! Будут проблемы, пишите в тему - поможем. 

Share this post


Link to post
Share on other sites

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

Share this post


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

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

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

 

Share this post


Link to post
Share on other sites

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

Edited by MuhammadPawn

Share this post


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

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

Не работает в том смысле что все сделано как описано в уроке но бот так и не появляется

Share this post


Link to post
Share on other sites

@Андрей Лазарев не появляться он может по целой куче причин. Одна из самых распространенных - бот не прошел через авторизацию, или его выкинуло античитом. Скидывайте логи. 

Share this post


Link to post
Share on other sites
8 минут назад, DEST сказал:

@Андрей Лазарев не появляться он может по целой куче причин. Одна из самых распространенных - бот не прошел через авторизацию, или его выкинуло античитом. Скидывайте логи. 

скинуть логи загрузки сервера?

SA-MP Dedicated Server
----------------------
v0.3e, (C)2005-2012 SA-MP Team

[16:16:20] weburl = "www.sa-mp.com"  (string)
[16:16:20] 
[16:16:20] Server Plugins
[16:16:20] --------------
[16:16:20]  Loading plugin: crashdetect
[16:16:21]   CrashDetect plugin 4.19.4
[16:16:21]   Loaded.
[16:16:21]  Loading plugin: mysql
[16:16:21]  >> plugin.mysql: R39-6 successfully loaded.
[16:16:21]   Loaded.
[16:16:21]  Loading plugin: sscanf
[16:16:21] 

[16:16:21]  ===============================

[16:16:21]       sscanf plugin loaded.     

[16:16:21]          Version:  2.8.3        

[16:16:21]   (c) 2018 Alex "Y_Less" Cole  

[16:16:21]  ===============================

[16:16:21]   Loaded.
[16:16:21]  Loading plugin: streamer
[16:16:22] 

*** Streamer Plugin v2.9.4 by Incognito loaded ***

[16:16:22]   Loaded.
[16:16:22]  Loading plugin: pawncmd
[16:16:22] Pawn.CMD plugin v3.2.0 by urShadow has been loaded
[16:16:22]   Loaded.
[16:16:22]  Loading plugin: iTD
[16:16:22] 
* iTD Plugin loaded. (Support for textdraw editor mouse/keyboard)

[16:16:22]   Loaded.
[16:16:22]  Loading plugin: FileManager
[16:16:22] ******************
[16:16:22] ** FILE MANAGER **
[16:16:22] **    Loaded    **
[16:16:22] ** Version 1.1 **
[16:16:22] ******************
[16:16:22]   Loaded.
[16:16:22]  Loaded 7 plugins.

[16:16:22] 
[16:16:22] Filterscripts
[16:16:22] ---------------
[16:16:22]   Loading filterscript 'npc_record.amx'...
[16:16:22]   Unable to load filterscript 'npc_record.amx'.
[16:16:22]   Loaded 0 filterscripts.

[16:16:22]  
[16:16:22]  
[16:16:22]  
[16:16:22]  ======================================= 
[16:16:22]  |                                     | 
[16:16:22]  |        YSI version 3.09.0684        | 
[16:16:22]  |        By Alex "Y_Less" Cole        | 
[16:16:22]  |                                     | 
[16:16:22]  ======================================= 
[16:16:22]  
[16:16:23] 

Подключение к MySQL: OK
[16:16:23] ==============================================
[16:16:23] Server is Loading...
[16:16:23] ==============================================
[16:16:23] Number of vehicle models: 42
[16:16:25] [SMSG]: Успешная загрузка 'LoadVehicle' - загружено 89 за 1523 м.с
[16:16:25] [SMSG]: Успешная загрузка 'LoadBizz' - загружено 15 за 1 м.с
[16:16:25] [SMSG]: Успешная загрузка 'LoadHouses' - загружено 31 за 1 м.с
[16:16:25] [SMSG]: Успешная загрузка 'LoadFrac' - загружено 17 за 1 м.с
[16:16:25] [SMSG]: Успешная загрузка 'LoadEnters' - загружено 55 пикапов за 2 м.с
[16:16:25] [SMSG]: Успешная загрузка 'LoadPodezd' - загружено 192 подьездов за 8 м.с
[16:16:26] [SMSG]: Успешная загрузка 'LoadRooms' - загружено 2137 квартир за 109 м.с
[16:16:26] [SMSG]: Успешная загрузка 'LoadATM' - загружено 6 банкоматов за 0 м.с
[16:16:26] [SMSG]: Успешная загрузка 'LoadMayor' за 0 м.с
[16:16:26] [SMSG]: Успешная загрузка 'LoadOther' за 23 м.с
[16:16:26] [SMSG]: Успешная загрузка 'LoadKazino' - загружено 8  за 0 м.с
[16:16:26] [SMSG]: Успешная загрузка 'LoadRadar' - загружено 2 за 0 м.с

 

Share this post


Link to post
Share on other sites

@Андрей Лазарев NPC даже и не пытается коннектиться, скиньте server.cfg

Share this post


Link to post
Share on other sites
Спойлер

echo Executing Server Config...
lanmode 0
rcon_password 396593
rcon 0
maxplayers 500
hostname Severe Russia RolePlay | Loading...
gamemode0 mrpv1
filterscripts npc_record
announce 1
query 1
weburl 
maxnpc 20
onfoot_rate 40 
incar_rate 40 
weapon_rate 40 
stream_distance 400.0 
stream_rate 500
mapname Criminal Russia
plugins crashdetect mysql sscanf streamer pawncmd iTD FileManager
port 8904

echo Executing Server Config...
lanmode 0
rcon_password 396593
rcon 0
maxplayers 500
hostname Severe Russia RolePlay | Loading...
gamemode0 mrpv1
filterscripts npc_record
announce 1
query 1
weburl 
maxnpc 20
onfoot_rate 40 
incar_rate 40 
weapon_rate 40 
stream_distance 400.0 
stream_rate 500
mapname Criminal Russia
plugins crashdetect mysql sscanf streamer pawncmd iTD FileManager
port 8904

 

Edited by Андрей Лазарев

Share this post


Link to post
Share on other sites

каково содержимое папки npcmodes? Скиньте весь итоговый код, который вы добавили в свой мод. 

Share this post


Link to post
Share on other sites

Можно ссылку на скачивание данного скрипта. В интернете один шлак. Нету нормальных сайтов...

Share this post


Link to post
Share on other sites

Это от сампа, но в CRMP тоже должен работать. 

npc_record.pwn

npc_record.amx

Share this post


Link to post
Share on other sites
В 28.06.2019 в 16:00, DEST сказал:

Это от сампа, но в CRMP тоже должен работать. 

npc_record.pwn  0   2 кБ

npc_record.amx  0   1 кБ

Вы конечно извените но вы сами пишите что в крмп ДОЛЖНО РАБОБАТЬ сколько я не облазил форумов по данной теме и не одного не увидел у кого он заработал

Share this post


Link to post
Share on other sites

@Андрей Лазарев Для записи маршрутов используйте стандартный simple-мод, чтобы в нем обрабатывались команды с помощью OnPlayerCommandText. Команда для начала записи /vrecord. Этот скрипт полностью рабочий, скачан из официального архива на sa-mp.com. Если что-то не работает, это означает лишь то, что вы не умеете этим пользоваться. 

Share this post


Link to post
Share on other sites

@Андрей Лазарев, в моде CSR используются NPC-боты. Все работает прекрасно.

Share this post


Link to post
Share on other sites

Обычно проблемы возникают по следующим причинам:

  1. Отсутствует папка npcmodes/отсутствуют файлы (например, забыли их скопировать, неправильно назвали).
  2. Отсутствует файл adap-npc (либо поврежден).
  3. Не указано количество подключаемых NPC-ботов в файле конфигураций сервера (server.cfg). Необходимо вписать "maxnpc <количество>". Например, 
    maxnpc 10

    Ибо по умолчанию значение maxnpc стоит 0. Более подробно о параметрах сервера, настраиваемых в файле конфигурации, можете прочитать здесь.

  4. Неправильно оформлен файл.

  5. Боты подключаются "разово": идет последовательный вызов нескольких функций подключения ботов (ConnectNPC). Здесь сработает система безопасности сервера (параметр называется как-то вроде минимальная частота входящих запросов к серверу). Решение: запускать ботов с некоторым интервалом. Например: 

    Спойлер

     

    
    const MAX_NPC = 3;
    
    public OnGameModeInit() {
    	SetTimerEx("ConnectNPCBots", 1000*1, false, "i", 1); // ID первого бота
    	return 1;
    }
    
    forward ConnectNPCBots(npcid);
    public ConnectNPCBots(npcid) {
    	static g_npcid = 0;
    	g_npcid = npcid;
    	
    	switch(npcid) {
    		case 1: ConnectNPC("BotName1","file1");
    		case 2: ConnectNPC("BotName2","file2");
    		case 3: ConnectNPC("BotName3","file3");
    	}
    	
    	if(++g_npcid <= MAX_NPC) {
    		SetTimerEx("ConnectNPCBots", 1000*1, false, "i", g_npcid);
    	}
    	
    	return 1;
    }

     

 

Если хотите, можете попробовать подключить бота, который есть в моде CSR. Коль уж там работает, у вас тоже должен работать. Для этого поэтапно сделайте следующее:

  1. Скачайте папку npcmodes со всем ее содержимым (скачать).
  2. В OnGameModeInit впишите: 
    ConnectNPC("Karinka","cas1")
    Ну, и всех остальных своих ботов пока что уберите (закомментируйте хотя бы). Так скажем для чистоты эксперимента.

Share this post


Link to post
Share on other sites

@odosenok, можете скинуть сам мод csr что бы от туда брать ботов

Edited by odosenok
Причина: убрал цитату.

Share this post


Link to post
Share on other sites

@sorex, версия 7.4.0 есть в открытом доступе.

Share this post


Link to post
Share on other sites
9 минут назад, odosenok сказал:

@sorex, версия 7.4.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

    • defaultValue
      By defaultValue
      PAEditor - редактор для прикрепления объектов
      Скачать файл PAEditor

      Цель была разработать редактор для прикрепления объектов (PAEditor) с удобным интерфейсом.
       
      Язык интерфейса:
      English Русский Український Беларускі

      Начать:
      Для начала работы нужно нажать клавишу Y Можно создать проект и загрузить. (Проект сохраняется сам)
      Кнопки:

      Manage:
      Нажатие левой кнопки мыши, открывает диалог для выбора одного аттача. Нажатие правой кнопки мыши, открывает диалог для выбора несколько аттачей одновременно.
      Export:
      Экспортирует ваш проект в файл. Путь scriptfiles > project > export
      New:
      Создать процесс для аттача
      Delete:
      Удалить текущий аттач
      Dublicate:
      Продублировать текущий аттач (объект сохраняет свой размер и координаты от оригинала)
      Objects:
      Нажатие левой кнопки мыши, открывает диалог, где вы можно ввести, добавить или открыть список объектов. Нажатие правой кнопки мыши, открывает сразу список объектов.
      Bone:
      Изменить кость для текущего аттача.
      Symmetry:
      Симметрично отзеркаливает текущий объект и перемещает его на противоположную кость, т.е. если объект был в левой руки, то будет перемещен в правую руку.
      Если противоположной кости нет то остается на той же. т.е. если это голова, то там и остается.  
      Edit:
      ачать редактировать аттач.
      Colors:
      Нажатие левой кнопки мыши, открывает диалог, где вы можно ввести, добавить или открыть список цветов (добавленные цвета сохраняются). Нажатие правой кнопки мыши, открывает сразу список цветов.
      Camera Move:
      Включить/отключить вращение камеры в панели быстрого доступа
      Animation:
      Можно установить анимацию и добавить в список (добавленные анимации сохраняются)
      Clear Anim:
      Очистить текущею анимацию
      Prev & Next Skin:
      Нажатие левой кнопки мыши, быстрое переключение скина. Нажатие правой кнопки мыши, быстрое переключение скина и автоматический экспорт проект
      Skin:
      Установить скин  
      Скриншоты:
       
       
      Для запуска сервера, откройте папку, запустите samp-server.exe и в SAMP мультиплеере добавьте адрес 127.0.0.1.

      Всегда актуальная версия  >> GitHub

      Автор: Saibot
      Добавил defaultValue Добавлено 28.02.2024 Категория Скрипты Автор Saibot  
    • defaultValue
      By defaultValue
      PAEditor

      Цель была разработать редактор для прикрепления объектов (PAEditor) с удобным интерфейсом.
       
      Язык интерфейса:
      English Русский Український Беларускі

      Начать:
      Для начала работы нужно нажать клавишу Y Можно создать проект и загрузить. (Проект сохраняется сам)
      Кнопки:

      Manage:
      Нажатие левой кнопки мыши, открывает диалог для выбора одного аттача. Нажатие правой кнопки мыши, открывает диалог для выбора несколько аттачей одновременно.
      Export:
      Экспортирует ваш проект в файл. Путь scriptfiles > project > export
      New:
      Создать процесс для аттача
      Delete:
      Удалить текущий аттач
      Dublicate:
      Продублировать текущий аттач (объект сохраняет свой размер и координаты от оригинала)
      Objects:
      Нажатие левой кнопки мыши, открывает диалог, где вы можно ввести, добавить или открыть список объектов. Нажатие правой кнопки мыши, открывает сразу список объектов.
      Bone:
      Изменить кость для текущего аттача.
      Symmetry:
      Симметрично отзеркаливает текущий объект и перемещает его на противоположную кость, т.е. если объект был в левой руки, то будет перемещен в правую руку.
      Если противоположной кости нет то остается на той же. т.е. если это голова, то там и остается.  
      Edit:
      ачать редактировать аттач.
      Colors:
      Нажатие левой кнопки мыши, открывает диалог, где вы можно ввести, добавить или открыть список цветов (добавленные цвета сохраняются). Нажатие правой кнопки мыши, открывает сразу список цветов.
      Camera Move:
      Включить/отключить вращение камеры в панели быстрого доступа
      Animation:
      Можно установить анимацию и добавить в список (добавленные анимации сохраняются)
      Clear Anim:
      Очистить текущею анимацию
      Prev & Next Skin:
      Нажатие левой кнопки мыши, быстрое переключение скина. Нажатие правой кнопки мыши, быстрое переключение скина и автоматический экспорт проект
      Skin:
      Установить скин  
      Скриншоты:
       
       
      Для запуска сервера, откройте папку, запустите samp-server.exe и в SAMP мультиплеере добавьте адрес 127.0.0.1.

      Всегда актуальная версия  >> GitHub

      Автор: Saibot
    • LOL22
      By LOL22
      Не могу найти пароль от админки нету ничего кроме системы выдачи админки и никаких трок с этим кодом уже весь павно облазил может поможет кто то?
      arizona.pwn