Воскресенье, 18.01.2026, 18:46
Добро пожаловать: Гость                                                                                        Уважаемые незарегистрированные гости, регистрируйтесь, у зарегистрированных пользователей больше возможностей на сайте!
Главное меню сайта
Мини-чат
Опросы

Оцените сайт
1. Отлично
2. Хорошо
3. Плохо
4. Неплохо
Всего ответов: 8
Скачать GTA San Andreas

Статистика








Онлайн людей всего: 1
Гостей: 1
Пользователей: 0


Сегодняшние посетители



Зарегистрировано на сайте:
Всего: 32
Новых за месяц: 0
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0
Из них:
Пользователей: 30
Проверенных: 0
Соклановцев_SDR: 0
Хелперов сервера: 0
Младших Администраторов сервера: 0
Администраторов сервера: 0
Старших Администраторов сервера: 0
Главных Администраторов проекта: 1
Из них:
Парней: 31
Девушек: 1
Главная страница » Файлы » Файлы для SA-MP » Плагины

[PLUGIN] Controllable NPC for 0.3

Уважаемые гости, чтобы скачивать файлы с нашего сайта зарегистрируйтесь или авторизуйтесь.
01.07.2016, 17:07


Controllable NPC 0.2.7
Данный плагин создает ботов (NPC) и при этом не использует SAMP-npc.ехе, и естественно потребляет меньше памяти и загрузку процессора. Также дает кучу новых возможностей управления ботом.


Дополнительно:
Теперь боты смертны!
Реалистичная стрельба ботов!
Встроенный ридер путей GTA-SA и ZMap!


Функции плагина:

Код
//  
// Defines  
//  
#define MAX_NPCS 500  
#define MAX_NODES 100  

#define NPC_STATE_REQUEST_CLASS 0  
#define NPC_STATE_ONFOOT 1  
#define NPC_STATE_DRIVER 2  
#define NPC_STATE_PASSANGER 3  
#define NPC_STATE_DEATH 4  
#define NPC_STATE_PLAYBACK 5  

#define PLAYER_RECORDING_TYPE_NONE 0  
#define PLAYER_RECORDING_TYPE_DRIVER 1  
#define PLAYER_RECORDING_TYPE_ONFOOT 2  

#define NPC_RECORD_END_REASON_END 1  
#define NPC_RECORD_END_REASON_DEATH 2  
#define NPC_R ECORD_E ND_REASON_STOP 3  
#define NPC_RECORD_END_REASON_DESTROY 4  

//  
// Natives  
//  

