Item Enchanter
2 ответов85 просмотровСейчас просматривают: 1
· 08.11.2009, 08:07
Просьба , вот у меня есть рабочая Точилка .Но он мне пашит , нетак как бы шотелось. Он толко один раз заплюсовывает ,например до +300 .Без шагов .Мозет падскажите ,как прописать и что , с шагами был (по +50) .Сколко пробывал неполучалось, ошибки выкидывал....
Раскрывающийся текст
import sys
from com.l2emu.gameserver.model.quest import State
from com.l2emu.gameserver.model.quest import QuestState
from com.l2emu.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2emu.gameserver.model import L2ItemInstance
qn = "191125_Enchanter"
# Quest Items
ADENA_ID = 2807
COUNT = 300
ENCH = 300
# NPC
NPC_ENCH = 40004
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "0" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(0):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(0)
st.getEnchantLevel(itm)
if itm == 8190:
htmltext = "<html><head><body>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif 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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>I haven't that say to you1</body></html>"
if not st : return htmltext
if npcId == NPC_ENCH:
htmltext = "31764-01.htm"
return htmltext
QUEST = Quest(191125, qn, "custom")
QUEST.addStartNpc(NPC_ENCH)
QUEST.addTalkId(NPC_ENCH)
print "importing custom: 191125_Enchanter done"
from com.l2emu.gameserver.model.quest import State
from com.l2emu.gameserver.model.quest import QuestState
from com.l2emu.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2emu.gameserver.model import L2ItemInstance
qn = "191125_Enchanter"
# Quest Items
ADENA_ID = 2807
COUNT = 300
ENCH = 300
# NPC
NPC_ENCH = 40004
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent (self,event,st) :
htmltext = event
if event == "0" :
if st.getQuestItemsCount(ADENA_ID) >= COUNT and st.getItemEquipped(0):
st.takeItems(ADENA_ID,COUNT)
itm = st.getItemEquipped(0)
st.getEnchantLevel(itm)
if itm == 8190:
htmltext = "<html><head><body>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
return htmltext
st.setState(STARTED)
else : st.exitQuest(1)
elif 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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>The item can't enchanting!</body></html>"
return htmltext
st.exitQuest(1)
else:
st.takeItems(itm,1)
st.giveItems(itm,1,ENCH)
htmltext = "enchanting has ben completed!"
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>I haven't that say to you1</body></html>"
if not st : return htmltext
if npcId == NPC_ENCH:
htmltext = "31764-01.htm"
return htmltext
QUEST = Quest(191125, qn, "custom")
QUEST.addStartNpc(NPC_ENCH)
QUEST.addTalkId(NPC_ENCH)
print "importing custom: 191125_Enchanter done"
0
Войдите или зарегистрируйтесь чтобы ответить
