- 0
-
Quem Está Navegando
- Nenhum usuário registrado visualizando esta página.
-
Posts
-
O conteúdo está oculto, favor efetuar login ou se cadastrar! Entre ou Cadastre-se
-
Boa Noite Galera o @Mr.Kadu postou o link do projeto mas eu fiz um erro e estarei postando a correção. aqueles que baixou o projeto e tentou ligar e deu erro e por causa do java que foi copilado eu copilei no java 22 e o projeto e no java 17 vou postar o link aqui para vcs, vai incluso a Geodata O conteúdo está oculto, favor efetuar login ou se cadastrar! Entre ou Cadastre-se
-
Nova Revisão com AutoFarm e .Menu O conteúdo está oculto, favor efetuar login ou se cadastrar! Entre ou Cadastre-se
-
alguem tambem esta tendo problemas com email ? quando vc loga com a conta e nao tem email cadastrado. eu levo erro 500
-
muito bom meu amigo. vou começar os testes........
-
@Mr.Kadu VOU COMEÇA OS TESTES AGORA MESMO. VOU VER SE COLOCO UM PROJETO ONLINE. USANDO SUA BASE, AI SERÁ MUITO BOM PRA REPORTAR. abraços mano e muito boa iniciativa com esse projeto, que muitos usaram.
-
Por Gabrieljdb · Postado
Falta arquivo "armorgrp.dat" alguém poderia postar. Grato! -
Também to querendo só a textura do drop no chão, se alguém tiver.
-
Opa Obrigado amigo e aguarde que vamos tentar por todas as quests 99,9% funcional principalemnte porque projeto acis nao vi ate agora com quest 90%
-
Pergunta
xChL
Alguem me arruma o __init__.py da quest de certification ... o meu eh esse ai em baixo ... so q esta dando o seguinte erro ...
Error on: C:\Documents and Settings\Administrador\Desktop\Server Definitivo\l2jfree-gameserver\dist\data\scripts\village_master\9002_SubClassCertification\__init__.py.error.log
Line: -1 - Column: -1
Traceback (innermost last):
(no code object) at line 0
SyntaxError: ('inconsistent dedent', ('__init__.py', 155, 12, ' htmltext = html.replace("%level%",(event[3:5]))'))
#
# Created by Gigiikun on 2009.06.01.
import sys
from com.l2jfree.gameserver.datatables import CharTemplateTable
from com.l2jfree.gameserver.model.base import ClassType
from com.l2jfree.gameserver.model.base import Race
from com.l2jfree.gameserver.model.quest import State
from com.l2jfree.gameserver.model.quest import QuestState
from com.l2jfree.gameserver.model.quest.jython import QuestJython as JQuest
from com.l2jfree.gameserver.network import SystemMessageId
from com.l2jfree.gameserver.network.serverpackets import SystemMessage
qn = "9002_SubClassCertification"
NPC=[30026,30031,30037,30066,30070,30109,30115,30120,30154,30174,30175,30176,30187, \
30191,30195,30288,30289,30290,30297,30358,30373,30462,30474,30498,30499,30500, \
30503,30504,30505,30508,30511,30512,30513,30520,30525,30565,30594,30595,30676, \
30677,30681,30685,30687,30689,30694,30699,30704,30845,30847,30849,30854,30857, \
30862,30865,30894,30897,30900,30905,30910,30913,31269,31272,31276,31279,31285, \
31288,31314,31317,31321,31324,31326,31328,31331,31334,31336,31755,31958,31961, \
31965,31968,31974,31977,31996,32092,32093,32094,32095,32096,32097,32098,32145, \
32146,32147,32150,32153,32154,32157,32158,32160,32171,32193,32199,32202,32213, \
32214,32221,32222,32229,32230,32233,32234]
WARRIORCLASSES=[3,88,2,89,46,48,113,114,55,117,56,118,127,131,128,129,132,133]
ROGUECLASSES=[9,92,24,102,37,109,130,134,8,93,23,101,36,108]
KNIGHTCLASSES=[5,90,6,91,20,99,33,106]
SUMMONERCLASSES=[14,96,28,104,41,111]
WIZARDCLASSES=[12,94,13,95,27,103,40,110]
HEALERCLASSES=[16,97,30,105,43,112]
ENCHANTERCLASSES=[17,98,21,100,34,107,51,115,52,116,135,136]
COMMONITEM=10280
ENHANCEDITEM=10612
CLASSITEMS={
0:10281, # Warriors
1:10282, # Knights
2:10283, # Rogues
3:10287, # Enchanters
4:10284, # Wizards
5:10286, # Summoners
6:10285 # Healers
}
TRANSFORMITEMS={
0:10289, # Warriors
1:10288, # Knights
2:10290, # Rogues
3:10293, # Enchanters
4:10292, # Wizards
5:10294, # Summoners
6:10291 # Healers
}
def getClassIndex(player):
if player.getClassId().getId() in WARRIORCLASSES:
return 0
if player.getClassId().getId() in KNIGHTCLASSES:
return 1
if player.getClassId().getId() in ROGUECLASSES:
return 2
if player.getClassId().getId() in ENCHANTERCLASSES:
return 3
if player.getClassId().getId() in WIZARDCLASSES:
return 4
if player.getClassId().getId() in SUMMONERCLASSES:
return 5
if player.getClassId().getId() in HEALERCLASSES:
return 6
return -1
def getCertified(player, itemId, var):
st = player.getQuestState(qn)
qvar = st.getGlobalQuestVar(var)
if qvar != "" and qvar != "0" :
return ""
item = player.getInventory().addItem("Quest", itemId, 1, player, player.getTarget())
st.saveGlobalQuestVar(var,str(item.getObjectId()))
smsg = SystemMessage(SystemMessageId.EARNED_ITEM)
smsg.addItemName(item)
player.sendPacket(smsg)
return
class Quest (JQuest) :
def __init__(self,id,name,descr): JQuest.__init__(self,id,name,descr)
def onAdvEvent (self, event, npc, player) :
st = player.getQuestState(qn)
htmltext = event
if event == "GetCertified":
if player.isSubClassActive():
if npc.checkVillageMaster(player.getActiveClass()):
if player.getLevel() >= 65:
return "CertificationList.htm"
else:
return "9002-08.htm"
else:
return "9002-04.htm"
else:
return "9002-03.htm"
elif event == "Obtain65":
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce esta tentando adquirir uma skill de sub-classe do %level% do tipo %class%, %skilltype%. Lembre-se que uma vez adquirido o certificado nao sera possivel mudar a roda da certificacao, a menos que voce cancele todas skills aprendidas. Se a subclasse for cancelada, voce so perdera as skills caso as cancele e nao tenha o nivel necessario para re-adquirir.<br>Voce deseja receber o certificado?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event%\">Obter a certificacao.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Nao obter a certificacao.</a></body></html>"
htmltext = html.replace("%level%","65").replace("%class%",str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%","common skill").replace("%event%","lvl65Emergent")
elif event == "Obtain70":
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce esta tentando adquirir uma skill de sub-classe do %level% do tipo %class%, %skilltype%. Lembre-se que uma vez adquirido o certificado nao sera possivel mudar a roda da certificacao, a menos que voce cancele todas skills aprendidas. Se a subclasse for cancelada, voce so perdera as skills caso as cancele e nao tenha o nivel necessario para re-adquirir.<br>Voce deseja receber o certificado?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event%\">Obter a certificacao.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Nao obter a certificacao.</a></body></html>"
htmltext = html.replace("%level%","70").replace("%class%",str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%","common skill").replace("%event%","lvl70Emergent")
elif event == "Obtain75":
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce esta tentando adquirir uma skill de sub-classe do %level% do tipo %class%, %skilltype%. Lembre-se que uma vez adquirido o certificado nao sera possivel mudar a roda da certificacao, a menos que voce cancele todas skills aprendidas. Se a subclasse for cancelada, voce so perdera as skills caso as cancele e nao tenha o nivel necessario para re-adquirir.<br>Voce deseja receber o certificado?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event1%\">Obter a certificacao de uma classe especifica.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification %event2%\">Obter uma certificacao mestre.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Nao obter a certificacao.</a></body></html>"
htmltext = html.replace("%level%","75").replace("%class%",str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%","common skill or special skill").replace("%event1%","lvl75Class").replace("%event2%","lvl75Master")
elif event == "Obtain80":
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>YVoce esta tentando adquirir uma skill de sub-classe do %level% do tipo %class%, %skilltype%. Lembre-se que uma vez adquirido o certificado nao sera possivel mudar a roda da certificacao, a menos que voce cancele todas skills aprendidas. Se a subclasse for cancelada, voce so perdera as skills caso as cancele e nao tenha o nivel necessario para re-adquirir.<br>Voce deseja receber o certificado?<br><a action=\"bypass -h Quest 9002_SubClassCertification %event%\">Obter a certificacao.</a><br><a action=\"bypass -h Quest 9002_SubClassCertification 9002-05.htm\">Nao obter a certificacao.</a></body></html>"
htmltext = html.replace("%level%","80").replace("%class%",str(CharTemplateTable.getInstance().getClassNameById(player.getActiveClass()))).replace("%skilltype%","transformation skill").replace("%event%","lvl80Class")
elif event.startswith("lvl"):
level = int(event[3:5])
type = event.replace(event[0:5],"")
prefix = "-" + str(player.getClassIndex())
if type == "Emergent":
isAvailable65 = st.getGlobalQuestVar("EmergentAbility65" + prefix)
isAvailable70 = st.getGlobalQuestVar("EmergentAbility70" + prefix)
if event == "lvl65Emergent":
if isAvailable65 == "" or isAvailable65 == "0":
if player.getLevel() > 64:
itemId = COMMONITEM
var = "EmergentAbility" + str(level) + prefix
getCertified(player, itemId, var)
return "9002-07.htm"
else:
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce nao esta preparado para aprender uma skill de certificacao do nivel %level%. Obtenha mais experiência e retorne quando estiver apto.</body></html>"
htmltext = html.replace("%level%",(event[3:5]))
return htmltext
else:
return "9002-06.htm"
elif event == "lvl70Emergent":
if isAvailable70 == "" or isAvailable70 == "0":
if player.getLevel() > 69:
itemId = COMMONITEM
var = "EmergentAbility" + str(level) + prefix
getCertified(player, itemId, var)
return "9002-07.htm"
else:
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce nao esta preparado para aprender uma skill de certificacao do nivel %level%. Obtenha mais experiência e retorne quando estiver apto.</body></html>"
htmltext = html.replace("%level%",(event[3:5]))
return htmltext
else:
return "9002-06.htm"
elif type == "Master":
isAvailable = st.getGlobalQuestVar("ClassAbility75" + prefix)
if isAvailable == "" or isAvailable == "0":
if player.getLevel() > 74:
itemId = ENHANCEDITEM
var = "ClassAbility" + str(level) + prefix
getCertified(player, itemId, var)
return "9002-07.htm"
else:
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce nao esta preparado para aprender uma skill de certificacao do nivel %level%. Obtenha mais experiência e retorne quando estiver apto.</body></html>"
htmltext = html.replace("%level%",(event[3:5]))
return htmltext
else:
return "9002-06.htm"
elif type == "Class":
if level == 75:
isAvailable = st.getGlobalQuestVar("ClassAbility75" + prefix)
if isAvailable == "" or isAvailable == "0":
if player.getLevel() > 74:
itemId = CLASSITEMS[getClassIndex(player)]
var = "ClassAbility" + str(level) + prefix
getCertified(player, itemId, var)
return "9002-07.htm"
else:
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce nao esta preparado para aprender uma skill de certificacao do nivel %level%. Obtenha mais experiência e retorne quando estiver apto.</body></html>"
htmltext = html.replace("%level%",(event[3:5]))
return htmltext
else:
return "9002-06.htm"
elif level == 80:
isAvailable = st.getGlobalQuestVar("ClassAbility80" + prefix)
if isAvailable == "" or isAvailable == "0":
if player.getLevel() > 79:
itemId = TRANSFORMITEMS[getClassIndex(player)]
var = "ClassAbility" + str(level) + prefix
getCertified(player, itemId, var)
return "9002-07.htm"
else:
html = "<html><body>Certificacao de Skills de Sub-Classe:<br>Voce nao esta preparado para aprender uma skill de certificacao do nivel %level%. Obtenha mais experiência e retorne quando estiver apto.</body></html>"
htmltext = html.replace("%level%",(event[3:5]))
return htmltext
else:
return "9002-06.htm"
return htmltext
def onTalk (Self,npc,player):
st = player.getQuestState(qn)
npcId = npc.getNpcId()
if npcId in NPC:
st.set("cond","0")
st.setState(State.STARTED)
return "9002-01.htm"
QUEST = Quest(-1,qn,"village_master")
for item in NPC:
QUEST.addStartNpc(item)
QUEST.addTalkId(item)
Link para o comentário
Compartilhar em outros sites
32 respostass a esta questão
Posts recomendados