Jump to content
  • 0

[Help]Max level by NPC


Question

Posted

Hey, i want NPC who can give 85lvl and 100% by one click. What parameter i need to use? Here is my code:

 

   elif event == "level" :
     st.takeItems(ITEM,CDAD)
     level = st.getPlayer().getLevel() + 9
     exp = st.getPlayer().getStat().getExpForLevel(level)
     st.getPlayer().getStat().setExp(exp)
     st.getPlayer().getStat().setLevel(level)
     htmltext = "ok.htm"
     st.getPlayer().broadcastUserInfo()
     st.exitQuest(1)
   return htmltext

4 answers to this question

Recommended Posts

  • 0
Posted

Just copy paste code from "//set_level" command.

 

I must add you shouldn't write with python if you got the possibility (and probably you use postIL stuff).

 

"st.getPlayer()" probably can be replaced by "player", depending of method itself.

 

And finally there isn't any check if the guy is already lvl 85 (or perhaps there is, but you're too greedy to share the whole file and I can't guess it). Whch means you can perma use that NPC.

 

Nunu,

 

Tk.

  • 0
Posted
but you're too greedy to share the whole file and I can't guess it

 

Nope... here is full code...

 

 

### By Foxer #########################
#      Desleveador IL by Foxer       #
#  v1.0 - 01/12/2009 - Buenos Aires  #
######################################

import sys
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 = "8205_MaxLvl"
QuestName   = "Leveling"
QuestDesc   = "quest"
NPC = 5009
ITEM = 57
CDAD  = 25000

class Quest (JQuest) :

def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)

def onEvent (self,event,st) :
   htmltext=event
   if st.getQuestItemsCount(ITEM) < CDAD :
     htmltext = "error.htm"
     st.exitQuest(1)
   elif event == "level" :
     st.takeItems(ITEM,CDAD)
     level = st.getPlayer().getLevel() + 9
     exp = st.getPlayer().getStat().getExpForLevel(level)
     st.getPlayer().getStat().setExp(exp)
     st.getPlayer().getStat().setLevel(level)
     htmltext = "ok.htm"
     st.getPlayer().broadcastUserInfo()
     st.exitQuest(1)
   return htmltext

def onTalk (Self,npc,player):
   st = player.getQuestState(qn)
   return "main.htm"

QUEST       = Quest(int(NPC),qn,"custom")
QUEST.addStartNpc(NPC)
QUEST.addTalkId(NPC)
print "------------- Wczytano 8205 MaxLvl."

 

 

  • 0
Posted

Depending of your IL (I guess it, seeing net.sf.l2j) pack, you can use Java or not, same question (what's your godamn pack) resolves the fact if you can use player instead of st.getPlayer() - using onAdvEvent() instead of onEvent().

 

Frozen you can't, aCis / Sigmo and some others you can.

 

If you use postIL pack (so far, net.sf.l2j is used for Kamael... From what I rem), I guess you got aswell old script engine.

 

As I guessed, you got no check for max lvl. Try to translate that in code :

if level == 85 else send another htm

 

And as I told you, check //set_level admincommand and see how it is build. Basically you only have to copy paste...

 

If you got another code to show, feel free to post to be corrected.

 

You baby panda killer.

Guest
This topic is now closed to further replies.


×
×
  • Create New...