[error]Точилка
Сборка: Gracia Part 2, l2emu 13..
Краткое изложение СУТИ проблемы:
Поставил точилку(она была от интерлюда) всё залил когда запускаю пишит вот такую ошибку
WARNING Failed executing script: E:\l2emuproject-game\dist\data\scripts\cust
om\1911_Enchanter\__init__.py. See __init__.py.error.log for details.
далее посмотрел что там написано
Error on: E:\l2emuproject-game\dist\data\scripts\custom\1911_Enchanter\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
File "__init__.py", line 2, in ?
ImportError: no module named sf
Вопрос: в чем причина и как исправить? Или есть ли у когонить рабочая точился Поделитесь пожалуйсто!!!
Мои соображения по этому поводу: Толи код самого квеста нада править толи что =\
Если нада вот сам код:
from net.sf.l2j.gameserver.model.quest import State
from net.sf.l2j.gameserver.model.quest import QuestState
from net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuest
from net.sf.l2j.gameserver.model import L2ItemInstance
qn = "1911_Enchanter"
# Quest Items
ADENA_ID = 57
COUNT = 1
ENCH = 500
# NPC
NPC_ENCH = 12618
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "1" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(1):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(1)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "2" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(2):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(2)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "3" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(3):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(3)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "4" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(4):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(4)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "5" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(5):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(5)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "6" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(6):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(6)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "7" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(7):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(7)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "8" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(8):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(8)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "9" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(9):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(9)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "10" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(10):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(10)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "11" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(11):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(11)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "12" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(12):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(12)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "13" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(13):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(13)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "14" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(14):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(14)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "15" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(15):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(15)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif event == "16" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(16):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(16)
if itm == 8190:
htmltext = "<html><head><body>Etot predmet nelzya zato4it</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "Ok!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
return htmltext
def onTalk (self,npc,player) :
st = player.getQuestState(qn)
npcId = npc.getNpcId()
htmltext = "<html><head><body>MHE HE4Ero Te6e CKa3aTb</body></html>"
if not st : return htmltext
if npcId == NPC_ENCH:
htmltext = "31764-01.htm"
return htmltext
QUEST = Quest(1911, qn, "custom")
CREATED = State('Start', QUEST)
STARTED = State('Started', QUEST)
COMPLETED = State('Completed',QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC_ENCH)
QUEST.addTalkId(NPC_ENCH)
print "importing custom: 1911_Enchanter done"
Код квеста править надо, а точнее импорты. Вам веть чётко и ясно написали где косяк!!!!
ImportError: no module named sf
Просто импорты неправильные. Смотрите из исходников или из других квестов где какие импорты.
Да и к тому же, это точилка не очень приятная, ибо она забирает предмет и выдаёт точёный, а неприятность в том что заберёт аугументированную пуху и выдаст "чистую" с заточкой. (не путать с СА).
Ну что тут бится? Открой любой квест из сборки, и погляди как там импорты идут в самом начале файла со слов:
from....
Вот тут и смотри какой путь:
Выглядит к примеру так:
Это означает что файл "State" лежит в папке "net\sf\l2j\gameserver\model\quest"
Но так как у ему путь другой вот сервер и ругается на то что нету папки "sf"
Дальше можно и своими извилинами пошевелить и догнать что к чему. Особенно приятно делать это в программе "Notepad++" ибо она подсветит всё красиво и понятно сразу станет.
А как сделать точилку чтобы она ДОТАЧИВАЛА например жмёш Точить и он точин на 1 больше за опр кол-во итемов?
ps
Вот импорты из бафера
import sys
from net.l2emuproject.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from net.l2emuproject.gameserver.datatables import SkillTable
from net.l2emuproject import L2DatabaseFactory
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
и чо куда подставить чтобы всё пахала

