[ Свежие темы · Новости · Купить Premium+ · Акции · Правила · Поиск · RSS ]
  • Страница 1 из 1
  • 1
[FAQ] Создание ботов
Man_Cleo
Дата: Среда, 02.10.2013, 15:51 | Сообщение # 1
Сообщений: 21
Всеми нами знакомая ситуация, как же добавить ботов если эти "сраные" DummyBot работают только на R3(если не ошибаюсь).
Старенький урок, но за то работающий. 
Давайте приступим к созданию наших ботов. 

Для начала откроем файл server.cfg: 
Добавляем строку 

maxnpc 10 

Распишем: 
maxnpc - функция отвечающая за максимальное количество NPC. 
10 - количество NPC, которые смогут подключится на сервер. Можно изменять. 

Теперь нам нужно записать маршрут движения нашего NPC. 
У всех должен быть [FS]npc_record. 
Путь запуска фильтрскрипта: 

Заходим на сервер. 
Заходим под РКОН паролем(/rcon login пароль) 
Загружаем наш фильтрскрипт(/rcon loadfs npc_record) 

Мы загрузили фильтрскрипт и у нас добавились 3 команды: 
/vrecord - записать маршрут из транспортного средства. 
/ofrecord - записать маршрут вне транспортного средства. 
/stoprecord - остановить запись маршрута. 

Давайте сделаем маршрут для транспортного средства. 
Путь создания маршрута: 

Садимся в любую машину которая понравится. 
Вводим /vrecord bobik и катаемся по городу. 
(ВНИМАНИЕ: Как вы проедите так будет ездить ваш бот, не гоняйте по встречной полосе это может плохо кончится.) 
По окончанию нашего проката вводим /stoprecord 

Всё, маршрут записал. Закрываем игру и лезем в папку scriptfiles, она находится в папке с сервером. 
Ищем там файл bobik.rec. Переносим его в: "Папка с сервером>npcmodes>recordings". 
1-ю часть работы мы сделали. Пожмём друг-другу руки и пойдём далее. 

Теперь нам нужно сделать все проверки и сделать так чтобы наш NPC смог подключится к серверу. 
Для начала зайдём в папку npcmodes и создадим небольшой скриптик. 
В программе PAWNO создаём новый документ и сносим всё к чертям. 
Вот так: 
Текст под спойлером 

И добавляем в него данный скрипт: 

#define RECORDING "bobik" //Имя вашего файла записи без расширения 
#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 

Теперь нам нужно определится где мы будет добавлять нашего всемогужего бота. 
Я думаю лучше добавлять его в мод, т.к. меньше будет проблем. 

1 что мы делаем, это подключаем бота. 
Добавляем в OnGameModeInit сразу после 1 скобки: 

ConnectNPC("Dave","mynpc"); 

т.е. получится вот так: 

public OnGameModeInit() 

ConnectNPC("Bob","bobik"); 

Bob - это имя NPC. Указывать английскими буквами. 
bobik - это наш файл в папке npcmodes. 

Бот подключается, НО куда он будет садится? Где у него машина? Вы видели? Нет? Давайте ему подарим Sultan. 
Добавляем ко всем new: 

new bobikbot; 

И после ConnectNPC("Bob","bobik"); в паблике public OnGameModeInit добавляем: 

BobikCar = CreateVehicle(560, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); 

И у нас получится: 

public OnGameModeInit() 

ConnectNPC("Bob","bobik"); 
BobikCar = CreateVehicle(560, 0.0, 0.0, 5.0, 0.0, 3, 3, 5000); 

Далее идём в public OnPlayerSpawn. 
ВНИМАНИЕ: Если ваш NPC не находится в машине то пропускаем этот паблик. 

public OnPlayerSpawn(playerid) 

if(IsPlayerNPC(playerid)) // Это проверка на бота. Не трогаем. 

new npcname[MAX_PLAYER_NAME]; 
GetPlayerName(playerid, npcname, sizeof(npcname)); 
if(!strcmp(npcname, "Bob", true)) //проверяем имя MyFirstNPC 

PutPlayerInVehicle(playerid, BobikCar, 0); // Cажаем NPC В созданую для него машину 
return 1; 

return 1; 

return 1; 


Теперь самое главное. 
Если у вас стоит система регистрации или выбор скина или ещё какая нить лабуда, добавляем проверку: 

if(IsPlayerNPC(playerid)) return 1; 

Всё. Теперь наш бот преет и пахнет от счастья что вы его пустили в своё уголок сервера. 
Автор статьи: Alexas 
Автор системы ботов: Разработчики SAMP


Подпись
Пишу моды на заказ любой сложности, писать в личку.
  • Страница 1 из 1
  • 1
Поиск: