Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Форум для новичков[JAVA]/[help]Создание своего квеста
Поиск

[help]Создание своего квеста

3 ответов61 просмотровСейчас просматривают: 1
Илья
Илья

Пользователь

Участник

Постов: 49

На форуме с: 11.10.2008

Репутация: +7

Рейтинг: 0

· 25.03.2009, 20:07

Сборка: Gracia Part II, L2Emu 1420
Краткое изложение СУТИ проблемы: хочу написать квест, в котором можно было взяв квест, пойти убивать монстров и за пройденные другим квестом итемы, получить предмет, в моем случае это оружие, и 2 сета.
Вопрос: как сделать?:)

Я бы изменил весь Мир, но Бог не дал мне исходников...

0
Eclipse
Eclipse

Пользователь

Новичок

Постов: 14

На форуме с: 13.03.2009

Репутация: +1

Рейтинг: 0

· 26.03.2009, 00:34

Поищи на форуме, вот только не давно видел.

0
key_si
key_si

Пользователь

Бывалый

Постов: 326

На форуме с: 31.07.2008

Репутация: +473

Рейтинг: 0

· 26.03.2009, 01:13

Код
import sys
from net.l2emuproject.gameserver.model.quest        import State
from net.l2emuproject.gameserver.model.quest        import QuestState
from net.l2emuproject.gameserver.model.quest.jython import QuestJython as JQuest

qn = "blablabla" #название квеста


#айди итемов
ITEM1 = 1
ITEM2 = 2
ITEM3 = 3
ITEM4 = 4


ITEMCOUNT = 5 #количество каждого из итемов

SNPC = 123456 #id стартового нпс
RB = 123456 #d РБ

#координаты спауна РБ
cordX=
cordY=
cordZ=

class Quest (JQuest) :

def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

def onTalk (Self,npc,player):
   st = player.getQuestState(qn)  
   npcId = npc.getNpcId()
   if npcId == SNPC :
        reward = 0
        for i in [ITEM1,ITEM2,ITEM3,ITEM4] :
            if st.getQuestItemsCount(i) >= ITEMCOUNT:
                reward = reward + 1
        
        if reward == ITEMCOUNT :
            for i in [ITEM1,ITEM2,ITEM3,ITEM4] :
                st.takeItems(i,ITEMCOUNT)
            st.addSpawn(RB,cordX,cordY,cordZ)
            st.exitQuest(1)
            return
        else:
            st.exitQuest(1)
            return "1.htm"

QUEST       = Quest(blablabla,qn,"custom")

QUEST.addStartNpc(SNPC)
QUEST.addTalkId(SNPC)


Примерно так..


Делаешь дроп нужных итемов с мобов.
Делаешь нпс. При необходимом кол-ве нужных итемов он заспаунит рб в нужном месте.
Если итемов не хватает будет выдавать содержимое 1.htm

Добавляется примерно также:
Код
elif player.getLevel() < 75 :
htmltext = "31740-2.htm"



это мы ставим после
Код
def onTalk (self,npc,player):


Использованны посты авторо: Rem000 и _Grac
с этой темы: [question] Требуется помощь в написании квеста, L2Dream

0
Войдите или зарегистрируйтесь чтобы ответить