Sign in to follow this  
Followers 0
MuhammadPawn

FCNPC - Сборник уроков

7 posts in this topic

Всем привет 
Решил заняться изучением плагина FCNPC и делится своим опытом с вами  
Все уроки будут опубликоваться в этой теме 
Список уроков:

 

Урок 1. Создания NPC и его передвижение

Урок 1.1. Спавним NPC после смерти

Урок 2. Учим NPC стрелять из огнестрельного оружия

 

Также пишите в коменты какие вы хотите видеть уроки по FCNPC 

 

Edited by MuhammadPawn

Share this post


Link to post
Share on other sites

FCNPC - Урок 1. Создания NPC и его передвижение

 

Всем привет 
В этом уроке я вас научу:

  1. Создания NPC и подключения его к серверу
  2. Передвежение NPC по кординатам
  3. Убийство NPC с огнестрельного оружия или рукопашкой

 

Приступим:
В начало мода добавим строку 

#include <FCNPC>

если вы собрали писать FS то в самое начало добавте 

#inclide <a_samp>
#include <FCNPC>
#if defined MOVE_SPEED_SPRINT
#undef MOVE_SPEED_SPRINT
        #define MOVE_SPEED_SPRINT (0.896884)
#endif

#if defined MOVE_SPEED_RUN
#undef MOVE_SPEED_RUN
        #define MOVE_SPEED_RUN (0.53444)
#endif

#if defined MOVE_SPEED_WALK
#undef MOVE_SPEED_WALK
        #define MOVE_SPEED_WALK (0.1532086)
#endif

static MyFirstBot; //Создаём переменную в которую будем записывать id NPC 

Далее если вы пишите сразу в мод то в OnGameModeInit если в FS то в OnFilterScriptInit добавте

    MyFirstBot = FCNPC_Create("Bot_Name"); //FCNPC_Create - подключаем бота к серверу с ником "Bot_Name" и записываем его id в переменную MyFirstBot
    FCNPC_Spawn(MyFirstBot, 70, -199.3511,248.3464,12.0772);//FCNPC_Spawn Спавним нашего бота которого токо что создали MyFirstBot (70 - это id скина, -199.3511,248.3464,12.0772 кординаты где будем спавнить нашего бота) 

Всё мы создали нашего NPC и заспавнили. Теперь он будет просто стоять...
Давайте его при спавне заставим ходить по мосту (мост около фермы)
Создадим массив для бота с нашеми точками куда он будет ходить

new Float:FCNPC_GoT[][3] =
{
    {-205.4210,252.1659,12.2813},
    {-192.7112,299.2160,12.2813},
    {-179.6456,296.6065,12.2813},
    {-191.8794,249.7988,12.2813}
};
static col; //для подчёта точек (потом в коде увидете где используется)

чтобы добавить ещё 1 точку с коридантами куда будет ходить бот то 
к последней точке ставим , и создаём новую {кориднаты x,y,z}
Теперь давайте сделаем чтобы после спавна NPC бегал по точкам 
за спавн NPC отвечает FCNPC_OnSpawn создадим его

public FCNPC_OnSpawn(npcid)
{ 
    FCNPC_GoTo(MyFirstBot, FCNPC_GoT[col][0], FCNPC_GoT[col][1], FCNPC_GoT[col][2], MOVE_TYPE_RUN, MOVE_SPEED_RUN, true); //Застовляем нашего бота MyFirstBot бежать по точкам из FCNPC_GoT , MOVE_TYPE_RUN стиль как ходит бот MOVE_SPEED_RUN скорость передвижения которую мы указали выше
    col ++;// Присваиваем переменной +1 для кординат с масива которые пробижал NPC
    return 1;
}

Всё наш игрок бежит на точку и остановится на ней теперь давайте сделаем чтобы он двигался дальше 
за это отвечает public FCNPC_OnReachDestination (вызывается когда игрок добежал до позиции указанной в FCNPC_GoTo)
создаём его

