Свернуть ↑
import sys
from java.util import Iterator
from java.lang import System
from time import gmtime, strftime
from net.sf.l2j import L2DatabaseFactory
from net.sf.l2j.util import Rnd
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.network.serverpackets import CharInfo
from net.sf.l2j.gameserver.network.serverpackets import SocialAction
from net.sf.l2j.gameserver.network.serverpackets import UserInfo
qn = "q8019_SetHero"
NPC = 99999
ITEM = 5962 # итем необходимый для обмена
COST = 80 # стоимость
INAME = "Gold Golem" # название итема
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 == "step1":
if st.getQuestItemsCount(ITEM) < COST:
htmltext = "<html><body>Статус хиро: <font color=74bff5>"+str(COST)+" "+INAME+"</font></body></html>"
return htmltext
elif player.isHero():
htmltext = "<html><body>Вы уже герой..)</body></html>"
return htmltext
htmltext = "<html><body><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><img src=\"L2UI.SquareBlank\" width=260 height=2><br1>"
htmltext += "Статус хиро на 1 месяц: <font color=74bff5>"+str(COST)+" "+INAME+"</font>"
htmltext += "<button value=\"Продолжить\" action=\"bypass -h Quest q8019_SetHero step2\" width=80 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"><br>"
htmltext += "<img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></body></html>"
elif event == "step2":
if st.getQuestItemsCount(ITEM) < COST:
htmltext = "<html><body>Статус хиро: <font color=74bff5>"+str(COST)+" "+INAME+"</font></body></html>"
return htmlte
htmltext = "<html><body>Теперь вы Герой!<br><br>"
#<
st.takeItems(ITEM,COST)
player.setHero(30)
#<
login = str(player.getAccountName())
name = str(player.getName())
date = str(strftime("%Y-%m-%d", gmtime()))
time = str(strftime("%H:%M:%S", gmtime()))
writelog=L2DatabaseFactory.getInstance().getConnec tion()
write=writelog.prepareStatement("INSERT INTO zz_donate_log (date,time,login,name,action,payment) VALUES (?,?,?,?,?,?)")
write.setString(1, date)
write.setString(2, time)
write.setString(3, login)
write.setString(4, name)
write.setString(5, "Hero Status")
write.setInt(6, COST)
try :
write.executeUpdate()
write.close()
writelog.close()
except :
try : writelog.close()
except : pass
#<
htmltext += "<font color=bef574>Спасибо за поддержку!</font><br></body></html>"
else:
htmltext = "<html><body>Статус хиро:<br>Oops!</body></html>"
return htmltext
def onTalk (self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId == NPC:
self.startQuestTimer("step1",100,None,player)
return
QUEST = Quest(8019,qn,"custom")
CREATED = State('Start', QUEST)
QUEST.setInitialState(CREATED)
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)