PDA

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



Smalin
22.11.2018, 18:28
Доброго времени суток
у меня возникла маленькая проблемка с NPC

Сразу хочу сказать: плагин и инклуд подключён верно.

Боты вроде как создаются это видно в консоле ( и в табе с собейтом тоже отображаются )
но их нет на месте прописанных для них координат

Короче говоря они как бы есть но их как бы нет



Создаю я их вот так:

stock load_zombie()
{
new Cache:temp_sql = m_query("SELECT * FROM `zombie`");
new time = GetTickCount(), r;
cache_get_row_count(r);
if(!r) return print("["SQL_VER"][WARNING]: Зомби не найдены.");
for(new idx = 1; idx <= r; idx++)
{
cache_get_value_name_int(idx-1, "zombie_id", zombie[idx-1][zombie_id]);
cache_get_value_name_float(idx-1, "zombie_x", zombie[idx-1][zombie_x]);
cache_get_value_name_float(idx-1, "zombie_y", zombie[idx-1][zombie_y]);
cache_get_value_name_float(idx-1, "zombie_z", zombie[idx-1][zombie_z]);
cache_get_value_name_float(idx-1, "zombie_a", zombie[idx-1][zombie_a]);

new str[6];
format(str, sizeof(str), "_%d_", zombie[idx-1][zombie_id]);
strmid(zombie[idx-1][zombie_name], str, 0, 24);
zombie[idx-1][zombie_id] = FCNPC_Create(zombie[idx-1][zombie_name]);

FCNPC_Spawn(zombie[idx-1][zombie_id], 162, zombie[idx-1][zombie_x], zombie[idx-1][zombie_y], zombie[idx-1][zombie_z]);
SetPlayerFightingStyle(zombie[idx-1][zombie_id], FIGHT_STYLE_NORMAL);
FCNPC_Stop(zombie[idx-1][zombie_id]);
FCNPC_StopAttack(zombie[idx-1][zombie_id]);
FCNPC_SetWeapon(zombie[idx-1][zombie_id], 0);
FCNPC_SetInterior(zombie[idx-1][zombie_id], 0);
FCNPC_SetVirtualWorld(zombie[idx-1][zombie_id], 0);
FCNPC_SetPosition(zombie[idx-1][zombie_id], zombie[idx-1][zombie_x], zombie[idx-1][zombie_y], zombie[idx-1][zombie_z]);
FCNPC_SetAngle(zombie[idx-1][zombie_id], zombie[idx-1][zombie_a]);
}
printf("["SQL_VER"][%04dМС]: Загружено зомби: %04d.", GetTickCount() - time, r);
cache_delete(temp_sql);
return true;
}


Пробовал смотреть мануалы по созданию но ничего не нашел то что мне поможет


Так же пробовал так но это тоже самое что и выше

stock load_zombie()
{
new Cache:temp_sql = m_query("SELECT * FROM `zombie`");
new time = GetTickCount(), r;
cache_get_row_count(r);
if(!r) return print("["SQL_VER"][WARNING]: Зомби не найдены.");
for(new idx = 1; idx <= r; idx++)
{
//cache_get_value_name_int(idx-1, "zombie_id", zombie[idx-1][zombie_id]);
cache_get_value_name_float(idx-1, "zombie_x", zombie[idx-1][zombie_x]);
cache_get_value_name_float(idx-1, "zombie_y", zombie[idx-1][zombie_y]);
cache_get_value_name_float(idx-1, "zombie_z", zombie[idx-1][zombie_z]);
cache_get_value_name_float(idx-1, "zombie_a", zombie[idx-1][zombie_a]);

new str[6];
format(str, sizeof(str), "_%d_", idx);
strmid(zombie[idx-1][zombie_name], str, 0, 24);
zombie[idx-1][zombie_id] = FCNPC_Create(zombie[idx-1][zombie_name]);


FCNPC_Spawn(zombie[idx-1][zombie_id], 162, zombie[idx-1][zombie_x], zombie[idx-1][zombie_y], zombie[idx-1][zombie_z]);

}
printf("["SQL_VER"][%04dМС]: Загружено зомби: %04d.", GetTickCount() - time, r);
cache_delete(temp_sql);
return true;
}


Уважаемые люди подскажите что не так

ziggi
22.11.2018, 18:32
А другой FCNPC код есть?

Smalin
22.11.2018, 18:38
А другой FCNPC код есть?
нет я только начал их делать

Это пока весь их код

Или enum с new тоже нужно скинуть?

ziggi
22.11.2018, 19:06
А из базы данные точно нормальные приходят?

Smalin
22.11.2018, 19:30
А из базы данные точно нормальные приходят?

Вроде как всё нормально сделал в базе данных

https://i.imgur.com/QQ8gOJx.png

Телепортируюсь я на место спавна бота так:
(координаты телепорта верны но ботом там и не пахнет)


CMD:test(playerid, params[])
{
if(sscanf(params, "i", params[0])) return true;
SPP(playerid, zombie[params[0]][zombie_x], zombie[params[0]][zombie_y], zombie[params[0]][zombie_z], zombie[params[0]][zombie_a]);
return true;
}

ziggi
22.11.2018, 19:47
Какая версия FCNPC? Какие ещё плагины стоят?
Попробуй спавнить в FCNPC_OnCreate.

Fallen A.
22.11.2018, 23:57
Проблема так же может быть в системе авторизации, которая не пропускает ботов на сервер.
Так же есть необходимость добавить необходимые возвраты в нужные паблики.

Smalin
23.11.2018, 08:05
Проблема так же может быть в системе авторизации, которая не пропускает ботов на сервер.
Так же есть необходимость добавить необходимые возвраты в нужные паблики.

Да вы оказались правы добавил в OnPlayerConnect проверку на бота там где идёт проверка на авторизацию/регистрацию игрока и он появился

Спасибо вам)