Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
08.10.2014, 02:15 | |
<< Руководство по работе с NPC в GTA SAMP FCNPC_GetPosition(npcid, &Float:X, &Float:Y, &Float:Z) – получаем позицию NPC, например пишем new Float:X, Float:Y, Float:Z; и в эти координаты уже пишем: FCNPC_GetPosition(npcid,X,Y,Z); Используется функция довольно-таки часто, смотря какой скрипт. FCNPC_SetAngle(npcid, Float:Angle) – задать угол для NPC, аналогично примеру выше, только создаем new Float:angle, далее догадаетесь. Float:FCNPC_GetAngle(npcid) – получаем угол NPC. Уникальность в том, что вам не надо создавать отдельную переменную под получение угла NPC. FCNPC_SetQuaternion(npcid, Float:X, Float:Y, Float:Z, Float:A) – простым смертным не понять:D Если честно я не использую эту функцию, но она чаще вредит, чем помогает, кватернион это поворот NPC в пространстве, можете почитать об этом в гугле, то есть мы можем заспавнить NPC, который не прямо стоит на месте, а скажем на 45 градусов под наклоном, когда плагин багает (NPC, кстати, очень придираются к вашему коду, можно сказать исправляя некоторые ошибки, хотя pawn всё пропускает и сервер тоже:D) то они могут заспавниться даже вверх ногами. FCNPC_GetQuaternion(npcid, &Float:X, &Float:Y, &Float:Z, &Float:A) – получаем кватернион. FCNPC_SetVelocity(npcid, Float:X, Float:Y, Float:Z) - задать скорость NPC, имеет смысл чаще всего, если NPC находится в транспортном средстве. FCNPC_GetVelocity(npcid, &Float:X, &Float:Y, &Float:Z) – получить скорость, честно говоря, я не использую эти функции, как-то без них обходился. FCNPC_SetInterior(npcid, interiorid) – задать интерьер для NPC, скажем хотите в Калигуле заспавнить, зная id мира Калигулы можно и NPC туда переместить, конечно, через FCNPC_SetPosition, либо спавнить там уже, не знаю работает ли это, очередная бесполезная функция, ибо всё работает и с SetPlayerVirtualWorld. FCNPC_GetInterior(npcid) – получаем id интерьера. FCNPC_SetHealth(npcid, Float:health) – задаем жизни для NPC. FCNPC_GetHealth(npcid) – получаем жизни. Обычно используется: if(FCNPC_GetHealth(npcid)==0){}; FCNPC_SetArmour(npcid, Float:armour) –задаем броню для NPC. FCNPC_GetArmour(npcid) – получаем броню NPC. FCNPC_SetSkin(npcid, skinid) – задаем скин, актуально если NPC уже заспавнен. FCNPC_GetSkin(npcid) – получаем скин NPC. FCNPC_SetWeapon(npcid, weaponid) – выдаем NPC оружие. Огнестрельное оружие не работает без патронов, но об этом дальше. FCNPC_GetWeapon(npcid) – получаем оружие NPC. FCNPC_SetAmmo(npcid, ammo) – очень важная функция, если у NPC нет патронов он будет лишь целиться, функция нацеливания/стрельбы далее, выдавайте NPC патроны. FCNPC_GetAmmo(npcid) – получаем патроны для NPC. FCNPC_SetKeys(npcid, Keys) – задаем нажатие клавиш для NPC. Очень важная вещь для некоторых моментов. Например, хотите Вы создать NPC-боксера, хотите, чтобы он защищался, а не был просто мешком для битья, так скажите ему об этом, конечно же, на языке pawn. FCNPC_GetKeys(npcid, &UDAnalog, &LRAnalog, &Keys) – получаем клавиши для NPC. FCNPC_SetSpecialAction(npcid, actionid) – тут у нас не прокатит, как с виртуальными мирами, но зато анимации работают как виртуальные миры и для них нет отдельных функций в плагине, а вот для специальных действий функция имеется. FCNPC_GetSpecialAction(npcid) – получаем особое действие NPC. FCNPC_GoTo(npcid, Float:X, Float:Y, Float:Z, type, Float:speed, UseZMap) - уже интереснее. Заставляем NPC двигаться к координатам, обращаю внимание, что type – это способ передвижения NPC, способы написаны ниже: MOVE_TYPE_WALK - NPC идет пешком; MOVE_TYPE_RUN - NPC перемещается легким бегом; MOVE_TYPE_SPRINT - NPC перемещается быстрым бегом; MOVE_TYPE_DRIVE - NPC перемещается на машине. Читаем продолжение статьи: Координаты скорости NPC в GTA SAMP >> | |
Добавил: AXE |
| Теги: | |
Просмотров: 4307 | Рейтинг: 5.0/2 |