Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Создание Бота Таксиста

Статус
В этой теме нельзя размещать новые ответы.

kiruxa125

Умник
Всем привет, на форуме не нашём толкового мануала по созданию ботов. Сегодня я покажу по пунктам как создать бота "Водителя Такси". Маршрут будет мой, но вы можете без проблем его сделать на ваше усмотрение)

1. Добавляем в server.cfg - в строку scriptfiles npc_record

2. Далее нам нужно просто зайти на сервер, выбрать автомобиль(В моём случае, это моя машина)

3. Вводим /rcon login <Ваш пароль от рекона>, После того как ввели /rcon loadfs npc_record.

Пункты:
1) Если вы записываете в Автомобиле, то после того как сели пишим /vrecord <Имя файла>
2) Если вы записываете Пешком, то когда готовы записывать пишим /ofrecord <Имя файлы>

Если кто не понял, смотрим видео, там будет показано всё как нужно сделать


4. Ну что ж, вы просмотрели видео, запись маршрута прошла удачно (так думаю).
Посмотрим в папке с Модом, папку scriptfiles > У вас должен появиться файлик (В моём случае, это NPC_taxitaxi.rec)
Это файлик маршрута для моего транспорта

5. Далее открывает папку NPCmodes в основе мода, И видим папочку recordings, копируем туда наш файлик маршрута: NPC_taxitaxi.rec

6. Далее открываем pawno, создаём файлик new.pwn, и заменяем всё содержимое на вот этот код!. Потом сохраняем его в основную папку NPCmodes:
PHP:
#define RECORDING "NPC_taxitaxi" - Считываем маршрут траспорта
#define RECORDING_TYPE 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
7. Комплиируем файлик (В моём случае NPC_taxitaxi.pwn)

8. Далее самое главное , создаем Сам скрипт бота, открываем pawno, создаём новый файлик new.pwn, и вставляем туда:
PHP:
#define FILTERSCRIPT

#include <a_samp>

#if defined FILTERSCRIPT

new NPC_taxitaxi;

public OnFilterScriptInit()
{
    print("Test Bot - Spec Pawno-Info");
    ConnectNPC("NPC_taxitaxi","NPC_taxitaxi");
    NPC_taxitaxi = CreateVehicle(420, 0.0, 0.0, 5.0, 0.0, 6, 0, 5000);
    new Text3D:bot;
    bot = Create3DTextLabel( "Тест Бот\n{46ff00}Специально для Pawno-Info", 0xBFF600FF, 7.77, 7.77, 7.77, 80.0, 0, 1 );
    Attach3DTextLabelToVehicle( bot, NPC_taxitaxi, 0.0, 0.0, 3.0 );
    return 1;
}

public OnFilterScriptExit()
{
    print("NPC_taxitaxi Unloaded.");
	return 1;
}

#else
#endif

public OnPlayerSpawn(playerid)
{
    if(IsPlayerNPC(playerid))
    {
        new npcname[MAX_PLAYER_NAME];
        GetPlayerName(playerid, npcname, sizeof(npcname));
        if(!strcmp(npcname, "NPC_taxitaxi", true))
        {
            PutPlayerInVehicle(playerid, NPC_taxitaxi, 0);
            SetSpawnInfo(playerid,0,253,0.0,0.0,0.0,0.0,0,0,0,  0,0,0);
        }
        return 1;
    }
    return 1;
}
Ну вот и подошел конец, думаю я вам помог, смотрим результат работы:





Примечание:
В большенстве модов, ботов не пускает на сервер. Это решить очень легко, во все паблики ставим проверку на ботов:
PHP:
if(IsPlayerNPC(playerid))return 1;
Так же в большенстве модов стоит проверка на РП NickName, и очень часто боты не могут законнектиться на сервер. Способ решить эту проблему очень прост:
1. Находим Начало Сис-мы проверки на РП NickName
2. В самое её начало, вставляем проверку (Она написана вышел)


Автор мануала: kiruxa125
Огромное спасибо за заливку видео: arn, без тебя бы бро, не справился

В следующем мануале я покажу как создавать бота вне транспорта(Тоесть пешехода)

Может у кого нету npc_record:
Скидываю моего только что сделанного бота:
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу