Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Дополнение к моему евенту
#1
Ситуация такая: Создал евент битва Творцов против Демонов

технически происходит так

за час появляется анонс о регистрации игроки регистрируются у нпс , по окончанию регистрации их телепортирует в зону битвы, там спаунятся 2 армии: полководец творцов(допустим айди нпс 101) и его армия(минионы 102) количеством 20-30, аналогично у армии демонов(103-104), далее игроки пытаются убить полководца противника, как только один из полководцев умирает его команда проигрывает, а победители получают приз, армии исчезают игроков тпшит обратно.

В этом проблем нет работает все с иголочки

но вопрос к знающим людям , если можете отпишитесь в аську или здесь как вам удобнее

так вот вопрос: хочу доделать чтобы при старте евента полководцы начинали атаковать друг друга, перекопал квесты особенно на 3 профу - там в конце нпс бьет другого нпс, но так и не смог найти данное действие в скрипте. Поэтому кто знает напишите как указать в инит.ру данное действие - атака 101 нпс на 103



буду премного благодарен

Добавлено через 39 минут
так же буду рад и просто указанию точного квеста где один нпс бьет другого. Чтобы взять аналог
Ответ
#2
а может кто-нибудь сможет ответить на такой вопрос:
вот нашел в джаве скриптах аналог когда один нпс атакует другого

else if (event.equalsIgnoreCase("Mob_3 Timer 1"))
{
L2Npc Mob_2 = FindSpawn(player,(L2Npc) L2World.getInstance().findObject(st.getInt("Mob_2")));
if (npc.getKnownList().knowsObject(Mob_2))
{
((L2Attackable) npc).addDamageHate(Mob_2,0,99999);
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK,Mob_2,null);
Mob_2.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK,npc,null);
AutoChat(npc,Text[14].replace("PLAYERNAME",player.getName()));
cancelQuestTimer("Mob_3 Timer 1",npc,player);
}
return null;
}


мне главное чтобы один атаковал другого следственно мне нужно думаю только вот это

npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK,Mob_2,null);
Mob_2.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK,npc,null);

но не уверен мб еще нужно

((L2Attackable) npc).addDamageHate(Mob_2,0,99999);


теперь проблема в том чтобы это вставить в Инит.ру скрипт надо какие-то параметры изменить и воообще мб в инит.ру это пишется по другому, может кто подскажет вкакую сторону мне смотреть чтобы впихнуть это в инит.ру примерно вот сюда мб влезет

else:
closed=1
Announcements.getInstance().announceToAll("Event "+str(NAME)+" has started!")
npc.deleteMe()
npc1=self.addSpawn(npc1,t1[0],t1[1],t1[2],60000,False,0)
npc2=self.addSpawn(npc2,t2[0],t2[1],t2[2],60000,False,0)


.....
Ответ
#3
и так друзья, мы оч хорошо пообсуждали)) и путем проб и ошибок за пару дней мучений по большому счету стало все понятно и мозайка почти собрана, остался один аспект совсем легкий и может кто-нибудь в этом разбирается)

Цитата: L2Npc Mob_2 = FindSpawn(player,(L2Npc) L2World.getInstance().findObject(st.getInt("Mob_2")));
if (npc.getKnownList().knowsObject(Mob_2))

так данное действие написано в джаве скрипте

и главный вопрос года: как правильно это прописать в инит.ру скрипт?
(то есть данный скрипт находит данного нпс-объект и дообавляет в свой список и далее можно использовать для своих нужд)

конечно если бы был аналог в инит.ру все было б проще, но его нет или я его не смог найти.

О Великие Скриптовые Гуру, подскажите как найти свет в конце туннеля.


Добавлено через 20 часов 4 минуты
это того стоило))

вопрос с повестки дня снимается , всем спасибо за участие Smile
Ответ


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


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