Re: FCNPC - Fully Controllable NPC (Russian Thread) -
eakwarp - 29.01.2018
См. вложение.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
eakwarp - 29.01.2018
Quote:
Originally Posted by ZiGGi
Ещё попытка пересобрать.
|
Запустилось, внезапно, сейчас пощупаю.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 29.01.2018
Quote:
Originally Posted by eakwarp
Запустилось, внезапно, сейчас пощупаю.
|
Попробуй дебаг версию тоже, пожалуйста.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
eakwarp - 29.01.2018
Quote:
Originally Posted by ZiGGi
Попробуй дебаг версию тоже, пожалуйста.
|
Тот же самый рантайм.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 29.01.2018
Quote:
Originally Posted by eakwarp
Тот же самый рантайм.
|
В смысле оно тоже работает?
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
eakwarp - 29.01.2018
Quote:
Originally Posted by ZiGGi
В смысле оно тоже работает?
|
Нет, в смысле сервер не падает, равно как и с обычной версией. Но выдает ошибку в дебаге, и не коннектится не одного непися.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 30.01.2018
Вот, особо не тестировал, но боты бегают и ездят. Также с версией под Linux.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
eakwarp - 31.01.2018
Работает, спасибо.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
MrStead - 02.02.2018
Добрый день!
Те вопросы, с которыми я к вам обращался, уже решены. Везде моя вина) ошибки нашел - исправил.
Теперь насчет FCNPC_GoByMovePath с машиной(
https://github.com/ziggi/FCNPC/issues/88). Я решил сделать собственную реализацию поездки, и на удивление, вышло всё очень хорошо. Во-первых, машина на больших скоростях едет плавно и не телепортируется из точки в точку. Во-вторых, езда по горке не идеальная, но более менее терпимая: телепорты есть, но не такие(чем больше угол, тем ярче они выражены). А также, независимо от mapandreas,coladnreas машина принимает угол наклона горки.
Видео:
https://www.youtube.com/watch?v=sTRe...ature=*********
Все-таки нужно исправить это в плагине. С моим методом машина едет куда лучше, чем через стандартный в плагине. Да, может быть есть что и подправить в моем способе, но это уже пустяки.
Вот мой код, который я буду использовать вместо FCNPC_GoByMovePath. Использовал углы, а не кватернионы, так как пока их не знаю(GetRotationQuaternion - это нужно добавить отдельно).
PHP Code:
Public:BotMoveInVehicle(botid, path, point, Float:velocity) {
new Float: x, Float: y, Float: z,
Float: fx, Float: fy, Float: fz;
FCNPC_GetPosition(botid, x, y, z);
FCNPC_GetMovePoint(path, point, fx, fy, fz);
new Float: dist = floatsqroot(kv(x - fx) + kv(y - fy) + kv(z - fz)),
time = floatround(dist / velocity * 1000.0);
if ( dist <= 1.5 ) {
if ( point != FCNPC_GetNumberMovePoint(path) - 1 ) {
BotMoveInVehicle(botid, path, point + 1, velocity);
} else {
FCNPC_SetVelocity(botid, 0.0, 0.0, 0.0);
}
return 1;
}
new Float: alpha = atan2(fy - y, fx - x),
Float: sinBeta = (fz - (z - 1.0)) / dist,
Float: beta = atan2(sinBeta, floatsqroot(1.0 - sinBeta * sinBeta));
FCNPC_SetVelocity(botid, velocity * floatcos(alpha, degrees) * 0.02515, velocity * floatsin(alpha, degrees) * 0.02515, velocity * floatsin(beta, degrees) * 0.02515, true);
new Float: w;
GetRotationQuaternion(beta, 0.0, alpha - 90.0, w, x, y, z);
FCNPC_SetQuaternion(botid, w, x, y, z);
SetTimerEx("BotMoveInVehicle", ((30 < time < 150) ? time / 2 : time), false, "iiif", botid, path, point, velocity);
return 1;
}
BotMoveInVehicle(npcid, pathid, 0, Float:velocity) //использование
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
MrStead - 03.02.2018
И еще проблемка....
Нашел
серьезный баг. Я так понимаю, он связан с тем багом, про который я говорил в предыдущем своем сообщении тогда, когда у меня крашило сервер. Нужно срочно исправить. А то из-за этого возникает целая цепочка других багов и краш
Когда удаляешь путь 1, удаляется каким-то образом путь 2. Вот в моих логах примерно следующее. Стоит все в таймере.
PHP Code:
point = 0(path=2, exist = 1)
remove path = 1
point = 0(path=2, exist = 0)
Однако, в этом случае все нормально. Удаляем 2 - удаляется 2
PHP Code:
point = 0(path=1, exist = 1)
remove path = 2
point = 0(path=1, exist = 1)
Можете проверить.
PHP Code:
FCNPC_CreateMovePath();
new path2 = FCNPC_CreateMovePath(),
path = FCNPC_CreateMovePath();
printf("path = %i, exist = %b", path, FCNPC_IsValidMovePath(path));
FCNPC_DestroyMovePath(path2);//удаляем только path2
printf("destroy path = %i, %b", path2, FCNPC_IsValidMovePath(path2));
printf("path = %i, exist = %b", path, FCNPC_IsValidMovePath(path));
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
MrStead - 06.02.2018
Я вижу, FCNPC_IsValidMovePath исправлен, значит и проблем с FCNPC_DestroyMovePath тоже нет?
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
Anomis - 20.06.2018
Хм.. Есть одно но. Колбек не учитывает взрывной урон, то есть , если танк стреляет в машину/бота, то урон не учитывается. Также прошу сделайте, угол поворота камеры бота, то есть, если например бот ведет машину с пушкой(Пожарная машина/водомет/танк) , то чтобы бот мог поворачивать пушку
Это бы хорошо расширило возможности ботов
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 20.06.2018
Quote:
Originally Posted by Anomis
Хм.. Есть одно но. Колбек не учитывает взрывной урон, то есть , если танк стреляет в машину/бота, то урон не учитывается. Также прошу сделайте, угол поворота камеры бота, то есть, если например бот ведет машину с пушкой(Пожарная машина/водомет/танк) , то чтобы бот мог поворачивать пушку
Это бы хорошо расширило возможности ботов
|
Определение взрыва будет довольно не точным, и будет возможным только с использованием colandreas.
Стрельбу с пассажирского сидения я пытался сделать, но у меня не вышло.