public FCNPC_OnReachDestination(npcid)
{
    if(col == sizeof(FCNPC_GoT)) col = 0;//если col == строкам из FCNPC_GoT то сбрасываем на 0 чтобы NPC бежал по кругу
    FCNPC_GoTo(MyFirstBot, FCNPC_GoT[col][0], FCNPC_GoT[col][1], FCNPC_GoT[col][2], MOVE_TYPE_RUN, MOVE_SPEED_RUN, true);//Уже писал что это
    col ++; //Уже писал что это
    return 1;
}

Вот и всё урок окончен 
Автор урока: MuhamadPawn( Мой старый ник Island (Могу подтвердить) )
Копирование данной статьи без разрешение автора запрешено!
Мы создали нашего NPC который будет бегать по заданным кординатам 
Если у вас появились вопросы или ошибки задовайте в теме отвечу 

Edited by MuhammadPawn

Share this post


Link to post
Share on other sites

FCNPC - Урок 1.1. Спавним NPC после смерти

 

Всем привет 
Вот и вышел урок 1.1, ну как сказать урок дополнение к 1 уроку (где я забыл про спавн бота после смерти)
В этом уроке не чего особенного не будет токо спавн NPC после смерти 
Ну чтож приступим:
Для начало довайте создадим паблик который вызывается когда умирает NPC тоесть наш (MyFirstBot) мы создовали его во 1 уроке (если кто не читал то прошу читайте уроки с самого начало и наче будет не чего понятно)
Паблик который отвечает эа это FCNPC_OnDeath, создаём его

public FCNPC_OnDeath(npcid, killerid, weaponid)
{
    //npcid - какой NPC умер
    //killerid - Кто убил NPC 
    //weaponid - с коко-го оружия убили NPC
    FCNPC_Spawn(MyFirstBot, 70, -199.3511,248.3464,12.0772);//если вызвался паблик FCNPC_OnDeath то мы спавним нашего бота (70 - Скин бота, -199.3511,248.3464,12.0772 - кординаты где будет спавнится (это опять ж тот мост))
    return 1;
}

Всё теперь если наш NPC умер он будет спавнится и выполнять действия которые мы указывали в FCNPC_OnSpawn (Урок 1)
Вот и всё 

Автор урока: MuhamadPawn
Копирование данной статьи без разрешение автора запрешено!

Edited by MuhammadPawn

Share this post


Link to post
Share on other sites

 

FCNPC - Урок 2. Учим NPC стрелять из огнестрельного оружия

 

Всем привет это уже 2 урок по FCNPC))) И в этом уроке я вас научу:

  1. Давать оружие NPC
  2. Учить стрелять нашего NPC

Это давольно легко и запоминается сразу 
Для начало давайте выдадим нашему NPC оружие в FCNPC_OnSpawn засуним строчку 

FCNPC_SetWeapon(MyFirstBot, 31);//Выдаём нашему NPC оружие с идом 31 - M4 

Далее в секундный таймер или в OnPlayerUpdate проверки

static Float:X,Float:Y,Float:Z,weapon; //Переменная для кординат нашего NPC а также проверка стреляет или нет
FCNPC_GetPosition(MyFirstBot,X, Y, Z); //Узнаём кординаты нашего NPC (MyFirstBot) по осям X, Y, Z
if(IsPlayerInRangeOfPoint(playerid, 10.0, X, Y, Z)) //Если мы в 10 радиусах от кординат нашего NPC то выполняем следующие
{ 
    if(FCNPC_GetAmmo(MyFirstBot) == 0)//FCNPC_GetAmmo узнаёт скока патронов у NPC, если у нашего NPC 0 патронов то...
    {
        FCNPC_StopAim(MyFirstBot); //FCNPC_StopAim отключаем что-бы наш NPC больше не целился в игрока
        FCNPC_SetAmmo(MyFirstBot,500); //FCNPC_SetAmmo даём нашему NPC 500 патронов
    }
    FCNPC_Stop(MyFirstBot); //Останавливаем нашего NPC что-бы он больше не бегал
    static Float: x, Float: y, Float: z; //Переменная для кординат нашего игрока
    GetPlayerPos(playerid, x, y, z); //Узнаём кординаты игрока по оси x, y, z
    FCNPC_AimAt(MyFirstBot, x, y, z, true); //FCNPC_AimAt заставляем нашего NPC стрелять в игрока по кординатам x, y, z
    weapon = 1;//Ставим значение 1 что наш NPC стреляет
} 
else//если игрока нет в зоне видимости бота (10 метров) то...
{
    if(weapon == 1)//если наш NPC стреля по игроку то
    {
        FCNPC_StopAim(MyFirstBot);// Отключаем что-бы наш NPC больше не целился
        FCNPC_GoTo(MyFirstBot, FCNPC_GoT[col][0], FCNPC_GoT[col][1], FCNPC_GoT[col][2], MOVE_TYPE_RUN, MOVE_SPEED_RUN, true),col ++; //Рассказывал что это такое во 1 уроке
        weapon = 0;//Обновляем нашу переменную на 0 чтобы небыло ложных срабатываний (как у нас эти ж проверки в секундном таймере и если не поставить проверку то NPC будет кружится как будут задоватся новые корды каждую сек)
    }
}

