Просмотр полной версии : [Вопрос] Неадекватный NPC
Ребята, кто разбирается в NPC, может кто объяснить, что происходит с моим ботом?
В общем, в моде 8 ботов, все из них водители автобусов. Самый первый из них, то бишь, кому сервер выдаёт id 0, ведёт себя так, как будто его обидели: как только попадаешь в его зону стрима, автобус резко останавливается и стоит на одном месте. Сама запись пути проигрывается, но движения автобуса нет.
Позже, видимо, когда по записи бот выезжает из моей зоны стрима, автобус пропадает, и они снова спокойненько едут по своему маршруту, пока в зону видимости опять кто-нибудь не попадёт. Тогда автобус снова становится и не двигается
А остальные 7 ботов работают нормально...
http://s020.radikal.ru/i702/1610/e9/5bef29b354aa.png
Без кода вряд ли поможем
P.S. проверьте колбеки OnPlayerStreamIn | OnPlayerStreamOut | OnVehicleStreamIn | OnVehicleStreamOut
Так а кода-то толком никакого и нет.. Все NPC стандартные, над ними действия только: коннект (ConnectNPC), посадка в транспорт, да присвоение цвета нику, и ещё в паре мест блокировка действий над ними такого типа:
if(IsPlayerNPC(playerid)) return 1;
Это в OnPlayerConnect, OnPlayerStreamIn/Out, OnVehicleStreamIn/Out, секундный таймер, OnPlayerUpdate, OnPlayerEnterVehicle, ну и в нескольких командах.
На OnPlayerSpawn у них отдельные действия
Так а кода-то толком никакого и нет.. Все NPC стандартные, над ними действия только: коннект (ConnectNPC), посадка в транспорт, да присвоение цвета нику, и ещё в паре мест блокировка действий над ними такого типа:
if(IsPlayerNPC(playerid)) return 1;
Это в OnPlayerConnect, OnPlayerStreamIn/Out, OnVehicleStreamIn/Out, секундный таймер, OnPlayerUpdate, OnPlayerEnterVehicle, ну и в нескольких командах.
На OnPlayerSpawn у них отдельные действия
а Вы уверены что этот код не стоит там где идет запись маршрута, может в секундном таймере, из за этого может и останавливается NPC
Да уверен, в том-то и дело.. почему он реагирует только на id 0?
Запись маршрута проигрывается автоматически на стороне сервера
Никто не знает?
Тут экстрасенсов нет, покажите код.
Да какой код вам не понятен?
// OnGameModeInit
SetTimer("BotConnect", 100, false);
void BotConnect()
{
ConnectNPC("Borat_Venchenso", "Route1");
ConnectNPC("Fedor_Bates", "Route2");
ConnectNPC("Andy_Larkin", "Route3");
ConnectNPC("Luigi_Capone", "Route32");
ConnectNPC("Raphael", "Route4");
ConnectNPC("Mickelangelo", "Route42");
ConnectNPC("Donatello", "Route5");
ConnectNPC("Leonardo", "Route52");
return 1;
}
Я же говорю: всё просто, обычный коннект
Да какой код вам не понятен?
Код из npcmodes.
Код из npcmodes.
Он работает
Я подключал на место этого бота ещё одного, просто, стоячего, что бы он занимал слот id 0, и тогда все остальные 8 катались нормально, как надо
Ну раз никто не знает, закройте, пожалуйста
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot