import sys
from com.l2jfree.gameserver.model.itemcontainer import Inventory
from com.l2jfree.gameserver.cache import HtmCache
from com.l2jfree.gameserver.model import L2ItemInstance
from com.l2jfree.gameserver.model.quest import State
from com.l2jfree.gameserver.model.quest import QuestState
from com.l2jfree.gameserver.network.serverpackets import InventoryUpdate
from com.l2jfree.gameserver.network.serverpackets import UserInfo
from com.l2jfree.gameserver.network.serverpackets import CharInfo
from com.l2jfree.gameserver.network.serverpackets import SystemMessage
from com.l2jfree.gameserver.model.quest.jython import QuestJython as JQuest
qn = "7778_Ench"
ADENA = 57
PRISE = 10000
maxTalk = 0
ench = 1
maxEnch =65535
lvl=0
NPC = 70041
def Ench (st,item,player):
htmltext = HtmCache.getInstance().getHtm("data/scripts/custom/" + qn + "/enchanter.htm")
itemInstance = player.getInventory().getPaperdollItem(item)
curEnchant = itemInstance.getEnchantLevel()
encc=curEnchant+ench
if maxTalk==0:
htma=""
htmltext = htmltext.replace("htma",htma)
elif maxTalk>0:
id=st.getInt("cound")+1
st.set("cound",str(id))
htma="<br>?? ?????? ????????:<font color=\"LEVEL\">"+str(maxTalk-id) +"</font>???"
htmltext = htmltext.replace("htma",htma)
if encc>=maxEnch:
htmltext="<html>?? ?????? ?? ?????? ????????</html>"
else:
st.takeItems(ADENA,PRISE)
player.getInventory().unEquipItemInSlotAndRecord(item)
itemInstance.setEnchantLevel(encc)
player.getInventory().equipItemAndRecord(itemInstance)
InventoryUpdate().addModifiedItem(itemInstance)
player.sendPacket(InventoryUpdate())
player.broadcastPacket(CharInfo(player))
player.sendPacket(UserInfo(player))
player.sendMessage("Enchanted"+itemInstance.getItem().getName()+" from "+str(curEnchant)+" to "+str(encc))
if st.getInt("cound")==maxTalk>0:
htmltext = "<html>?? ?????? ?? ?????? ????????</html>"
return htmltext
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onAdvEvent (self,event,npc,player) :
st = player.getQuestState(qn)
if event == "0" :
htmltext=Ench(st,Inventory.PAPERDOLL_UNDER,player)
if event == "1" :
htmltext=Ench(st,Inventory.PAPERDOLL_LEAR,player)
if event == "2" :
htmltext=Ench(st,Inventory.PAPERDOLL_REAR,player)
if event == "4" :
htmltext=Ench(st,Inventory.PAPERDOLL_NECK,player)
if event == "5" :
htmltext=Ench(st,Inventory.PAPERDOLL_RFINGER,player)
if event == "6" :
htmltext=Ench(st,Inventory.PAPERDOLL_LFINGER,player)
if event == "8" :
htmltext=Ench(st,Inventory.PAPERDOLL_HEAD,player)
if event == "9" :
htmltext=Ench(st,Inventory.PAPERDOLL_RHAND,player)
if event == "10" :
htmltext=Ench(st,Inventory.PAPERDOLL_LHAND,player)
if event == "11" :
htmltext=Ench(st,Inventory.PAPERDOLL_GLOVES,player)
if event == "12" :
htmltext=Ench(st,Inventory.PAPERDOLL_CHEST,player)
if event == "13" :
htmltext=Ench(st,Inventory.PAPERDOLL_LEGS,player)
if event == "14" :
htmltext=Ench(st,Inventory.PAPERDOLL_FEET,player)
return htmltext
def onTalk (self,npc,player) :
st = player.getQuestState(qn)
id = st.getInt("cound")
if not st : return htmltext
if npc.getNpcId() == NPC:
if player.getLevel()<lvl:
htmltext="<html>?????????? ??????? <font color=\"LEVEL\">"+str(lvl)+" ?????? </font></html>"
st.exitQuest(1)
elif maxTalk==0:
htmltext = HtmCache.getInstance().getHtm("data/scripts/custom/"+qn+"/enchanter.htm")
htmltext = htmltext.replace("htma","")
elif player.isCursedWeaponEquipped():
htmltext = "<html>? ?? ???? ??????? ? ????????? ???????!</html>"
st.exitQuest(1)
elif st.getQuestItemsCount(ADENA)<PRISE:
htmltext="<html> ? ??? ????????? ?????<br> ?????????? <font color=\"LEVEL\">"+str(PRISE)+"????</font></html>"
st.exitQuest(1)
elif id == maxTalk:
htmltext = "<html>?? ?????? ?? ????? ??????c?</html>"
st.exitQuest(1)
elif maxTalk>=1:
htmltext = HtmCache.getInstance().getHtm("data/scripts/custom/"+qn+"/enchanter.htm")
htma="<br>?? ?????? ????????:<font color=\"LEVEL\">"+str(maxTalk-id)+"</font>???"
htmltext = htmltext.replace("htma",htma)
return htmltext
QUEST=Quest(7778, qn, "custom")
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
print "-------------------------------> Enchanter loaded <-----------------------------"
Вместо вопросов пишем НЕ РУССКИЕ буквы, а тотже текст но на английском языке, или просто тупо латиницей :)
скрыть