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

Квест

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

Всем добрый день

Нужна ваша помошь

Квест работает все нпц есть..

Но как дело доходит до дропа Fang of Stakato (id 8085) они просто не падают с мобов

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

Очень прошу..

 

 

 

 

# Made by Kerberos v1.0 on 2009/05/08
# Visit http://www.l2jdp.com/forum for more details.
import sys
from net.l2emuproject import Config
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 = "640_TheZeroHour"

#NPC
Kahman = 31554

#MONSTERS
MONSTERS = range(22105,22112)+range(22113,22120)+[22121]

#ITEMS
Fang = 8085

REWARDS={
"1":[12 ,4042, 1],
"2":[6  ,4043, 1],
"3":[6  ,4044, 1],
"4":[81 ,1887,10],
"5":[33 ,1888, 5],
"6":[30 ,1889,10],
"7":[150,5550,10],
"8":[131,1890,10],
"9":[123,1893, 5],
}

class Quest (JQuest) :

def __init__(self,id,name,descr):
	JQuest.__init__(self,id,name,descr)
	self.questItemIds = [Fang]

def onAdvEvent (self,event,npc, player) :
	htmltext = event
	st = player.getQuestState(qn)
	if not st : return
	if event == "31554-02.htm" :
		st.set("cond","1")
		st.setState(State.STARTED)
		st.playSound("ItemSound.quest_accept")
	elif event == "31554-08.htm" :
		st.playSound("ItemSound.quest_finish")
		st.exitQuest(True)
	elif event in REWARDS.keys() :
		cost,item,amount = REWARDS[event]
		if st.getQuestItemsCount(Fang)>=cost :
			st.takeItems(Fang,cost)
			st.rewardItems(item, amount)
			htmltext = "31554-09.htm"
		else :
			htmltext = "31554-06.htm"
	return htmltext

def onTalk (self, npc, player) :
	htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
	st = player.getQuestState(qn)
	if not st : return htmltext

	id = st.getState()
	if id == State.CREATED :
		if player.getLevel() >= 66 :
			st2 = st.getPlayer().getQuestState("109_InSearchOfTheNest")
			if st2 and st2.getState() == State.COMPLETED :
				htmltext = "31554-01.htm"
			else :
				htmltext = "31554-10.htm"
		else :
			htmltext = "31554-00.htm" 
	elif st.getQuestItemsCount(Fang) >= 1 :
		htmltext = "31554-04.htm"
	else :
		htmltext = "31554-03.htm"
	return htmltext

def onKill(self, npc, player, isPet) :
	partyMember = self.getRandomPartyMemberState(player, State.STARTED)
	if not partyMember: return
	st = partyMember.getQuestState(qn)
	if not st : return
	st.giveItems(Fang,int(Config.RATE_DROP_QUEST))
	st.playSound("ItemSound.quest_itemget")
	return

QUEST	   = Quest(640,qn,"The Zero Hour")

QUEST.addStartNpc(Kahman)
QUEST.addTalkId(Kahman)

for i in MONSTERS :
QUEST.addKillId(i)

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


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

st.giveItems(Fang,int(Config.RATE_DROP_QUEST))

падать будет с таким шансом, который ты поставил в конфиге, т.е. если 1 например, то падать будет очень очень очень редко)

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


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

У меня стоит 100 на сколько я понял..но всё равно не падает..

 

 

 

8085	Fang of Stakato	false	quest	0	stackable	paper	none	-1	-1	0	0	true	true	true	true	0-0;	false

Вот такое у меня в базе в etcitem.. quest дроп в квесты всё правильно но всё равно не дропается

 

 

# ---------------------------------------#

# Настройка дропа/награды #

# ---------------------------------------#

# Множитель дропа адены

RateDropAdena = 200.

# Множитель дропа вещей

RateDropItems = 1000.

# Множитель спойла

RateDropSpoil = 3000.

# Множитель дропа вещей с RaidBoss

RateRaidDropItems = 100.

# Множитель дропа вещей с GrandBoss