Вот и всё 
Автор урока: MuhamadPawn
Копирование данной статьи без разрешение автора запрешено!
Если что-то не понятно пишите в теме, помогу чем смогу
Также вы можете скачать уже готовый FS и редактировать под себя: FCNPC_FS.pwn

Share this post


Link to post
Share on other sites

Скоро думаю добавим что-то типо Wikipedia, наброски уже есть, тогда туда перенесем ) https://pawno-rus.ru/wiki

 

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

АВТОМАТИЧЕСКИ СФОРМИРОВАННОЕ СООБЩЕНИЕ:

Данная тема была перемещена модерацией или администрацией портала PAWNO-RUS.RU! 

Перемещена из: "Скриптинг PAWN > Уроки и готовые решения"

Перемещена в: "Прочее > Архив"

 

С уважением, ваш Бот! 

Если вы НЕ согласны с переносом данной темы в раздел "Прочее > Архив", пожалуйтесь на это сообщение в жалобе указав причины вашего недовольства. Спасибо. 

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • dev.bogatyrev
      By dev.bogatyrev
      Всем доброва дня/вечера/ночи. 
      Меня зовут Александр. Я в поиске человека/команды для создания своего проекта(RP режим).
      Сразу проговорю, что нужен человек готовый вложится, ровно так же как и я. 
      Ищу единомышленника/ов, который горит желанием и своей идеей, который готов прилагать максимум усилии для его создания, развития и поддержания.
      Если предложение заинтересовало, то буду рад увидеть вас у себя в сообщениях в ТГ/Дискорд (также все подробности обсуждаю там)
      p.s Просьба опытных форумчан и простых обитателей не писать и не присылать сообщения по типу: сампа уже нет, мамкины бизнесмены и тд. Оставьте своего мнение при себе и листайте форум дальше. Спасибо за понимание:).
       
      Для связи:
      ТГ: @starkycs
      Дискорд: buddy_johnson
       
      Пишите, пожалуйста, только те, которые имеют все то, что описал выше.
       
      Спасибо всем за внимание!
    • Артем Гудков
      By Артем Гудков
      Есть 5 уровней как по мне это очень мало подскажите как добавить новые уровни желательно расширить до 12. Мод Advance RP Lime. 
    • gooding
      By gooding


      Скачать файл Grand RolePlay | Бонусный игровой мод |
      Доброго времени суток! Я выложил на продажу игровой мод Grand RolePlay (Доработка Criminal RolePlay)!
      По сей день работаю над доработкой мода Criminal RolePlay! Дорабатывали мод на протяжении пол года.

      Что добавили в доработку мода Criminal RolePlay:
      1. Викторина
      2. Новый вокзал
      3. Аренда мопедов по пикапу
      4. Система грандиозного пропуска (Батл-пасс)
      5. Система подарков
      6. Премиум аккаунт
      7. Эксклюзивные автомобили
      8. Добавили очень много команд для администраторов
      9. Новое окно авторизации
      10. Новая система бизнесов
      11. Добавили команду /fixcar
      12. Система военного положения
      13. Система аварии на зоне-51
      14. Система подкупного полицейского
      15. Новый логотип
      16. Добавили много новых аксессуаров
      17. Добавили таймер в виде TextDraws.
      18. Музыка при регистрации и на вокзале
      19. Добавили маппинг КПП и домиков на дереве
      20. Исправили множество багов
      21. /pdonate
      22. Система контейнеров
      23. Система барыг
      24. Система инвесторов
      25. Система сертификатов
      26. Система стипендии
      27. Система обучения
      28. Новый маппинг
      29. Новые места в /gps
      30. Добавили новый спавн
      31. Челлендж
      32. Система привилегий
      33. Магазин для привилегий - /pdonate
      34. Исправили баги
      35. Добавили категории статистики игрока (/mainmenu)
      36. Новый спавн раши рп 2023, старый спавн убрали.
      37. Добавили маппинг в автосалон ЛВ/ЛС
      38. Исправили баг с /fd
      39. Добавили ещё куча команд у каждого уровня админ-прав 10+ 20 команд и более.
      40. Исправили систему эксклюзивных автомобилей.

      Что изменили в доработку мода Criminal RolePlay:
      1. Изменили магазин на TextDraws.
      2. Изменили спидометры
      3. Изменили большинство команд
      4. Изменили интерьер радиоцентра, мэрии, банка
      5. Изменили ДМГ (/jail)
      6. Исправили баг на донат-рубли
      7. Убрали некоторые команды халявы
      8. Изменили /mainmenu
      9. Изменили статистику 
       
      Ласт версия.
      Добавил gooding Добавлено 23.04.2023 Категория Моды Автор gooding  
    • gooding
      By gooding
      Доброго времени суток! Я выложил на продажу игровой мод Grand RolePlay (Доработка Criminal RolePlay)!
      По сей день работаю над доработкой мода Criminal RolePlay! Дорабатывали мод на протяжении пол года.

      Что добавили в доработку мода Criminal RolePlay:
      1. Викторина
      2. Новый вокзал
      3. Аренда мопедов по пикапу
      4. Система грандиозного пропуска (Батл-пасс)
      5. Система подарков
      6. Премиум аккаунт
      7. Эксклюзивные автомобили
      8. Добавили очень много команд для администраторов
      9. Новое окно авторизации
      10. Новая система бизнесов
      11. Добавили команду /fixcar
      12. Система военного положения
      13. Система аварии на зоне-51
      14. Система подкупного полицейского
      15. Новый логотип
      16. Добавили много новых аксессуаров
      17. Добавили таймер в виде TextDraws.
      18. Музыка при регистрации и на вокзале
      19. Добавили маппинг КПП и домиков на дереве
      20. Исправили множество багов
      21. /pdonate
      22. Система контейнеров
      23. Система барыг
      24. Система инвесторов
      25. Система сертификатов
      26. Система стипендии
      27. Система обучения
      28. Новый маппинг
      29. Новые места в /gps
      30. Добавили новый спавн
      31. Челлендж
      32. Система привилегий
      33. Магазин для привилегий - /pdonate
      34. Исправили баги
      35. Добавили категории статистики игрока (/mainmenu)
      36. Новый спавн раши рп 2023, старый спавн убрали.
      37. Добавили маппинг в автосалон ЛВ/ЛС
      38. Исправили баг с /fd
      39. Добавили ещё куча команд у каждого уровня админ-прав 10+ 20 команд и более.
      40. Исправили систему эксклюзивных автомобилей.

      Что изменили в доработку мода Criminal RolePlay:
      1. Изменили магазин на TextDraws.
      2. Изменили спидометры
      3. Изменили большинство команд
      4. Изменили интерьер радиоцентра, мэрии, банка
      5. Изменили ДМГ (/jail)
      6. Исправили баг на донат-рубли
      7. Убрали некоторые команды халявы
      8. Изменили /mainmenu
      9. Изменили статистику 
       
      Ласт версия.