Re: FCNPC - Fully Controllable NPC (Russian Thread) -
OmegaKiller72 - 22.07.2016
Спасибо ZIGGI теперь работает)
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 27.07.2016
FCNPC 1.1.0
О версии
- Улучшено определение цели в функции FCNPC_AimAt
- Теперь NPC могут наносить урон другому игроку (для предотвращения этого вы можете возвратить 0 в FCNPC_OnTakeDamage)
- Добавлена проверка версии инклуд файла
- Теперь функция FCNPC_GoToPlayer обновляет точку назначения NPC пока игрок двигается
- Добавлены функции для контроля тяги в Hydra
- Добавлены функции для контроля шасси
- shoot_delay по умолчанию изменён на -1 (не важно)
- Оптимизация процесса прицеливания
- Небольшой рефакторинг исходного кода
Исправления
- Исправлен крэш для недействительного транспорта во время проигрывания записи
- Исправлена синхронизация позиции NPC при сёрфинге (прицеплении к транспорту)
- Исправлена стрельба при сёрфинге
- Исправлена работа аргумента speed в функциях FCNPC_GoTo[Player] (теперь он работает для пеших NPC тоже)
- Исправлено направление прицеливания по оси Z
- Сброс клавиш NPC после смерти (исправляет некоторые ошибки с анимациями)
- Исправлена проверка на параметры в функциях информации об оружии
Новые функции
PHP Code:
native FCNPC_StopSurfing(npcid);
native FCNPC_IsAttacking(npcid);
native FCNPC_IsAimingAtPlayer(npcid, playerid);
native FCNPC_IsMovingAtPlayer(npcid, playerid);
native FCNPC_SetVehicleHydraThrusters(npcid, direction);
native FCNPC_GetVehicleHydraThrusters(npcid);
native FCNPC_SetVehicleGearState(npcid, gear_state);
native FCNPC_GetVehicleGearState(npcid);
Скачать
- Скачать с GitHub:
https://github.com/ziggi/FCNPC/releases
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
OKStyle - 27.07.2016
А я чёт подзабыл, а почему ты, Зигги, да и вообще никто не стал дорабатывать Controllable NPC? Лёха ведь сорсы выкладывал... С мемори хаком проще?
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 27.07.2016
Quote:
Originally Posted by OKStyle
А я чёт подзабыл, а почему ты, Зигги, да и вообще никто не стал дорабатывать Controllable NPC? Лёха ведь сорсы выкладывал... С мемори хаком проще?
|
Исходники он выложил уже после того, как появился FCNPC. Да и автор FCNPC забросил его разработку не так давно: в отличии от CNPC, который поддерживал 0.3z, FCNPC поддерживал 0.3.7. А я изначально планировал лишь обновить плагин до 0.3.7 R2 и на этом закончить, но меня что-то понесло.
А с мемори хаком одинаково.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
Imperealist - 29.07.2016
Продублирую:
В версии 1.1.0 появилась проблема: записи поездов с ботами стали проигрываться рывками, то есть поезд раз в 1-2 секунды телепортируется на следующую позицию, в версии 1.0.7 все нормально.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 29.07.2016
Quote:
Originally Posted by Imperealist
Продублирую:
В версии 1.1.0 появилась проблема: записи поездов с ботами стали проигрываться рывками, то есть поезд раз в 1-2 секунды телепортируется на следующую позицию, в версии 1.0.7 все нормально.
|
Дай свою запись, я проверю.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
Imperealist - 01.08.2016
http://rgho.st/7zlbtRBDV
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 01.08.2016
Quote:
Originally Posted by Imperealist
|
Спасибо, ошибку нашёл и исправил.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
Imperealist - 01.08.2016
Отлично, тебе спасибо, ждем фикс
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 03.08.2016
FCNPC 1.1.1
О версии
- Сёрфинг теперь поддерживает прикреплённые объекты
- Оптимизация
- Добавлены константы скорости в инклуд файл
- Обновлено загрузочное сообщение
Исправления
- Исправлена валидация объектов и транспорта (меньше крэшей)
- Исправлена проверка версии инклуд файла (спасибо плагину Streamer от Incognito за пример)
- Исправлен радиус движения для функции FCNPC_GoToPlayer
- Исправлены типы переменных и их конвертация
- Исправлена работа скорости и типа в функции GoTo
- Исправлена ошибка со сбросом скорости поезда
- Исправлена синхронизация двигателей тяги в Hydra и скорости поезда при проигрывании записи
- Исправлены некоторые крэши при удалении транспорта NPC
Новые директивы
PHP Code:
#define MOVE_SPEED_AUTO (-1.0)
#define MOVE_SPEED_WALK (0.1552086)
#define MOVE_SPEED_RUN (0.56444)
#define MOVE_SPEED_SPRINT (0.926784)
Скачать
- Скачать с GitHub:
https://github.com/ziggi/FCNPC/releases
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
Bombo - 04.08.2016
Нашёл время глянуть 03zR4 ветку. При создании NPC происходит почти мгновенное отключение бота. Выявил место сбоя в коде плагина:
PHP Code:
bool CPlayerData::Setup()
{
if (m_playerId == INVALID_PLAYER_ID) {
return false;
}
// Get the player interface
m_pPlayer = pNetGame->pPlayerPool->pPlayer[m_playerId]; //сбой в этом месте, m_pPlayer равен 0
fprintf(stderr, "CPlayerData::Setup(), pNetGame=0x%X, pPlayerPool=0x%X, m_pPlayer=%d,m_playerId=%d\n",pNetGame,pNetGame->pPlayerPool,pNetGame->pPlayerPool->pPlayer[m_playerId],m_playerId);
// Validate the interface
if (!m_pPlayer) {
return false; //на этом месте создание NPC обрывается
}
// Set the setup flag
m_bSetup = true;
// Reset his state
SetState(PLAYER_STATE_NONE);
// Initialize the update tick
m_dwUpdateTick = GetTickCount();
return true;
}
Вывод:
Quote:
CPlayerData::Setup(), pNetGame=0x95D4E50, pPlayerPool=0x9AB1AB0, m_pPlayer=0,m_playerId=179
|
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 04.08.2016
Quote:
Originally Posted by Bombo
Нашёл время глянуть 03zR4 ветку. При создании NPC происходит почти мгновенное отключение бота. Выявил место сбоя в коде плагина:
PHP Code:
bool CPlayerData::Setup()
{
if (m_playerId == INVALID_PLAYER_ID) {
return false;
}
// Get the player interface
m_pPlayer = pNetGame->pPlayerPool->pPlayer[m_playerId]; //сбой в этом месте, m_pPlayer равен 0
fprintf(stderr, "CPlayerData::Setup(), pNetGame=0x%X, pPlayerPool=0x%X, m_pPlayer=%d,m_playerId=%d\n",pNetGame,pNetGame->pPlayerPool,pNetGame->pPlayerPool->pPlayer[m_playerId],m_playerId);
// Validate the interface
if (!m_pPlayer) {
return false; //на этом месте создание NPC обрывается
}
// Set the setup flag
m_bSetup = true;
// Reset his state
SetState(PLAYER_STATE_NONE);
// Initialize the update tick
m_dwUpdateTick = GetTickCount();
return true;
}
Вывод:
|
Знаю, проблема в процедуре подключения бота к серверу, но у меня нет идей как это можно исправить.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 09.08.2016
FCNPC 1.1.3
О версии
- Переписан скрипт-пример Bodyguard
- Оптимизация
Исправления
- Исправление FCNPC_IsStreamedForAnyone
- Теперь FCNPC_PutInVehicle работает для NPC находящихся в транспорте
- Исправлена работа изменения времени стрельбы и задержки
- Исправлено много предупреждений при компиляции
- Добавлено много проверок на валидность (меньше крэшей)
Новые автовызываемые функции
PHP Code:
forward FCNPC_OnGiveDamage(npcid, issuerid, weaponid, bodypart, Float:health_loss);
Скачать
- Скачать с GitHub:
https://github.com/ziggi/FCNPC/releases
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
Art4D - 20.08.2016
Сорри за тупой вопрос, а можно ли боту поставить полоску хп и ник как у обычных игроков?
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
OKStyle - 20.08.2016
3d лейблами.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 20.08.2016
Quote:
Originally Posted by Art4D
Сорри за тупой вопрос, а можно ли боту поставить полоску хп и ник как у обычных игроков?
|
Только если "превратить" их в игроков, что на этом форуме лучше не обсуждать (требуется модификация исходного кода плагина).
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 26.08.2016
FCNPC 1.2.0
О версии
- Улучшены параметры оружия по умолчанию (deagle, m4, ak47)
- Добавлено много FCNPC_Give* функций
- Чистка кода
Исправления
- Исправлена работа параметра delay в функции FCNPC_AimAt
- Исправлено проигрывание node файлов
Новые функции
PHP Code:
native FCNPC_GivePosition(npcid, Float:x, Float:y, Float:z);
native Float:FCNPC_GiveAngle(npcid, Float:angle);
native FCNPC_GiveQuaternion(npcid, Float:w, Float:x, Float:y, Float:z);
native FCNPC_GiveVelocity(npcid, Float:x, Float:y, Float:z);
native Float:FCNPC_GiveHealth(npcid, Float:health);
native Float:FCNPC_GiveArmour(npcid, Float:armour);
native FCNPC_GiveAmmo(npcid, ammo);
native FCNPC_GiveWeaponSkillLevel(npcid, skill, level);
native FCNPC_GiveSurfingOffsets(npcid, Float:x, Float:y, Float:z);
Скачать
- Скачать с GitHub:
https://github.com/ziggi/FCNPC/releases
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
OKStyle - 28.08.2016
Что делает GivePosition? Как я понимаю, должно быть 2 типа: Get, Set.
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 28.08.2016
Quote:
Originally Posted by OKStyle
Что делает GivePosition? Как я понимаю, должно быть 2 типа: Get, Set.
|
Прибавляет значение к текущей позиции, замена для кода вида:
PHP Code:
new Float:x, Float:y, Float:z;
FCNPC_GetPosition(npcid, x, y, z);
FCNPC_SetPosition(npcid, x + 1.0, y + 1.0, z);
Re: FCNPC - Fully Controllable NPC (Russian Thread) -
ZiGGi - 28.08.2016
Quote:
Originally Posted by Art4D
Можно ли заставить ботов бить оружием ближнего боя (катаной, битой)? Сейчас как не делали, бот тупо ругой обьект, а биту не использует.
|
PHP Code:
FCNPC_MeleeAttack(npcid);