Ir para conteúdo
  • Cadastre-se
  • 0

NPC ranking online


M4sTeR

Pergunta

alguem sabe arrumar?

cada vez que arrumo uma coisa, aparece outra errada ;s

Abaixo o arquivo __init__.py

 

import sys

from java.lang import System

from java.util import Iterator

from open.brasil.util import Rnd

from open.brasil.gameserver.model.quest import State

from open.brasil.gameserver.model.quest import QuestState

from open.brasil.gameserver.model.quest.jython import QuestJython as JQuest

from open.brasil.gameserver.network.serverpackets import CreatureSay

from open.brasil import L2DatabaseFactory

# ***************************************

# 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,1)

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 < 1 :

htmltext = "<html><head><title>PK info Online</title></head><body><font color =\"FF0000\">Primeira pagina.</body></html>"

return htmltext

 

# **********

# PvP info *

# **********

 

if event == "2" and cantidad_pago >= 3000 :

st.takeItems(Precio_ID,1)

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\">Primeira pagina.</body></html>"

return htmltext

 

# *************

# Adenas info *

# *************

 

if event == "3" and cantidad_pago >= 1 :

st.takeItems(Precio_ID,1)

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 < 1 :

htmltext = "<html><head><title>Adenas info Online</title></head><body><font color =\"FF0000\">Primeira pagina.</body></html>"

return htmltext

 

 

# *************************************************

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

 

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

 

 

for npcId in NPC:

QUEST.addStartNpc(npcId)

QUEST.addTalkId(npcId)

 

Abaixo o __init__.py.error.log

Error on: C:\Users\.......\OpenBR 2.2\gameserver\data\scripts\custom\80300_rank\__init__.py.error.log

Line: -1 - Column: -1

 

Traceback (innermost last):

(no code object) at line 0

SyntaxError: ('invalid syntax', ('__init__.py', 2, 9, ' from java.lang import System'))

 

Consegui fazer o meu funcionar, adaptei de um service manager :biggrin:

Editado por M4sTeR
thisistankeh0.gif
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts recomendados

Até agora não há respostas para essa pergunta

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...




×
×
  • Criar Novo...

Important Information

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.