R0Y 1 Опубликовано 9 июня, 2015 (изменено) Ребята помогите дописать скрипт что нужо - (Доработать метод хила и нужно добавить функцию набор воина\мага) Буду очень благодарен кто сможет помочь. import sysfrom com.l2jfrozen.util.database import L2DatabaseFactoryfrom com.l2jfrozen.gameserver.model.quest import Statefrom com.l2jfrozen.gameserver.model.quest import QuestStatefrom com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuestfrom com.l2jfrozen.gameserver.model.actor.instance import L2PcInstancefrom com.l2jfrozen.gameserver.model import L2Skillfrom java.util import Iteratorfrom com.l2jfrozen.gameserver.datatables import SkillTableqn = "9990_buffer"NPC = [40001]ACCEPT_BUFF = [1397,1303,1040, 1068, 1035, 1043, 1077, 1078, 1085, 1311, 1032,1036, 1045, 1048, 4352, 4357, 4391, 4403, 4405, 1243,1087, 1059, 1268]ACCEPT_DANCES = [271, 272, 273, 274, 275, 276, 277,310, 365]ACCEPT_SONGS = [364, 264, 269, 265, 363, 349,304, 267, 266, 268]ACCEPT_CHANTS = [1002,1251, 1252, 1253, 1006, 1007, 1009,1310, 1309, 1308, 1391, 1390]ACCEPT_SPECIAL = [1389,1388,1364, 1356, 1355, 1357, 1413, 1323]ACCEPT_RESISTS = [1416,309,311,1304,1284,1362,307,308,306,305,270,1354,4554,4553,1259,4702,4703,4700,4699,1332,1331,1393, 1392, 1182, 1189, 1191, 1352, 1353, 1073]QuestId = -1QuestName = "Buffer"QuestDesc = "custom"class Quest (JQuest) :def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)def onEvent(self, event, st):htmltext = "Sory, failed Event"ownerid = st.getPlayer().getObjectId()effects = st.getPlayer().getAllEffects()if event.startswith("page_") :page = int(event.replace("page_", ""))htmltext = str(page) + ".htm"elif event == "cancel" :st.getPlayer().stopAllEffects()htmltext = "1.htm"activePage = 1elif event == "reload" :st.getPlayer().restoreCP()st.getPlayer().restoreHP()st.getPlayer().restoreMP()htmltext = "1.htm"elif event.startswith("buff_") :id_lvl = event.replace("buff_", "")id_lvl = id_lvl.split("_")SkillTable.getInstance().getInfo(int(id_lvl[0]), int(id_lvl[1])).getEffects(st.getPlayer(), st.getPlayer())htmltext = str(int(id_lvl[2])) + ".htm"elif event.startswith("profile_") :act = event.replace("profile_", "")con = L2DatabaseFactory.getInstance().getConnection()if act.startswith("buff_") :act = str(int(act.replace("buff_", "")))sql = con.prepareStatement("SELECT * FROM profile_buff WHERE char_id = ? AND pindex = ?")sql.setInt(1, int(ownerid))sql.setInt(2, int(act))rs = sql.executeQuery()rs.next()full_buffs = rs.getString("skills").split(";")sql.close()rs.close()for buff in full_buffs :if buff != "" :buff = buff.split(",")SkillTable.getInstance().getInfo(int(buff[0]), int(buff[1])).getEffects(st.getPlayer(), st.getPlayer())htmltext = "1.htm"elif act.startswith("save_") :act = str(int(act.replace("save_", "")))sqll = con.prepareStatement("DELETE FROM profile_buff WHERE char_id = ? AND pindex = ?")sqll.setInt(1, int(ownerid))sqll.setInt(2, int(act))sqll.execute()sqll.close()saving = "++"for eff in effects :eff_id = eff.getSkill().getId()eff_level = eff.getSkill().getLevel()if saving == "++" :if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :saving = str(eff_id) + "," + str(eff_level) + ";"else :if (eff_id in ACCEPT_BUFF or eff_id in ACCEPT_DANCES or eff_id in ACCEPT_SONGS or eff_id in ACCEPT_CHANTS or eff_id in ACCEPT_SPECIAL or eff_id in ACCEPT_RESISTS) :saving += str(eff_id) + "," + str(eff_level) + ";"sql = con.prepareStatement("INSERT INTO profile_buff (char_id, pindex, skills) VALUES ('" + str(ownerid) + "', '" + str(act) + "', '" + saving + "')")sql.execute()sql.close()htmltext = "8.htm"con.close()return htmltextdef onTalk (self, npc, player):htmltext = "1.htm"st = player.getQuestState(qn)if not st : return htmltextnpcId = npc.getNpcId()return htmltextQUEST = Quest(QuestId, qn, QuestDesc)CREATED = State('Start', QUEST)STARTED = State('Started', QUEST)COMPLETED = State('Completed', QUEST)QUEST.setInitialState(CREATED)for npcId in NPC:QUEST.addStartNpc(npcId)QUEST.addTalkId(npcId) Изменено 9 июня, 2015 пользователем R0Y Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты