Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Вопрос по AI моба и дроп с нпц
#1
Всем привет, использую лицензию сборки IL Vanganth

У меня есть два вопроса:

Как должен работать ai_parameters={[level_check]=[40] в npcpos он попросту не реагирует на изменение значений.


Родительское АИ (не знаю как правильно)

Код:
class 1 event_npc : default_npc
{
parameter:
  string  privates_event_default = "gremlin:1:5000sec";
  string  event_coffer_default = "coffer_of_the_dead:event_reward:1:5000sec";
  string  guard_event_default = "event_stalker:event_guard:1:5000sec";
  string  guard_coffer_default = "coffer_of_the_dead:event_reward:1:5000sec";
  int     event_reward_item= 57;
  int     event_reward_item_amount= 10000;
  int     event_reward_item_rare= 9999;
  int     level_check = 1;

}

Вот АИ eventreward,

Код:
class 1 event_reward : event_npc
{
handler:
  EventHandler CREATED( i0 )
  {
   myself::AddTimerEx( 23401, 1000 * 120 );
   super;
  }

  EventHandler TIMER_FIRED_EX( timer_id )
  {
   if( timer_id == 23401 )
   {
     myself::Despawn();
   }
   super;
  }

  EventHandler TALKED( talker, creature )
  {
   creature = talker;
   if( myself.i_ai0 == 0 )
   {
     myself.i_ai0 = 1;
[B]     if( talker.level > level_check )[/B]
     {
       myself::Say( "Твой уровень слишком большой" );
     }
     else
     {
       if( gg::Rand( 10 ) < 10 )
       {
         myself::Say( "Вот твоя награда" );
         myself::GiveItem1( creature, event_reward_item,
                            event_reward_item_amount );
         myself::GiveItem1( creature, @adena, 50000 );
       }
       if( gg::Rand( 100 ) < 5 )
       {
         myself::GiveItem1( talker, event_reward_item_rare, 1 );
       }
     }
     myself::Despawn();
   }
  }
}

вот npcpos

Код:
npc_begin [event_npc] pos=anywhere ai=[event_loshad]    ai_parameters={[level_check]=[40];[privates_event_default]=[neer_crawler:event_stalker:1:5000sec]}      total=10    respawn=20hour    respawn_rand=5hour  npc_end

event_loshad - входит в группу event_npc, всё отлично работает кроме проверки на уровень.


2. Есть ли софт с помощью которого можно добавить мобам 40+ дроп определенного предмета или же придется делать руками?
Ответ
#2
Цитата:ai=[event_loshad]
event_loshad
Где этот класс?
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#3
С ним всё ок, после деспавна event_loshad спавнится event_reward вот в нем и не работает проверка на уровень, говорит что я слишком большой, а если убрать level_check=1 из event_npc он выдает награду но без проверки на уровень.

Вот если что event_loshad


Код:
Class 1 event_loshad : event_npc
{
handler:
  EventHandler CREATED()
  {
    myself.i_ai1 = 0;
    myself::Shout( "некоторый текст_0" );
  }

  EventHandler TALKED( talker )
  {
    if( myself.i_ai1 == 0 )
    {
      myself.i_ai1 = 1;
      myself::Say( "некоторый текст_1" );
    }
  }

  EventHandler NO_DESIRE()
  {
    myself::AddMoveAroundDesire( 5, 5 );
  }

  EventHandler SEE_CREATURE( creature )
  {
    if( creature.is_pc == 1 && myself.i_ai0 == 0 )
    {
      myself.i_ai0 = 1;
      myself::CreatePrivates( privates_event_default );
      myself::AddFollowDesire( creature, 5 );
      myself::AddTimerEx( 1, 30 * 1000 );
      myself::Say( "некоторый текст_2" );
    }
  }

  EventHandler PARTY_DIED( private )
  {
  }

  EventHandler TIMER_FIRED_EX( timer_id )
  {
    if( timer_id == 1 )
    {
      myself::Say( "некоторый текст_3" );
      myself::CreatePrivates( privates_event_default );
      myself::AddTimerEx( 2, 60 * 1000 );
    }
    if( timer_id == 2 )
    {
      myself::Say( "некоторый текст_3_3" );
      myself::CreatePrivates( privates_event_default );
      myself::AddTimerEx( 3, 90 * 1000 );
    }
    if( timer_id == 3 )
    {
      myself::Say( " некоторый текст_4" );
      myself::CreatePrivates( privates_event_default );
      myself::AddTimerEx( 4, 40 * 1000 );
    }
    if( timer_id == 4 )
    {
      myself.i_ai0 = 1;
      myself::Say( "некоторый текст_5" );
      myself::CreatePrivates( guard_event_default );
      myself::Say( "некоторый текст_6" );
      myself::AddTimerEx( 5, 15 * 1000 );
      myself::ChangeMoveType( 1 );
      myself::AddMoveAroundDesire( 5, 5 );
    }
    if( timer_id == 5 )
    {
      myself::Despawn();
    }
  }

  EventHandler MY_DYING()
  {
    myself::Say( "....." );
  }

  EventHandler ATTACKED( attacker, damage, skill_name_id )
  {
    if( attacker.is_pc == 1 )
    {
      myself::Say( "некоторый текст_6 );
    }
    else
    {
      myself::ChangeMoveType( 1 );
      myself::AddFleeDesire( attacker, 1 );
      myself::Say( "некоторый текст_7" );
    }
  }
}
Ответ
#4
А ничего, что это новый моб, у которого нет параметров мейкера? Или передавай этот параметр в npcdata, или при создании в Created пропиши.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#5
Zubastic Написал:А ничего, что это новый моб, у которого нет параметров мейкера? Или передавай этот параметр в npcdata, или при создании в Created пропиши.
Спасибо, а что по втором вопросу? есть ли возможность добавить сразу всем мобам 40+ в дроп итем или делать руками по 1 мобу?

Добавлено через 22 минуты
Zubastic Написал:А ничего, что это новый моб, у которого нет параметров мейкера? Или передавай этот параметр в npcdata, или при создании в Created пропиши.

Моба создает guard_event_default который и спавнит в свою очередь guard_coffer_default
(event_reward )
Код:
class 1 guard_event_default   : event_npc
{
handler:
  EventHandler CREATED( i0 )
  {
    myself::AddTimerEx( 23401, 1000 * 120 );
    super;
  }

  EventHandler TIMER_FIRED_EX( timer_id )
  {
    if( timer_id == 1 )
    {
      myself::CreatePrivates( guard_coffer_default );
      myself::Despawn();
    }
    if( timer_id == 23401 )
    {
      myself::Despawn();
    }
    super;
  }

  EventHandler TALKED( talker )
  {
    if( myself.i_ai0 == 0 )
    {
      myself.i_ai0 = 1;
      myself::Say( "некоторый текст" );
      myself::AddTimerEx( 1, 8 * 1000 );
    }
  }
}
Ответ
#6
Цитата:Спасибо, а что по втором вопросу? есть ли возможность добавить сразу всем мобам 40+ в дроп итем или делать руками по 1 мобу?
Это не база, тут нужно через софт или ручками добавлять, а так не вижу ничего трудного.
Цитата:Моба создает guard_event_default который и спавнит в свою очередь guard_coffer_default
(event_reward )
Ад какой-то. Зачем такая сложность?
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#7
Zubastic Написал:Это не база, тут нужно через софт или ручками добавлять, а так не вижу ничего трудного.

Ад какой-то. Зачем такая сложность?

Спасибо, но я в курсе что это не в базе вот и спрашивал про софт есть ли такой в свободном доступе?

Насчет АИ насколько я понимаю то тут все верно в чем может быть еще дело?
Ответ
#8
mercury320 Написал:Спасибо, но я в курсе что это не в базе вот и спрашивал про софт есть ли такой в свободном доступе?

Насчет АИ насколько я понимаю то тут все верно в чем может быть еще дело?
На счет софта в шаре - хз. Я всегда писал простенький парсер.
В АИ я тебе уже указал ошибку: у тебя параметр для определенного НПС в мейкере, ты не передаешь параметр далее никак из-за этого и не работает. Добавь его в раздел в АИ в npcdata.txt и все заработает.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Дроп для newbie из Гремлинов Blue Gamestone Magican 2 2,125 03-30-2023, 03:51 PM
Последний пост: ntking
  Вопрос Клиент-Сервер Melargus 12 3,296 07-12-2016, 11:13 PM
Последний пост: FaintSmile
  Разные значения моба MP/XP Foru 13 4,415 09-25-2015, 03:35 PM
Последний пост: Gaikotsu
  Вопрос по серверу l2p Hett 3 1,712 08-08-2015, 11:26 AM
Последний пост: Hett
  Вопрос по "The constructor is deprecated" Main 18 3,352 08-24-2014, 09:40 PM
Последний пост: Donatte
  Вопрос Jarkom 3 1,433 07-29-2014, 09:23 AM
Последний пост: Jarkom
  Дроп DXVSI 11 3,216 06-22-2014, 08:23 PM
Последний пост: Zubastic
  вопрос! Akiflola 15 3,225 06-09-2014, 12:50 PM
Последний пост: Ozzy
  Движение персонажа до моба gre4ka 10 2,131 03-03-2014, 04:59 PM
Последний пост: gre4ka
  Как Добавить Дроп Колов Всем Рб Сборка Rebellion Hf? Xample 19 5,967 02-22-2014, 03:45 PM
Последний пост: Xample

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)