Попробуйте к нему телепортироватся, если после телепортации вы увидите его на верных координатах значит он помещен в неверный виртуальный мир/интерьер!
Вид для печати
2)И не работает FCNPC_SetSpecialAction.
Сделав дебаг, ставиться ему 12 SpecialAction, но он не садится.
3) Как допустим сделать бот дошел до точки( GoTO) и сделать ему обратно чтобы шел?
Готовится новая версия, есть какие-нибудь предложения?
Вышла версия 1.0.0.
Новое
- NPC теперь могут быть убиты в транспорте.
- Транспорт теперь получает урон, если на водительском сидении сидит NPC (чтобы отключить это, возвратите 0 в FCNPC_OnVehicleTakeDamage).
- OnPlayerStreamIn/Out теперь не вызываются для FCNPC (используйте FCNPC_OnStreamIn/Out).
- NPC теперь можно прикрепить к транспорту, объекту или объекту игрока (доступно изменение смещение).
- Контроль сирены транспорта NPC.
- Контроль здоровья транспорта NPC.
- Теперь можно контролировать урон, размер магазина, скорость стрельбы и скорость перезарядки оружия для всех или для каждого NPC.
- Контроль WeaponSkill для оружия (с изменением уроня для двойного оружия).
- Теперь можно контролировать силу броска гранаты, с помощью параметра shoot_delay в FCNPC_AimAt.
- Добавлен параметр UseFightstyle в FCNPC_MeleeAttack, с помощью которого NPC могут бить с использованием Fightstyle.
- Добавлено значение delay по умолчанию в FCNPC_MeleeAttack.
- В функции FCNPC_GoTo теперь можно отключить автоматическую установку угла поворота (полезно для использования совместно с FCNPC_SetQuaternion).
- Функция FCNPC_SetSkin теперь не респавнит, а рестримит NPC.
- Новые функции для контроля угла поворота NPC (FCNPC_SetAngleToPos, FCNPC_SetAngleToPlayer).
- Функции неуязвимости (FCNPC_SetInvulnerable, FCNPC_IsInvulnerable).
- Добавлен MOVE_TYPE_AUTO для FCNPC_GoTo (автоматически проверят NPC на нахождение в транспорте).
- Добавлен параметр radius для FCNPC_GoTo (NPC пойдёт к случайным координатам в пределах этого радиуса от точки назначения).
Исправления
- NPC не наносят урона при стрельбе.
- Угол поворота транспорта меняется при посадке в него NPC.
- NPC атакуют после спавна.
- NPC не стреляют после первой перезарядки.
- Валидация скинов из SA-MP 0.3.7.
Внутренние изменения
- Поддержка Windows и Linux SA-MP серверов версии 0.3.7 и 0.3.7 R2-1.
- Добавлена корректная валидация пассажирского места при посадке в транспорт.
- Заместо ZMap встроен MapAndreas 1.2.1 (http://forum.sa-mp.com/showpost.php?...&postcount=153).
- Множество изменений в коде (замена Detours на subhook, переход на CMake, внедрение YSF Structs.h, замена небезопасных функций, оптимизация и другое).
Список новых функций
Список новых автовызываемых функцийPHP код:
native FCNPC_InitMapAndreas(address);
native FCNPC_IsValid(npcid);
native FCNPC_IsStreamedIn(npcid, forplayerid);
native FCNPC_SetAngleToPos(npcid, Float:X, Float:Y);
native FCNPC_SetAngleToPlayer(npcid, playerid);
native FCNPC_SetInvulnerable(npcid, bool:invulnerable = true);
native FCNPC_IsInvulnerable(npcid);
native FCNPC_SetWeaponSkillLevel(npcid, skill, level);
native FCNPC_GetWeaponSkillLevel(npcid, skill);
native FCNPC_SetWeaponState(npcid, weaponstate);
native FCNPC_GetWeaponState(npcid);
native FCNPC_SetWeaponDamage(npcid, weaponid, Float:damage);
native Float:FCNPC_GetWeaponDamage(npcid, weaponid);
native FCNPC_SetWeaponReloadTime(npcid, weaponid, time);
native FCNPC_GetWeaponReloadTime(npcid, weaponid);
native FCNPC_SetWeaponShootTime(npcid, weaponid, time);
native FCNPC_GetWeaponShootTime(npcid, weaponid);
native FCNPC_SetWeaponClipSize(npcid, weaponid, size);
native FCNPC_GetWeaponClipSize(npcid, weaponid);
native FCNPC_SetWeaponInfo(npcid, weaponid, Float:damage = -1.0, reload_time = -1, shoot_time = -1, clip_size = -1);
native FCNPC_GetWeaponInfo(npcid, weaponid, &Float:damage = -1.0, &reload_time = -1, &shoot_time = -1, &clip_size = -1);
native FCNPC_SetWeaponDefaultInfo(weaponid, Float:damage = -1.0, reload_time = -1, shoot_time = -1, clip_size = -1);
native FCNPC_GetWeaponDefaultInfo(weaponid, &Float:damage = -1.0, &reload_time = -1, &shoot_time = -1, &clip_size = -1);
native FCNPC_SetAnimation(npcid, animationid, Float:fDelta = 4.1, loop = 0, lockx = 1, locky = 1, freeze = 0, time = 1);
native FCNPC_GetAnimation(npcid, &animationid = 0, &Float:fDelta = 4.1, &loop = 0, &lockx = 1, &locky = 1, &freeze = 0, &time = 1);
native FCNPC_SetFightingStyle(npcid, style);
native FCNPC_GetFightingStyle(npcid);
native FCNPC_GoTo(npcid, Float:X, Float:Y, Float:Z, type = MOVE_TYPE_AUTO, Float:speed = 0.5, bool:UseMapAndreas = false, Float:radius = 0.0, bool:getangle = true); // updated
native FCNPC_GoToPlayer(npcid, playerid, type = MOVE_TYPE_AUTO, Float:speed = 0.5, bool:UseMapAndreas = false, Float:radius = 0.0, bool:getangle = true);
native FCNPC_AimAt(npcid, Float:X, Float:Y, Float:Z, bool:shoot = false, shoot_delay = 0); // updated
native FCNPC_AimAtPlayer(npcid, playerid, bool:shoot = false, shoot_delay = 0);
native FCNPC_MeleeAttack(npcid, delay = -1, bool:fightstyle = false); // updated
native FCNPC_EnterVehicle(npcid, vehicleid, seatid, type = MOVE_TYPE_WALK); // updated
native FCNPC_SetVehicleSiren(npcid, bool:status);
native FCNPC_IsVehicleSiren(npcid);
native FCNPC_SetVehicleHealth(npcid, Float:health);
native Float:FCNPC_GetVehicleHealth(npcid);
native FCNPC_SetSurfingOffsets(npcid, Float:fX, Float:fY, Float:fZ);
native FCNPC_GetSurfingOffsets(npcid, &Float:fX, &Float:fY, &Float:fZ);
native FCNPC_SetSurfingVehicle(npcid, vehicleid);
native FCNPC_GetSurfingVehicle(npcid);
native FCNPC_SetSurfingObject(npcid, objectid);
native FCNPC_GetSurfingObject(npcid);
native FCNPC_SetSurfingPlayerObject(npcid, objectid);
native FCNPC_GetSurfingPlayerObject(npcid);
СкачатьPHP код:
forward FCNPC_OnVehicleTakeDamage(npcid, damagerid, vehicleid, weaponid, Float:fX, Float:fY, Float:fZ);
forward FCNPC_OnStreamIn(npcid, forplayerid);
forward FCNPC_OnStreamOut(npcid, forplayerid);
- Последнюю версию всегда можно скачать с GitHub: https://github.com/Open-GTO/FCNPC/releases
А я даже и нечего и не менял, включал и выключал MapAndreas, тоже самое...
PHP код:
SA-MP Dedicated Server
----------------------
v0.3.7, (C)2005-2015 SA-MP Team
[12:25:41] filterscripts = "" (string)
[12:25:41]
[12:25:41] Server Plugins
[12:25:41] --------------
[12:25:41] Loading plugin: FCNPC
[12:25:41]
[12:25:41] -------------------------------------------------
[12:25:41] FCNPC - Fully Controllable NPC v1.0.0
[12:25:41]
[12:25:41] - Author: OrMisicL
[12:25:41] - Contributors: ziggi, Neutralneu
[12:25:41] - Server version: 0.3.7
[12:25:41] - Build: Feb 21 2016 at 20:54:30
[12:25:41] -------------------------------------------------
[12:25:41]
[12:25:41] Loading...
[12:25:41] Loaded.
[12:25:41] Loading plugin: MapAndreas
[12:25:41] Loaded.
[12:25:41] Loaded 2 plugins.
[12:25:41]
[12:25:41] Filterscripts
[12:25:41] ---------------
[12:25:41] Loaded 0 filterscripts.
[12:25:41] Script[gamemodes/bg.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
[12:25:41] Number of vehicle models: 0
----------
Loaded log file: "server_log.txt".
----------
SA-MP Dedicated Server
----------------------
v0.3.7, (C)2005-2015 SA-MP Team
[12:25:55] filterscripts = "" (string)
[12:25:55]
[12:25:55] Server Plugins
[12:25:55] --------------
[12:25:55] Loading plugin: FCNPC
[12:25:55]
[12:25:55] -------------------------------------------------
[12:25:55] FCNPC - Fully Controllable NPC v1.0.0
[12:25:55]
[12:25:55] - Author: OrMisicL
[12:25:55] - Contributors: ziggi, Neutralneu
[12:25:55] - Server version: 0.3.7
[12:25:55] - Build: Feb 21 2016 at 20:54:30
[12:25:55] -------------------------------------------------
[12:25:55]
[12:25:55] Loading...
[12:25:55] Loaded.
[12:25:55] Loading plugin: MapAndreas
[12:25:55] Loaded.
[12:25:55] Loaded 2 plugins.
[12:25:55]
[12:25:55] Filterscripts
[12:25:55] ---------------
[12:25:55] Loaded 0 filterscripts.
[12:25:55] Script[gamemodes/FCNPC.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
[12:25:55] Number of vehicle models: 0
Разве нельзя было просто сделать взаимодействие с MapAndreas, как с отдельным плагином, или это бы сильно отразилось на производительности?
Теперь же, если хочешь пользоваться и MapAndreas и FCNPC, серверу придётся держать в памяти сразу два экземпляра карты высот.
Выглядит не совсем кошерно, тем более, что хостеры могут ограничивать макс. объём памяти для сервера.
Как раз по этой ссылке об этом написано. То есть теперь наоборот, в памяти нужно держать лишь одни экземпляр.
Теперь подключение карты выглядит таким образом:
Все примеры скриптов являются Filterscript и запускать их нужно как Filterscript.PHP код:
MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
FCNPC_InitMapAndreas(MapAndreas_GetAddress());
Упс тупо поступил, температура, голова не соброжает в данные дни, извеняюсь незнаю что сомной такое :boredom:
FCNPC 1.0.6
О версии
- Добавлены аналоговые UD и LR в FCNPC_SetKeys
Исправления
- Исправлено получение урона в скрипте Bodyguard
- Исправлено воскрешение NPC после рестрима
- Установлены корректные клавиши при передвижении игрока
- Исправлен крэш после отключения NPC
- Исправлена причина и killerid при убийстве NPC
Изменённые функции
PHP код:
native FCNPC_SetKeys(npcid, ud_analog, lr_analog, keys);
FCNPC 1.0.7
Изменения
- Исправлены кнопки передвижения (были некоторые проблемы с анимацией передвижения)
- Исправлено исчезновение тела (#15)
- Добавлена проверка на передаваемый адрес MapAndreas (больше не будет крашить, если адрес недействителен)
- Добавлены некоторые проверки на вводимые параметры
- Удалён сброс данных прицеливания из MeleeAttack (теперь вы можете использовать FCNPC_AimAtPlayer совместно с FCNPC_MeleeAttack)
- FCNPC_AimAt(Player) останавливает прицеливание перед началом нового
- Исправлен и оптимизирован перехват автовызываемых функций (теперь это отлично работает с filterscript)
- Исправлено действие по возвращаемому значению из автовызываемой функции (теперь это работает)
- Оптимизация (совсем чуть-чуть)
Скачать
- Скачать со страницы релизов GitHub: https://github.com/Open-GTO/FCNPC/releases
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 код:
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/Open-GTO/FCNPC/releases