В теме 20 сообщений

Человек-редиска
Освоившийся

Добрый день, дорогой читатель! Сегодня мы попробуем научиться делать ботов для 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! Будут проблемы, пишите в тему - поможем. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MaJoR
Постоянный
В 18.02.2018 в 14:29, DEST сказал:

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
MuhammadPawn
Великий Гуру

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

Отредактировано пользователем MuhammadPawn

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей Лазарев
Активный
В 18.02.2018 в 15:29, DEST сказал:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей Лазарев
Активный
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 м.с

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей Лазарев
Активный
Спойлер

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

 

Отредактировано пользователем Андрей Лазарев

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
RavanD
Освоившийся

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей Лазарев
Активный
В 28.06.2019 в 16:00, DEST сказал:

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

npc_record.pwn  0   2 кБ

npc_record.amx  0   1 кБ

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Cawfee
Великий Гуру

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

  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")
    Ну, и всех остальных своих ботов пока что уберите (закомментируйте хотя бы). Так скажем для чистоты эксперимента.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sorex
Новичок

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

Отредактировано пользователем odosenok
Причина: убрал цитату.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sorex
Новичок
9 минут назад, odosenok сказал:

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

а ссылку можно не могу найти

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Андрей Лазарев
      От Андрей Лазарев
      ROSTOV-HOST.RU - Современный Хостинг Игровых Серверов по невероятно низким ценам и удобной панелью управления 

      — Защита от DDoS-атак 
      — Бесплатная техническая поддержка 
      — Доступ в панель управления и личный кабинет 
      — Переустановка игрового сервера в любое время суток 
      — Редактирование конфигурационных файлов игрового сервера 
      — FTP доступ к файлам игрового сервера 
      — Мониторинг процессов 
      — Изменение количества слотов игрового сервера 
      — Система управления счетами и оплаты услуг 
      — Локальная MySQL база данных 
      — Автоустановка модов
      — Смена (версии / игры) сразу в панели управления


      Цены: с помесячной оплатой
      — GTA: SAMP              - 1слот / 0.40копп.
      — GTA: CRMP              - 1слот / 0.40копп.
      — GTA: MTA                 - 1слот / 0.80копп.
      — GTA: United MP       - 1слот / 0.80копп.
      — MineCraft: PE           - 1слот / 3.00копп.
      — MineCraft                  - 1слот / 5.00копп.
      — Counter Strike 1.6    - 1слот / 4.00копп.
       
      Цены: плати один раз пользуйся до скончания веков
      — 1 200 руб / SA:MP 0.3е/ CR:MP 0.3е/ МТА /    500 слотов
      — 1 800 руб / SA:MP 0.3.7/ CR:MP 0.3.7/ МТА /    1000 слотов
       

      Сайт: https://rostov-host.ru
      Группа в VK: https://vk.com/rostov_host
       
       
    • 9at0z
      От 9at0z
      Flatgame.ru - Хостинг игровых серверов. Gta SAMP: 0.50коп/слот Gta СRMP: 0.50коп/слот MTA: 0.50коп/слот Minecraft: 5руб/слот Counter Stire 1.6: 7руб/слот Все сервера с автоусновкой модов, которые есть доступны. Обширная панель управления сервером. Тестовый периуд 3 дня. И очень много чего интересного!

    • FanVan
      От FanVan

       
      Дешевый хостинг серверов SAMP, CRMP, Minecraft: Java & Bedrock Edition
       
      Помогаем запуститься начинающим проектам без больших вложений.
      Сделаем так, чтобы твои затраты на хостинг уменьшились без потери качества.
       
      Размещаем серверы в Хельсинках, Финляндия на процессоре частотой до 4.8 ГГц и NVMe диске.
      У нас нет красивого сайта, покупка услуг производится через бота в ЛС группы, а управление сервером -- посредством панели Pterodactyl.
      Мы не ограничиваем тебя слотами: все тарифы -- это маленькие компьютеры, ты волен сам устанавливать максимальное количество игроков, без повышения стоимости.
       
      К нам обращаются, когда хостинг начинает съедать большую часть бюджета из-за того, что хостер захотел выпендриться и добавил бесполезный функционал. Но лучше обратиться еще в начале, чтобы уменьшить затраты на хостинг и вложить как можно больше в рекламу.
       
      Никто не идеален, ничто не идеально: мы не можем помочь
      если у тебя высоконагруженный проект если тебе требуется защита от DDOS если тебе нужен пинг -1 если тебе важна автоустановка модов  
      Но ты можешь написать нам в тех. поддержку и, возможно, мы подберем более мощный тариф на отдельном сервере персонально для тебя по цене ниже, чем у других.
       
      Мы стремимся сделать создание сервера доступным каждому. Если остались вопросы или хочешь протестировать оборудование, напиши нам в ЛС группы.