03-05-2009, 06:24 PM
Вот срипт на NPC LvL Manager,который понижает за адену лвл,а как сделать обратное действие чтобы он повышал лвл или сразу 85 давал ? Что нужно поправить ?
Заранее спасибо !
Код:
import sys
from com.l2jfree import L2DatabaseFactory
from com.l2jfree.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from com.l2jfree.gameserver.model.quest import State
from com.l2jfree.gameserver.model.quest import QuestState
from com.l2jfree.gameserver.model.quest.jython import QuestJython as JQuest
qn = "755_LvLManager"
NPC = [755]
####################
ID_ITEM_1 = 57 #< Poner el item a gusto ;)
####################
C_ITEM_1 = 1 #< Cantidad requerida del item 1
####################
ID_ITEM_2 = 57 #< Si es q se quiere pedir un 2do item
####################
C_ITEM_2 = 0 #< Cantidad requerida del item 2
####################
C_LVL = 1 #< Cantidad de levels a bajar
####################
QuestId = 755
QuestName = "LvLManager"
QuestDesc = "custom"
InitialHtml = "1.htm"
print "INFO Loaded: LvLManager"
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
level = st.getPlayer().getLevel()
cdad1 = st.getQuestItemsCount(ID_ITEM_1)
cdad2 = st.getQuestItemsCount(ID_ITEM_2)
if cdad1 < C_ITEM_1 : #Cantidad item 1
htmltext = "error1.htm"
elif cdad2 < C_ITEM_2 : #Cantidad item 2
htmltext = "error2.htm"
else:
st.getPlayer().setTarget(st.getPlayer())
#Hawkeye
if event == "bajar":
delexp = (st.player.getStat().getExp()-st.player.getStat().getExpForLevel(level-C_LVL))
st.player.getStat().addExp(-delexp)
st.takeItems(ID_ITEM_1,C_ITEM_1)
st.takeItems(ID_ITEM_2,C_ITEM_2)
st.playSound("ItemSound.quest_finish")
return "Completada.htm"
st.exitQuest(1)
if htmltext != event:
st.exitQuest(1)
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><body>No tengo nada para decirte.</body></html>"
st.setState(State.STARTED)
return InitialHtml
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)