Перейти к содержанию
Авторизация  
JustLord

Настройка Квеста

Рекомендуемые сообщения

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

Помогите пожалуйста.


import sys
from com.l2jfrozen import Config
from com.l2jfrozen.gameserver.model.quest import State
from com.l2jfrozen.gameserver.model.quest import QuestState
from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest
qn = "258_BringWolfPelt1"
WOLF_PELT = 27003
REWARDS={27006:[1,100]}
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "30001-03.htm" :
st.set("cond","1")
st.setState(STARTED)
st.playSound("ItemSound.quest_accept")
return htmltext
def onTalk (self,npc,player):
htmltext = "<html><body>You are either not carrying out your quest or don't meet the criteria.</body></html>"
st = player.getQuestState(qn)
if not st : return htmltext
npcId = npc.getNpcId()
id = st.getState()
if id == CREATED :
st.set("cond","0")
if st.getInt("cond")==0 :
if player.getLevel() >= 3 :
htmltext = "30001-02.htm"
else:
htmltext = "30001-01.htm"
st.exitQuest(1)
else :
if st.getQuestItemsCount(WOLF_PELT) < 1 :
htmltext = "30001-05.htm"
else :
st.takeItems(WOLF_PELT,-1)
count=0
while not count :
for item in REWARDS.keys() :
qty,chance=REWARDS[item]
if st.getRandom(100) < chance and count == 0 :
st.giveItems(item,st.getRandom(qty)+1)
count+=1
if chance < 7 :
st.playSound("ItemSound.quest_jackpot")
htmltext = "30001-06.htm"
st.exitQuest(1)
st.playSound("ItemSound.quest_finish")
return htmltext
def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
if not st : return
if st.getState() != STARTED : return

count = st.getQuestItemsCount(WOLF_PELT)
numItems, chance = divmod(100*Config.RATE_DROP_QUEST,100)
if st.getRandom(100) <chance :
numItems = numItems + 1
if count+numItems>=1 :
numItems = 1 - count
if numItems != 0 :
st.playSound("ItemSound.quest_middle")
st.set("cond","2")
else :
st.playSound("ItemSound.quest_itemget")
st.giveItems(WOLF_PELT,int(numItems))
return
QUEST = Quest(258,qn,"Bring Wolf Pelt1")
CREATED = State('Start', QUEST)
STARTING = State('Starting', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(30001)
QUEST.addTalkId(30001)
QUEST.addKillId(15094)
QUEST.addKillId(15094)
STARTED.addQuestDrop(15094,WOLF_PELT,1)

 

Пытался взять часть кода с кв на нубл, но не получилось(

Изменено пользователем JustLord

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эм,помоему это в базе делается npc в таблице absorb_type ставишь FULL_PARTY

Изменено пользователем Foma

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...