// core  
native CreateNPC(npcid,npcname[]);  
native CreateNPCPlayer(id,name[]);  
native IsValidNPC(npcid);  
native DestroyNPC(npcid);  
native KillNPC(npcid);  
native SpawnNPC(npcid);  
native PutNPCInVehicle(npcid,vehicleid,seat);  
native StopNPC(npcid);  
native SetNPCImpregnable(npcid,istate);  
native IsNPCImpregnable(npcid);  
native GetNPCState(npcid);  
native ToogleVisualDeath(tstate);  
native DisableJoinPartLogging();  
native FindLastFreeSlot();  
// on foot controlls  
native SetNPCPos(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCPos(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCFacingAngle(npcid,Float:angle);  
native Float:GetNPCFacingAngle(npcid);  
native SetNPCVelocity(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCVelocity(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCKeys(npcid,updown,leftright,keys);  
native GetNPCKeys(npcid,&updown,&leftright,&keys);  
native SetNPCSkin(npcid,skin);  
native GetNPCSkin(npcid);  
native SetNPCInterior(npcid,interior);  
native GetNPCInterior(npcid);  
native SetNPCSpecialAction(npcid,action);  
native GetNPCSpecialAction(npcid);  
native SetNPCWeapon(npcid,weaponid);  
native GetNPCWeapon(npcid);  
native SetNPCWeaponSkillLevel(npcid,weapontype,level);  
native GetNPCWeaponSkillLevel(npcid,weapontype);  
native SetNPCHealth(npcid,Float:amount);  
native Float:GetNPCHealth(npcid);  
native SetNPCArmour(npcid,Float:amount);  
native Float:GetNPCArmour(npcid);  
native SetNPCSurfing(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCSurfing(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCSurfingVehicle(npcid,vehicleid);  
native GetNPCSurfingVehicle(npcid);  
// aim controls  
native SetNPCCameraPos(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCCameraPos(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCCameraFrontVector(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCCameraFrontVector(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCCameraMode(npcid,mode);  
native GetNPCCameraMode(npcid);  
native SetNPCWeaponState(npcid,wstate);  
native GetNPCWeaponState(npcid);  
// driver controls  
native SetNPCVehiclePos(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCVehiclePos(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCVehicleQuaternion(npcid,Float:X,Float:Y,Float:Z,Float:Scal);  
native GetNPCVehicleQuaternion(npcid,&Float:X,&Float:Y,&Float:Z,&Float:Scal);  
native SetNPCVehicleVelocity(npcid,Float:X,Float:Y,Float:Z);  
native GetNPCVehicleVelocity(npcid,&Float:X,&Float:Y,&Float:Z);  
native SetNPCVehicleKeys(npcid,updown,leftright,keys);  
native GetNPCVehicleKeys(npcid,&updown,&leftright,&keys);  
native SetNPCVehicleSiren(npcid,vstate);  
native GetNPCVehicleSiren(npcid);  
native SetNPCVehicleWeapon(npcid,weaponid);  
native GetNPCVehicleWeapon(npcid);  
// standart actions  
native NPC_WalkTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);  
native NPC_RunTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);  
native NPC_SprintTo(npcid,Float:X,Float:Y,Float:Z,is_z_map);  
native NPC_LookAt(npcid,Float:X,Float:Y,Float:Z);  
native NPC_AimAt(npcid,Float:X,Float:Y,Float:Z);  
native NPC_ShotAt(npcid,Float:X,Float:Y,Float:Z);  
native NPC_DriveTo(npcid,Float:X,Float:Y,Float:Z,Float:speed,is_z_map);  
// damage config  
native SetWeaponDamageForNPC(weaponid,Float:damage);  
native SetWeaponReloadTimeForNPC(weaponid,mstime);  
// .rec playbacks  
native StartRecordingPlayback(npcid,name[]);  
native PauseRecordingPlayback(npcid);  
native ContinueRecordingPlayback(npcid);  
native StopRecordingPlayback(npcid);  
// GTA SA paths  
native Node:OpenNode(name[]);  
native CloseNode(Node:nodeid);  
native GetNodeHeader(Node:nodeid,&nodes,&vehicle_nodes,&ped_nodes,&navi_nodes);  
native SetNodePoint(Node:nodeid,pointid);  
native GetNodePoint(Node:nodeid);  
native GetNodePointPos(Node:nodeid,&Float:X,&Float:Y,&Float:Z);  
native GetNodePointLinkId(Node:nodeid);  
native GetNodePointAreaId(Node:nodeid);  
native GetNodePointWidth(Node:nodeid);  
native GetNodePointLinkCount(Node:pointid);  
native GetNodePointTrafficLevel(Node:nodeid);  
native IsNodePointRoadBlock(Node:nodeid);  
native IsNodePointBoats(Node:nodeid);  
native IsNodePointEmergency(Node:nodeid);  
native IsNodePointNotHighway(Node:nodeid);  
native IsNodePointSpawn(Node:nodeid);  
native IsNodePointRoadBlock1(Node:nodeid);  
native IsNodePointParking(Node:nodeid);  
native IsNodePointRoadBlock2(Node:nodeid);  
native GetNodePointType(Node:nodeid);  
native SetNodeLink(Node:nodeid,linkid);  
native GetNodeLinkAreaId(Node:nodeid);  
native GetNodeLinkNodeId(Node:nodeid);  
// ZMap  
native ZMap_Init(mapname[]);  
native Float:ZMap_GetZForCoords(Float:X,Float:Y);  
// Rolls  
native Float:ConvertRollToGrad(Float:roll);  
native Float:ConvertGradToRoll(Float:grad);  

// CPlayer structure  
native GetPlayerStructureInfoByte(playerid,structure_offset);  
native GetPlayerStructureInfoInt(playerid,structure_offset);  
native Float:GetPlayerStructureInfoFloat(playerid,structure_offset);  
// CVehicle structure  
native GetVehicleStructureInfoByte(vehicleid,structure_offset);  
native GetVehicleStructureInfoInt(vehicleid,structure_offset);  
native Float:GetVehicleStructureInfoFloat(vehicleid,structure_offset);  
// Foot sync  
native GetFootSyncDataByte(playerid,offset);  
native GetFootSyncDataInt(playerid,offset);  
native Float:GetFootSyncDataFloat(playerid,offset);  
//  
// Callbacks  
//  
forward OnNPCGetDamage(npcid,playerid,Float:health_loss,bodypart);  
forward OnRecordingPlaybackEnd(npcid,reason);  
forward OnNPCMovingComplete(npcid);  
forward OnNPCSpawn(npcid);  
forward OnNPCDeath(npcid,killerid,reason);

 


Автор: SlavYan4ik

Категория: Плагины | Добавил: [SDR]_Ro[n]ni
Просмотров: 356 | Загрузок: 0 | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
Донат:
Профиль

Сегодня: 18.01.2026

Здравствуйте гость!
Зарегистрируйтесь или авторизуйтесь!
Наша группа ВКонтакте



Мини-софт

        

        

        

Время



Календарь
Наша кнопка







Радио

© Официальный cайт проекта Street Drift Racers | 2011-2019 | Основатели проекта: [SDR]_Ro[n]ni • Forin