array mob's in quest - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

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

Ответ
Опции темы
Непрочитано 10.03.2011, 05:26   #1
Аватар для weTr1k
Пользователь

Автор темы (Топик Стартер) array mob's in quest

Прошу совета.
Сборка - посл. шара феникса
Сообственно в квесте определен массив(заполненый id мобов) мобов
Код:
int[] mobs = {22321, 22320, 
	22324, 22325, 22327, 22329, 
	22328, 22330, 22335, 22339, 
	22334, 22337, 22340, 32350, 
	22336, 22349, 22351, 22352, 
	22353, 22451, 22448, 22343, 
	22342, 18493};
и переменная главного квестового моба
Код:
private static int MOB = 21320;
По квесту я ограничиваю игрока от убийства мобов содержащихся в массиве, следующим образом:

Код:
public String onKill(L2NpcInstance npc, QuestState st)
	{
	    int npcId = npc.getNpcId();
		L2Player player = st.getPlayer();
		if(npcId == MOB)
		{
		    st.setCond(2);
			st.giveItems(KRIS, 1); //игрок получает квестовый предмет
			st.getPlayer().sendPacket(new ExShowScreenMessage("Поздравляю, вы убили МОБА", 5000, ScreenMessageAlign.TOP_CENTER, true));
		}
		else
		{
		  for(int i:mobs)
		  {
		    if(npcId == mobs[i])
		    {
			   st.exitCurrentQuest(false);
	        }
		  }	
		}
само собой выделенное красным ограничивает игрока и отменяет квест, и в этом вопрос, не слишком ли это тяжко или по нубски, таким образом решать такую задачу?

Последний раз редактировалось weTr1k; 10.03.2011 в 08:49.
weTr1k вне форума Отправить сообщение для weTr1k с помощью ICQ Отправить сообщение для weTr1k с помощью Skype™ Ответить с цитированием
Непрочитано 10.03.2011, 10:15   #2
Аватар для krisadr
Пользователь

По умолчанию Re: array mob's in quest

я не силен в яве но строчка
for(int i:mobs)
"впихивает массив в одну переменную" а потом вы еще ее в массив тот же пихаете ...у вас получилось помоему так mobs[mobs]. и логики я тут не вижу. но может я не прав)

if(npcId == i)
так вроде нада
krisadr вне форума Ответить с цитированием
Непрочитано 10.03.2011, 12:48   #3
Аватар для weTr1k
Пользователь

Автор темы (Топик Стартер) Re: array mob's in quest

Цитата:
Сообщение от krisadr Посмотреть сообщение
я не силен в яве но строчка
for(int i:mobs)
"впихивает массив в одну переменную" а потом вы еще ее в массив тот же пихаете ...у вас получилось помоему так mobs[mobs]. и логики я тут не вижу. но может я не прав)

if(npcId == i)
так вроде нада
нет, вы не правы
weTr1k вне форума Отправить сообщение для weTr1k с помощью ICQ Отправить сообщение для weTr1k с помощью Skype™ Ответить с цитированием
Непрочитано 10.03.2011, 14:13   #4
Аватар для Gaikotsu
Герой

По умолчанию Re: array mob's in quest

Код:
public String onKill(L2NpcInstance npc, QuestState st)
	{
		int npcId = npc.getNpcId();
		L2Player player = st.getPlayer();
		if(npcId == MOB)
		{
		 	st.setCond(2);
			st.giveItems(KRIS, 1); //игрок получает квестовый предмет
			st.getPlayer().sendPacket(new ExShowScreenMessage("Поздравляю, вы убили МОБА", 5000, ScreenMessageAlign.TOP_CENTER, true));
		}
		else
		{
		     st.exitCurrentQuest(false);
		}
	}
этого по идее вполне достаточно
Gaikotsu вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 10.03.2011, 14:57   #5
Аватар для weTr1k
Пользователь

Автор темы (Топик Стартер) Re: array mob's in quest

