Hola a todos estoy buscando los NPC para gracia epilogue
bad1boy
Noob-L2
Mensajes: 5 Edad: 23 Serverpack: l2jfree Revision: nose Cronica: la ultima XD Sistema Operativo: Windows Fecha de inscripción: 24/11/2009 Reputación: 0 Adenas: 118
Nefer muy bueno el aio pero me tira un error en el scrip -------------------------------------------------------- Error on: C:\L2jOfficial - Rev - 1501\L2Server\data\scripts\custom\955_NpcService\__init__.py.error.log Line: -1 - Column: -1
Traceback (innermost last): File "__init__.py", line 3, in ? ImportError: no module named net --------------------------------------------------------
Alguna idea? gracias !...
pliskin
Iniciado-L2
Mensajes: 35 Edad: 21 Serverpack: nose Revision: nose Cronica: Buenos Aires Fecha de inscripción: 06/07/2007 Reputación: 0 Adenas: 995
Mensajes: 490 Edad: 29 Serverpack: JTeon Revision: Actualizada Cronica: Interlude Sistema Operativo: Windows 2003 server Fecha de inscripción: 30/11/2008 Reputación: 46 Adenas: 1243
Mensajes: 490 Edad: 29 Serverpack: JTeon Revision: Actualizada Cronica: Interlude Sistema Operativo: Windows 2003 server Fecha de inscripción: 30/11/2008 Reputación: 46 Adenas: 1243
us no acabo de entender eso de la columna perdona pero eso es la primera vez q me a pasodo i sobre ese tema estoi pegado te sabria mal decirme como se mira eso de la columna
INSESSION
Pregunton-L2
Mensajes: 23 Edad: 33 Serverpack: INSESSION Cronica: gracia epiloge Sistema Operativo: windows seven Fecha de inscripción: 08/02/2009 Reputación: 2 Adenas: 449
Edito espera te esto haciendo todo el lio, no es que te sobra una columna, me lie yo, el problema es que la SQL no esta bien, hay un valor que no conincide con el formato de la tabla. Ya te digo cual es.
Última edición por jhonny el Lun Mar 08, 2010 11:42 am, editado 1 vez
_________________
----------->Si Mi ayuda, trabajo o apoyo te a servido no dudes en dar un puntito de reputacion!!! Estare muy agradecido<-----------
Mensajes: 490 Edad: 29 Serverpack: JTeon Revision: Actualizada Cronica: Interlude Sistema Operativo: Windows 2003 server Fecha de inscripción: 30/11/2008 Reputación: 46 Adenas: 1243
Mensajes: 490 Edad: 29 Serverpack: JTeon Revision: Actualizada Cronica: Interlude Sistema Operativo: Windows 2003 server Fecha de inscripción: 30/11/2008 Reputación: 46 Adenas: 1243
mira q te diga la sql q me reparastes si q entro en la db pero al spawnear el npc no me sale me dice q no exsiste dios q lio mi server es L2JServer Rev.7138 epilogue s
INSESSION
Pregunton-L2
Mensajes: 23 Edad: 33 Serverpack: INSESSION Cronica: gracia epiloge Sistema Operativo: windows seven Fecha de inscripción: 08/02/2009 Reputación: 2 Adenas: 449
Mensajes: 490 Edad: 29 Serverpack: JTeon Revision: Actualizada Cronica: Interlude Sistema Operativo: Windows 2003 server Fecha de inscripción: 30/11/2008 Reputación: 46 Adenas: 1243
Mensajes: 490 Edad: 29 Serverpack: JTeon Revision: Actualizada Cronica: Interlude Sistema Operativo: Windows 2003 server Fecha de inscripción: 30/11/2008 Reputación: 46 Adenas: 1243
estio esta en scrip custom/955_NpcService/__init__.py
La sql de 10 anda..
esto esta en el py donde me da error la linea 3
import sys from java.lang import System from com.l2jserver.gameserver import Config from com.l2jserver.gameserver import L2DatabaseFactory from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.gameserver.cache import HtmCache from com.l2jserver.gameserver.gameserver.model.quest import State from com.l2jserver.gameserver.gameserver.model.quest.jython import QuestJython as JQuest from com.l2jserver.gameserver.gameserver.model.actor.instance import L2PcInstance from com.l2jserver.gameserver.gameserver.model.base import ClassId from com.l2jserver.gameserver.gameserver.model.base import Race from com.l2jserver.gameserver.gameserver.datatables import SkillTable from com.l2jserver.gameserver.gameserver.datatables import SkillTreeTable from com.l2jserver.gameserver.gameserver.datatables import ClanTable from com.l2jserver.gameserver.gameserver.datatables import ItemTable from com.l2jserver.gameserver.gameserver.datatables import CharTemplateTable from com.l2jserver.gameserver.gameserver.datatables import HennaTreeTable from com.l2jserver.gameserver.gameserver.instancemanager import QuestManager from com.l2jserver.gameserver.gameserver.instancemanager import TownManager from com.l2jserver.gameserver.gameserver.instancemanager import CastleManager from com.l2jserver.gameserver.gameserver.instancemanager import FortManager from com.l2jserver.gameserver.gameserver.instancemanager import FortSiegeManager from com.l2jserver.gameserver.gameserver.instancemanager import SiegeManager from com.l2jserver.gameserver.gameserver.network import SystemMessageId from com.l2jserver.gameserver.gameserver.network.serverpackets import SellList from com.l2jserver.gameserver.gameserver.network.serverpackets import ActionFailed from com.l2jserver.gameserver.gameserver.network.serverpackets import SystemMessage from com.l2jserver.gameserver.gameserver.network.serverpackets import NpcHtmlMessage from com.l2jserver.gameserver.gameserver.network.serverpackets import SetSummonRemainTime from com.l2jserver.gameserver.gameserver.network.serverpackets import SetupGauge from com.l2jserver.gameserver.gameserver.network.serverpackets import MagicSkillLaunched from com.l2jserver.gameserver.gameserver.network.serverpackets import MagicSkillUse from com.l2jserver.gameserver.gameserver.network.serverpackets import AcquireSkillList from com.l2jserver.gameserver.gameserver.network.serverpackets import AcquireSkillDone from com.l2jserver.gameserver.gameserver.network.serverpackets import HennaEquipList
" if st.player.getTotalSubClasses() == 0 and REQUEST_ITEMS_FOR_SUB == True: MAIN_HTML += "If you want to add any Subclass, yourcurrent occupation must be second orthird, reach level "+str(75)+" or above and get"+str(SUB_AMOUNT_ITEM)+" "+getitemname(SUB_REQ_ITEM)+". " if st.player.getTotalSubClasses() < Config.MAX_SUBCLASS : MAIN_HTML += "
" MAIN_HTML += "If you want to be Noblesse first you needreach level "+str(NOBLE_Level)+" and get "+str(NOBLE_NumITEM)+" "+getitemname(NOBLE_ITEMID)+". " MAIN_HTML += "" MAIN_HTML += " "+getmaster()+"" MAIN_HTML += "
" return MAIN_HTML
def getitemname(case): try: val =ItemTable.getInstance().createDummyItem(case).getItemName() except: val = "0" return val
def getnames(case): try: val = CharTemplateTable.getInstance().getClassNameById(case) except: val = "0" return val
def getmaster(): xi="vice";xe="l";xf="e";xg="n";xa="B";xb="y";xc=" ";xd="A";xk="ger";xh="Ser";xj="Mana";val=xh+xi+xc+xj+xk+xc+xa+xb+xc+xd+xe+xe+xf+xg return val
def ReloadConfig(st,npcid) : try: HtmCache.getInstance().reload(Config.DATAPACK_ROOT) if QuestManager.getInstance().reload(QuestId): st.player.sendMessage("The script and Htmls have been reloaded successfully.") else: st.player.sendMessage("script Reloaded Failed. you edited something wrong! , fix it and restart the server")
except: st.player.sendMessage("script Reloaded Failed. you edited something wrong! , fix it and restart the server") filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-0.htm" html = NpcHtmlMessage(int(npcid)) html.setFile(filename) html.replace("%objectId%", npcid) st.player.sendPacket(html)
" MAIN_HTML += ".::Select symbol you would like to remove::.
" hasHennas = False i=0 if num != "0": st.player.removeHenna(int(num)) while i <= 2 : i+=1 henna = st.player.getHenna(i) if henna != None: hasHennas = True MAIN_HTML += " " if hasHennas == False: MAIN_HTML = "Services Manager
" MAIN_HTML += "
You don't have any symbol to remove! " MAIN_HTML += "
" return MAIN_HTML
def heal(st,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 return True
if jobLevel ==2 and level > 75 or jobLevel ==1 and level > 39 or jobLevel ==0 and level > 19: MAIN_HTML += " " MAIN_HTML += "Change Subclass:Which class do you wish to change? " for child in ClassId.values(): if child.childOf(classId) and child.level() == newJobLevel: MAIN_HTML += "" else: if jobLevel ==0 and level < 20: MAIN_HTML += "
Come back here when you reach level 20to change your class. " elif jobLevel <=1 and level < 40: MAIN_HTML += "
Come back here when you reach level 40to change your class. " elif jobLevel <=2 and level < 76: MAIN_HTML += "
Come back here when you reach level 76to change your class. " else: MAIN_HTML += "
There is no class change available for you anymore. " MAIN_HTML += "
" return MAIN_HTML
def subclasslist(st,cases,case2,index) : if st.player.getLevel() < 75 and int(index) == 0: HTML = "
You cannot add a new subclass!First your current occupation must besecond or third job and all of your subclasses must be at level 75 or above. " return HTML
currentBaseId = st.player.getBaseClass() baseCID = ClassId.values()[currentBaseId] if baseCID.level() > 2: baseClassId = baseCID.getParent().ordinal() else: baseClassId = currentBaseId subclasses = [baseClassId,57,51] num = 0 for i in range(Config.MAX_SUBCLASS): if st.player.getSubClasses().containsKey(i+1): if st.player.getSubClasses().get(i+1).getLevel() < 75 and int(index) == 0: HTML = "
You cannot add a new subclass!First your current occupation must besecond or third job and all of your subclasses must be at level 75 or above. " return HTML temp = ClassId.values()[st.player.getSubClasses().get(i+1).getClassId()] if temp.level() > 2: subclasses += [temp.getParent().ordinal()] else: subclasses += [temp.getId()]
HTML = " " if int(index) == 0: HTML += "Add Subclass: Which subclass do you wish to add? " if int(index) > 0: HTML += "Please select a new subclass to change.Warning! Your previous subclass and all the skills will be removed."
for child in ClassId.values(): if child.getRace() == Race.values()[int(case2)] and child.level() == 2 and child.getId() not in subclasses: num = 1 HTML += "" if num == 0: HTML = "
There are no available subclasses at this moment. " return HTML
def subclassopcions(st,cases,id,index) : if st.player.isCastingNow() or st.player.isAllSkillsDisabled(): st.player.sendPacket(SystemMessage(SystemMessageId.SUBCLASS_NO_CHANGE_OR_CREATE_WHILE_SKILL_IN_USE)) return if cases == "addsub": if st.player.getTotalSubClasses() >= Config.MAX_SUBCLASS : if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass st.player.sendMessage("You can now only change one of your current sub classes.") return else: MAIN_HTML = "Services Manager
if cases == "acceptsub": if REQUEST_ITEMS_FOR_SUB == True and st.player.getTotalSubClasses() == 0: if st.getQuestItemsCount(SUB_REQ_ITEM) < SUB_AMOUNT_ITEM: return showText("Sorry","You don't have the required items! You will need: "+str(SUB_AMOUNT_ITEM)+" "+getitemname(SUB_REQ_ITEM)+" to add any subclass") else: st.takeItems(Item_Req,Item_Num)
if not st.player.addSubClass(int(id),st.player.getTotalSubClasses() + 1): st.player.sendMessage("The sub class could not be added.") return st.player.setActiveClass(st.player.getTotalSubClasses()) MAIN_HTML = "Services Manager
" MAIN_HTML += "
Add Subclass: The sub class of "+getnames(int(id))+" has been added. " MAIN_HTML += "
if cases == "acceptchangesub": if not st.player.setActiveClass(int(index)): if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass st.player.sendMessage("The sub class could not be changed.") return else: MAIN_HTML = "Services Manager
" MAIN_HTML += "
Change Subclass: Your active class is now a: "+getnames(int(id))+"" MAIN_HTML += "
" st.player.sendPacket(SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)) if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass return MAIN_HTML
if cases == "changesub":
if st.player.getTotalSubClasses() > Config.MAX_SUBCLASS : st.player.sendMessage("You can now only delete one of your current sub classes.") if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass return else: j=0 MAIN_HTML = "AIO Grand Master
" MAIN_HTML += " " MAIN_HTML += "Change Subclass:Which sub class do you wish to change? " if st.player.isSubClassActive(): j=1 MAIN_HTML += "Main-class" MAIN_HTML += " " for i in range(Config.MAX_SUBCLASS): if st.player.getSubClasses().containsKey(i+1): xsubclassid = st.player.getSubClasses().get(i+1).getClassId() if int(st.player.getClassId().getId()) != xsubclassid: j=i+1 MAIN_HTML += "Sub-class "+str(i+1)+"" MAIN_HTML += "" if j == 0: MAIN_HTML = "AIO Grand Master
" MAIN_HTML += "
There are no sub classes available to change at this time. " if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass MAIN_HTML += "
" return MAIN_HTML
if cases == "deletesub":
if st.player.getTotalSubClasses() > Config.MAX_SUBCLASS : if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass st.player.sendMessage("You can now only delete one of your current sub classes.") return else: j=0 MAIN_HTML = "AIO Grand Master
" MAIN_HTML += " " MAIN_HTML += "Which sub class do you wish to delete? " for i in range(Config.MAX_SUBCLASS): if st.player.getSubClasses().containsKey(i+1): j=i+1 MAIN_HTML += "Sub-class "+str(i+1)+"" MAIN_HTML += "" MAIN_HTML += " If you change a sub class, you'll start at level 40after the 2nd class transfer." if j == 0: MAIN_HTML = "AIO Grand Master
" MAIN_HTML += "
There are no sub classes available to delete at this time. " if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass MAIN_HTML += "
" return MAIN_HTML
if cases == "acceptnewsub": MAIN_HTML = "Services Manager
if cases == "acceptdelsub": if st.player.modifySubClass(int(index), int(id)): st.player.stopAllEffects() st.player.setActiveClass(int(index)) MAIN_HTML = "Services Manager
" MAIN_HTML += "
Change Subclass: Your sub class has been changed to"+getnames(int(id))+"" MAIN_HTML += "
" st.player.sendPacket(SystemMessage(SystemMessageId.ADD_NEW_SUBCLASS)) if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass return MAIN_HTML else: player.setActiveClass(0) if TIME_OUT == True: if addTimeout(st,3,BLOCK_TIME,300) : pass st.player.sendMessage("The sub class could not be added, you have been reverted to your base class.") return
if SiegeManager.getInstance().getSiege(int(eventParam1), int(eventParam2), int(eventParam3)) != None: st.player.sendPacket(SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE)) return elif TownManager.townHasCastleInSiege(int(eventParam1), int(eventParam2)): st.player.sendPacket(SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE)) return elif not Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK and st.player.getKarma() > 0: st.player.sendMessage("Go away, you're not welcome here.") return elif st.player.isAlikeDead(): return if FREE_TELEPORT == False : if st.getQuestItemsCount(TELEPORT_ITEM_ID) < TELEPORT_PRICE : return showText("Sorry","You don't have enough Items: You need: "+str(TELEPORT_PRICE)+" "+getitemname(TELEPORT_ITEM_ID)+"!") else : st.takeItems(TELEPORT_ITEM_ID,TELEPORT_PRICE) st.player.teleToLocation(int(eventParam1), int(eventParam2), int(eventParam3), True) st.player.sendMessage("You have been teleported to " + eventParam1 +" "+eventParam2+ " "+eventParam3) else: st.player.teleToLocation(int(eventParam1), int(eventParam2), int(eventParam3), True) st.player.sendMessage("You have been teleported to " + eventParam1 +" "+eventParam2+ " "+eventParam3)
if event == "heal" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): if st.getQuestItemsCount(CONSUMABLE_ID) < HEAL_PRICE : return showText("Sorry","You don't have enough adena!") else : if heal(st,eventParam2) :pass st.takeItems(CONSUMABLE_ID,HEAL_PRICE) if TIME_OUT == True: if addTimeout(st,1,TIME_OUT_TIME,0): pass filename = "data/html/teleporter/AIONpc-Buffer/NpcBuffer-"+eventParam1+".htm" html = NpcHtmlMessage(npc.getObjectId()) html.setFile(filename) html.replace("%objectId%", str(npc.getObjectId())) st.player.sendPacket(html)
if event == "removeBuffs" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): if st.getQuestItemsCount(CONSUMABLE_ID) < BUFF_REMOVE_PRICE : return showText("Sorry","You don't have enough adena!") else : if eventParam2 == "Remove_Pet" : if st.player.getPet() != None : st.player.getPet().stopAllEffects() 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: if addTimeout(st,2,TIME_OUT_TIME,0): pass filename = "data/html/teleporter/AIONpc-Buffer/NpcBuffer-"+eventParam1+".htm" html = NpcHtmlMessage(npc.getObjectId()) html.setFile(filename) html.replace("%objectId%", str(npc.getObjectId())) st.player.sendPacket(html)
if event == "giveBuffs" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): temp = 0 if eventParam2 != "Buff_Set" and eventParam2 != "Pet_Buff_Set": buffSplit = eventParam3.split("-") try: skill=SkillTable.getInstance().getInfo(int(buffSplit[1]),int(buffSplit[0])) except: st.player.sendMessage("This skill has an error. Contact a GM to be fixed") temp = 1 else: listSplit = eventParam3.split("_") j=0;k=0 while j == 0 : try: buff = listSplit[int(k)];k+=1 except: temp = int(k);j=1
if FREE_BUFFS == False and eventParam2 != "Buff_Set" and eventParam2 != "Pet_Buff_Set": if st.getQuestItemsCount(CONSUMABLE_ID) < BUFFS_PRICE * temp: return showText("Sorry","You don't have the required items! You will need: "+str(BUFFS_PRICE * int(temp))+" "+getitemname(CONSUMABLE_ID)+"!")
if eventParam2 == "Buff_Pet" : if st.player.getPet() != None : try : skill.getEffects(st.getPlayer().getPet(),st.getPlayer().getPet()) except : st.player.sendMessage("This skill has an error. Contact a GM to be fixed")
else: return showText("Sorry","You can't buff your pet! Summon it and try again!")
if eventParam2 == "Pet_Buff_Set": if st.player.getPet() != None : for i in range (temp) : buff = listSplit[int(i)] buffSplit = buff.split("-") Buff_lvl = buffSplit[0] Buff_Id = buffSplit[1] try : SkillTable.getInstance().getInfo(int(Buff_Id),int(Buff_lvl)).getEffects(st.getPlayer().getPet(),st.getPlayer().getPet()) except : st.player.sendMessage("some skills have an error. Contact a GM to be fixed") else: return showText("Sorry","You can't buff your pet! Summon it and try again!")
if eventParam2 == "Buff_Cubic" : if st.player.getCubics() != None: for cubic in st.player.getCubics().values(): cubic.stopAction() st.player.delCubic(cubic.getId()) if st.getQuestItemsCount(skill.getItemConsumeId()) < skill.getItemConsume(): return showText("Sorry","You don't have the required items! You will need: "+str(skill.getItemConsume())+" "+getitemname(skill.getItemConsumeId())+"!") try : st.getPlayer().useMagic(skill,False,False) except : st.player.sendMessage("This skill has an error. Contact a GM to be fixed")
if eventParam2 == "Buff_Set": for i in range (temp) : buff = listSplit[int(i)] buffSplit = buff.split("-") Buff_lvl = buffSplit[0] Buff_Id = buffSplit[1] try : SkillTable.getInstance().getInfo(int(Buff_Id),int(Buff_lvl)).getEffects(st.getPlayer(),st.getPlayer()) except : st.player.sendMessage("This skill has an error. Contact a GM to be fixed") else: try : skill.getEffects(st.getPlayer(),st.getPlayer()) except : st.player.sendMessage("This skill has an error. Contact a GM to be fixed")
st.takeItems(CONSUMABLE_ID,BUFFS_PRICE*temp) if TIME_OUT == True: if int(temp) > 1: if eventParam2 == "Pet_Buff_Set" : if heal(st,"1") :pass else: if heal(st,"0") :pass if addTimeout(st,3,TIME_OUT_TIME,0): pass filename = "data/html/teleporter/AIONpc-Buffer/NpcBuffer-"+eventParam1+".htm" html = NpcHtmlMessage(npc.getObjectId()) html.setFile(filename) html.replace("%objectId%", str(npc.getObjectId())) st.player.sendPacket(html)
if event == "chat3" : return MainHtml3(st)
if event == "chat4" : return MainHtml4(st)
if event == "class_master": return classmaster(st)
if event == "getracemenu": return RaceMenu(st,eventParam1,eventParam2)
if event == "NoblesseMenu": return NobleMenu(st)
if event == "symbol" : return optionsymbol(st, eventParam1,eventParam2)
if event == "subclass" : if int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): return subclassopcions(st, eventParam1, eventParam2, eventParam3) return MainHtml3(st)
if tempevent.startswith("PKlistoption",3): timer = tempevent.replace("PKlistoption","") a = int(timer.split(" ")[0]) if a == 999: st.set("blockUntilTime",str(System.currentTimeMillis()/1000 + 2 + DELAY)) if a >= 999 - DELAY and a >= 100: self.startQuestTimer(str(a-1)+tempevent.replace(str(a),""), 1000, npc, player) MAIN_HTML = "Services Manager
" pos = 0; A=20; i=0; j=0 if eventParam2 == "adelante": j = int(eventParam3) j=j+A if eventParam2 == "atras": j = int(eventParam3) j=j-A con = L2DatabaseFactory.getInstance().getConnection() pks = con.prepareStatement("SELECT char_name,pvpkills,pkkills FROM characters WHERE "+temp+">0 and accesslevel=0 OR "+temp+">0 and accesslevel="+str(VIP_ACCESS_LEVEL)+" ORDER BY "+temp+" DESC,"+temp1+" DESC,char_name LIMIT "+str(j)+","+str(j+A+1)) rs = pks.executeQuery() while (rs.next()) : char_name = rs.getString("char_name") char_pvpkills = rs.getString("pvpkills") char_pkkills = rs.getString("pkkills") i+=1 if eventParam1 == "1": if i <= A: htmltext +="
" + str(i+j) + "
" + char_name +"
" + char_pvpkills + "
" + char_pkkills + "
" elif eventParam1 == "2": if i <= A: htmltext += "
" + str(i+j) + "
" + char_name +"
" + char_pvpkills + "
" + char_pkkills + "
" try: con.close() except : pass i+=j if i > A and j < A: htmltext += "
" htmltext += "
" htmltext += "
" elif i > A and j >= A and j < i-A: htmltext += "
" htmltext += "
" htmltext += "
" htmltext += "
" elif i > A and j >= i-A: htmltext += "
" htmltext += "
" htmltext += "
" htmltext += "" return htmltext
if event == "getnoble": count=st.getQuestItemsCount(NOBLE_ITEMID) htmltext = "Services Manager
" if st.getPlayer().isNoble(): htmltext += "
You already are Noblesse. " elif st.getPlayer().getLevel() < NOBLE_Level : htmltext += "
Come back here when you reach level "+str(NOBLE_Level)+". " elif count < NOBLE_NumITEM : htmltext += "
You don't have the required Item.You need "+str(NOBLE_NumITEM)+" "+getitemname(NOBLE_ITEMID)+" " else: st.getPlayer().setTarget(st.getPlayer()) if eventParam1 == "2": st.takeItems(NOBLE_ITEMID,NOBLE_NumITEM) st.getPlayer().setNoble(True) st.giveItems(NOBLESS_TIARA,1) st.playSound("ItemSound.quest_finish") st.setState(State.COMPLETED) htmltext += "
Congratulations! You are Noblesse. " st.exitQuest(1) else: return htmltext += "
" return htmltext
if event == "changeclass": st.player.setClassId(int(eventParam1)) if st.player.isSubClassActive(): st.player.getSubClasses().get(st.player.getClassIndex()).setClassId(st.player.getActiveClass()) else: st.player.setBaseClass(st.player.getActiveClass()) if st.getPlayer().getClassId().level() == 3: st.giveItems(CLASSMASTER_GIFT,CLASSMASTER_ITEM_NUM) st.player.broadcastUserInfo()
if event == "increaseclan" : if st.player.getClan() == None or not st.player.isClanLeader() : MAIN_HTML = "Services Manager
" MAIN_HTML += "
You are not the leader of this clan.You may not raise the level of it. " MAIN_HTML += "
" return MAIN_HTML MAIN_HTML = "Services Manager
" MAIN_HTML += "
" MAIN_HTML += "Clan level can be raised.To do so requires the following:
if event == "increase_clan" : if not st.player.isClanLeader(): st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT)) return if st.player.getClan().levelUpClan(st.player): st.player.broadcastPacket(MagicSkillUse(st.player, 5103, 1, 0, 0)) st.player.broadcastPacket(MagicSkillLaunched(st.player, 5103, 1)) return return
elif event == "DisbandClan" : if st.player.getClan() == None or not st.player.isClanLeader() : MAIN_HTML = "Services Manager
" MAIN_HTML += "
You are not the leader of this clan.You may not dissolve it. " MAIN_HTML += "
" return MAIN_HTML MAIN_HTML = "Services Manager
" MAIN_HTML += "
" MAIN_HTML += "If you apply for dissolution,the clan will be dissolved.
" MAIN_HTML += "" MAIN_HTML += "" MAIN_HTML += "
" return MAIN_HTML
elif event == "dissolve_clan" : if not st.player.isClanLeader(): st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT)) return clan = st.player.getClan() if clan.getAllyId() != 0: st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY)) return if clan.isAtWar(): st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR)) return if clan.getHasCastle() !=0 or clan.getHasHideout() != 0 or clan.getHasFort() != 0: st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_OWNING_CLAN_HALL_OR_CASTLE)) return for castle in CastleManager.getInstance().getCastles(): if SiegeManager.getInstance().checkIsRegistered(clan, castle.getCastleId()): st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE)) return for fort in FortManager.getInstance().getForts(): if FortSiegeManager.getInstance().checkIsRegistered(clan, fort.getFortId()): st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE)) return if st.player.isInsideZone(L2PcInstance.ZONE_SIEGE) : st.player.sendPacket(SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE)) return if clan.getDissolvingExpiryTime() > System.currentTimeMillis() : st.player.sendPacket(SystemMessage(SystemMessageId.DISSOLUTION_IN_PROGRESS)) return clan.setDissolvingExpiryTime(System.currentTimeMillis() + Config.ALT_CLAN_DISSOLVE_DAYS * 86400000L) st.player.sendMessage("Dissolution in progress. Please Wait "+str(Config.ALT_CLAN_DISSOLVE_DAYS * 24L)+" hours to be completed") clan.updateClanInDB() ClanTable.getInstance().scheduleRemoveClan(clan.getClanId()) st.player.deathPenalty(False, False, False)
elif event == "RestoreClan" : if st.player.getClan() == None or not st.player.isClanLeader() : MAIN_HTML = "Services Manager
" MAIN_HTML += "
You are not the leader of this clan.You may not recover it. " MAIN_HTML += "
" return MAIN_HTML MAIN_HTML = "Services Manager
" MAIN_HTML += "
" MAIN_HTML += "If you request a restorationyour clan dissolution request will be canceled
" MAIN_HTML += "" MAIN_HTML += "" MAIN_HTML += "
" return MAIN_HTML
elif event == "recover_clan" : if not st.player.isClanLeader(): st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT)) return clan = st.player.getClan() clan.setDissolvingExpiryTime(0) clan.updateClanInDB() st.player.sendMessage("Dissolution progress canceled")
elif event == "giveclanl" : if st.player.getClan() == None or not st.player.isClanLeader() : MAIN_HTML = "Services Manager
" MAIN_HTML += "
You are not a Clan Leader. " MAIN_HTML += "
" return MAIN_HTML MAIN_HTML = "Services Manager
" MAIN_HTML += "
" MAIN_HTML += "Insert the name of the Clan memberto commit
" MAIN_HTML += "
" MAIN_HTML += "" MAIN_HTML += "" MAIN_HTML += "
" return MAIN_HTML
elif event == "change_clan_leader" : if eventParam1 == "no_data": return if not st.player.isClanLeader(): st.player.sendPacket(SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT)) return if st.player.isFlying(): st.player.sendMessage("Please, stop flying") return clan = st.player.getClan() member = clan.getClanMember(eventParam1) if member == None: sm = SystemMessage(SystemMessageId.S1_DOES_NOT_EXIST) sm.addString(eventParam1) st.player.sendPacket(sm) sm = None return if not member.isOnline(): st.player.sendPacket(SystemMessage(SystemMessageId.INVITED_USER_NOT_ONLINE)) return if st.player.getName() != member.getName(): return clan.setNewLeader(member)
elif event == "learn_clan_skills": if st.player.getClan() == None or not st.player.isClanLeader(): MAIN_HTML = "Services Manager
" MAIN_HTML += "
You're not qualified to learn Clan skills. " MAIN_HTML += "
" return MAIN_HTML skills = SkillTreeTable.getInstance().getAvailablePledgeSkills(st.player) asl = AcquireSkillList(AcquireSkillList.SkillType.Clan) counts = 0 for s in skills: cost = s.getRepCost() itemCount = s.getItemCount() counts+=1 asl.addSkill(s.getId(), s.getLevel(), s.getLevel(), cost, itemCount) if counts == 0: if st.player.getClan().getLevel() < 8: sm = SystemMessage(SystemMessageId.DO_NOT_HAVE_FURTHER_SKILLS_TO_LEARN) if st.player.getClan().getLevel() < 5: sm.addNumber(5) else: sm.addNumber(st.player.getClan().getLevel()+1) st.player.sendPacket(sm) st.player.sendPacket(AcquireSkillDone()) else: MAIN_HTML = "Services Manager
" MAIN_HTML += "
You've learned all skills available for your Clan. " MAIN_HTML += "
elif event == "create_ally": if eventParam1 == "no_data": return if not st.player.isClanLeader(): st.player.sendPacket(SystemMessage(SystemMessageId.ONLY_CLAN_LEADER_CREATE_ALLIANCE)) return st.player.getClan().createAlly(st.player, eventParam1) return
elif event == "dissolve_ally": if not st.player.isClanLeader(): st.player.sendPacket(SystemMessage(SystemMessageId.FEATURE_ONLY_FOR_ALLIANCE_LEADER)) return st.player.getClan().dissolveAlly(st.player) return else: return
def onFirstTalk (self,npc,player): st = player.getQuestState(QUEST_INFO) if not st : st = self.newQuestState(player) st.setState(State.STARTED) if player.isGM() and player.getAccessLevel().getLevel() == GM_ACCESS_LEVEL: if GM_RELOAD_PANEL == True: filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-5.htm" else: filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-0.htm" html = NpcHtmlMessage(npc.getObjectId()) html.setFile(filename) html.replace("%objectId%", str(npc.getObjectId())) st.player.sendPacket(html) elif int(System.currentTimeMillis()/1000) > st.getInt("blockUntilTime"): if ALLOW_VIP == False or player.getAccessLevel().getLevel() == VIP_ACCESS_LEVEL and ALLOW_VIP == True: if ALLOW_KARMA_PLAYER == False and player.getKarma() > 0 : return showText("Info","You have too much karma! Come back, when you don't have any karma!") elif st.player.getPvpFlag() > 0 : return showText("Info","You can't use my services while you are flagged! Wait some time and try again!") elif st.player.isInCombat() : return showText("Info","You can't use my services while you are attacking! Stop your fight and try again!") else: filename = "data/html/teleporter/AIONpc-Htmls/mainhtml-0.htm" html = NpcHtmlMessage(npc.getObjectId()) html.setFile(filename) html.replace("%objectId%", str(npc.getObjectId())) st.player.sendPacket(html) else: return showText("Sorry","This NPC is only for VIP's! Contact the administrator for more info!")