QQSmile 5 Опубликовано 18 февраля, 2012 Проблема вот в чём, всё норм работает но когда нажимаю количество дней, и нажимаю ок, мне хиро не дает но донки заберает! Помогите сделать оч надо за спасибо) skype: arcticxm import sys from time import gmtime, strftime from com.l2scoria.util.database import L2DatabaseFactory from com.l2scoria.gameserver.model.quest import State from com.l2scoria.gameserver.model.quest import QuestState from com.l2scoria.gameserver.model.quest.jython import QuestJython as JQuest qn = "q8019_SetHero" NPC = 99999 ITEM = 9994 # итем необходимый для обмена COST = 1 # стоимость за 1 день INAME = "Wmz Coin" # название итема 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.startswith("hero"): days = event.replace("hero", "") if days == " ": htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext if player.isHero(): htmltext = "<html><body>Вы уже герой..)</body></html>" return htmltext days = days.replace(" ", "") if not days.isdigit(): htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext days = int(days) if days < 1: htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext payment = COST * days if st.getQuestItemsCount(ITEM) < payment: htmltext = "<html><body>Статус хиро за "+str(days)+" дней: <font color=74bff5>"+str(payment)+" "+INAME+"</font></body></html>" return htmltext htmltext = "<html><body>Теперь вы Герой!<br><br>" #< st.takeItems(ITEM,payment) player.setHero(days) #< 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().getConnection() 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, "+str(days)+" days.") write.setInt(6, payment) 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): htmltext = "<html><body>Для вас в данный момент ничего нет.</body></html>" st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = "privetstvie.htm" return htmltext QUEST = Quest(8019,qn,"custom") CREATED = State('Start', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QQSmile 5 Опубликовано 18 февраля, 2012 ап! помогите очень надо!!!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Avelan 1 Опубликовано 18 февраля, 2012 Попробуй так: import sys from time import gmtime, strftime from net.sf.l2j import L2DatabaseFactory 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 qn = "q8019_SetHero" NPC = 99999 ITEM = 5962 # итем необходимый для обмена COST = 3 # стоимость за 1 день 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.startswith("hero"): days = event.replace("hero", "") if days == " ": htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext if player.isHero(): htmltext = "<html><body>Вы уже герой..)</body></html>" return htmltext days = days.replace(" ", "") if not days.isdigit(): htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext days = int(days) if days < 1: htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext payment = COST * days if st.getQuestItemsCount(ITEM) < payment: htmltext = "<html><body>Статус хиро за "+str(days)+" дней: <font color=74bff5>"+str(payment)+" "+INAME+"</font></body></html>" return htmltext htmltext = "<html><body>Теперь вы Герой!<br><br>" #< st.takeItems(ITEM,payment) player.setHero(days) #< 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().getConnection() 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, "+str(days)+" days.") write.setInt(6, payment) 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): htmltext = "<html><body>Для вас в данный момент ничего нет.</body></html>" st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = "privetstvie.htm" return htmltext QUEST = Quest(8019,qn,"custom") CREATED = State('Start', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QQSmile 5 Опубликовано 18 февраля, 2012 Попробуй так: import sys from time import gmtime, strftime from net.sf.l2j import L2DatabaseFactory 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 qn = "q8019_SetHero" NPC = 99999 ITEM = 5962 # итем необходимый для обмена COST = 3 # стоимость за 1 день 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.startswith("hero"): days = event.replace("hero", "") if days == " ": htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext if player.isHero(): htmltext = "<html><body>Вы уже герой..)</body></html>" return htmltext days = days.replace(" ", "") if not days.isdigit(): htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext days = int(days) if days < 1: htmltext = "<html><body>Вы не ввели количество дней.</body></html>" return htmltext payment = COST * days if st.getQuestItemsCount(ITEM) < payment: htmltext = "<html><body>Статус хиро за "+str(days)+" дней: <font color=74bff5>"+str(payment)+" "+INAME+"</font></body></html>" return htmltext htmltext = "<html><body>Теперь вы Герой!<br><br>" #< st.takeItems(ITEM,payment) player.setHero(days) #< 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().getConnection() 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, "+str(days)+" days.") write.setInt(6, payment) 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): htmltext = "<html><body>Для вас в данный момент ничего нет.</body></html>" st = player.getQuestState(qn) npcId = npc.getNpcId() if npcId == NPC: htmltext = "privetstvie.htm" return htmltext QUEST = Quest(8019,qn,"custom") CREATED = State('Start', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC) QUEST.addTalkId(NPC) если ты импорты поменял то оно 100% не будет работать.... у скории импорты другие... да и импорты тут не причём... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QQSmile 5 Опубликовано 18 февраля, 2012 up!!! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты