-
Posts
678 -
Joined
-
Last visited
-
Days Won
9 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by tazerman2
-
Help Ena sketiko 8ema
tazerman2 replied to MairWeb's question in Request Server Development Help [Greek]
mipos petaei kapio error sto gameserver i den exeis aniksi to 7777 port -
Code Faction code for l2jacis 365
tazerman2 replied to MarGaZeaS's topic in Server Shares & Files [L2J]
with adapt working in frozen -
add skype i make you a free typerakos
-
Guide Free help-Requests l2j
tazerman2 replied to SailFpO's topic in Server Development Discussion [L2J]
you can make this <button value="exchange" action="bypass npc_%objectId%_exchange" height=15 width=45 back="sek.cbui94" fore="sek.cbui92"> as like this <button value="exchange" action="bypass npc_%objectId%_exchange $count" height=15 width=45 back="sek.cbui94" fore="sek.cbui92"> for player dont need press all time 1 button with <edit var="$count" width=120 height=15> default conut = 1 if box is space -
in 2k17 and go to 2k18 have any interlude pride server on ? :P :P
-
Need help for scheme buffer - l2j - Interlude.
tazerman2 replied to FlipCoin's question in Request Server Development Help [L2J]
get this full fix + button import sys from java.lang import System; from java.util import Iterator; from com.l2jfrozen.gameserver.model.quest import State; from com.l2jfrozen.gameserver.model.quest import QuestState; from com.l2jfrozen.gameserver.model.quest.jython import QuestJython as JQuest; from com.l2jfrozen.util.database import L2DatabaseFactory; from com.l2jfrozen.gameserver.datatables import SkillTable; from com.l2jfrozen.gameserver.model import L2Effect; from com.l2jfrozen.gameserver.model import L2Skill; from com.l2jfrozen.gameserver.model import L2Summon; from com.l2jfrozen.gameserver.model.zone import L2ZoneType from com.l2jfrozen.gameserver.model.actor.instance import L2PcInstance; from com.l2jfrozen.gameserver.model.actor.instance import L2PetInstance; from com.l2jfrozen.gameserver.model.actor.instance import L2SummonInstance; from com.l2jfrozen.gameserver.network.serverpackets import SetSummonRemainTime; from com.l2jfrozen.gameserver.network.serverpackets import SetupGauge; import java.util.StringTokenizer; import javolution.util.FastList; import javolution.util.FastMap; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.datatables.SkillTable; import com.l2jfrozen.gameserver.datatables.CharSchemesTable; import com.l2jfrozen.gameserver.datatables.sql.ItemTable; import com.l2jfrozen.gameserver.model.L2Effect; import com.l2jfrozen.gameserver.model.L2Skill; import com.l2jfrozen.gameserver.model.L2Summon; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jfrozen.gameserver.taskmanager.AttackStanceTaskManager; import com.l2jfrozen.gameserver.templates.L2NpcTemplate; QUEST_ID = 555 QUEST_NAME = "NPCBuffer" QUEST_DESCRIPTION = "custom" QUEST_LOADING_INFO = str(QUEST_ID)+"_"+QUEST_NAME NPC_ID = 555 TITLE_NAME = "Scheme Buffer" SCRIPT_RELOAD = True ENABLE_VIP_BUFFER = False VIP_ACCESS_LEVEL = 1 ENABLE_BUFF_SECTION = True ENABLE_SCHEME_SYSTEM = True ENABLE_HEAL = True ENABLE_BUFFS = True ENABLE_RESIST = True ENABLE_SONGS = True ENABLE_DANCES = True ENABLE_CHANTS = True ENABLE_OTHERS = False ENABLE_SPECIAL = True ENABLE_CUBIC = False ENABLE_BUFF_REMOVE = True ENABLE_BUFF_SET = True BUFF_WITH_KARMA = True FREE_BUFFS = False TIME_OUT = False TIME_OUT_TIME = 5 MIN_LEVEL = 1 BUFF_REMOVE_PRICE = 450 HEAL_PRICE = 150 BUFF_PRICE = 250 RESIST_PRICE = 650 SONG_PRICE = 100 DANCE_PRICE = 100 CHANT_PRICE = 200 OTHERS_PRICE = 150 SPECIAL_PRICE = 580 CUBIC_PRICE = 1000000 BUFF_SET_PRICE = 15000 SCHEME_BUFF_PRICE = 20000 SCHEMES_PER_PLAYER = 4 CONSUMABLE_ID = 57 MAX_SCHEME_BUFFS = 40 MAX_SCHEME_DANCES = 15 def rebuildMainHtml(st) : MAIN_HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>"; MESSAGE = "" bottonA="Auto Buff";bottonB="Heal Me";bottonC="Rem. Buffs";i=0;j=0;Temp="<tr><td> </td> <td> </td></tr>";TRS = Temp.split(" ") if st.getInt("Pet-On-Off") == 1: bottonA="Auto Buff Pet";bottonB="Heal My Pet";bottonC="Rem. Pet Buffs" MAIN_HTML_MESSAGE += "<button value=\"Pet Options\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " buffpet 0 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">" else: MAIN_HTML_MESSAGE += "<button value=\"Char Options\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " buffpet 1 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">" if ENABLE_BUFF_SECTION == True : if ENABLE_BUFFS == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_buffs 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_RESIST == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Resist\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_resists 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_SONGS == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Songs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_songs 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_DANCES == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Dances\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_dances 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_CHANTS == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Chants\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_chants 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_SPECIAL == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Special\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_special 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_OTHERS == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Others\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_others 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_CUBIC == True: if i>2:i=0 MESSAGE += TRS[i]+"<button value=\"Cubics\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect view_cubic 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_BUFF_SET == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\""+bottonA+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " castBuffSet 0 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_HEAL == True : if i>2:i=0 MESSAGE += TRS[i]+"<button value=\""+bottonB+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " heal 0 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if ENABLE_BUFF_REMOVE == True: if i>2:i=0 MESSAGE += TRS[i]+"<button value=\""+bottonC+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " removeBuffs 0 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[i+1] i+=2;j+=1 if j == 1: MAIN_HTML_MESSAGE+= MESSAGE + "<br>" else: MAIN_HTML_MESSAGE+= "<table>" + MESSAGE + "</table><br>" if ENABLE_SCHEME_SYSTEM == True : MAIN_HTML_MESSAGE += generateScheme(st) if st.getPlayer().isGM() : MAIN_HTML_MESSAGE += "<br><button value=\"Manage Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect manage_buffs 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">" MAIN_HTML_MESSAGE += "<br><font color=\"303030\">"+TITLE_NAME+"</font>" MAIN_HTML_MESSAGE += "</center></body></html>" return MAIN_HTML_MESSAGE def generateScheme(st) : 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 : print "Query error!" try : conn.close() except : pass if len(schemeName) > 0: MESSAGE = "" i=0;j=0;Temp="<tr><td> </td> <td> </td></tr>";TRS = Temp.split(" ") while i <= len(schemeName) - 1: if j>2:j=0 MESSAGE += TRS[j]+"<button value=\""+schemeName[i]+"\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" cast "+schemeId[i]+" x x\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">"+TRS[j+1] i+=1;j+=2 if i == 1: HTML+= MESSAGE + "<br>" else: HTML+= "<table>" + MESSAGE + "</table><br>" if len(schemeName) < SCHEMES_PER_PLAYER : HTML += "<table><tr><td><button value=\"Create\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" create_1 x x x\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td>" else : HTML += "<table width=100><tr>" if len(schemeName) > 0 : HTML += "<td><button value=\"Edit\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" edit_1 x x x\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td>" HTML += "<td><button value=\"Delete\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" delete_1 x x x\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td></tr></table>" else : HTML += "</tr></table>" return HTML def reloadPanel(st) : HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" HTML_MESSAGE += "<font color=\"303030\">"+TITLE_NAME+"</font><br>" HTML_MESSAGE += "<img src=\"L2UI.SquareGray\" width=250 height=1><br>" HTML_MESSAGE += "<table width=260 border=0 bgcolor=000000>" HTML_MESSAGE += "<tr><td><br></td></tr>" HTML_MESSAGE += "<tr><td align=\"center\"><font color=\"00FFFF\">This option can be seen only by GMs and admin <br1> allow you to update the changes made in the <br1> script. You can disable this option in the<br1> configuration section within the Script.</font><br><font color=\"LEVEL\">To see the buffer click Yes</font></td></tr>" HTML_MESSAGE += "<tr><td></td></tr></table><br>" HTML_MESSAGE += "<img src=\"L2UI.SquareGray\" width=250 height=1><br><br>" HTML_MESSAGE += "<button value=\"Yes\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" reloadscript 1 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<button value=\"No\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" reloadscript 0 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "</center></body></html>" return HTML_MESSAGE def getitemname(st,itemval): conn=L2DatabaseFactory.getInstance().getConnection() itemidList = conn.prepareStatement("SELECT * FROM etcitem WHERE item_id="+str(itemval)) il=itemidList.executeQuery() val = "No Name" if il : il.next() try : val = il.getString("name") except : pass try : conn.close() except: pass return val def getBuffCount(scheme) : count = 0 conn=L2DatabaseFactory.getInstance().getConnection() rss = conn.prepareStatement("SELECT * FROM buffer_scheme_contents WHERE scheme_id=\""+str(scheme)+"\"") action=rss.executeQuery() while (action.next()) : try : count += 1 except : count = 0 try : conn.close() except : pass return count def getBuffType(id) : 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() val = "none" if rs : rs.next() try : val = rs.getString("buffType") except : val = "none" try : conn.close() except: pass return val def isEnabled(id,level) : 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() val = "False" if rs : rs.next() try : num = rs.getString("canUse") except : pass try : conn.close() except: pass if num == "1" : val = "True" return val def isUsed(scheme,id,level) : count = 0; used = False conn=L2DatabaseFactory.getInstance().getConnection() rss = conn.prepareStatement("SELECT * FROM buffer_scheme_contents WHERE scheme_id=\""+str(scheme)+"\" AND skill_id=\""+str(id)+"\" AND skill_level=\""+str(level)+"\"") action=rss.executeQuery() used = False while (action.next()) : try : count += 1 except : count = 0 try : conn.close() except : pass if count > 0 : used = True return used def getclassbuff(id): conn=L2DatabaseFactory.getInstance().getConnection() getTipo = conn.prepareStatement("SELECT * FROM buffer_buff_list WHERE buffId=\""+id+"\"") gt=getTipo.executeQuery() val = 0 if gt : gt.next() try : val = gt.getInt("buff_class") except : pass try : conn.close() except : pass return val def showText(st,type,text,buttonEnabled,buttonName,location) : MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" MESSAGE += "<font color=\"LEVEL\">"+type+"</font><br>"+text+"<br>" if buttonEnabled == "True" : MESSAGE += "<button value=\""+buttonName+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect "+location+" 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">" MESSAGE += "<font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" st.playSound("ItemSound3.sys_shortage") return MESSAGE def ReloadConfig(st) : try: if QuestManager.getInstance().reload(QUEST_ID): st.player.sendMessage("The script and settings have been reloaded successfully.") else: st.player.sendMessage("Script Reloaded Failed. you edited something wrong! :P, fix it and restart the server") except: st.player.sendMessage("Script Reloaded Failed. you edited something wrong! :P, fix it and restart the server") return rebuildMainHtml(st) class Quest (JQuest) : def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onAdvEvent (self,event,npc,player) : st = player.getQuestState(QUEST_LOADING_INFO) getpetbuff = 0 if st.getInt("Pet-On-Off") == 1: getpetbuff = 1 def createScheme() : HTML = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br><br>You must separate new words with a period (.)<br><br>Scheme name: <edit var=\"name\" width=100><br><br>" HTML += "<button value=\"Create Scheme\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" create $name no_name x x\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\">" HTML += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML def deleteScheme() : HTML = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>Available schemes:<br><br>" 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 : HTML += "<button value=\""+action.getString("scheme_name")+"\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" delete_c "+action.getString("id")+" "+action.getString("scheme_name")+" x\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" except : print "Query error!" try : conn.close() except : pass HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML def editScheme() : name = ""; id = "" HTML = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>Selecione um esquema que voce gostaria de dirigir:<br><br>" 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 : name = action.getString("scheme_name") id = action.getString("id") HTML += "<button value=\""+name+"\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" manage_scheme_select "+id+" x x\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" except : print "Query error!" try : conn.close() except : pass HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML def getOptionList(scheme) : Bcount = getBuffCount(scheme) HTML = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>tem <font color=\"LEVEL\">"+str(Bcount)+"</font> lustres em corrente scheme!<br><br>" if Bcount < MAX_SCHEME_BUFFS + MAX_SCHEME_DANCES: HTML += "<button value=\"Add buffs\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" manage_scheme_1 "+str(scheme)+" 1 x\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if Bcount > 0 : HTML += "<button value=\"Remove buffs\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" manage_scheme_2 "+str(scheme)+" 1 x\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" HTML += "<br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_1 0 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML += "<button value=\"Home\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML def buildHtml(buffType): HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><br>" if FREE_BUFFS == True : HTML_MESSAGE += "All buffs are for <font color=\"LEVEL\">free</font>!" else : price = 0 if buffType == "buff" : price = BUFF_PRICE if buffType == "resist" : price = RESIST_PRICE if buffType == "song" : price = SONG_PRICE if buffType == "dance" : price = DANCE_PRICE if buffType == "chant" : price = CHANT_PRICE if buffType == "others" : price = OTHERS_PRICE if buffType == "special" : price = SPECIAL_PRICE if buffType == "cubic" : price = CUBIC_PRICE HTML_MESSAGE += "All special buffs cost <font color=\"LEVEL\">"+str(price)+"</font> adena!" HTML_MESSAGE += "<table>" conn=L2DatabaseFactory.getInstance().getConnection() buffCount = 0; i = 0 getList = conn.prepareStatement("SELECT * FROM buffer_buff_list WHERE buffType=\""+buffType+"\" AND canUse=1") rs=getList.executeQuery() while (rs.next()) : try : buffCount += 1 except : buffCount = 0 if buffCount == 0 : HTML_MESSAGE += "No buffs are available at this moment!<br>" else : availableBuffs = [] getList = conn.prepareStatement("SELECT buffId,buffLevel FROM buffer_buff_list WHERE buffType=\""+buffType+"\" AND canUse=1 ORDER BY Buff_Class ASC, id") rs=getList.executeQuery() while (rs.next()) : try : bId = rs.getInt("buffId") bLevel = rs.getInt("buffLevel") bName = SkillTable.getInstance().getInfo(bId,bLevel).getName() bName = bName.replace(" ","+") availableBuffs += [bName+"_"+str(bId)+"_"+str(bLevel)] except: HTML_MESSAGE += "Error loading buff list...<br>" try : conn.close() except : pass avBuffs = len(availableBuffs) format = "0000" for avBuffs in availableBuffs : buff = avBuffs buff = buff.replace("_"," ") buffSplit = buff.split(" ") name = buffSplit[0] id = int(buffSplit[1]) level = buffSplit[2] name = name.replace("+"," ") if id < 100 : format = "00"+str(id) elif id > 99 and id < 1000 : format = "0"+str(id) else : if id > 4698 and id < 4701 : format = "1331" elif id > 4701 and id < 4704 : format = "1332" else: format = str(id) i += 1 HTML_MESSAGE += "<tr><td><img src=\"Icon.skill"+format+"\" width=32 height=19></td><td><button value=\""+name+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " giveBuffs "+str(id)+" "+str(level)+" "+buffType+"\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\"></td><td><img src=\"Icon.skill"+format+"\" width=32 height=19></td></tr>" HTML_MESSAGE += "</table><br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML_MESSAGE def generateQuery(case,case2) : aa = 1; count = 0; qry = ""; buffTypes = [] if ENABLE_BUFFS == True and case < MAX_SCHEME_BUFFS: count += 1 buffTypes += ["\"buff\""] if ENABLE_RESIST == True and case < MAX_SCHEME_BUFFS: count += 1 buffTypes += ["\"resist\""] if ENABLE_SONGS == True and case2 < MAX_SCHEME_DANCES: count += 1 buffTypes += ["\"song\""] if ENABLE_DANCES == True and case2 < MAX_SCHEME_DANCES: count += 1 buffTypes += ["\"dance\""] if ENABLE_CHANTS == True and case < MAX_SCHEME_BUFFS: count += 1 buffTypes += ["\"chant\""] if ENABLE_OTHERS == True and case < MAX_SCHEME_BUFFS: count += 1 buffTypes += ["\"others\""] if ENABLE_SPECIAL == True and case < MAX_SCHEME_BUFFS: count += 1 buffTypes += ["\"special\""] while aa <= count : if aa == count : qry += buffTypes[aa-1] else : qry += buffTypes[aa-1]+"," aa += 1 return qry def viewAllSchemeBuffs(scheme,page,action) : def getBuffCount(scheme) : count = 0; D_S_Count = 0; B_Count = 0 conn=L2DatabaseFactory.getInstance().getConnection() rss = conn.prepareStatement("SELECT * FROM buffer_scheme_contents WHERE scheme_id=\""+str(scheme)+"\"") action=rss.executeQuery() while (action.next()) : try : val = action.getInt("buff_class") count += 1 if val == 1 or val == 2: D_S_Count += 1 else: B_Count += 1 except : count = 0; D_S_Count = 0 ; B_Count = 0 res = str(count) + " " + str(B_Count) + " " + str(D_S_Count) try : conn.close() except : pass return res buffList = [] conn=L2DatabaseFactory.getInstance().getConnection() count = 0; pc = 0; bll = 0; i = 0; buffsPerPage = 0; incPageCount = True; listOrder="" HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><br>" eventSplit = getBuffCount(scheme).split(" ") TOTAL_BUFF = int(eventSplit[0]); BUFF_COUNT = int(eventSplit[1]); DANCE_SONG = int(eventSplit[2]) if action == "add" : HTML_MESSAGE += "You can add <font color=\"LEVEL\">"+str(MAX_SCHEME_BUFFS - BUFF_COUNT)+"</font> Buffs and <font color=\"LEVEL\">"+str(MAX_SCHEME_DANCES - DANCE_SONG)+"</font> Dances more!" QUERY = "SELECT * FROM buffer_buff_list WHERE buffType IN ("+ generateQuery(BUFF_COUNT,DANCE_SONG) + ") AND canUse=1 ORDER BY Buff_Class ASC, id" if action == "remove" : HTML_MESSAGE += "You have <font color=\"LEVEL\">"+str(BUFF_COUNT)+"</font> Buffs and <font color=\"LEVEL\">"+str(DANCE_SONG)+"</font> Dances" QUERY = "SELECT * FROM buffer_scheme_contents WHERE scheme_id="+str(scheme)+" ORDER BY Buff_Class ASC, id" getBuffCount = conn.prepareStatement(QUERY) rss = getBuffCount.executeQuery() while (rss.next()) : try : if action == "add" : name = SkillTable.getInstance().getInfo(rss.getInt("buffId"),rss.getInt("buffLevel")).getName() name = name.replace(" ","+") buffList += [name+"_"+str(rss.getInt("buffId"))+"_"+str(rss.getInt("buffLevel"))+"_"+str(page)] if action == "remove" : name = SkillTable.getInstance().getInfo(rss.getInt("skill_id"),rss.getInt("skill_level")).getName() name = name.replace(" ","+") buffList += [name+"_"+str(rss.getInt("skill_id"))+"_"+str(rss.getInt("skill_level"))+"_"+str(page)] count = count + 1 except : buffList = [] count = 0 try : conn.close() except : pass HTML_MESSAGE += "<table border=\"0\"><tr>" buffsPerPage = 20 while incPageCount == True: # generating page count if count < buffsPerPage : incPageCount = False else : count = count - buffsPerPage pc += 1 ii = 1 while ii <= pc : if pc > 5 : width = "25" pageName = "P" else : width = "50" pageName = "Page " if action == "add" : HTML_MESSAGE += "<td width=\""+width+"\"><button value=\""+pageName+""+str(ii)+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_1 "+str(scheme)+" "+str(ii)+" x\" width=51 height=21 back=\"botaoes1.s12_over\" fore=\"botaoes1.s12\"></td>" if action == "remove" : HTML_MESSAGE += "<td width=\""+width+"\"><button value=\""+pageName+""+str(ii)+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " manage_scheme_2 "+str(scheme)+" "+str(ii)+" x\" width=51 height=21 back=\"botaoes1.s12_over\" fore=\"botaoes1.s12\"></td>" ii += 1 HTML_MESSAGE += "</tr></table>" value = ""; bll = len(buffList); j = 0; k=0 if buffsPerPage*int(page) > bll : j = bll else : j = buffsPerPage*int(page) i = buffsPerPage*int(page)-buffsPerPage while i < j : value = buffList[i] value = value.replace("_"," ") extr = value.split(" ") name = extr[0] name = name.replace("+"," ") id = int(extr[1]) level = extr[2] page = int(extr[3]) if id < 100 : format = "00"+str(id) elif id > 99 and id < 1000 : format = "0"+str(id) else : if id > 4698 and id < 4701 : format = "1331" elif id > 4701 and id < 4704 : format = "1332" else: format = str(id) if action == "add": if isUsed(scheme,id,level) == False: if k % 2 != 0 : HTML_MESSAGE += "<table border=\"0\" bgcolor=FFF500>" else : HTML_MESSAGE += "<table border=\"0\" bgcolor=000000>" HTML_MESSAGE += "<tr><td width=\"35\"><img src=\"Icon.skill"+format+"\" width=32 height=32></td><td width=\"170\">"+name+"</td><td><button value=\"Add\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" add_buff "+str(scheme)+"_"+str(id)+"_"+str(level)+" "+str(page)+" "+str(TOTAL_BUFF)+"\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td>" HTML_MESSAGE += "</tr></table>"; k+=1 if action == "remove": if k % 2 != 0 : HTML_MESSAGE += "<table border=\"0\" bgcolor=FFF500>" else : HTML_MESSAGE += "<table border=\"0\" bgcolor=000000>" HTML_MESSAGE += "<tr><td width=\"35\"><img src=\"Icon.skill"+format+"\" width=32 height=32></td><td width=\"170\">"+name+"</td><td><button value=\"Remove\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" remove_buff "+str(scheme)+"_"+str(id)+"_"+str(level)+" "+str(page)+" "+str(TOTAL_BUFF)+"\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td>" HTML_MESSAGE += "</table>"; k+=1 i += 1 HTML_MESSAGE += "<br><br><button value=\"Back\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" manage_scheme_select "+str(scheme)+" x x\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<button value=\"Home\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML_MESSAGE def viewAllBuffTypes() : HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" HTML_MESSAGE += "<font color=\"LEVEL\">[Buff management]</font><br>" if ENABLE_BUFFS == True : HTML_MESSAGE += "<button value=\"Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list buff Buffs 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_RESIST == True : HTML_MESSAGE += "<button value=\"Resist Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list resist Resists 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_SONGS == True : HTML_MESSAGE += "<button value=\"Songs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list song Songs 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_DANCES == True : HTML_MESSAGE += "<button value=\"Dances\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list dance Dances 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_CHANTS == True : HTML_MESSAGE += "<button value=\"Chants\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list chant Chants 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_SPECIAL == True : HTML_MESSAGE += "<button value=\"Special Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list special Special_Buffs 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_OTHERS == True : HTML_MESSAGE += "<button value=\"Others Buffs\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list others Others_Buffs 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_CUBIC == True : HTML_MESSAGE += "<button value=\"Cubics\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list cubic cubic_Buffs 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\">" if ENABLE_BUFF_SET == True : HTML_MESSAGE += "<button value=\"Buff Sets\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list set Buff_Sets 1\" width=203 height=19 back=\"L2UI_CH3.ListCtrl.Tab2\" fore=\"L2UI_CH3.ListCtrl.Tab2\"><br>" HTML_MESSAGE += "<button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML_MESSAGE def viewAllBuffs(type,typeName,page) : buffList = [] conn=L2DatabaseFactory.getInstance().getConnection() count = 0; pc = 0; bll = 0; i = 0; buffsPerPage = 0; formula = 0 ; incPageCount = True ; listOrder="" HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>" typeName = typeName.replace("_"," ") if type == "set" : QUERY = "SELECT * FROM buffer_buff_list WHERE buffType IN ("+generateQuery(0,0)+") AND canUse=1" else : QUERY = "SELECT * FROM buffer_buff_list WHERE buffType=\""+type+"\"" getBuffCount = conn.prepareStatement(QUERY) rss = getBuffCount.executeQuery() while (rss.next()) : try : name = SkillTable.getInstance().getInfo(rss.getInt("buffId"),rss.getInt("buffLevel")).getName() name = name.replace(" ","+") usable = rss.getString("canUse") forClass = rss.getString("forClass") skill_id = rss.getString("buffId") skill_level = rss.getString("buffLevel") buffList += [name+"_"+forClass+"_"+str(page)+"_"+usable+"_"+skill_id+"_"+skill_level] count = count + 1 except : buffList = [] count = 0 try : conn.close() except : pass buffList.sort() HTML_MESSAGE += "<font color=\"LEVEL\">[Buff management - "+typeName+" - Page "+str(page)+"]</font><br><table border=\"0\"><tr>" if type == "set" : buffsPerPage = 12 else : buffsPerPage = 20 while incPageCount == True: if count < buffsPerPage : incPageCount = False else : count -= buffsPerPage pc += 1 ii = 1 typeName = typeName.replace(" ","_") while ii <= pc : if pc > 5 : width = "25" pageName = "P" else : width = "50" pageName = "Page " HTML_MESSAGE += "<td width=\""+width+"\"><button value=\""+pageName+""+str(ii)+"\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " edit_buff_list "+type+" "+typeName+" "+str(ii)+"\" width="+width+" height=21 back=\"botaoes1.s12_over\" fore=\"botaoes1.s12\"></td>" ii += 1 HTML_MESSAGE += "</tr></table><br>" value = ""; bll = len(buffList); j = 0 if buffsPerPage*int(page) > bll : j = bll else : j = buffsPerPage*int(page) i = buffsPerPage*int(page)-buffsPerPage while i < j : value = buffList[i] value = value.replace("_"," ") extr = value.split(" ") name = extr[0] name = name.replace("+"," ") forClass = int(extr[1]) page = extr[2] usable = int(extr[3]) skillPos = extr[4]+"_"+extr[5] if i % 2 != 0 : HTML_MESSAGE += "<table border=\"0\" bgcolor=FFF500>" else : HTML_MESSAGE += "<table border=\"0\" bgcolor=000000>" if type == "set" : if forClass == 0 : listOrder="List=\"Fighter;Mage;All;None;\"" if forClass == 1 : listOrder="List=\"Mage;Fighter;All;None;\"" if forClass == 2 : listOrder="List=\"All;Fighter;Mage;None;\"" if forClass == 3 : listOrder="List=\"None;Fighter;Mage;All;\"" HTML_MESSAGE += "<tr><td width=\"145\">"+name+"</td><td width=\"70\"><combobox var=\"newSet"+str(i)+"\" width=70 "+listOrder+"></td>" HTML_MESSAGE += "<td width=\"50\"><button value=\"Update\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " changeBuffSet "+str(skillPos)+" $newSet"+str(i)+" "+page+"\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\"></td></tr>" else : HTML_MESSAGE += "<tr><td width=\"170\">"+name+"</td><td width=\"80\">" if usable == 1 : HTML_MESSAGE += "<button value=\"Disable\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " editSelectedBuff "+skillPos+" 0-"+page+" "+type+"\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\"></td></tr>" elif usable == 0 : HTML_MESSAGE += "<button value=\"Enable\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " editSelectedBuff "+skillPos+" 1-"+page+" "+type+"\" width=134 height=21 back=\"L2UI_ch3.BigButton3_over\" fore=\"L2UI_ch3.BigButton3\"></td></tr>" HTML_MESSAGE += "</table>" i += 1 HTML_MESSAGE += "<br><br><button value=\"Back\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect manage_buffs 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<button value=\"Home\" action=\"bypass -h Quest " + QUEST_LOADING_INFO + " redirect main 0 0\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML_MESSAGE += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML_MESSAGE def manageSelectedBuff(buffPosId,canUseBuff) : bpid = buffPosId.split("_") bId= bpid[0] bLvl= bpid[1] conn=L2DatabaseFactory.getInstance().getConnection() upd=conn.prepareStatement("UPDATE buffer_buff_list SET canUse=\""+canUseBuff+"\" WHERE buffId=\""+str(bId)+"\" AND buffLevel=\""+str(bLvl)+"\" LIMIT 1") try : upd.executeUpdate() upd.close() conn.close() except : try : conn.close() except : pass def manageSelectedSet(id,newVal,opt3) : bpid = id.split("_") bId= bpid[0] bLvl= bpid[1] conn=L2DatabaseFactory.getInstance().getConnection() upd=conn.prepareStatement("UPDATE buffer_buff_list SET forClass=? WHERE buffId=? AND bufflevel=?") upd.setString(1, newVal) upd.setString(2, str(bId)) upd.setString(3, str(bLvl)) try : upd.executeUpdate() upd.close() conn.close() except : try : conn.close() except : pass return viewAllBuffs("set","Buff Sets",str(opt3)) def addTimeout(gaugeColor,amount,offset) : endtime = int((System.currentTimeMillis() + (amount * 1000))/1000) st.set("blockUntilTime",str(endtime)) st.getPlayer().sendPacket(SetupGauge(gaugeColor, amount * 1000 + offset)) def heal(case) : if case == 0: st.getPlayer().getStatus().setCurrentHp(st.getPlayer().getStat().getMaxHp()) st.getPlayer().getStatus().setCurrentMp(st.getPlayer().getStat().getMaxMp()) st.getPlayer().getStatus().setCurrentCp(st.getPlayer().getStat().getMaxCp()) if case == 1 and st.player.getPet() != None : st.player.getPet().getStatus().setCurrentHp(st.player.getPet().getStat().getMaxHp()) st.player.getPet().getStatus().setCurrentMp(st.player.getPet().getStat().getMaxMp()) try: st.player.getPet().setCurrentFed(st.player.getPet().getMaxFed()) st.player.sendPacket(SetSummonRemainTime(st.player.getPet().getMaxFed(), st.player.getPet().getCurrentFed())) except: try: st.player.getPet().decTimeRemaining(st.player.getPet().getTimeRemaining() - st.player.getPet().getTotalLifeTime()) st.player.sendPacket(SetSummonRemainTime(st.player.getPet().getTotalLifeTime(), st.player.getPet().getTimeRemaining())) except: pass eventSplit = event.split(" ") event = eventSplit[0] eventParam1 = eventSplit[1] eventParam2 = eventSplit[2] eventParam3 = eventSplit[3] if event == "reloadscript": if eventParam1 == "1": return ReloadConfig(st) if eventParam1 == "0": return rebuildMainHtml(st) if event == "redirect" : if eventParam1 == "main" : return rebuildMainHtml(st) if eventParam1 == "manage_buffs" : return viewAllBuffTypes() if event == "buffpet" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime") : st.set("Pet-On-Off",eventParam1) if TIME_OUT == True: addTimeout(3,TIME_OUT_TIME/2,600) return rebuildMainHtml(st) if event == "create" : con=L2DatabaseFactory.getInstance().getConnection() param = eventParam1.replace("."," ") if param == "no_name" : return showText(st,"Info","Por favor, insira o nome do esquema!","True","Return","main") else : ins = con.prepareStatement("INSERT INTO buffer_scheme_list (player_id,scheme_name) VALUES (?,?)") ins.setString(1, str(st.player.getObjectId())) ins.setString(2, param) try : ins.executeUpdate() ins.close() con.close() except : pass return rebuildMainHtml(st) if event == "delete" : conn=L2DatabaseFactory.getInstance().getConnection() rem=conn.prepareStatement("DELETE FROM buffer_scheme_list WHERE id=? LIMIT 1") rem.setString(1, eventParam1) try : rem.executeUpdate() except : pass rem=conn.prepareStatement("DELETE FROM buffer_scheme_contents WHERE scheme_id=?") rem.setString(1, eventParam1) try : rem.executeUpdate() rem.close() conn.close() except : try : conn.close() except : pass return rebuildMainHtml(st) if event == "delete_c" : HTML = HTML_MESSAGE = "<html><head><title>"+TITLE_NAME+"</title></head><body><center><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32><br>Voce realmente quer apagar '"+eventParam2+"' scheme?<br><br>" HTML += "<button value=\"Yes\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" delete "+eventParam1+" x x\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML += "<button value=\"No\" action=\"bypass -h Quest "+QUEST_LOADING_INFO+" delete_1 x x x\" width=75 height=21 back=\"L2UI_ch3.Btn1_normalOn\" fore=\"L2UI_ch3.Btn1_normal\">" HTML += "<br><font color=\"303030\">"+TITLE_NAME+"</font></center></body></html>" return HTML if event == "create_1" : return createScheme() if event == "edit_1" : return editScheme() if event == "delete_1" : return deleteScheme() if event == "manage_scheme_1" : return viewAllSchemeBuffs(eventParam1,eventParam2,"add") if event == "manage_scheme_2" : return viewAllSchemeBuffs(eventParam1,eventParam2,"remove") if event == "manage_scheme_select" : return getOptionList(eventParam1) if event == "remove_buff" : event = eventParam1.split("_") scheme = event[0] skill = event[1] level = event[2] con=L2DatabaseFactory.getInstance().getConnection() rem=con.prepareStatement("DELETE FROM buffer_scheme_contents WHERE scheme_id=? AND skill_id=? AND skill_level=? LIMIT 1") rem.setString(1, scheme) rem.setString(2, skill) rem.setString(3, level) try : rem.executeUpdate() except : pass temp=int(eventParam3) - 1 if temp <= 0 : HTML = getOptionList(scheme) else : HTML = viewAllSchemeBuffs(scheme,eventParam2,"remove") return HTML if event == "add_buff" : event = eventParam1.split("_") scheme = event[0] skill = event[1] level = event[2] idbuffclass = getclassbuff(skill) con=L2DatabaseFactory.getInstance().getConnection() ins = con.prepareStatement("INSERT INTO buffer_scheme_contents (scheme_id,skill_id,skill_level,buff_class) VALUES (?,?,?,?)") ins.setString(1, str(scheme)) ins.setString(2, str(skill)) ins.setString(3, str(level)) ins.setString(4, str(idbuffclass)) try : ins.executeUpdate() ins.close() con.close() except : pass temp = int(eventParam3) + 1 if temp >= MAX_SCHEME_BUFFS + MAX_SCHEME_DANCES : HTML = getOptionList(scheme) else : HTML = viewAllSchemeBuffs(scheme,eventParam2,"add") return HTML if event == "edit_buff_list" : return viewAllBuffs(eventParam1,eventParam2,eventParam3) if event == "changeBuffSet" : eventParam2 = eventParam2.replace("Fighter","0") eventParam2 = eventParam2.replace("Mage","1") eventParam2 = eventParam2.replace("All","2") eventParam2 = eventParam2.replace("None","3") return manageSelectedSet(eventParam1,eventParam2,eventParam3) if event == "editSelectedBuff" : eventParam2 = eventParam2.replace("-"," ") split = eventParam2.split(" ") action = split[0] page = split[1] manageSelectedBuff(eventParam1,action) if eventParam3 == "buff" : typeName = "Buffs" if eventParam3 == "resist" : typeName = "Resists" if eventParam3 == "song" : typeName = "Songs" if eventParam3 == "dance" : typeName = "Dances" if eventParam3 == "chant" : typeName = "Chants" if eventParam3 == "others" : typeName = "Others_Buffs" if eventParam3 == "special" : typeName = "Special_Buffs" if eventParam3 == "cubic" : typeName = "Cubics" return viewAllBuffs(eventParam3,typeName,page) if event == "viewSelectedConfig" : return viewSelectedConfig(eventParam1,eventParam2) if event == "changeConfig" : return updateConfigValue(eventParam1,eventParam2,eventParam3) if event == "redirect" : if eventParam1 == "view_buffs" : return buildHtml("buff") if eventParam1 == "view_resists" : return buildHtml("resist") if eventParam1 == "view_songs" : return buildHtml("song") if eventParam1 == "view_dances" : return buildHtml("dance") if eventParam1 == "view_chants" : return buildHtml("chant") if eventParam1 == "view_others" : return buildHtml("others") if eventParam1 == "view_special" : return buildHtml("special") if eventParam1 == "view_cubic" : return buildHtml("cubic") if event == "heal" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): if st.getQuestItemsCount(CONSUMABLE_ID) < HEAL_PRICE : return showText(st,"ATTETION!","Voce nao tem os elementos suficientes:<br>Voce precisa: <font color =\"LEVEL\">"+str(HEAL_PRICE)+" "+str(getitemname(st,CONSUMABLE_ID))+"!","False",0,0) else : if getpetbuff == 1 : if st.player.getPet() != None : heal(getpetbuff) else: return showText(st,"Info","Voce nao pode usar as opcoes do animal.<br>Chame o seu animal de estimacao primeiro!","False","Return","main") else : heal(getpetbuff) st.takeItems(CONSUMABLE_ID,HEAL_PRICE) if TIME_OUT == True: addTimeout(1,TIME_OUT_TIME/2,600) return rebuildMainHtml(st) return rebuildMainHtml(st) if event == "removeBuffs" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): if st.getQuestItemsCount(CONSUMABLE_ID) < BUFF_REMOVE_PRICE : return showText(st,"ATTETION!","Voce nao tem os elementos suficientes:<br>Voce precisa: <font color =\"LEVEL\">"+str(BUFF_REMOVE_PRICE)+" "+str(getitemname(st,CONSUMABLE_ID))+"!","False",0,0) else : if getpetbuff == 1 : if st.player.getPet() != None : st.player.getPet().stopAllEffects() else: return showText(st,"Info","Voce nγo pode usar as opcoes do animal.<br>Chame o seu animal de estimacao primeiro!","False","Return","main") else : st.getPlayer().stopAllEffects() if st.player.getCubics() != None: for cubic in st.player.getCubics().values(): cubic.stopAction() st.player.delCubic(cubic.getId()) st.takeItems(CONSUMABLE_ID,BUFF_REMOVE_PRICE) if TIME_OUT == True: addTimeout(2,TIME_OUT_TIME/2,600) return rebuildMainHtml(st) return rebuildMainHtml(st) if event == "cast" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime") : buffs = []; levels = []; id = 0; level = 0 conn=L2DatabaseFactory.getInstance().getConnection() rss = conn.prepareStatement("SELECT * FROM buffer_scheme_contents WHERE scheme_id="+eventParam1+" ORDER BY id") action=rss.executeQuery() while (action.next()) : try : enabled = 1 id = int(action.getString("skill_id")) level = int(action.getString("skill_level")) skillType = getBuffType(id) if skillType == "buff" : if ENABLE_BUFFS == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] if skillType == "resist" : if ENABLE_RESIST == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] if skillType == "song" : if ENABLE_SONGS == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] if skillType == "dance" : if ENABLE_DANCES == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] if skillType == "chant" : if ENABLE_CHANTS == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] if skillType == "others" : if ENABLE_OTHERS == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] if skillType == "special" : if ENABLE_SPECIAL == True : if isEnabled(id,level) == "True" : buffs += [id] levels += [level] except : print "Query error!" try : conn.close() except : pass if len(buffs) == 0 : return viewAllSchemeBuffs(eventParam1,1,"add") else : if FREE_BUFFS == False : if st.getQuestItemsCount(CONSUMABLE_ID) < SCHEME_BUFF_PRICE : return showText(st,"ATTETION!","You do not have enough elements:<br>what you need: <font color =\"LEVEL\">"+str(SCHEME_BUFF_PRICE)+" "+str(getitemname(st,CONSUMABLE_ID))+"!","False",0,0) i = 0 while i <= len(buffs) - 1 : if getpetbuff == 0 : SkillTable.getInstance().getInfo(buffs[i],levels[i]).getEffects(st.player,st.player) else: if st.player.getPet() != None : SkillTable.getInstance().getInfo(buffs[i],levels[i]).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet()) else: return showText(st,"Info","You can not use pet options. <br> Call your pet first!","False","Return","main") i += 1 heal(getpetbuff) st.takeItems(CONSUMABLE_ID,SCHEME_BUFF_PRICE) if TIME_OUT == True: addTimeout(3,TIME_OUT_TIME,600) return rebuildMainHtml(st) else : return rebuildMainHtml(st) if event == "giveBuffs" : if eventParam3 == "buff" : cost = BUFF_PRICE if eventParam3 == "resist" : cost = RESIST_PRICE if eventParam3 == "song" : cost = SONG_PRICE if eventParam3 == "dance" : cost = DANCE_PRICE if eventParam3 == "chant" : cost = CHANT_PRICE if eventParam3 == "others" : cost = OTHERS_PRICE if eventParam3 == "special" : cost = SPECIAL_PRICE if eventParam3 == "cubic" : cost = CUBIC_PRICE if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime") : if FREE_BUFFS == False : if st.getQuestItemsCount(CONSUMABLE_ID) < cost : return showText(st,"ATTETION!","You do not have enough elements:<br> what you need: <font color =\"LEVEL\">"+str(cost)+" "+str(getitemname(st,CONSUMABLE_ID))+"!","False",0,0) skill=SkillTable.getInstance().getInfo(int(eventParam1),int(eventParam2)) if str(skill.getSkillType()) == "SUMMON": if st.getQuestItemsCount(skill.getItemConsumeId()) < skill.getItemConsume(): return showText(st,"ATTETION!","You do not have enough elements:<br> what you need: <font color =\"LEVEL\">"+str(skill.getItemConsume())+" "+str(getitemname(st,skill.getItemConsumeId()))+"!","False",0,0) if getpetbuff == 0 : if eventParam3 == "cubic" : if st.player.getCubics() != None: for cubic in st.player.getCubics().values(): cubic.stopAction() st.player.delCubic(cubic.getId()) st.getPlayer().useMagic(SkillTable.getInstance().getInfo(int(eventParam1),int(eventParam2)),False,False) else: SkillTable.getInstance().getInfo(int(eventParam1),int(eventParam2)).getEffects(st.getPlayer(),st.getPlayer()) else: if eventParam3 == "cubic": if st.player.getCubics() != None: for cubic in st.player.getCubics().values(): cubic.stopAction() st.player.delCubic(cubic.getId()) st.getPlayer().useMagic(SkillTable.getInstance().getInfo(int(eventParam1),int(eventParam2)),False,False) else: if st.player.getPet() != None : SkillTable.getInstance().getInfo(int(eventParam1),int(eventParam2)).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet()) else: return showText(st,"Info","You can not use pet options. <br> Call your pet first!","False","Return","main") st.takeItems(CONSUMABLE_ID,cost) if TIME_OUT == True: addTimeout(3,TIME_OUT_TIME/10,600) return buildHtml(eventParam3) else : return buildHtml(eventParam3) if event == "castBuffSet" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime") : if FREE_BUFFS == False : if st.getQuestItemsCount(CONSUMABLE_ID) < BUFF_SET_PRICE : return showText(st,"ATTETION!","You do not have enough elements:<br> what you need: <font color =\"LEVEL\">"+str(BUFF_SET_PRICE)+" "+str(getitemname(st,CONSUMABLE_ID))+"!","False",0,0) buff_sets=[]; i = 0; player_class = 3 if st.getPlayer().isMageClass() : player_class = 1 else : player_class = 0 if getpetbuff == 0 : conn=L2DatabaseFactory.getInstance().getConnection() getSimilarNameCount = conn.prepareStatement("SELECT buffId,buffLevel FROM buffer_buff_list WHERE forClass IN (?,?) ORDER BY id ASC") getSimilarNameCount.setString(1, str(player_class)) getSimilarNameCount.setString(2, "2") rss = getSimilarNameCount.executeQuery() while (rss.next()) : try : id = rss.getInt("buffId") lvl = rss.getInt("buffLevel") buff_sets += [id,lvl] except : buff_sets = [] try: conn.close() except: pass while i <= len(buff_sets)-2 : SkillTable.getInstance().getInfo(buff_sets[i],buff_sets[i+1]).getEffects(st.getPlayer(),st.getPlayer()) i += 2 else: if st.player.getPet() != None : i = 0 conn=L2DatabaseFactory.getInstance().getConnection() getSimilarNameCount = conn.prepareStatement("SELECT buffId,buffLevel FROM buffer_buff_list WHERE forClass IN (?,?) ORDER BY id ASC") getSimilarNameCount.setString(1, "0") getSimilarNameCount.setString(2, "2") rss = getSimilarNameCount.executeQuery() while (rss.next()) : try : id = rss.getInt("buffId") lvl = rss.getInt("buffLevel") buff_sets += [id,lvl] except : buff_sets = [] try: conn.close() except: pass while i <= len(buff_sets)-2 : SkillTable.getInstance().getInfo(buff_sets[i],buff_sets[i+1]).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet()) i += 2 else: return showText(st,"Info","You can not use pet options. <br> Call your pet first!","False","Return","main") heal(getpetbuff) st.takeItems(CONSUMABLE_ID,BUFF_SET_PRICE) if TIME_OUT == True: addTimeout(3,TIME_OUT_TIME,600) return rebuildMainHtml(st) else : return rebuildMainHtml(st) return rebuildMainHtml(st) def onFirstTalk (self,npc,player): st = player.getQuestState(QUEST_LOADING_INFO) if not st : st = self.newQuestState(player) if player.isGM(): if SCRIPT_RELOAD == True: return reloadPanel(st) else: return rebuildMainHtml(st) elif int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): if ENABLE_VIP_BUFFER == False or player.getAccessLevel().getLevel() == VIP_ACCESS_LEVEL and ENABLE_VIP_BUFFER == True: if BUFF_WITH_KARMA == False and player.getKarma() > 0 : return showText(st,"Info","You can't not get buffs with <font color=\"FF0000\">karma!</font>","False","Return","main") elif st.player.getLevel() < MIN_LEVEL : return showText(st,"Info","You are low level for get buffs go<br> <font color\"LEVEL\">"+str(MIN_LEVEL)+"</font> and come back again.","False","Return","main") elif st.player.getPvpFlag() > 0 : return showText(st,"Info","You can not buff while you are in this area. <font color=\"800080\">flagged!</font><br>Please wait a while and try again!","False","Return","main") elif st.player.isInCombat() : return showText(st,"Info","You can not buff while you are attacking!<br>Stop fighting and try again!","False","Return","main") else: return rebuildMainHtml(st) else: return showText(st,"ATTETION!","This buffer is only for VIP!<br>Contact your administrator for more information!","False","Return","main") else: return showText(st,"ATTETION!","You have to wait a little !!<br>If you want to use my service!","False","Return","main") QUEST = Quest(QUEST_ID,QUEST_LOADING_INFO,QUEST_DESCRIPTION) QUEST.addStartNpc(NPC_ID) QUEST.addFirstTalkId(NPC_ID) QUEST.addTalkId(NPC_ID) -
Help Θέλω μια βοήθεια παρακαλώ πολύ!
tazerman2 replied to Lighty's question in Request Server Development Help [Greek]
stile mou to skype sou na sou dikso -
Help Instance Loader Error zaken
tazerman2 replied to kreis's question in Request Server Development Help [L2J]
at instances.CavernOfThePirateCaptain.CavernOfThePirateCaptain.checkConditions(CavernOfThePirateCaptain.java:220) what have here? 220 line -
Help Log in more clients than allowed ?
tazerman2 replied to lorens323's topic in Request Support [English]
i think you can't make login more client. like if you have a h5 and you want login with c6 have big different client packets -
if any member login with old account and have ban he can't logout. you can add a button can logout.
-
Help Advertisement aCis
tazerman2 replied to l2jkain's question in Request Server Development Help [L2J]
you can do something like this SystemMessage sm = new SystemMessage(SystemMessageId.getSystemMessageId(1983)); sm.addString(targetPlayer.getName() + " has killed from " + getName() +" in the areas "); and put ragion name -
Help little command help
tazerman2 replied to tazerman2's question in Request Server Development Help [L2J]
fixed tnx pirama lock topic -
how to make after string targetName get nextToken from list switch. I try enything and is not come to list. i am not good in java and i ask if someone can help tnx else if (comnd.startsWith("MatchingInvite")) { try { String targetName = comnd.substring(20); String type = st1.nextToken(); switch(type) { case "FKeepers": RuleSet = 1; System.out.print("im here " + RuleSet); break; case "Random": RuleSet = 2; System.out.print("im here " + RuleSet); break; case "RanSpoil": RuleSet = 3; System.out.print("im here " + RuleSet); break; case "ByTurn": RuleSet = 4; System.out.print("im here " + RuleSet); break; case "ByTurnSpoil": RuleSet = 5; System.out.print("im here " + RuleSet); break; } System.out.println("Command is " + st1.nextToken()); PcInstance receiver = World.getInstance().getPlayer(targetName); and bypass MatchingList.append("<td align=center><combobox width=99 height=21 var=\"loot\" list=\"FKeepers;Random;RanSpoil;ByTurn;ByTurnSpoil;\"></td>"); MatchingList.append("<td align=right FIXWIDTH=73><button action=\"bypass MatchingInvite " + activeChar.getName() +" $loot\" value=\"Invite\" width=50 height=21 back=\"L2UI_CH3.smallbutton1_down\" fore=\"L2UI_CH3.smallbutton1\"></td>"); Project l2jAcis
-
Help request join party
tazerman2 replied to tazerman2's question in Request Server Development Help [L2J]
tnx guys fixed lock topic :) -
hello guys i try to make this code to ask join party. but i can't and now is make a party without ask hello guys i try to make this code to ask join party. but i can't. and now i have make a party without ask how to make it join party only if player click ok in ask; my code is this. private static void createNewParty(PcInstance receiver, PcInstance requestor) { // Joining Party if (!receiver.isProcessingRequest()) { Party party = receiver.getParty(); if (party == null) receiver.setParty(party = new Party(receiver, requestor, LootRule.ITEM_RANDOM_SPOIL)); requestor.joinParty(party); } else { requestor.sendPacket(SystemMessageId.WAITING_FOR_ANOTHER_REPLY); } }
-
LF Dear cheaters...
tazerman2 replied to FactorX's question in Request Server Development Help [L2J]
RequestBypassToServer.java you can add more bypass cancel,heal -
LF Dear cheaters...
tazerman2 replied to FactorX's question in Request Server Development Help [L2J]
action="bypass -h buffCommand idSkill" you can make a custom window for use your extra buff kile special,ressist,other and set fighter,mage -
Hello guys, anyone can tell me how I can close the html window automatically after some seconds? PacketHandlerDebug isn't showing something
-
LF i can't spawn fence pleace help
tazerman2 replied to tazerman2's question in Request Server Development Help [L2J]
tnx guys i Caotonic you help me full tnx man. lock topic -
LF i can't spawn fence pleace help
tazerman2 replied to tazerman2's question in Request Server Development Help [L2J]
and if i need use a fence in event and spawn automatically after start? -
with DlgAnswer you can make some like this is show to player if need teleport and have ok and cancel
-
LF i can't spawn fence pleace help
tazerman2 posted a question in Request Server Development Help [L2J]
hello guys i try to spawn in acis one fence wall and i can't see it pleace help me how to make a spawn fence and how is work? if any can tell me tnx -
hello all maybe someone nexus event pleace send me message i need it tnx
-
l2 off 10000000% better from java!
