Сообщений: 222
Тем: 20
Зарегистрирован: Mar 2012
Репутация:
124
Попробуйте
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 1000 or st.getPlayer().getLevel() < 10 :
htmltext = "<html><head><body>You dont have enought Adena.</head></body></html>"
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())
Сообщений: 11
Тем: 1
Зарегистрирован: Mar 2012
Репутация:
-1
Neewbie Написал:Попробуйте
def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 1000 or st.getPlayer().getLevel() < 10 :
htmltext = "<html><head><body>You dont have enought Adena.</head></body></html>"
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())
Ничего не изменилось.
Сообщений: 222
Тем: 20
Зарегистрирован: Mar 2012
Репутация:
124
BoxeR Написал:Ничего не изменилось. И почему я не удивлён что у меня всё работает?
Вы хоть лвл то себе меняете? И кол-во аден править не забываете?
А ещё попробуйте проверять чаром который НЕ гм.
Сообщений: 11
Тем: 1
Зарегистрирован: Mar 2012
Репутация:
-1
Естественно меняю. А при нажатии на баф, в чате появляется сообщение "121" зеленого цвета. Не ГМ и проверяю.
Сообщений: 105
Тем: 2
Зарегистрирован: Mar 2011
Репутация:
75
BoxeR Написал:Естественно, иначе б была ошибка.
Хезе, попробывал, у меня все работает:
Код: import sys
from com.l2jserver.gameserver.datatables import SkillTable
from com.l2jserver import L2DatabaseFactory
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
qn = "99999_NpcBuffer"
NPC = 99999
ADENA_ID = 57
print "importing custom: 99999: NpcBuffer TESTING!"
class Quest (JQuest) :
def __init__(self, id, name, descr): JQuest.__init__(self, id, name, descr)
def onEvent(self, event, st):
htmltext = event
count = st.getQuestItemsCount(ADENA_ID)
if event == "1":
if count > 100 and st.getPlayer().getLevel() > 5 :
st.takeItems(ADENA_ID, 100)
SkillTable.getInstance().getInfo(1040, 1).getEffects(st.getPlayer(), st.getPlayer())
return "<html><body>Gratulation!</body></html>"
else:
return "<html><body>No money or your level is lower than 5!</body></html>"
elif event == "121":
if count > 100 and st.getPlayer().getLevel() > 5 :
st.takeItems(ADENA_ID, 100)
SkillTable.getInstance().getInfo(1040, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1068, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1045, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1048, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1086, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1268, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1242, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1077, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1204, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1087, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1240, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1388, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1062, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1542, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1259, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1363, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1416, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(4700, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(271, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(272, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(274, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(275, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(310, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(915, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(264, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(265, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(266, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(268, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(269, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(304, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1323, 1).getEffects(st.getPlayer(), st.getPlayer())
return "<html><body>Gratulation!</body></html>"
else:
return "<html><body>No money or your level is lower than 5!</body></html>"
else:
return event
def onTalk (self, npc, player):
htmltext = str(NPC) + ".htm"
st = player.getQuestState(qn)
st.setState(State.STARTED)
return htmltext
QUEST = Quest(-1, qn, "custom")
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
Пропаченные Боты для Игр: Ботва, Понаехали, тут! и пр. Пиши в ПМ.
Сообщений: 15
Тем: 0
Зарегистрирован: Mar 2012
Репутация:
0
BoxeR Написал:Естественно меняю. А при нажатии на баф, в чате появляется сообщение "121" зеленого цвета. Не ГМ и проверяю.
Глянь че он тебе сохраняет в chracter_quests, если сохраняет.
И ещё попробуй кеш на сервере почистить.
Сообщений: 11
Тем: 1
Зарегистрирован: Mar 2012
Репутация:
-1
03-22-2012, 05:29 PM
(Сообщение последний раз редактировалось: 03-22-2012, 05:33 PM BoxeR.)
Avalon Написал:Глянь че он тебе сохраняет в chracter_quests, если сохраняет.
И ещё попробуй кеш на сервере почистить.
Вот что в chracter_quests:
268436699 99999_NpcBuffer <state> Started 0
Добавлено через 4 минуты
FewG Написал:Хезе, попробывал, у меня все работает:
Код: import sys
from com.l2jserver.gameserver.datatables import SkillTable
from com.l2jserver import L2DatabaseFactory
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
qn = "99999_NpcBuffer"
NPC = 99999
ADENA_ID = 57
print "importing custom: 99999: NpcBuffer TESTING!"
class Quest (JQuest) :
def __init__(self, id, name, descr): JQuest.__init__(self, id, name, descr)
def onEvent(self, event, st):
htmltext = event
count = st.getQuestItemsCount(ADENA_ID)
if event == "1":
if count > 100 and st.getPlayer().getLevel() > 5 :
st.takeItems(ADENA_ID, 100)
SkillTable.getInstance().getInfo(1040, 1).getEffects(st.getPlayer(), st.getPlayer())
return "<html><body>Gratulation!</body></html>"
else:
return "<html><body>No money or your level is lower than 5!</body></html>"
elif event == "121":
if count > 100 and st.getPlayer().getLevel() > 5 :
st.takeItems(ADENA_ID, 100)
SkillTable.getInstance().getInfo(1040, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1068, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1045, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1048, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1086, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1268, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1242, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1077, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1204, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1087, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1240, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1388, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1062, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1542, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1259, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1363, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1416, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(4700, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(271, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(272, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(274, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(275, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(310, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(915, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(264, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(265, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(266, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(268, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(269, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(304, 1).getEffects(st.getPlayer(), st.getPlayer())
SkillTable.getInstance().getInfo(1323, 1).getEffects(st.getPlayer(), st.getPlayer())
return "<html><body>Gratulation!</body></html>"
else:
return "<html><body>No money or your level is lower than 5!</body></html>"
else:
return event
def onTalk (self, npc, player):
htmltext = str(NPC) + ".htm"
st = player.getQuestState(qn)
st.setState(State.STARTED)
return htmltext
QUEST = Quest(-1, qn, "custom")
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
Попробывал, вот результат:
SyntaxError: ('invalid syntax', ('__init__.py', 32, 9, ' htmltext = event'))
Сообщений: 105
Тем: 2
Зарегистрирован: Mar 2011
Репутация:
75
Значит руки в тиски и прямить пока скрипт не заработает. Питон резко на отступы реагирует.
Пропаченные Боты для Игр: Ботва, Понаехали, тут! и пр. Пиши в ПМ.
Сообщений: 11
Тем: 1
Зарегистрирован: Mar 2012
Репутация:
-1
FewG Написал:Значит руки в тиски и прямить пока скрипт не заработает. Питон резко на отступы реагирует.
А разве при проблеме с отступами ошибка не такая должна быть /t/t/t ?
Сообщений: 105
Тем: 2
Зарегистрирован: Mar 2011
Репутация:
75
Как видешь, у меня все работает. Отступы, отступы, отступы:
Пропаченные Боты для Игр: Ботва, Понаехали, тут! и пр. Пиши в ПМ.
|