import sys from java.lang import System from java.util import Iterator from freya.world import Config from freya.world.gameserver.model.quest import State from freya.world.gameserver.model.quest import QuestState from freya.world.gameserver.model.quest.jython import QuestJython as JQuest from freya.world import L2DatabaseFactory from freya.world.gameserver.datatables import SkillTable from freya.world.gameserver.datatables import ItemTable from freya.world.gameserver.model.actor.instance import L2PcInstance from freya.world.gameserver.model.zone import L2ZoneType from freya.world.gameserver.network.serverpackets import SetupGauge QUEST_ID = 555 QUEST_NAME = "NPCBuffer" QUEST_DESCRIPTION = "custom" QUEST_LOADING_INFO = str(QUEST_ID)+"_"+QUEST_NAME NPC_ID = 5000 # ============================================================ # # GLOBAL FUNCTIONS # def getBuffType(id) : # gets buff type (depends of the ID) val = "none" conn=L2DatabaseFactory.getInstance().getConnection() act = conn.prepareStatement("SELECT buffType FROM buffer_buff_list WHERE buffId=? LIMIT 1") act.setInt(1, int(id)) rs=act.executeQuery() if rs.next() : try : val = rs.getString("buffType") except : pass try : conn.close() except : pass return val def isEnabled(id,level) : # check if buff is enabled val = "0" conn=L2DatabaseFactory.getInstance().getConnection() act = conn.prepareStatement("SELECT canUse FROM buffer_buff_list WHERE buffId=? AND buffLevel=? LIMIT 1") act.setInt(1, int(id)) act.setInt(2, int(level)) rs=act.executeQuery() if rs.next() : try : val = rs.getString("canUse") except : pass try : conn.close() except : pass if val == "1" : val = "True" elif val == "0" : val = "False" return val def isUsed(scheme,id,level) : # check if skill is already in the scheme list count = 0 used = False conn=L2DatabaseFactory.getInstance().getConnection() rss = conn.prepareStatement("SELECT COUNT(*) FROM buffer_scheme_contents WHERE scheme_id=\""+str(scheme)+"\" AND skill_id=\""+str(id)+"\" AND skill_level=\""+str(level)+"\"") action=rss.executeQuery() if action.next() : try : count = action.getInt(1); except : pass try : conn.close() except : pass if count > 0 : used = True else : used = False return used def getVar(optionName): # gets variable from the database val = "0" conn=L2DatabaseFactory.getInstance().getConnection() act = conn.prepareStatement("SELECT configValue FROM buffer_configuration WHERE configName=\""+optionName+"\" LIMIT 1") rs=act.executeQuery() if rs.next() : try : val = rs.getString("configValue") except : pass try : conn.close() except : pass return val # # # ============================================================ # def showText(type,text,buttonEnabled,buttonName,location) : MESSAGE = ""+getVar("title")+"

" MESSAGE += ""+type+"
"+text+"
" if buttonEnabled == "True" : MESSAGE += "
" return MESSAGE def generateScheme(st) : # generates scheme list HTML: available schemes, scheme management schemeName = [] schemeId = [] HTML = "" conn=L2DatabaseFactory.getInstance().getConnection() rss = conn.prepareStatement("SELECT * FROM buffer_scheme_list WHERE player_id="+str(st.getPlayer().getObjectId())) action=rss.executeQuery() while (action.next()) : try : schemeName += [action.getString("scheme_name")] schemeId += [action.getString("id")] except : pass try : conn.close() except : pass if len(schemeName) > 0: HTML += "[ Available Schemes ]
" i = 0 while i <= len(schemeName) - 1 : HTML += "