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

Проблема С Скриптом

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

скрипт загружается но в игре при завершение квеста выдает ошибку

 

 

Скрытый текст
D:\********\gameserver\data\scripts\custom\70000_HennaItems\__init__.py.error.log

Line: -1 - Column: -1

 

Traceback (innermost last):

(no code object) at line 0

SyntaxError: ('inconsistent dedent', ('__init__.py', 113, 4, ' return'))

 

 

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

 

Скрытый текст
# The Finest Food - v0.1 by disKret & DrLecter

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 = "70000_HennaItems"

 

#NPC

JEREMY = 70000

 

#ITEM

ADENA = 1700

 

#ITEMS

LEAF_OF_FLAVA,BUFFALO_MEAT,ANTELOPE_HORN = range(7199,7202)

 

#MOBS, DROPS, CHANCES & REWARDS

BUFFALO,FLAVA,ANTELOPE = [ 22124,22126,22122 ]

DROPLIST = {BUFFALO:[bUFFALO_MEAT,99],FLAVA:[LEAF_OF_FLAVA,99],ANTELOPE:[ANTELOPE_HORN,99]}

REWARDS = [[9901,0,12],[9903,12,24],[9905,24,36],[9907,36,48],[9909,48,60],[9911,60,62]]

 

#needed count

 

class Quest (JQuest) :

 

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

 

def onEvent (self,event,st) :

cond = st.getInt("cond")

htmltext = event

leaf = st.getQuestItemsCount(LEAF_OF_FLAVA)

meat = st.getQuestItemsCount(BUFFALO_MEAT)

horn = st.getQuestItemsCount(ANTELOPE_HORN)

if event == "31521-03.htm" and cond == 0 :

if st.getPlayer().getLevel() >= 71 :

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

st.setState(STARTED)

st.playSound("ItemSound.quest_accept")

else :

htmltext = "31521-02.htm"

st.exitQuest(1)

elif event == "31521-07.htm" :

if cond == 2 and leaf == meat == horn == 100 :

htmltext = "31521-06.htm"

st.playSound("ItemSound.quest_finish")

random = st.getRandom(100)

i = 0

while i < len(REWARDS) :

item,adena,chance,chance2=REWARDS

if chance<=random<= chance2 :

break

i = i+1

st.giveItems(57,adena)

if item :

st.giveItems(item,1)

else :

st.addExpAndSp(230000,18250)

st.takeItems(LEAF_OF_FLAVA,-1)

st.takeItems(BUFFALO_MEAT,-1)

st.takeItems(ANTELOPE_HORN,-1)

st.exitQuest(1)

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 st :

cond = st.getInt("cond")

leaf = st.getQuestItemsCount(LEAF_OF_FLAVA)

meat = st.getQuestItemsCount(BUFFALO_MEAT)

horn = st.getQuestItemsCount(ANTELOPE_HORN)

if cond == 0 :

htmltext = "31521-01.htm"

elif st.getState() == STARTED :

if cond == 1 :

htmltext = "31521-05.htm"

elif cond == 2 and leaf == meat == horn == 100 :

htmltext = "31521-04.htm"

return htmltext

 

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

# todo: with the current code, a player who has completed up to 2 out of 3

# item collections may consume the party drop (i.e. become the selected

# player in the random, but get nothing because it was the wrong mob)

# this ought to be corrected later...

partyMember = self.getRandomPartyMember(player,"1")

if not partyMember: return

st = partyMember.getQuestState(qn)

if st :

if st.getState() == STARTED :

item,chance = DROPLIST[npc.getNpcId()]

count = st.getQuestItemsCount(item)

if st.getInt("cond") == 1 and count < 100 :

numItems, chance = divmod(chance*Config.RATE_DROP_QUEST,100)

if st.getRandom(100) < chance :

numItems += 3

if count + numItems >= 100 :

numItems = 100 - count

if numItems != 0 :

st.giveItems(item,int(numItems))

if st.getQuestItemsCount(LEAF_OF_FLAVA) == st.getQuestItemsCount(BUFFALO_MEAT) == st.getQuestItemsCount(ANTELOPE_HORN) == 100 :

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

st.playSound("ItemSound.quest_middle")

else :

st.playSound("ItemSound.quest_itemget")

return

 

QUEST = Quest(70000,qn,"Custom")

CREATED = State('Start', QUEST)

STARTED = State('Started', QUEST)

 

QUEST.setInitialState(CREATED)

QUEST.addStartNpc(JEREMY)

QUEST.addTalkId(JEREMY)

 

for mob in DROPLIST.keys() :

QUEST.addKillId(mob)

 

for item in range(7199,7202):

STARTED.addQuestDrop(JEREMY,item,1)

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


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

знает кто?

Предупреждение от модератора NewOff

4.17. Преждевременно поднимать темы, если с момента последней публикации не прошло 12 часа

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

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


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

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

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

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