Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

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

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

3 replies62 viewsCurrently viewing: 1
Илья
Илья

User

Участник

Posts: 49

На форуме с: 10/11/2008

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

Рейтинг: 0

· 03/25/2009, 08:07 PM

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

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

0
Eclipse
Eclipse

User

Новичок

Posts: 14

На форуме с: 03/13/2009

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

Рейтинг: 0

· 03/26/2009, 12:34 AM

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

0
key_si
key_si

User

Бывалый

Posts: 326

На форуме с: 07/31/2008

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

Рейтинг: 0

· 03/26/2009, 01:13 AM

Код
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
Войдите или зарегистрируйтесь чтобы ответить