Цитата:
Сообщение от Gaikotsu Посмотреть сообщение
Код:
public String onKill(L2NpcInstance npc, QuestState st)
	{
		int npcId = npc.getNpcId();
		L2Player player = st.getPlayer();
		if(npcId == MOB)
		{
		 	st.setCond(2);
			st.giveItems(KRIS, 1); //игрок получает квестовый предмет
			st.getPlayer().sendPacket(new ExShowScreenMessage("Поздравляю, вы убили МОБА", 5000, ScreenMessageAlign.TOP_CENTER, true));
		}
		else
		{
		     st.exitCurrentQuest(false);
		}
	}
этого по идее вполне достаточно
Так изначально пробывал, не работает.
weTr1k вне форума Отправить сообщение для weTr1k с помощью ICQ Отправить сообщение для weTr1k с помощью Skype™ Ответить с цитированием
Непрочитано 10.03.2011, 15:37   #6
Аватар для krisadr
Пользователь

По умолчанию Re: array mob's in quest

Цитата:
Сообщение от weTr1k Посмотреть сообщение
нет, вы не правы
ну ладна , хотя всетаки я прав...
krisadr вне форума Ответить с цитированием
Непрочитано 10.03.2011, 15:52   #7
Аватар для weTr1k
Пользователь

Автор темы (Топик Стартер) Re: array mob's in quest

Цитата:
Сообщение от krisadr Посмотреть сообщение
хотя всетаки я прав...
Интересно в чем?
weTr1k вне форума Отправить сообщение для weTr1k с помощью ICQ Отправить сообщение для weTr1k с помощью Skype™ Ответить с цитированием
Непрочитано 10.03.2011, 16:13   #8
Аватар для krisadr
Пользователь

По умолчанию Re: array mob's in quest

lдопустим если вам нада чтобы при убийстве мобов в массиве mobs персонаж выходил из квеста то хватит достаточно
for(int i:mobs)
if(npc.getNpcId() = i) {
st.exitCurrentQuest(false);
}

Добавлено через 2 минуты
ну такое работает на лыже...
да к стати зарегистрировал мобов в
for(i:mobs)
addKillId(i)

Последний раз редактировалось krisadr; 10.03.2011 в 16:15. Причина: Добавлено сообщение
krisadr вне форума Ответить с цитированием
Непрочитано 10.03.2011, 16:19   #9
Аватар для weTr1k
Пользователь

Автор темы (Топик Стартер) Re: array mob's in quest

Цитата:
Сообщение от krisadr Посмотреть сообщение
я не силен в яве но строчка
for(int i:mobs)
"впихивает массив в одну переменную" а потом вы еще ее в массив тот же пихаете ...у вас получилось помоему так mobs[mobs]. и логики я тут не вижу. но может я не прав)

if(npcId == i)
так вроде нада
чистый бед


Цитата:
Сообщение от krisadr Посмотреть сообщение
lдопустим если вам нада чтобы при убийстве мобов в массиве mobs персонаж выходил из квеста то хватит достаточно
for(int i:mobs)
if(npc.getNpcId() = i) {
st.exitCurrentQuest(false);
}

Добавлено через 2 минуты
ну такое работает на лыже...
да к стати зарегистрировал мобов в
for(i:mobs)
addKillId(i)
имхо топорнее
weTr1k вне форума Отправить сообщение для weTr1k с помощью ICQ Отправить сообщение для weTr1k с помощью Skype™ Ответить с цитированием
Непрочитано 10.03.2011, 16:22   #10
Аватар для krisadr
Пользователь

По умолчанию Re: array mob's in quest

ну извените я не обладаю познаниями ярого программиста, самоучка я, но голова на плечах имеется. объясните почему бред...

for (int id : MOBS)
addKillId(id);
когда эта фишка работает на ура...
krisadr вне форума Ответить с цитированием
Ответ


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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[QUEST] Legacy Of Insolence JaneKyun Lineage II 1 29.07.2010 03:35
Quest'Ы эпик рб Machine Lineage II 4 06.06.2010 14:24
Classmaster quest Navakasi Lineage II 4 28.08.2009 16:18
Quest: как узнать CharId? Stasev Работа со скриптами 2 21.04.2009 13:36
Quest Editor Fugunsk World of WarCraft 0 24.01.2009 18:25


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

Вверх