RateGrandDropItems = 1.

# Множитель награды за манор

RateDropManor = 25.

# Множитель награды за рыбалку

RateExtractFish = 25

# Множитель количества дропа квестовых вещей

RateDropQuest = 100.

# Множитель репутации Hellbound острова

RateHellbound = 500

 

# ---------------------------------------#

# Настройка рейта цен и награды квестов #

# ---------------------------------------#

# Множитель награды XP/SP в квестах

RateQuestsRewardExpSp = 10.

# Множитель награды Адены в квестах

RateQuestsRewardAdena = 10.

# Множитель награды вещей в квестах

RateQuestsRewardItems = 10.

# Множитель стоимости создания вещей

RateCraftCost = 1.

# Множитель цен торговцев

RateConsumableCost = 1.

# Множитель цен гвардов

RateSiegeGuardsPrice = 1

# Множитель скорости бега

# Выше 2-х не поднимать

RateRunSpeed = 1

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


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

REWARDS={

"1":[12 ,4042, 1],

"2":[6 ,4043, 1],

"3":[6 ,4044, 1],

"4":[81 ,1887,10],

"5":[33 ,1888, 5],

"6":[30 ,1889,10],

"7":[150,5550,10],

"8":[131,1890,10],

"9":[123,1893, 5],

 

1], это шанс если я не ошибаюсь, сбоку

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


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

Это квест на обменник

А какой квест отвечает за дроп Fang of Stakato??

Квест работает до того как нужно выбивать стакато.. а как начинаю бить мобов так они не падают!

ПОМОГИТЕ ПЛИЗ!!!!

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


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

# autor Snzinfo
# Command L2emuRT
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 = "146_TheZeroHour"

#NPCs
Kahman = 31554
#Rb
Queen_Shyeed = 25671
#items
Stakato_Queen_Fang = 14859
Kahman_Supply_Box = 14849

class Quest (JQuest) :
def __init__(self,id,name,descr):
	JQuest.__init__(self,id,name,descr)
	self.questItemIds = [Stakato_Queen_Fang]

def onAdvEvent (self,event,npc, player) :
	htmltext = event
	st = player.getQuestState(qn)
	if not st : return
	if event == "31554-02.htm" :
		st.set("cond","1")
		st.setState(State.STARTED)
		st.playSound("ItemSound.quest_accept")
	elif event == "31554-04.htm" :
		st.giveItems(Kahman_Supply_Box,1)
		st.unset("cond")
		st.exitQuest(1)
		st.playSound("ItemSound.quest_finish")
	return htmltext

def onTalk (self,npc,player):
	htmltext = "<html><body>You are either not on a quest that involves this NPC, or you don't meet this NPC's minimum quest requirements.</body></html>"
	st = player.getQuestState(qn)
	if not st : return htmltext

	npcId = npc.getNpcId()
	id = st.getState()
	cond=st.getInt("cond")
	Fang = st.getQuestItemsCount(Stakato_Queen_Fang)
	if cond == 0 :
	  if player.getLevel() >= 81 :
		htmltext = "31554-01.htm"
	  else:
		htmltext = "31554-00.htm"
		st.exitQuest(1)
	elif not Fang :
		htmltext = "31554-02.htm"
	elif Fang :
		htmltext = "31554-03.htm"
	return htmltext

def onKill(self,npc,player,isPet):
	st = player.getQuestState(qn)
	if not st : return
	if st.getState() != State.STARTED : return

	npcId = npc.getNpcId()
	if st.getInt("cond") == 1 :
	   st.giveItems(Stakato_Queen_Fang,1)
	   st.playSound("ItemSound.quest_middle")
	   st.set("cond","2")
	return

QUEST	   = Quest(146,qn,"The Zero Hour")

QUEST.addStartNpc(Kahman)
QUEST.addTalkId(Kahman)
QUEST.addKillId(Queen_Shyeed)

Вот этот квест вроде именно отвечает за дроп Fang of Stakato тока всё равно они не падают

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


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

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

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

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