Jump to content
  • 0

Quest error with deleveling


Question

Posted

I used this guide to get the deleveling npc working.

 

For those who still do not understand well how to put into operation this quest: make a new directory in gameserver \ data \ scripts \ custom, and put the following script named : __init__.py

Line number On/Off | Expand/Contract | Select all

 

   import sys
   from net.sf.l2j.gameserver.model.base           import Experience
   from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
   from net.sf.l2j.gameserver.model.quest          import State
   from net.sf.l2j.gameserver.model.quest          import QuestState
   from net.sf.l2j.gameserver.model.quest.jython   import QuestJython as JQuest
    
   qn = "4005_Delevel"
     
   NPC=[6949]
   QuestId     = 4005
   QuestName   = "Delevel"
   QuestDesc   = "custom"
   InitialHtml = "1.htm"
    
   print "importing custom: 4005_Delevel"
    
   class Quest (JQuest) :
       def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
      
       def onEvent(self,event,st) :
           htmltext = event
          
           #Delevel
           if event == "1":
               if st.getQuestItemsCount(57) >= 250000:
                   st.takeItems(57,250000)
                   st.getPlayer().getStat().removeExpAndSp((st.getPlayer().getExp() - Experience.LEVEL[st.getPlayer().getStat().getLevel() - 1]),0)
                   return "1.htm"
               else:
                   htmltext = "You Do Not Have Enough Adena"
           return htmltext
    
       def onTalk (self,npc,player):
           st = player.getQuestState(qn)
           htmltext = "<html><head><body><center>I have nothing to say to you.</center></body></html>"
           st.setState(State.STARTED)
           return InitialHtml
    
   QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
    
   for npcId in NPC:
      QUEST.addStartNpc(npcId)
      QUEST.addTalkId(npcId)

 

 

1.htm

Line number On/Off | Expand/Contract | Select all

 

    <html>
    <head>
    <body>
    <font color="B09877"> Delevel Manager: </font><br>
    <font color="FF0000">Be very careful while using this service, level will not given back by GM's!</font>
    <br><br><br><br><br><br><br><center>
    <button value="Delevel 1 Level" action="bypass -h Quest 4005_Delevel 1" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    <font color="B09877"> PutHereAShortScript </font>
   </body>
   </html>

 

 

In gameserver\data\html\default put the following 6949.htm file

Line number On/Off | Expand/Contract | Select all

 

    <html><head><title>DelevelNpc</title></head><body>
    <font color="FF0000">Please take a break and vote for us in HopZone
       "YourVotesAdressIfYouWant"</font></br><br>
    <br>
    <img src="L2UI_CH3.onscrmsg_pattern01_2" width=300 height=32>
    <br><br><br><br><br><br><br><br><br><br><center>
    <button value="Delevel Me" action="bypass -h npc_%objectId%_Quest 4005_Delevel" width=200 height=21 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"><br>
    <br><br><br><br><br><br><br><br><br><br><br><br><br>
    <font color="B09877">HereAShortScriptTO</font>
    </body>
   </center>
   </html>

 

 

In the gameserver\data go to script.cfg and add the midle line between the two existing

Line number On/Off | Expand/Contract | Select all

 

   

    custom/4000_ShadowWeapons/__init__.py
    custom/4005_Delevel/__init__.py
    custom/5000_MissQueen/__init__.py

 

 

Put the sql line in your custom_npc :

Line number On/Off | Expand/Contract | Select all

 

INSERT INTO `custom_npc` VALUES ('6949', '36477', 'BadGuy', '1', 'RamBase][DelevelNpc', '1', 'LineageNPC.a_fighterguild_teacher_MHuman', '8.00', '23.00', '70', 'male', 'L2Npc', '40', '2444', '2444', '0.00', '0.00', '10', '10', '10', '10', '10', '10', '0', '0', '500', '500', '500', '500', '278', '0', '333', '0', '0', NULL, '50', '120', '', '0', '0', '0', 'LAST_HIT', '0', '0', '0', 'balanced');

 

 

I think this should help to put this quest at work, feel free to modify htm or sql, if you do not like the text that appears, or the name of the NPC, or ID_template of NPC.

L.E. I forgot to say, in game spawn 6949 in the place where you want

 

But now I'm getting this error from: __init__.py.error

 

Error on: C:\l2royalknights\gameserver\data\scripts\custom\4005_Delevel\__init__.py.error.log
Line: -1 - Column: -1

Traceback (innermost last):
  (no code object) at line 0
SyntaxError: ('invalid syntax', ('__init__.py', 2, 4, '   from net.sf.l2j.gameserver.model.base           import Experience'))

 

Does anyone know how to fix it?

 

Your faithfully Mitjuh

 

2 answers to this question

Recommended Posts

  • 0
Posted

what pack do u use ? if u use l2jfree then change net.sf.l2j to com.l2jfree , if l2emu , net.l2emuproject

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • I had friends who played on Elegant and I can confirm it wasn't a bad server. I don't know about the AI bots running around, but in my opinion the price is simply too high. I don't think many people will spend that much money on Lineage 2 files when alternatives like L2Scripts already exist.   Of course it's all about personal preference, but for such an old chronicle the price seems ridiculously expensive. Modern chronicles usually offer more value.   Anyway, I wish you the best of luck with the sale. This is just my personal opinion. Whoever likes it, good for them, and whoever doesn't, that's fine too. Everyone has different preferences.
    • https://l2avokado.com/ Hello everyone,   After some time of development, we've decided to open L2Avokado to the public in its current development stage. We're looking for players who enjoy Interlude and would like to help shape the project before its official release.   This isn't a "launch" announcement. Instead, we're inviting the community to log in, explore the server, test the systems we've built, and provide honest feedback. Whether it's bug reports, balance suggestions, progression ideas, or quality-of-life improvements, we'd love to hear them.   Our goal has always been to create an Interlude server that feels familiar while offering a fresh progression experience. We've intentionally avoided custom weapons, armor, and client modifications. Instead, we've focused on redesigning progression through reworked hunting grounds, quests, crafting, and gameplay systems while remaining compatible with a clean Interlude client.   At this stage, the core progression path has been implemented, including the main hunting grounds, quests, custom systems, and events. However, as the project is still under active development, there will inevitably be bugs, balance issues, and areas that require further polishing.   This is exactly why we'd like your help.   We're looking for players who are willing to: Test gameplay and progression. Report bugs and exploits. Suggest balance improvements. Share ideas for new features or quality-of-life changes. Help us build a server that the community genuinely enjoys playing.   The Client and System downloads are already available on our website, so you can jump straight into the game. We're also working on a dedicated launcher that will simplify installation and future updates.   If you're interested in helping develop a unique Interlude project and want your feedback to genuinely influence the direction of the server, we'd love to have you with us.   We look forward to seeing you in-game and hearing your thoughts on Discord. https://l2avokado.com/
    • Mate your server used to play with full of bots, from where you find that revenue? 
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..