PDA

Просмотр полной версии : [Вопрос] Не создается NPC бот



Jackal
02.10.2015, 18:29
Просмотрел несколько уроков на тему создания NPC, но никак не получается увидеть долгожданного бота.
(Всё компилируется, в server.cfg maxnpc 10, сервер 0.3e)

Записал скриптом npc_record движение игрока в автомобиле id400 примерно 20 сек езды, сохранил в файл mynpc.rec.

Скопировал файл mynpc.rec из папки scriptfiles в npcmodes/recordings.

Далее создал файл new.pwn, удалил там всё и вставил:



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


Скомпилировал new.pwn

Далее открыл свой мод:

В своём моде:



#include <a_npc>

new MyFirstNPCVehicle;

public OnGameModeInit()
{
ConnectNPC("MyFirstNPC","mynpc");
MyFirstNPCVehicle = CreateVehicle(400, 0.0, 0.0, 5.0, 0.0, 0, 0, 5000);

public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new npcname[MAX_PLAYER_NAME];
GetPlayerName(playerid, npcname, sizeof(npcname));
if(!strcmp(npcname, "MyFirstNPC", true))
{
PutPlayerInVehicle(playerid, MyFirstNPCVehicle, 0);
}
return 1;
}


В паблики OnPlayerRequestClass, OnPlayerConnect и в диалоги регистрации/авторизации вставил строку:



if(IsPlayerNPC(playerid)) return 1;


NPC даже не видно как подключается, в черном окне сервера ничего не происходит как и на самом сервере.

Геннадий Акимов
03.10.2015, 22:41
попробуй обновить server до 0.3.7

Jackal
05.10.2015, 19:07
Мне нужно именно на 0.3е

Daniel_Cortez
05.10.2015, 21:50
Не то, чтобы я телепат и знаю, почему у вас не создаются боты, нет... но всё же, в чём профит держать сервер на 0.3e? На дырявом, как дуршлаг, 0.3e, к которому уже сделана куча эксплоитов, крашеров и т.д. и т.п. и всё это давно уже в паблике. Неужели вам настолько лень обновить сервер? Если не знаете, где искать какой-нибудь инклуд или плагин - гугл в помощь. Либо в крайнем случае пишите сюда, если не можете найти нужный вариант.

Jackal
14.10.2015, 08:58
Нашел свою ошибку, была она очень глупая.


Далее создал файл new.pwn, удалил там всё и вставил:



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


Скомпилировал new.pwn


Имя этого файла pwn/amx в папке "npcmodes" должно совпадать с файлом записи, который в "npcmodes/recordings" т.е. в моём случае mynpc.

Геннадий Акимов
15.10.2015, 12:57
Ребята а на 0.3e есть разве боты ?

Daniel_Cortez
15.10.2015, 13:31
Ребята а на 0.3e есть разве боты ?
Есть. Точно так же, как и в 0.3d, 0.3c, 0.3b и 0.3a.

ConnectNPC

This function was added in SA-MP 0.3a and will not work in earlier versions!

Spectrum
17.10.2015, 17:43
но всё же, в чём профит держать сервер на 0.3e?

на некоем популярном торрент трекере лежит гта са с сампом 0.3е, а так как в 0.3е не так уж и много серверов, то весь народ идёт к ним
в этом собсна и профит

Daniel_Cortez
17.10.2015, 18:16
на некоем популярном торрент трекере лежит гта са с сампом 0.3е, а так как в 0.3е не так уж и много серверов, то весь народ идёт к ним
в этом собсна и профит
В таком случае, лучше держать запасной, вернее, даже основной сервер на текущей версии (на данный момент - 0.3.7 R2-1 (http://pro-pawn.ru/showthread.php?12242)), т.к. сервер на 0.3e может положить любой желающий.