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

Квест

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

народ сталкнулся с такой проблеммой поставил квест на крылья скрипт вроде всё грузит тока когда я пытяюсь взять квест ничего вобще не происходит и ошибок не каких не выдаёт

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

вот сам скрипт

Скрытый текст
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 = "q902_FeatherGathering"

 

## нпц

NPC = 50003

 

## Мобы

MOBS = [22123,22124,22126,22128]

#босс

BOSS = 25450

 

## Дроп

#id перьев с мобов в мос

FEATHER = 9983

#сколько нужно?

FEATHER_NEED = 300

#шанс дропа, %

FEATHER_CHANCE = 100

#id итема с босса

BOSS_ITEM = 9984

 

##Награда

#id крыльев

WINGS = 9996

 

class Quest (JQuest) :

 

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

 

def onEvent (self,event,st) :

htmltext = event

if event == "accept.htm":

st.setState(STARTED)

st.playSound("ItemSound.quest_accept")

st.set("cond","1")

elif event == "finish.htm":

if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:

st.takeItems(FEATHER, -1)

st.takeItems(BOSS_ITEM, -1)

st.giveItems(WINGS, 1)

st.set("cond","0")

st.playSound("ItemSound.quest_finish")

st.setState(COMPLETED)

else:

htmltext = "mobs.htm"

return htmltext

 

def onTalk (self,npc,player):

st = player.getQuestState(qn)

if not st:

return "<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>"

npcId = npc.getNpcId()

idd = st.getState()

cond = st.getInt("cond")

if npcId == NPC:

if idd == COMPLETED:

htmltext = "completed.htm"

if idd == CREATED:

htmltext = "hello1.htm"

elif cond == 1:

if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:

htmltext = "mobs2.htm"

else:

htmltext = "mobs.htm"

return htmltext

 

def onKill(self,npc,player,isPet):

st = player.getQuestState(qn)

if not st or st.getInt("cond") != 1:

return

npcId = npc.getNpcId()

reward = 0

limit = 1

chance = 100

if npcId in MOBS:

reward = FEATHER

limit = FEATHER_NEED

chance = FEATHER_CHANCE

if npcId == BOSS:

reward = BOSS_ITEM

limit = 1

if reward > 0:

party = player.getParty()

if party:

for member in party.getPartyMembers():

if not member.isAlikeDead():

st = member.getQuestState("q902_FeatherGathering")

if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:

st.giveItems(reward, 1)

st.playSound("ItemSound.quest_itemget")

if st.getQuestItemsCount(reward) >= limit:

st.playSound("ItemSound.quest_middle")

else:

if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:

st.giveItems(reward, 1)

st.playSound("ItemSound.quest_itemget")

return

 

QUEST = Quest(902, qn, "Feather Gathering")

CREATED = State('Start', QUEST)

STARTED = State('Started', QUEST)

COMPLETED = State('Completed', QUEST)

 

QUEST.setInitialState(CREATED)

 

QUEST.addStartNpc(NPC)

QUEST.addTalkId(NPC)

QUEST.addKillId(BOSS)

 

for m in MOBS:

QUEST.addKillId(m)

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


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

на форуме ещ есть решение этого вопроса ищи лучше

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


Ссылка на сообщение
Поделиться на другие сайты
Скрытый текст
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 = "q902_FeatherGathering"

## нпц
NPC = 77779

## Мобы
MOBS = [22132,22130,22131,22135]
#босс
BOSS = 59037

## Дроп
#id перьев с мобов в мос
FEATHER = 2129
#сколько нужно?
FEATHER_NEED = 1000
#шанс дропа, %
FEATHER_CHANCE = 100
#id итема с босса
BOSS_ITEM = 2125

##Награда
#id крыльев
WINGS = 13012

class Quest (JQuest) :

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

def onEvent (self,event,st) :
htmltext = event
if event == "accept.htm":
st.setState(STARTED)
st.playSound("ItemSound.quest_accept")
st.set("cond","1")
elif event == "finish.htm":
if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
st.takeItems(FEATHER, -1)
st.takeItems(BOSS_ITEM, -1)
st.giveItems(WINGS, 1)
st.set("cond","0")
st.playSound("ItemSound.quest_finish")
st.setState(COMPLETED)
else:
htmltext = "mobs.htm"
return htmltext

def onTalk (self,npc,player):
st = player.getQuestState(qn)
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>"
if not st:
return htmltext
npcId = npc.getNpcId()
idd = st.getState()
cond = st.getInt("cond")
if npcId == NPC:
if idd == COMPLETED :
htmltext = "completed.htm"
if idd == CREATED :
htmltext = "hello1.htm"
elif cond == 1:
if st.getQuestItemsCount(FEATHER) >= FEATHER_NEED and st.getQuestItemsCount(BOSS_ITEM) >= 1:
htmltext = "mobs2.htm"
else:
htmltext = "mobs.htm"

return htmltext

def onKill(self,npc,player,isPet):
st = player.getQuestState(qn)
if not st or st.getInt("cond") != 1:
return
npcId = npc.getNpcId()
reward = 0
limit = 1
chance = 100
if npcId in MOBS:
reward = FEATHER
limit = FEATHER_NEED
chance = FEATHER_CHANCE
if npcId == BOSS:
reward = BOSS_ITEM
limit = 1
if reward > 0:
party = player.getParty()
if party:
for member in party.getPartyMembers():
if not member.isAlikeDead():
st = member.getQuestState("q902_FeatherGathering")
if st and st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
st.giveItems(reward, 1)
st.playSound("ItemSound.quest_itemget")
if st.getQuestItemsCount(reward) >= limit:
st.playSound("ItemSound.quest_middle")
else:
if st.getQuestItemsCount(reward) < limit and st.getRandom(100) <= chance:
st.giveItems(reward, 1)
st.playSound("ItemSound.quest_itemget")
return

QUEST = Quest(902, qn, "FeatherGathering")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed', QUEST)

QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
QUEST.addKillId(BOSS)

for m in MOBS:
QUEST.addKillId(m)


Держи

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


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

Не знаю..я тебе скрипт дал со своей сборки :)

У меня все идеально работает..ты менял в скрипте ID NPC на свой?

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


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

кто может помоч пишите Skype-Credboy ICQ-617519718

за помощь буду благодарен!

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


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

вот ша он уже ошибку выдаёт

Error on: C:\Users\Credboy\Desktop\FrozenWorld rev.5\gameserver\data\scripts\quests\q902_FeatherGathering\__init__.py.error.log

Line: -1 - Column: -1

 

Traceback (innermost last):

(no code object) at line 0

SyntaxError: ('invalid syntax', ('__init__.py', 36, 2, ' htmltext = event'))

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


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

Я его тоже пытался ставить на фрозен) если получиться то отпиши как сделал пж.

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


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

вам дали полностью рабочий скрипт под фрозенов а вы его даже поставить не можете yao.png

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


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

taste я уже что не делал с этим скриптом) когда нажимаешь на него пишет Scripts Error

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


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

я уже с этим квест 3 день мучаюсь

помогите люди добрые

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


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

Error on: C:\NewRobZombie\gameserver\data\scripts\quests\q902_FeatherGathering\__init__.py.error.log

Line: -1 - Column: -1

 

Traceback (innermost last):

(no code object) at line 0

SyntaxError: ('invalid syntax', ('__init__.py', 33, 1, 'def __init__(self,id,name,descr) : JQuest.__init__(self,id,name,descr)'))

 

 

и в гс ещё бьет ошибка ))

 

 

Кароче PickWick идем продавать ХотДоги ) линейка нам не по душе :)

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


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

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

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

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