Перейти к содержанию
Авторизация  
VityaK

Calendar

Рекомендуемые сообщения

нажна помощь по скрипту на питоне

суть скрипта заключается в опредиленный календаря

т е по дням, месяцам и годам откривается конкретная страничка у одного нпц

 

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)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Импорты проверь

импорты правильны, так бы при запуске сервера выдавала ошибки ни импорт

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...