VityaK 1 Опубликовано 20 марта, 2014 нажна помощь по скрипту на питоне суть скрипта заключается в опредиленный календаря т е по дням, месяцам и годам откривается конкретная страничка у одного нпц class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onTalk (self,npc,player): st = player.getQuestState(qn) htmltext = "error.htm" if not st : return htmltext npcId = npc.getNpcId() if npcId == EVENT_MANAGER : Calendar = Calendar.getInstance() cur_month = calendar.get(calendar.MONTH) + 1 cur_day = calendar.get(calendar.DAY_OF_MONTH) if cur_month < 10 : cur_month = "0" + str(cur_month) else : cur_month = str(cur_month) if cur_day < 10 : cur_day = "0" +str(cur_day) else : cur_day = str(cur_day) cur_date = cur_day + "." + cur_month if cur_date in HOLIDAYS.keys(): htmltext, multisell_id = HOLIDAYS[cur_date] else: htmltext = None multisell_id = 10006 Multisell.getInstance().SeparateAndSend(multisell_id, player, 0, 0) npc.getStatus().setCurrentHpMp(npc.getMaxHp(), npc.getMaxMp()); # st.setState(State.STARTED) st.exitQuest(False) return htmltext жалуется на опредиление Calendar: Calendar = Calendar.getInstance() вот что пишет: Traceback (innermost last): File "__init__.py", line 59, in onTalk UnboundLocalError: local: 'Calendar' at org.python.core.Py.UnboundLocalError(Unknown Source) at org.python.core.PyFrame.getlocal(Unknown Source) at org.python.core.PyFrame.getlocal(Unknown Source) at org.python.pycode.serializable._pyx1395328694448.onTalk$3(__init__.py :59) at org.python.pycode.serializable._pyx1395328694448.call_function(__init __.py) at org.python.core.PyTableCode.call(Unknown Source) at org.python.core.PyTableCode.call(Unknown Source) at org.python.core.PyTableCode.call(Unknown Source) at org.python.core.PyFunction.__call__(Unknown Source) at org.python.core.PyMethod.__call__(Unknown Source) at org.python.core.PyObject.__call__(Unknown Source) at org.python.core.PyObject._jcallexc(Unknown Source) at org.python.core.PyObject._jcall(Unknown Source) at org.python.proxies.main$Quest$0.onTalk(Unknown Source) at net.l2emuproject.gameserver.model.quest.Quest.notifyTalk(Quest.java:6 26) at net.l2emuproject.gameserver.model.actor.L2Npc.showQuestWindow(L2Npc.j ava:1744) at net.l2emuproject.gameserver.model.actor.L2Npc.onBypassFeedback(L2Npc. java:1165) at net.l2emuproject.gameserver.model.actor.instance.L2NpcInstance.onBypa ssFeedback(L2NpcInstance.java:636) at net.l2emuproject.gameserver.network.clientpackets.RequestBypassToServ er.runImpl(RequestBypassToServer.java:154) at net.l2emuproject.gameserver.network.clientpackets.L2GameClientPacket. run(L2GameClientPacket.java:98) at net.l2emuproject.util.concurrent.ExecuteWrapper.execute(ExecuteWrappe r.java:59) at net.l2emuproject.util.concurrent.ExecuteWrapper.run(ExecuteWrapper.ja va:40) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47 1) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask. access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask. run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor. java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:615) at java.lang.Thread.run(Thread.java:744) Вот пример, который есть среди квестов reset = Calendar.getInstance() reset.set(Calendar.MINUTE, RESET_MIN) # if time is >= RESET_HOUR - roll to the next day if reset.get(Calendar.HOUR_OF_DAY) >= RESET_HOUR : reset.add(Calendar.DATE, 1) reset.set(Calendar.HOUR_OF_DAY, RESET_HOUR) st.set("reset",str(reset.getTimeInMillis())) Типа нехватает подобной строки reset.set(Calendar.MINUTE, RESET_MIN) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
TrueMan 742 Опубликовано 20 марта, 2014 Импорты проверь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
VityaK 1 Опубликовано 20 марта, 2014 Импорты проверь импорты правильны, так бы при запуске сервера выдавала ошибки ни импорт Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты