SweetDream 1 Опубликовано 11 сентября, 2012 Есть баффер для сборки La2Base. На L2RT не работает (встроенного долго переделывать). Помогите исправить импорты, пожалуйста. import sysfrom net.sf.l2j.gameserver.model.actor.instance import L2PcInstancefrom java.util import Iteratorfrom net.sf.l2j.gameserver.datatables import SkillTablefrom net.sf.l2j import L2DatabaseFactoryfrom net.sf.l2j.gameserver.model.quest import Statefrom net.sf.l2j.gameserver.model.quest import QuestStatefrom net.sf.l2j.gameserver.model.quest.jython import QuestJython as JQuestqn = "912_buffer"#Включение\выключение разделов. Для выключения замените ON на OFFattack = "ON"defence = "ON"resist = "ON"support = "ON"warcryer = "ON"overlord = "ON"song = "ON"dance = "ON"noble = "ON"summon = "ON"cubic = "ON"NPC = [40001]#==================================================MinLvL = 1 # Мин.ЛВЛ #MaxLvL = 81 # Макс.ЛВЛ #Adena = 57 # ID Адены #MinAdena = 5000 # Мин.кол-во адены #Buff = 2000 # Цена за баффы #Dance = 5000 # Цена за танцы #Songs = 5000 # Цена за песни #Buff_Fighter = 5000 # Цена за пакет для воина #Buff_Mag = 5000 # Цена за пакет для мага ##==================================================print "importing custom: 912_buffer OK"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) if count < MinAdena : htmltext = "<html><body>You have not enought adena.</body></html>" if st.getPlayer().getLevel() < MinLvL : htmltext = "<html><body>Your level is too low. Min level is "+str(min_level)+"</body></html>" if st.getPlayer().getLevel() < MaxLvL : htmltext = "<html><body>Your level is too hight. Max level is "+str(max_level)+"</body></html>" else: st.getPlayer().setTarget(st.getPlayer()) #Buff Fighter if event == "124": SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1068,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1077,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1045,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1062,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(272,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(269,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(268,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "1.htm" st.setState(State.COMPLETED) #Buff Mag if event == "125": SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1045,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1048,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1078,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1085,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1059,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(273,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(276,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(365,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(268,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "1.htm" st.setState(State.COMPLETED) #Full buff fighter 1p if event == "126": SkillTable.getInstance().getInfo(1068,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1077,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1268,4).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "buff.htm" st.setState(State.COMPLETED) #Full buff mage 3p if event == "120": SkillTable.getInstance().getInfo(1085,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1059,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1078,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1048,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1397,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1035,4).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1062,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(273,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(276,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(4703,13).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(363,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(365,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1413,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1389,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(396,1).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "buff.htm" st.setState(State.COMPLETED) #Full buff mage 2p if event == "121": SkillTable.getInstance().getInfo(1085,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1059,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1078,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1048,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1397,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1035,4).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1062,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(273,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(276,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(4703,13).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "buff.htm" st.setState(State.COMPLETED) #Full buff mage 1p if event == "122": SkillTable.getInstance().getInfo(1085,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1059,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1078,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1048,6).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1397,3).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "buff.htm" st.setState(State.COMPLETED) #All Song if event == "130": SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(270,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(265,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(266,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(306,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(308,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(305,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(363,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(364,1).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "all_song.htm" st.setState(State.COMPLETED) #All dance if event == "131": SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(277,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(272,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(273,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(276,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(309,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(311,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(307,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(310,1).getEffects(st.getPlayer(),st.getPlayer()) SkillTable.getInstance().getInfo(365,1).getEffects(st.getPlayer(),st.getPlayer()) st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) return "all_song.htm" st.setState(State.COMPLETED) #Cancel if event == "666": st.getPlayer().stopAllEffects() return "1.htm" st.setState(State.COMPLETED) #Restore if event == "665": st.getPlayer().setCurrentHpMp(st.getPlayer().getMaxHp(), st.getPlayer().getMaxMp()) st.getPlayer().setCurrentCp(st.getPlayer().getMaxCp()) return "1.htm" st.setState(State.COMPLETED) if event == "2": if attack == "ON": SkillTable.getInstance().getInfo(1068,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "3": if defence == "ON": SkillTable.getInstance().getInfo(1040,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "4": if attack == "ON": SkillTable.getInstance().getInfo(1085,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "5": if defence == "ON": SkillTable.getInstance().getInfo(1078,6).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "6": if support == "ON": SkillTable.getInstance().getInfo(1073,2).getEffects(st.getPlayer(),st.getPlayer()) return "buff_support.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "7": if support == "ON": SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "8": if attack == "ON": SkillTable.getInstance().getInfo(1077,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "9": if attack == "ON": SkillTable.getInstance().getInfo(1043,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "10": if defence == "ON": SkillTable.getInstance().getInfo(1035,4).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "11": if resist == "ON": SkillTable.getInstance().getInfo(1191,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_resist2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "12": if attack == "ON": SkillTable.getInstance().getInfo(1062,2).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "13": if support == "ON": SkillTable.getInstance().getInfo(1044,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "14": if defence == "ON": SkillTable.getInstance().getInfo(1243,6).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "15": if attack == "ON": SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "16": if attack == "ON": SkillTable.getInstance().getInfo(1240,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "17": if resist == "ON": SkillTable.getInstance().getInfo(1032,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "18": if support == "ON": SkillTable.getInstance().getInfo(1045,6).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "19": if support == "ON": SkillTable.getInstance().getInfo(1048,6).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "20": if attack == "ON": SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "21": if defence == "ON": SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "22": if attack == "ON": SkillTable.getInstance().getInfo(1388,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "23": if defence == "ON": SkillTable.getInstance().getInfo(1389,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "24": if resist == "ON": SkillTable.getInstance().getInfo(1392,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "25": if resist == "ON": SkillTable.getInstance().getInfo(1182,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_resist2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "26": if resist == "ON": SkillTable.getInstance().getInfo(1189,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_resist2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "27": if resist == "ON": SkillTable.getInstance().getInfo(1393,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "28": if resist == "ON": SkillTable.getInstance().getInfo(1033,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_resist2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "29": if resist == "ON": SkillTable.getInstance().getInfo(1352,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "30": if attack == "ON": SkillTable.getInstance().getInfo(1356,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "31": if defence == "ON": SkillTable.getInstance().getInfo(1087,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "32": if support == "ON": SkillTable.getInstance().getInfo(1257,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_support.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "33": if resist == "ON": SkillTable.getInstance().getInfo(1259,4).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "34": if defence == "ON": SkillTable.getInstance().getInfo(1304,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_defence.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "35": if support == "ON": SkillTable.getInstance().getInfo(1397,3).getEffects(st.getPlayer(),st.getPlayer()) return "buff_support.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "36": if attack == "ON": SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "37": if resist == "ON": SkillTable.getInstance().getInfo(1354,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "38": if resist == "ON": SkillTable.getInstance().getInfo(1353,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "39": if attack == "ON": SkillTable.getInstance().getInfo(1355,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "40": if attack == "ON": SkillTable.getInstance().getInfo(1059,3).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "41": if support == "ON": SkillTable.getInstance().getInfo(1268,4).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "42": if attack == "ON": SkillTable.getInstance().getInfo(1357,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" #CHANTS if event == "43": if warcryer == "ON": SkillTable.getInstance().getInfo(1006,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "44": if warcryer == "ON": SkillTable.getInstance().getInfo(1009,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "45": if warcryer == "ON": SkillTable.getInstance().getInfo(1007,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "47": if warcryer == "ON": SkillTable.getInstance().getInfo(1002,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "60": if warcryer == "ON": SkillTable.getInstance().getInfo(1252,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "61": if warcryer == "ON": SkillTable.getInstance().getInfo(1253,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "62": if warcryer == "ON": SkillTable.getInstance().getInfo(1309,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "63": if warcryer == "ON": SkillTable.getInstance().getInfo(1251,2).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "64": if warcryer == "ON": SkillTable.getInstance().getInfo(1308,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "65": if warcryer == "ON": SkillTable.getInstance().getInfo(1391,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "66": if warcryer == "ON": SkillTable.getInstance().getInfo(1310,4).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "67": if warcryer == "ON": SkillTable.getInstance().getInfo(1390,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "68": if warcryer == "ON": SkillTable.getInstance().getInfo(1284,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "69": if warcryer == "ON": SkillTable.getInstance().getInfo(1362,1).getEffects(st.getPlayer(),st.getPlayer()) return "chant_warcryer2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "70": if warcryer == "ON": SkillTable.getInstance().getInfo(1363,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "71": if warcryer == "ON": SkillTable.getInstance().getInfo(1413,1).getEffects(st.getPlayer(),st.getPlayer()) return "2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" #Overlord if event == "48": if overlord == "ON": SkillTable.getInstance().getInfo(1003,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "49": if overlord == "ON": SkillTable.getInstance().getInfo(1005,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "50": if overlord == "ON": SkillTable.getInstance().getInfo(1008,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "51": if overlord == "ON": SkillTable.getInstance().getInfo(1260,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "52": if overlord == "ON": SkillTable.getInstance().getInfo(1004,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "53": if overlord == "ON": SkillTable.getInstance().getInfo(1250,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "54": if overlord == "ON": SkillTable.getInstance().getInfo(1261,2).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "55": if overlord == "ON": SkillTable.getInstance().getInfo(1249,3).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "56": if overlord == "ON": SkillTable.getInstance().getInfo(1282,2).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "57": if overlord == "ON": SkillTable.getInstance().getInfo(1364,1).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "58": if overlord == "ON": SkillTable.getInstance().getInfo(1365,1).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "59": if overlord == "ON": SkillTable.getInstance().getInfo(1414,1).getEffects(st.getPlayer(),st.getPlayer()) return "chant_overlord2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" #Songs if event == "72": if song == "ON": SkillTable.getInstance().getInfo(267,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "73": if song == "ON": SkillTable.getInstance().getInfo(270,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "74": if song == "ON": SkillTable.getInstance().getInfo(268,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "75": if song == "ON": SkillTable.getInstance().getInfo(269,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "76": if song == "ON": SkillTable.getInstance().getInfo(265,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "77": if song == "ON": SkillTable.getInstance().getInfo(264,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "78": if song == "ON": SkillTable.getInstance().getInfo(266,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "79": if song == "ON": SkillTable.getInstance().getInfo(306,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "80": if song == "ON": SkillTable.getInstance().getInfo(304,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "81": if song == "ON": SkillTable.getInstance().getInfo(308,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "82": if song == "ON": SkillTable.getInstance().getInfo(305,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "83": if song == "ON": SkillTable.getInstance().getInfo(363,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "84": if song == "ON": SkillTable.getInstance().getInfo(349,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "85": if song == "ON": SkillTable.getInstance().getInfo(364,1).getEffects(st.getPlayer(),st.getPlayer()) return "4.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" #Dance if event == "86": if dance == "ON": SkillTable.getInstance().getInfo(274,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "87": if dance == "ON": SkillTable.getInstance().getInfo(277,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "88": if dance == "ON": SkillTable.getInstance().getInfo(272,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "89": if dance == "ON": SkillTable.getInstance().getInfo(273,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "90": if dance == "ON": SkillTable.getInstance().getInfo(276,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "91": if dance == "ON": SkillTable.getInstance().getInfo(271,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "92": if dance == "ON": SkillTable.getInstance().getInfo(275,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "93": if dance == "ON": SkillTable.getInstance().getInfo(309,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "94": if dance == "ON": SkillTable.getInstance().getInfo(311,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "95": if dance == "ON": SkillTable.getInstance().getInfo(307,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "96": if dance == "ON": SkillTable.getInstance().getInfo(310,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "97": if dance == "ON": SkillTable.getInstance().getInfo(365,1).getEffects(st.getPlayer(),st.getPlayer()) return "3.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" #Noble if event == "98": if noble == "ON": SkillTable.getInstance().getInfo(396,1).getEffects(st.getPlayer(),st.getPlayer()) return "song_noble.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "99": if noble == "ON": SkillTable.getInstance().getInfo(395,1).getEffects(st.getPlayer(),st.getPlayer()) return "song_noble.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "101": if noble == "ON": SkillTable.getInstance().getInfo(1325,1).getEffects(st.getPlayer(),st.getPlayer()) return "song_noble.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "102": if noble == "ON": SkillTable.getInstance().getInfo(1323,1).getEffects(st.getPlayer(),st.getPlayer()) return "song_noble.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "103": if summon == "ON": SkillTable.getInstance().getInfo(4702,13).getEffects(st.getPlayer(),st.getPlayer()) return "song_summon.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "104": if summon == "ON": SkillTable.getInstance().getInfo(4703,13).getEffects(st.getPlayer(),st.getPlayer()) return "song_summon.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "105": if summon == "ON": SkillTable.getInstance().getInfo(4699,13).getEffects(st.getPlayer(),st.getPlayer()) return "song_summon.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "106": if summon == "ON": SkillTable.getInstance().getInfo(4700,13).getEffects(st.getPlayer(),st.getPlayer()) return "song_summon.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" #Cubic if event == "107": if cubic == "ON": st.getPlayer().sendMessage("You used crystals for the call of cubic") st.getPlayer().doCast(SkillTable.getInstance().getInfo(10,) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "108": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(22,7)) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "109": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(33,) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "110": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(67,7)) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "111": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(278,6)) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "112": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(449,4)) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "113": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(1279,9)) return "cubic.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "114": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(1280,9)) return "cubic2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if event == "115": if cubic == "ON": st.getPlayer().doCast(SkillTable.getInstance().getInfo(1281,9)) return "cubic2.htm" st.setState(State.COMPLETED) else: htmltext = "<html><body>This section is turn-off by admin.</body></html>" if htmltext != event: st.setState(State.COMPLETED) st.exitQuest(1) return htmltextdef onTalk (self,npc,player): st = player.getQuestState(qn) htmltext = "<html><head><body>I have nothing to say to you</body></html>" st.setState(State.STARTED) return "1.htm"QUEST = Quest(912,qn,"Custom")for npcId in NPC:QUEST.addStartNpc(npcId)QUEST.addTalkId(npcId) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 11 сентября, 2012 import sys from net.sf.l2j.gameserver.model import L2Skill from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance from java.util import Iterator from net.sf.l2j.gameserver.datatables import SkillTable from net.sf.l2j.database import L2DatabaseFactory from net.sf.l2j.gameserver.model import L2Character from net.sf.l2j.gameserver.model import L2Effect 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 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SweetDream 1 Опубликовано 11 сентября, 2012 Спасибо. Баффер подгрузился, но не работает. При открытии диалога в нем только "Quest" и ошибка в консоле: Failed getting state for quest 912_buffer (id:912) = NPE:null java.lang.NullPointerException at net.sf.l2j.gameserver.model.quest.QuestState.getStateId(QuestState.ja va:180) at net.sf.l2j.gameserver.model.quest.Quest.createQuestInDb(Quest.java:72 2) at net.sf.l2j.gameserver.model.quest.Quest.newQuestState(Quest.java:190) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.showQuestWin dow(L2NpcInstance.java:1656) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.showQuestWin dow(L2NpcInstance.java:1758) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.onBypassFeed back(L2NpcInstance.java:1134) at net.sf.l2j.gameserver.clientpackets.RequestBypassToServer.runImpl(Req uestBypassToServer.java:126) at net.sf.l2j.gameserver.clientpackets.L2GameClientPacket.run(L2GameClie ntPacket.java:70) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) После нажатия Quest ещё одна: Traceback (innermost last): File "E:\server\l2\gameserver\data\jscript\custom\912_buffer\__init__.py", lin e 1224, in onTalk AttributeError: class 'net.sf.l2j.gameserver.model.quest.State' has no attribute 'STARTED' at org.python.core.Py.AttributeError(Unknown Source) at org.python.core.PyObject.noAttributeError(Unknown Source) at org.python.core.PyObject.__getattr__(Unknown Source) at data.jscript.custom.912_buffer$py.onTalk$4(E:\server\l2\gameserver\da ta\jscript\custom\912_buffer\__init__.py:1224) at data.jscript.custom.912_buffer$py.call_function(E:\server\l2\gameserv er\data\jscript\custom\912_buffer\__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.data.jscript.custom.912_buffer$Quest$343.onTalk(Un known Source) at net.sf.l2j.gameserver.model.quest.Quest.notifyTalk(Quest.java:353) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.showQuestWin dow(L2NpcInstance.java:1660) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.showQuestWin dow(L2NpcInstance.java:1758) at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.onBypassFeed back(L2NpcInstance.java:1134) at net.sf.l2j.gameserver.clientpackets.RequestBypassToServer.runImpl(Req uestBypassToServer.java:126) at net.sf.l2j.gameserver.clientpackets.L2GameClientPacket.run(L2GameClie ntPacket.java:70) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Как исправить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 11 сентября, 2012 (изменено) Сейчас глянем. Пробуй: http://pastie.org/4701593 Изменено 11 сентября, 2012 пользователем Purple 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SweetDream 1 Опубликовано 11 сентября, 2012 failed to import quest : 912_buffer Будут ещё какие идеи? Очень надеюсь на помощь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
kick 129 Опубликовано 11 сентября, 2012 проблема с импортом 912_buffer посмотри стандартного бафера и импорт перетащи Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 12 сентября, 2012 Забыл во втором поменять импорты. Смени сам, выше даны нормальные. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SweetDream 1 Опубликовано 12 сентября, 2012 (изменено) Забыл во втором поменять импорты. Смени сам, выше даны нормальные. Ммммм там одинаковые. Может будет проще исправить встроенного баффера Я добавил нужные бафы и страницы бафов, но есть 2 проблемы: Скажем захожу я в бафы и бафаю любой баф с любой категории, как только бафну меня сразу-же в меню перекидывает, это очень не удобно (нужно опять заходить в категорию и бафать следующий баф). И ещё при нажатии восстановить, восстанавливается только HP и MP package npc.model;import java.util.regex.Pattern;import net.sf.l2j.Config;import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance;import net.sf.l2j.gameserver.templates.L2NpcTemplate;import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;import java.util.StringTokenizer;import net.sf.l2j.Config;import net.sf.l2j.gameserver.cache.HtmCache;import net.sf.l2j.gameserver.datatables.SkillTable;import net.sf.l2j.gameserver.model.L2Skill;import net.sf.l2j.gameserver.model.L2Summon;import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;import net.sf.l2j.gameserver.network.L2GameClient;import net.sf.l2j.gameserver.network.SystemMessageId;import net.sf.l2j.gameserver.serverpackets.ActionFailed;import net.sf.l2j.gameserver.serverpackets.SystemMessage;import net.sf.l2j.util.Rnd;/*** @descr L2Buffer* @author Koten [RusTeam]*/public class L2BufferInstance extends L2NpcInstance{private static final Pattern patterns = Pattern.compile("[a-zA-Z0-9]{1,8}"); // шаблон имени группыprivate static final int[][] groupStaticBuff = new int[][] // разрешенные баффы{ //{ номер скилла, уровень скилла }{1068,3}, //Might{1086,2}, //Haste{1242,3}, //Death Whisper{1062,2}, //Berserker Spirit{4401,1}, //Empower{1040,3}, //Shield{1036,2}, //Magic Barrier{1243,6}, //Bless Shield{1268,4}, //Vampiric Rage{1078,6}, //Concentration{1045,6}, //Blessed Body{1077,3}, //Focus{1270,3}, //Guidance{1085,3}, //Acumen{1303,2}, //Wild Magic{1035,4}, //Mental Shield{1304,3}, //Advanced Block{1087,3}, //Agility{1259,4}, //Resist Shock{1204,2}, //Wind Walk{1048,6}, //Blessed Soul{275,1}, //Fury{274,1}, //Fire{272,1}, //Inspiration{271,1}, //Warrior{273,1}, //Mystic{365,1}, //Siren{276,1}, //Concentration{310,1}, //Vampire{277,1}, //Light{311,1}, //Protection{264,1}, //Earth{268,1}, //Wind{269,1}, //Hunter{304,1}, //Vitality{349,1}, //Renewal{267,1}, //Warding{364,1}, //Champion{364,1}, //Life{266,1}, //Water{305,1}, //Vengeance{1413,1}, //Magnus Chant{1355,1}, //Pr. of Water{1357,1}, //Pr. of Wind{1356,1}, //Pr. of Fire{1363,1}, //Chant of Victory{1389,3}, //Greater Shield{1388,3} //Greater Might};private static final int countGroup = 3; // максимальное количество группprivate static final int priceBuff = 0; // цена 1го баффаprivate static final int priceСancel = 0; // цена канцела эффектов на персонаже (-1 отключить)private static final int priceHeal = 0; // цена лечения персонажа (-1 отключить)private static final int buffTime = 7200; // 1 часprivate static final int maxCountBuffSelfGroup = 40; //максимальное количество баффов в своей группеpublic L2BufferInstance(int objectId, L2NpcTemplate template){ super(objectId, template);}@Overridepublic void showChatWindow(L2PcInstance player, int val){ if (player == null || player.isDead()) { return; } if (player.isCursedWeaponEquiped()) { return; }showMain(player);}@Overridepublic void onActionShift(L2GameClient client){return;}@Overridepublic void onBypassFeedback(L2PcInstance player, String command){if(player == null)return;String cmd = command.split(" ")[0]; if (cmd.equalsIgnoreCase("showset")) // показать свою группу баффов { String buffsetname = command.split(" ")[1];showSet(player, buffsetname); }else if (cmd.equalsIgnoreCase("showpage")) // показать страницу { String page = command.split(" ")[1];if(page.equalsIgnoreCase("main"))showMain(player);else if(page.contains("mygroup")){String buffsetname = page.split(";")[1];showSet(player, buffsetname);}else if (page.contains("buffs")){showBuffs(player);}else if (page.contains("dance")){showDance(player);}else if (page.contains("song")){showSong(player);}else if (page.contains("sets")){showSets(player);}elseshowMain(player); }else if (cmd.equalsIgnoreCase("newbuffset")) // новый набор баффов { String buffsetname = command.split(" ")[1];if(!patterns.matcher(buffsetname).matches()){showMain(player);player.sendMessage("Error! Incorrect name!");return;}if(player.getVar("BuffSets") == null)player.setVar("BuffSets", "");int c = player.getVar("BuffSets").split(";").length;if(c == countGroup){showMain(player);player.sendMessage("Error! Limits groups!");return;}String name = "buffset"+Rnd.get(0, 10000);player.setVar("BuffSets", player.getVar("BuffSets")+name+";"); player.setVar(name, buffsetname + ";"); showSet(player, name); } else if (cmd.equalsIgnoreCase("delbuffset")) // удалить свою группу баффов {if(player.getVar("BuffSets") == null)player.setVar("BuffSets", "");if(player.getVar("BuffSets").split(";").length > 0){String buffsetname = command.split(" ")[1];player.setVar("BuffSets", player.getVar("BuffSets").replaceFirst((buffsetname+";"), ""));player.unsetVar(buffsetname);}showMain(player);}else if (cmd.equalsIgnoreCase("buffset")) // использовать свою группу баффов { String buffsetname = command.split(" ")[1];buffsetAllAndShowPage(player, buffsetname);showMain(player);}else if (cmd.equalsIgnoreCase("showbuffsetadd")) // список баффов на добавление в свой набор {String buffsetname = command.split(" ")[1];String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/mygroupedit.htm");NpcHtmlMessage page = new NpcHtmlMessage(getObjectId());page.setHtml(htm);page.replace("%objectId%", String.valueOf(getObjectId()));page.replace("%setName%", buffsetname);player.sendPacket(page);player.sendPacket(ActionFailed.STATIC_PACKET);}else if (cmd.equalsIgnoreCase("buffsetadd")) // добавить бафф свою группу баффов {String skillId = command.split(" ")[1].split(";")[0];String skillLvl = command.split(" ")[1].split(";")[1]; String buffsetname = command.split(" ")[1].split(";")[2];if(player.getVar(buffsetname).split(";").length >= maxCountBuffSelfGroup + 1){player.sendMessage("Error! Max slot buffs!");}else{player.setVar(buffsetname, (player.getVar(buffsetname) + skillId + "," + skillLvl + ";"));}showSet(player, buffsetname);}else if (cmd.equalsIgnoreCase("buffsetdel")) // удалить бафф со своей группы баффов {String skillId = command.split(" ")[1].split(";")[0];String skillLvl = command.split(" ")[1].split(";")[1]; String buffsetname = command.split(" ")[1].split(";")[2];player.setVar(buffsetname, player.getVar(buffsetname).replaceFirst(skillId + "," + skillLvl + ";", ""));showSet(player, buffsetname);} else if(cmd.equalsIgnoreCase("statbuff")) // бафф обычного скилла { String[] params = command.split(" ")[1].split(";"); buffOne(player, params[0], params[1]); showMain(player); } else if (command.equalsIgnoreCase("cancel")) //снять все эффекты {if(priceСancel < 0)return; if (player.getAdena() < priceСancel) { player.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA)); return; } if (!checkConditions(player)) { player.sendPacket(ActionFailed.STATIC_PACKET); return; } player.reduceAdena("L2Buffer", priceСancel, player, true);L2Summon summon = player.getPet(); if (summon != null && summon == player.getTarget()) { summon.stopAllEffects(); } else { player.stopAllEffects();} } else if (command.equalsIgnoreCase("heal")) //вылечить персонажа {if(priceHeal < 0)return; if (player.getAdena() < priceHeal) { player.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA)); return; } if (!checkConditions(player)) { player.sendPacket(ActionFailed.STATIC_PACKET); return; }player.reduceAdena("L2Buffer", priceHeal, player, true);L2Summon summon = player.getPet(); if (summon != null && summon == player.getTarget()) { summon.setCurrentHpMp(summon.getMaxHp(), summon.getMaxMp()); } else { player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp());} }}//главная страница баффераpublic void showMain(L2PcInstance activeChar){String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/main.htm");NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());html.setHtml(htm); html.replace("%objectId%", String.valueOf(getObjectId())); StringBuilder sb = new StringBuilder();int c = activeChar.getVar("BuffSets") == null ? 0 : activeChar.getVar("BuffSets").split(";").length; if(c > 0){sb.append("<table width=280>");for (String name : activeChar.getVar("BuffSets").split(";")){if (activeChar.getVar(name) != null){ String buffsetname = activeChar.getVar(name); sb.append("<tr>"); sb.append("<td align=\"right\"><button value=\"Баффать\" action=\"bypass -h npc_").append(getObjectId()).append("_buffset ").append(name).append("\" width=\"60\" height=\"21\" back=\"L2UI_CH3.bigbutton_down\" fore=\"L2UI_CH3.bigbutton\"></td>"); sb.append("<td align=\"center\"><button value=\"").append(buffsetname.substring(0, buffsetname.indexOf(";"))).append("\" action=\"bypass -h npc_").append(getObjectId()).append("_showset ").append(name).append("\" width=\"80\" height=\"21\" back=\"L2UI_CH3.bigbutton_down\" fore=\"L2UI_CH3.bigbutton\"></td>"); sb.append("<td align=\"left\"><button value=\"Удалить\" action=\"bypass -h npc_").append(getObjectId()).append("_delbuffset ").append(name).append("\" width=\"60\" height=\"21\" back=\"L2UI_CH3.bigbutton_down\" fore=\"L2UI_CH3.bigbutton\"></td>"); sb.append("</tr>");}}sb.append("</table>");}html.replace("%mybuffsets%", sb.toString()); activeChar.sendPacket(html); activeChar.sendPacket(ActionFailed.STATIC_PACKET);}//Страница бафовpublic void showBuffs(L2PcInstance activeChar){String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/buffs.htm");NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());html.setHtml(htm); html.replace("%objectId%", String.valueOf(getObjectId())); activeChar.sendPacket(html); activeChar.sendPacket(ActionFailed.STATIC_PACKET);}// Страница денсовpublic void showDance(L2PcInstance activeChar){String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/dance.htm");NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());html.setHtml(htm); html.replace("%objectId%", String.valueOf(getObjectId())); activeChar.sendPacket(html); activeChar.sendPacket(ActionFailed.STATIC_PACKET);}// Страница сонговpublic void showSong(L2PcInstance activeChar){String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/song.htm");NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());html.setHtml(htm); html.replace("%objectId%", String.valueOf(getObjectId())); activeChar.sendPacket(html); activeChar.sendPacket(ActionFailed.STATIC_PACKET);}// Страница наборовpublic void showSets(L2PcInstance activeChar){String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/sets.htm");NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());html.setHtml(htm); html.replace("%objectId%", String.valueOf(getObjectId())); activeChar.sendPacket(html); activeChar.sendPacket(ActionFailed.STATIC_PACKET);}@SuppressWarnings("SleepWhileHoldingLock")public void buffsetAllAndShowPage(L2PcInstance activeChar, String command){StringTokenizer st = new StringTokenizer(activeChar.getVar(command), ";"); if (activeChar.getAdena() < (priceBuff * (st.countTokens() - 1))) { activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA)); return; } if (!checkConditions(activeChar)) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } activeChar.reduceAdena("L2Buffer", priceBuff * (st.countTokens() - 1), activeChar, true); st.nextToken(); while(st.hasMoreTokens()) { String[] skillst = st.nextToken().split(",");int skillId = Integer.valueOf(skillst[0]);int skillLvl = Integer.valueOf(skillst[1]); if (contains(skillId, skillLvl)) { L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLvl); L2Summon summon = activeChar.getPet(); if (summon != null && summon == activeChar.getTarget()) { skill.getEffects(activeChar, summon, buffTime); } else { skill.getEffects(activeChar, activeChar, buffTime); } try { Thread.sleep(100); } catch (InterruptedException ex) { } } } activeChar.updateEffectIcons(); activeChar.refreshOverloaded(); showSet(activeChar, command);}public void showSet(L2PcInstance activeChar, String command){ StringTokenizer st = new StringTokenizer(activeChar.getVar(command), ";");String htm = HtmCache.getInstance().getHtm("data/html-ru/NpcBuffer/mygroupview.htm"); NpcHtmlMessage page = new NpcHtmlMessage(getObjectId()); page.setHtml(htm); page.replace("%objectId%", String.valueOf(getObjectId())); page.replace("%groupName%", st.nextToken());page.replace("%setName%", command); StringBuilder sb = new StringBuilder(); int i = 0;int m = 0;sb.append("<table width=\"280\"><tr>"); while (st.hasMoreTokens()) { String[] skillst = st.nextToken().split(",");int skillId = Integer.valueOf(skillst[0]);int skillLvl = Integer.valueOf(skillst[1]); if (!contains(skillId, skillLvl)) { activeChar.setVar(command, activeChar.getVar(command).replaceFirst(skillId + "," + skillLvl + ";", "")); continue; } i++;m++; if (m == 2) {m = 0; sb.append("</tr><tr>"); } L2Skill skill = SkillTable.getInstance().getInfo(skillId, skillLvl);if(skill != null)sb.append("<td width=\"140\"><a action=\"bypass -h npc_").append(getObjectId()).append("_buffsetdel ").append(skill.getId()).append(";").append(skill.getLevel()).append(";").append(command).append("\">").append(skill.getName()).append("</a></td>"); }sb.append("</tr></table>"); if (i == 0) { sb.append("<center>Добавить баффы можно нажав кнопку 'Добавить'</center>"); }page.replace("%mybuffsets%", sb.toString()); activeChar.sendPacket(page); activeChar.sendPacket(ActionFailed.STATIC_PACKET);}//бафф одиночного скиллаpublic void buffOne(L2PcInstance activeChar, String skillId, String skillLvl){ if (activeChar.getAdena() < priceBuff) { activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA)); return; } if (!checkConditions(activeChar)) { activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } try { int skill_id = Integer.valueOf(skillId); int lvl = Integer.valueOf(skillLvl); if (contains(skill_id, lvl)) { activeChar.reduceAdena("L2Buffer", priceBuff, activeChar, true); L2Skill skill = SkillTable.getInstance().getInfo(skill_id, lvl); L2Summon summon = activeChar.getPet(); if (summon != null && summon == activeChar.getTarget()) { skill.getEffects(activeChar, summon, buffTime); } else { skill.getEffects(activeChar, activeChar, buffTime); } } } catch (Exception e) { activeChar.sendMessage("Invalid skill!"); }}private boolean checkConditions(L2PcInstance player){ if (player.isDead() || player.isAlikeDead()) { return false; } return true;}private static boolean contains(int skillId, int lvl){ for(int[] grp : groupStaticBuff) { if(grp[0] == skillId && grp[1] == lvl) return true; } return false;}public static void main(String[] args){}} Изменено 12 сентября, 2012 пользователем SweetDream Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SweetDream 1 Опубликовано 12 сентября, 2012 И исправьте ещё тут импорты, пожалуйста. import sys from com.l2jfrozen.gameserver.datatables import SkillTable from com.l2jfrozen.gameserver.model.quest import State from com.l2jfrozen.gameserver.model.quest import QuestState from com.l2jfrozen.gameserver.model import L2Augmentation from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jfrozen.util.random import Rnd from com.l2jfrozen.util.database import L2DatabaseFactory from com.l2jfrozen.gameserver.templates import L2EtcItemType from com.l2jfrozen.gameserver.templates import L2WeaponType from com.l2jfrozen.gameserver.templates import L2Item from com.l2jfrozen.gameserver.network.serverpackets import InventoryUpdate from java.lang import System # #@author KFan #ICQ: 604883692 #Skype: Kotyara20141 # NPC_ID = 60007 ITEM_ID = 57 #ITEM_COUNT = 0 #Do not need a subject ITEM_COUNT = 1 #A player can learn just one skill? 1 = true 0 = false ONLY_ONE = 0 qn = "9994_skill_trader" print "9994_skill_trader Loading Started" 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 = "<html><head><body>I have nothing to say you</body></html>" npcId = npc.getNpcId() if not st : return cond = st.getInt("cond") onlyone = st.getInt("onlyone") if ONLY_ONE : if onlyone > 0 : return "fail.htm" if cond >= 0 : st.set("cond", "1") st.setState(STARTED) htmltext = "start.htm" return htmltext def onEvent (self,event,st) : htmltext = event cond = st.getInt("cond") if event == "buy" : htmltext = "buy.htm" elif event.startswith('buy_') : if st.getQuestItemsCount(ITEM_ID) <= ITEM_COUNT : return "n-money.htm" buy_skill = str(event.replace("buy_", "")) buy_skill_splite = buy_skill.split('_') st.takeItems(ITEM_ID, ITEM_COUNT) st.getPlayer().addSkill(SkillTable.getInstance().getInfo(int(buy_skill_splite[0]), int(buy_skill_splite[1]))) if ONLY_ONE : st.set("onlyone", "1") st.set("cond", "0") st.setState(COMPLETED) htmltext = "buy.htm" return htmltext QUEST = Quest( -1, qn, "custom") CREATED = State('Start', QUEST) STARTED = State('Started', QUEST) COMPLETED = State('Completed', QUEST) QUEST.setInitialState(CREATED) QUEST.addStartNpc(NPC_ID) QUEST.addTalkId(NPC_ID) Заранее Спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SmokiMo 892 Опубликовано 12 сентября, 2012 (изменено) И ещё при нажатии восстановить, восстанавливается только HP и MP player.setCurrentHpMp(player.getMaxHp(), player.getMaxMp()); player.setCurrentCp(player.getMaxCp()); Изменено 12 сентября, 2012 пользователем SmokiMo 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Моветон 413 Опубликовано 13 сентября, 2012 Наконец то появился интернет. Отправил баффера в ЛС. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты