Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
top Pk\PvP
#1
Здравствуйте,скачал себе на зборку РТ1.4 менеджера который показывает топ пк и пвп установил когда загружается гейм серве пишется типо несмогло запустить скрипт,я взял скопировал все импорты с гм бафера и заменил ими,скрипт загружается и даже работает но в окне гейм сервера выдает ошибки.Можед кто подправить его для моей зборки:
Цитата:# ####################
# http://www.l2jtitan.com #
# ####################

import sys
from net.sf.l2j.gameserver.model.actor.instance import L2PcInstance
from java.util import Iterator
from net.sf.l2j.gameserver.datatables import SkillTable
from net.sf.l2j import L2DatabaseFactory
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

print "importing custom: NPC Ranking L2Jtitan"

# ***************************************
# Inicializacion de Variables del Quest *
# ***************************************

NPC=[80300]
Precio_ID = 57

QuestId = 80300
QuestName = "rank"
QuestDesc = "custom"
InitialHtml = "1.htm"

# ************************
# Creando la Clase Quest *
# ************************

class Quest (JQuest) :

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

# ***********************
# Si hablas con el NPC: *
# ***********************
def onTalk (self,npc,player):
return InitialHtml
# ***********************

# *****************************************************
# Ahora gobernamos los eventos que vienen desde el HTML
# *****************************************************
def onEvent(self,event,st):
htmltext = event
cantidad_pago = st.getQuestItemsCount(Precio_ID)

# *********
# PK info *
# *********

if event == "1" and cantidad_pago >= 3000 :
st.takeItems(Precio_ID,3000)
total_asesinados = 0
htmltext_ini = "<html><head><title>Pk Info Online</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Player ***</color></center></td><td><center>*** Kills ***</center></td></tr>"
htmltext_info =""
color = 1
pos = 0
con = L2DatabaseFactory.getInstance().getConnection()
pks = con.prepareStatement("SELECT char_name,pkkills FROM characters WHERE pkkills>0 and accesslevel=0 order by pkkills desc limit 30")
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
con.close()
return htmltext_pklist
elif event == "1" and cantidad_pago < 3000 :
htmltext = "<html><head><title>PK info Online</title></head><body><font color =\"FF0000\">Primero pagame...!! son 3000 adenas.</body></html>"
return htmltext

# **********
# PvP info *
# **********

if event == "2" and cantidad_pago >= 3000 :
st.takeItems(Precio_ID,3000)
total_asesinados = 0
htmltext_ini = "<html><head><title>PvP info Online</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Player ***</color></center></td><td><center>*** Kills ***</center></td></tr>"
htmltext_info =""
color = 1
pos = 0
con = L2DatabaseFactory.getInstance().getConnection()
pks = con.prepareStatement("SELECT char_name,pvpkills FROM characters WHERE pvpkills>0 and accesslevel=0 order by pvpkills desc limit 30")
rs = pks.executeQuery()
while (rs.next()) :
char_name = rs.getString("char_name")
char_pkkills = rs.getString("pvpkills")
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) + " Kills.</center></body></html>"
htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
con.close()
return htmltext_pklist
elif event == "2" and cantidad_pago < 3000 :
htmltext = "<html><head><title>PK info Online</title></head><body><font color =\"FF0000\">Primero pagame...!! son 3000 adenas.</body></html>"
return htmltext

# *************
# Adenas info *
# *************

if event == "3" and cantidad_pago >= 100000 :
st.takeItems(Precio_ID,100000)
total_cantidad = 0
htmltext_ini = "<html><head><title>Adena info Online</title></head><body><table width=300><tr><td><font color =\"FF00FF\">Pos.</td><td><center><font color =\"FFFF00\">*** Name ***</color></center></td><td><center>*** Adenas ***</center></td></tr>"
htmltext_info =""
color = 1
pos = 0
con = L2DatabaseFactory.getInstance().getConnection()
pks = con.prepareStatement("SELECT count,owner_id FROM items WHERE item_id=57 order by count desc limit 20")
rs = pks.executeQuery()
while (rs.next()) :
cantidad = rs.getString("count")
pj_id = rs.getString("owner_id")
total_cantidad = total_cantidad + long(cantidad)
pos = pos + 1
posstr = str(pos)
charname = con.prepareStatement("SELECT char_name FROM characters WHERE charId=" + pj_id)
rs2 = charname.executeQuery()
while (rs2.next()) :
char_name = rs2.getString("char_name")
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>" + cantidad + "</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>" + cantidad + "</center></td></tr>"
htmltext_end = "</table><center><font color=\"FFFFFF\">" + "Los TOPS suman " + str(total_cantidad) + " adenas.</center></body></html>"
htmltext_pklist = htmltext_ini + htmltext_info + htmltext_end
con.close()
return htmltext_pklist
elif event == "3" and cantidad_pago < 3000 :
htmltext = "<html><head><title>Adenas info Online</title></head><body><font color =\"FF0000\">Primero pagame...!! son 100k adenas.</body></html>"
return htmltext


# *************************************************
# Insertando Quest en la lista de Quest disponibles
# *************************************************

QUEST = Quest(QuestId,str(QuestId) + "_" + QuestName,QuestDesc)


for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)
Помогите кто сможет))
(from net.sf.l2j в бафере такое)
Ответ
#2
Pro_Stalker Написал:..но в окне гейм сервера выдает ошибки.

Ошибки в студию.
Ответ
#3
Если скрипт работает в игре, то скорее всего в ГС не ошибки, а WARNING, т.е. предупреждение что в скрипте что-то лишнее, скорее всего запихнул лишний импорт, неиспользуемый, удалишь его и перестанет писать.
Ответ
#4
Вот это появляется:
Цитата:Failed getting state for quest 80300_rank (id:80300) = NPE:null
java.lang.NullPointerException
at net.sf.l2j.gameserver.model.quest.QuestState.getStateId(QuestState.ja
va:180)
at net.sf.l2j.gameserver.model.quest.Quest.createQuestInDb(Quest.java:84
8)
at net.sf.l2j.gameserver.model.quest.Quest.newQuestState(Quest.java:189)

at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.showQuestWin
dow(L2NpcInstance.java:1421)
at net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance.onBypassFeed
back(L2NpcInstance.java:1071)
at net.sf.l2j.gameserver.model.actor.instance.L2FolkInstance.onBypassFee
dback(L2FolkInstance.java:284)
at net.sf.l2j.gameserver.model.actor.instance.L2MerchantInstance.onBypas
sFeedback(L2MerchantInstance.java:163)
at net.sf.l2j.gameserver.clientpackets.RequestBypassToServer.runImpl(Req
uestBypassToServer.java:129)
at net.sf.l2j.gameserver.clientpackets.L2GameClientPacket.run(L2GameClie
ntPacket.java:76)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Добавлено через 1 час 47 минут
Ммм знает кто как исправить это?)))
Ответ
#5
судя по всему у тебя сборка не лижа, а ты пихаешь ивент для лижи.
Человек ты хоть раз побывал запихнуть свою голову в клетку попугая? Нет? а ты попробуй и ты поймешь что ты делаешь со скриптом Smile

для начала отредактируй import для своей сборки, а если ты даже не понимаешь о чем я тебе пишу тогда флаг в руки тебе и поиск в гугле "java уроки"
[Изображение: guru.gif] Сижу на zone-game, помогаю и напрягаю других.
Ответ
#6
ММ ну ясно все)
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)