Hello i search forum for my problem but i don't find sth.. so i post it here...
i updated my server pack L2J server Beta to a new revirsion and i have problem with my custom npcs... like toplist npc
the code is this .
import sys
from java.util import Iterator
from com.l2jserver import L2DatabaseFactory
from com.l2jserver.gameserver.model.quest import State
from com.l2jserver.gameserver.model.quest import QuestState
from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest
qn = "36601_Toplist"
NPC = 36601
QuestId = 36601
MIN_LEVEL = 0
MAX_LEVEL = 86
QuestName = "Toplist"
QuestDesc = "custom"
InitialHtml = "1.htm"
DonateMaster = "This ain't no free service nubblet! Now get out of my hare... Get it, 'hare'? - That gets me every time!"
class Quest (JQuest):
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onEvent(self,event,st):
htmltext = event
level = st.getPlayer().getLevel()
levelup = 86 - level
if level < MIN_LEVEL :
return"<html><head><body>No quicky for you! - Your to young shorty!</body></html>"
if level > MAX_LEVEL :
return"<html><head><body>No quicky for you! - Your to old fatty!</body></html>"
else:
#PK INFO
if event == "01":
con = L2DatabaseFactory.getInstance().getConnection()
total_asesinados = 0
htmltext_ini = "<html><head><title>PK List</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Player ***</color></center></td><td><center>*** Kill's ***</center></td></tr>"
htmltext_info =""
color = 1
pos = 0
pks = con.prepareStatement("SELECT char_name,pkkills FROM characters WHERE pkkills>0 and accesslevel=0 order by pkkills desc limit 50")
rs = pks.executeQuery()
while (rs.next()) :
char_name = rs.getString("char_name")
char_pkkills = rs.getString("pkkills")
total_asesinados = total_asesinados + int(char_pkkills)
pos = pos + 1
posstr = str(pos)
if color == 1:
color_text = "<font color =\"00FFFF\">"
color = 2
htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>"
elif color == 2:
color_text = "<font color =\"FF0000\">"
color = 1
htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>"
htmltext_end = "</table><center><font color=\"FFFFFF\">" + "A Total of " + str(total_asesinados) + " Pk's.</center></body></html>"
htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
L2DatabaseFactory.close(con)
return htmltext_pklist
#PVP INFO
if event == "02":
con = L2DatabaseFactory.getInstance().getConnection()
total_asesinados = 0
htmltext_ini = "<html><head><title>PvP List</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Player ***</color></center></td><td><center>*** Kill's ***</center></td></tr>"
htmltext_info =""
color = 1
pos = 0
pks = con.prepareStatement("SELECT char_name,pvpkills FROM characters WHERE pvpkills>0 and accesslevel=0 order by pvpkills desc limit 50")
rs = pks.executeQuery()
while (rs.next()) :
char_name = rs.getString("char_name")
char_pvpkills = rs.getString("pvpkills")
total_asesinados = total_asesinados + int(char_pvpkills)
pos = pos + 1
posstr = str(pos)
if color == 1:
color_text = "<font color =\"00FFFF\">"
color = 2
htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pvpkills + "</center></td></tr>"
elif color == 2:
color_text = "<font color =\"FF0000\">"
color = 1
htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pvpkills + "</center></td></tr>"
htmltext_end = "</table><center><font color=\"FFFFFF\">" + "A Total of " + str(total_asesinados) + " PvP's.</center></body></html>"
htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
L2DatabaseFactory.close(con)
return htmltext_pklist
if htmltext != event:
st.exitQuest(1)
return htmltext
def onFirstTalk (self,npc,player):
st = player.getQuestState(qn)
if not st : st = self.newQuestState(player)
return InitialHtml
QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)
QUEST.addStartNpc(NPC)
QUEST.addFirstTalkId(NPC)
QUEST.addTalkId(NPC)
print "###############################"
print "# Top Lists - Loaded #"
print "# #"
and when i start my gameserver.bat show me an error . i go to __init__.py error,log and i see this
Error on: C:\server new\game\data\scripts\custom\36601_Toplist\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
File "custom/36601_Toplist/__init__.py", line 6, in ?
ImportError: no module named jython
and its true because no jython moduls is at com.l2jserver.gameserver.model.quest.jython .....
and here is a foto of my java
any solution ... to change com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest to sth else location that will exist jython??
You think you have good “l2j” files until you try running a low-rate server.
Saying “there’s not a single L2 server out there worth mentioning” just shows you probably only know the first 10 servers on voting sites, the same voting sites that owned by them.
You call the forum dead, yet you’re here discussing your next projects…
From my perspective, you don’t seem ready to run any L2 server in 2025.
Around 70% of players are here for RMT or ask for payment just to bring their clan, and you really think the community cares about Premium or donations or files quality?
The other 20% spend their time downloading and deleting servers all day, playing for one day, then quitting for whatever random reason.
And finally, the last 10% are the only ones who actually play because they genuinely like your features, your server files, and your overall project.
Good luck 🙂
I genuinely admire your bravery - in an age where AI can whip up something better in under a minute, you still stubbornly try to sell these "projects" of yours on a forum that’s been clinically dead for years. That’s no longer determination, that’s digital archaeology.
I just can’t tell whether you’re actually trying to make money, or simply testing how much we can endure before we ask an AI to generate you some actual talent.
And ofc AI will make it for free, $220 saved.
I’m glad I’m not the only one who appreciates Maxthor’s involvement in group gay orgies, he can’t be bothered to reply to messages, but covering the entire forum in gay lights is absolutely no issue for him.
As for the project - the forum is packed with feedback from the testers, the lads are spending every spare moment fixing even the tiniest typo in an NPC’s text. I’ll share the links as soon as I get the green light.
Edit: I forgot to add that the GM recruitment will begin once the links are released. Three people will be accepted, and they’ll work in a three-shift rotation so that there’s always a GM available online.
Added: a brand-new default dashboard template.
You can now add multiple game/login server builds.
Full support for running both PTS & L2J servers simultaneously, with switching between them.
Payment systems: added OmegaPay and Pally (new PayPal-style API).
Account history now stores everything: donations, items delivered to characters, referrals, transfers between game accounts, and coin transfers to another master account.
Personal Promo Code System: you can create a promo code and assign it to a user or promoter. When donating, a player can enter this promo code to receive bonus coins, and the promo code owner also receives a bonus — all fully configurable in the admin panel.
Look demo site: demo
Question
~!M@R@SL@K0SsS!~
Hello i search forum for my problem but i don't find sth.. so i post it here...
i updated my server pack L2J server Beta to a new revirsion and i have problem with my custom npcs... like toplist npc
the code is this .
import sys from java.util import Iterator from com.l2jserver import L2DatabaseFactory from com.l2jserver.gameserver.model.quest import State from com.l2jserver.gameserver.model.quest import QuestState from com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest qn = "36601_Toplist" NPC = 36601 QuestId = 36601 MIN_LEVEL = 0 MAX_LEVEL = 86 QuestName = "Toplist" QuestDesc = "custom" InitialHtml = "1.htm" DonateMaster = "This ain't no free service nubblet! Now get out of my hare... Get it, 'hare'? - That gets me every time!" class Quest (JQuest): def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr) def onEvent(self,event,st): htmltext = event level = st.getPlayer().getLevel() levelup = 86 - level if level < MIN_LEVEL : return"<html><head><body>No quicky for you! - Your to young shorty!</body></html>" if level > MAX_LEVEL : return"<html><head><body>No quicky for you! - Your to old fatty!</body></html>" else: #PK INFO if event == "01": con = L2DatabaseFactory.getInstance().getConnection() total_asesinados = 0 htmltext_ini = "<html><head><title>PK List</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Player ***</color></center></td><td><center>*** Kill's ***</center></td></tr>" htmltext_info ="" color = 1 pos = 0 pks = con.prepareStatement("SELECT char_name,pkkills FROM characters WHERE pkkills>0 and accesslevel=0 order by pkkills desc limit 50") rs = pks.executeQuery() while (rs.next()) : char_name = rs.getString("char_name") char_pkkills = rs.getString("pkkills") total_asesinados = total_asesinados + int(char_pkkills) pos = pos + 1 posstr = str(pos) if color == 1: color_text = "<font color =\"00FFFF\">" color = 2 htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>" elif color == 2: color_text = "<font color =\"FF0000\">" color = 1 htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pkkills + "</center></td></tr>" htmltext_end = "</table><center><font color=\"FFFFFF\">" + "A Total of " + str(total_asesinados) + " Pk's.</center></body></html>" htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end L2DatabaseFactory.close(con) return htmltext_pklist #PVP INFO if event == "02": con = L2DatabaseFactory.getInstance().getConnection() total_asesinados = 0 htmltext_ini = "<html><head><title>PvP List</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Player ***</color></center></td><td><center>*** Kill's ***</center></td></tr>" htmltext_info ="" color = 1 pos = 0 pks = con.prepareStatement("SELECT char_name,pvpkills FROM characters WHERE pvpkills>0 and accesslevel=0 order by pvpkills desc limit 50") rs = pks.executeQuery() while (rs.next()) : char_name = rs.getString("char_name") char_pvpkills = rs.getString("pvpkills") total_asesinados = total_asesinados + int(char_pvpkills) pos = pos + 1 posstr = str(pos) if color == 1: color_text = "<font color =\"00FFFF\">" color = 2 htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pvpkills + "</center></td></tr>" elif color == 2: color_text = "<font color =\"FF0000\">" color = 1 htmltext_info = htmltext_info + "<tr><td><center><font color =\"FF00FF\">" + posstr + "</td><td><center>" + color_text + char_name +"</center></td><td><center>" + char_pvpkills + "</center></td></tr>" htmltext_end = "</table><center><font color=\"FFFFFF\">" + "A Total of " + str(total_asesinados) + " PvP's.</center></body></html>" htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end L2DatabaseFactory.close(con) return htmltext_pklist if htmltext != event: st.exitQuest(1) return htmltext def onFirstTalk (self,npc,player): st = player.getQuestState(qn) if not st : st = self.newQuestState(player) return InitialHtml QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc) QUEST.addStartNpc(NPC) QUEST.addFirstTalkId(NPC) QUEST.addTalkId(NPC) print "###############################" print "# Top Lists - Loaded #" print "# #"and when i start my gameserver.bat show me an error . i go to __init__.py error,log and i see this
and its true because no jython moduls is at com.l2jserver.gameserver.model.quest.jython .....
and here is a foto of my java
any solution ... to change com.l2jserver.gameserver.model.quest.jython import QuestJython as JQuest to sth else location that will exist jython??
thn'x in advance
19 answers to this question
Recommended Posts