Руководство по работе с NPC в GTA SAMP

09 октября 2014 | Рубрика: Статьи

РУКОВОДСТВО ПО ИСПОЛЬЗОВАНИЮ NPC в SAMP

ЧАСТЬ 1

Большинство серверов в наше время не использует NPC, в каком бы то ни было виде. Причин на это несколько:

  1. Серверы, использующие NPC, не могут быть 1000 слотными, точнее NPC там не работают;
  2. NPC занимают дополнительные слоты, а так же “отнимают” память сервера;
  3. “С людьми же интереснее играть”;
  4. Для создания “хороших” NPC нужно владеть минимальными знаниями об искусственном интеллекте.

Поверьте, все эти недостатки ничто по сравнению с возможностями, которые вы можете открыть. Хотели бы Вы иметь на своём сервере NPC-патрульных, NPC-поваров или официантов, таксистов, NPC-девушку, да что угодно – единственное ограничение – ваше воображение, и … возможности SAMP.

Если всё это вдохновило вас на создание NPC (хоть как-то), то смело читайте дальше.

Основные функции

В этом разделе мы рассмотрим основные функции плагина FCNPC, с помощью которого и будем создавать NPC.  Рассмотрим основные функции и паблики, а так же сделаем выводы, плюс пара слов о личном опыте использования, итак, поехали!

FCNPC_SetUpdateRate(rate) – обновление какого-либо/каких-либо NPC, мы не будем использовать эту функцию, вместо неё используем таймеры, некоторые вещи будет нереально осуществить, используя эту функцию.

FCNPC_Create(name[]) – создание NPC. При создании NPC уникальным его идентификатор является имя, которое мы зададим, но об этом позже.

FCNPC_Destroy(npcid) – удаляет NPC. Думаю здесь всё понятно, данная функция должна обязательно в  “ public OnFilterScriptExit()”.

FCNPC_Spawn(npcid, skinid, Float:X, Float:Y, Float:Z) – указываем место появления NPC в следующем формате: к какому NPC обращаемся, какой у него будет скин, координаты x,y,z.

FCNPC_Respawn(npcid) – перерождает NPC. Работает, когда вы убили NPC ( не удалять же его с сервера, поэтому используем данную функцию, но об этом позже).

FCNPC_IsSpawned(npcid) – выполняется если NPC заспавнен, лично я не использую подобные функции, они бесполезны ИМХО, а в большинстве случаев и не работают, плагин-то ещё 0.1 версия.

FCNPC_Kill(npcid) – убить NPC. Если NPC получают урон, то зачем нам эта функция спросите Вы? Отвечаю: функция полезнейшая, например, вы стреляете по NPC, сидящему на мотоцикле, что же происходит: его хп снижается до 0, но он так и продолжает сидеть ( не порядок), делаем проверку и выполняем эту функцию: теперь, когда у нашего NPC на мотоцикле 0 хп он умрет.

FCNPC_IsDead(npcid) – очередная ненужная функция выполняется, когда NPC умер.

FCNPC_SetPosition(npcid, Float:X, Float:Y, Float:Z) – задает позицию NPC, думаю сами уже догадались по какому принципу. Выполняется непосредственно, когда NPC уже заспавнен.

Читаем продолжение статьи:  Продолжаем работать с NPC в GTA SAMP >>