[PTS] диалоги при наличии предметов - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 05.01.2018, 04:41   #1
Пользователь

Автор темы (Топик Стартер) [PTS] диалоги при наличии предметов

Всем привет!
Подскажите пожалуйста хочу сделать на Gracia Final что быв зависимости от определенного итема\левла менялся диалог.

Вот мой код:
class test_npc{
 
 
handler:
  EventHandler TALKED( talker )
  {
      if(talker.level >= 80 ) 
    {
		ShowPage(talker, "dialog1.htm" );
    }
 
   if( OwnItemCount(talker, 4036) >= 1 ) 
    {
		ShowPage(talker, "dialog2.htm" );
    }
 
	if( OwnItemCount(talker, 4037) >= 1 ) 
    {
		ShowPage(talker, "dialog3.htm" );
    }
 
	if( OwnItemCount(talker, 4038) >= 1 ) 
    {
		ShowPage(talker, "dialog4.htm" );
    }
  }
  }
Code: C++
мне нужно что бы при наличии итема 4037 открывался dialog2.htm если 4038 то dialog3.htm
Этот код открывает нужную страницу но сначала открывает диалог с 4037 а потом сразу 4038 и так далее

Есть еще один вопрос, как задать радиус работы диалога с нпц то бы при отходе от нпц он переставал работать или закрывался
mercury320 вне форума Ответить с цитированием
Непрочитано 05.01.2018, 12:29   #2
Олдфаг

По умолчанию Re: [PTS] диалоги при наличии предметов

Код:
class test_npc{
 
 
handler:
  EventHandler TALKED( talker )
  {
 
 
   if( OwnItemCount(talker, 4036) >= 1 ) 
    {
		ShowPage(talker, "dialog2.htm" );
    }
 
	else if( OwnItemCount(talker, 4037) >= 1 ) 
    {
		ShowPage(talker, "dialog3.htm" );
    }
 
	else if( OwnItemCount(talker, 4038) >= 1 ) 
    {
		ShowPage(talker, "dialog4.htm" );
    }

     else if(talker.level >= 80 ) 
    {
		ShowPage(talker, "dialog1.htm" );
   }

  }
  }
smeli вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 05.01.2018, 14:20   #3
Аватар для Zubastic
ZG troll squad

По умолчанию Re: [PTS] диалоги при наличии предметов

Тут либо else либо return.
__________________
Zubastic вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 05.01.2018, 15:27   #4
Пользователь

Автор темы (Топик Стартер) Re: [PTS] диалоги при наличии предметов

Спасибо!
А как можно сделать что бы диалог переставал работать или закрывался если отошел от нпц если не закрывать диалог то он будет работать хоть в другом конце карты.
mercury320 вне форума Ответить с цитированием
Непрочитано 05.01.2018, 19:00   #5
Аватар для Gaikotsu
Герой

По умолчанию Re: [PTS] диалоги при наличии предметов

проверять в обрабатываемой ссылке из диалога текущее расстояние от нпс до игрока
функции проверки расстояния в АИ есть, токльо ща не помню уже их название.
Gaikotsu вне форума Ответить с цитированием
Непрочитано 11.01.2018, 11:32   #6
Пользователь

Автор темы (Топик Стартер) Re: [PTS] диалоги при наличии предметов

Имеется вот такой диалог, сейчас снимает 1 адену только за Reply = 1
как сделать что бы снималось за любой Reply не прописывая каждому OwnItemCount(talker, @adena) > 1 и DeleteItem


 
				if( ask == -8 && reply == 1 && OwnItemCount(talker, @adena) > 1 )
				{
					CastBuffForQuestReward(talker,  753664002);
					DeleteItem1 (talker, @adena, 1);
					ShowPage (talker, "blabla_dialog1.htm");
					return;
				}
				else if( ask == -8 && reply == 2 )
				{
					CastBuffForQuestReward(talker,  753664001);
					ShowPage (talker, "blabla_dialog1.htm");
					return;
				}
				else if( ask == -8 && reply == 3 )
				{
					CastBuffForQuestReward(talker, 754647042);
					ShowPage (talker, "blabla_dialog1.htm");
					return;
				}
Code: C++

Последний раз редактировалось mercury320; 11.01.2018 в 13:52.
mercury320 вне форума Ответить с цитированием
Непрочитано 11.01.2018, 13:53   #7
Аватар для Gaikotsu
Герой

По умолчанию Re: [PTS] диалоги при наличии предметов

if(ask == -8)
{
	if (OwnItemCount(talker, @adena) < 1)
	{
		ShowPage(talker, "no_money.htm");
		return;
	}
 
	DeleteItem1 (talker, @adena, 1);
 
	if (reply == 1)
	{
		CastBuffForQuestReward(talker, 753664002);
	}
	else if (reply == 2)
	{
		CastBuffForQuestReward(talker, 753664001);
	}
	else if (reply == 3)
	{
		CastBuffForQuestReward(talker, 754647042);
	}
 
	ShowPage(talker, "blabla_dialog1.htm");
	return;
} 
Code: C++
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Любую раскодировку,и по заказу!(В наличии ЛК aion и WoW) Mr.TeRay Рынок / Marketplace 0 12.10.2012 21:40
имееться ли у кого в наличии? LineOFWar Lineage II 12 25.04.2011 09:41
Диалоги RaZpiZdoS Серверная часть 2 13.05.2010 18:24
Диалоги с НПС 2MB Lineage II 3 06.08.2009 11:16
Не показываются диалоги NPC xxxOLEG Lineage II 1 25.04.2009 14:47


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 04:31. Часовой пояс GMT +3.

Вверх