Secret Experience

Secret Experience (https://secretexperience.net/)
-   [L2J] Dúvidas (https://secretexperience.net/l2j-duvidas/)
-   -   [Gracia Final] Npc skill (https://secretexperience.net/l2j-duvidas/17907-npc-skill.html)

coiotetg 21-01-2010 12:42 PM

Npc skill
 
Problema
Eu fiz esse script pro NPC dar o skill pro player, ta funcionando.
So tem um problema, a hr q o player sai perde o skill alguem sab como resolver???
Posta ai plz

Vlww
:horse:
Código:

#By RpZ - 18/01/2010
#..........................
import sys


from java.util import StringTokenizer
from java.util.logging import Logger

from net.sf.l2j import Config
from net.sf.l2j.gameserver.datatables import SkillTreeTable
from net.sf.l2j.gameserver.handler import IAdminCommandHandler
from net.sf.l2j.gameserver.model import L2Object
from net.sf.l2j.gameserver.model import L2Skill
from net.sf.l2j.gameserver.model import L2SkillLearn
from net.sf.l2j.gameserver.network import SystemMessageId
from net.sf.l2j.gameserver.network.serverpackets import NpcHtmlMessage
from net.sf.l2j.gameserver.network.serverpackets import PledgeSkillList
from net.sf.l2j.gameserver.network.serverpackets import SystemMessage
from net.sf.l2j.gameserver.util import StringUtil


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.gameserver.instancemanager import TransformationManager
from net.sf.l2j.gameserver.model import L2Transformation
from net.sf.l2j.gameserver.model import L2Skill
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


qn = "99960_SkillManager"

NPC=[40016]
ADENA_ID=57
QuestId = 99960
QuestName = "SkillManager"
QuestDesc = "custom"
InitialHtml = "Start.htm"

print "Importing custom: 99960: SkillManager"

class Quest (JQuest) :

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


def onEvent(self,event,st):
htmltext = event
count=st.getQuestItemsCount(ADENA_ID)
if count < 1000 or st.getPlayer().getLevel() < 70:
htmltext = "<html><head><body> Voce nao pode comprar os Transform Skills <br></body></html>"
return "Error1.htm"
else:
st.takeItems(ADENA_ID,500)
st.getPlayer().setTarget(st.getPlayer())

#Transform Onyx Beast
if event == "1":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(617, 1))
return "1.htm"
st.setState(COMPLETED)

#Transform Death Blader
if event == "2":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(618,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine Warrior
if event == "3":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(656,3))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine KInight
if event == "4":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(657,3))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine Rogue
if event == "5":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(658,3))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine Wizard
if event == "6":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(659,3))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine Summoner
if event == "7":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(660,3))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine Heller
if event == "8":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(661,3))
return "1.htm"
st.setState(COMPLETED)

#Transform Divine Enchanter
if event == "9":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(662,3))
return "1.htm"
st.setState(COMPLETED)

#Transfomr Zaken
if event == "10":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(663,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Anakim
if event == "11":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(664,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Benom
if event == "12":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(665,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Gordon
if event == "13":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(666,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Ranku
if event == "14":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(667,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Kiyachi
if event == "15":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(668,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Demon Prince
if event == "16":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(669,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Heretic
if event == "17":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(670,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Vale Master
if event == "18":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(671,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Saber Tooth Tiger
if event == "19":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(672,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Ol Mahum
if event == "20":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(673,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Doll Blader
if event == "21":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(674,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Grail Apostle
if event == "22":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(541,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Unicorn
if event == "23":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(545,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Lilim Knight
if event == "24":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(548,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Golem Guardian
if event == "25":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(551,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Inferno Drake
if event == "26":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(554,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Dragon Bomber
if event == "27":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(558,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Grail Apostle
if event == "28":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(542,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Unicorn
if event == "29":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(544,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Lilim Knight
if event == "30":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(549,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Dragon Bomber
if event == "31":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(557,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Unicorn
if event == "32":
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(546,1))
return "1.htm"
st.setState(COMPLETED)

#Transform Aura Bird - Falcon
if event == "33":
st.takeItems(ADENA_ID,500)
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(5982,1))
return "2.htm"
st.setState(COMPLETED)

#Transform Aura Bird - Owl
if event == "34":
st.takeItems(ADENA_ID,500)
st.getPlayer().addSkill(SkillTable.getIn stance().getInfo(5983,1))
return "2.htm"
st.setState(COMPLETED)

if htmltext != event:
st.setState(State.COMPLETED)
st.exitQuest(1)
return htmltext


def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><head><body>Nao Tenhu Nada a Oferecer a Voce</body></html>"
st.setState(State.STARTED)
return InitialHtml

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

for npcId in NPC:
QUEST.addStartNpc(npcId)
QUEST.addTalkId(npcId)


Resolvido

e so colocar um TRUE no final.

Exe.:

#Transform Onyx Beast
if event == "1":
st.takeItems(ADENA_ID,500)
st.getPlayer().addSkill(SkillTable.getInstance().g etInfo(617,1),True)
return "1.htm"
st.setState(COMPLETED)


vlw quem ajudou...
Fika a dika caso alguem prescize

Flww

Mart 21-01-2010 01:19 PM

em algumas rev, quando a skill n eh registrada no core, ou algo assim, se a skill nao pertencer a classe e n for registrada ela sai apos o restart, pod ser isso(nao sei como "arruma")

coiotetg 21-01-2010 09:25 PM

esses skills são de transformação do jogo msm naum foi eu q editei e akelas que vc tem que fazer a quest pra conseguir como Transform Onyx Beast, Transform Death Blader, etc.

leoneto 21-01-2010 11:24 PM

Bom edita essas tais skills ! para que você tenha exito no que você quer!

Mart 22-01-2010 12:39 AM

mas entao vc disse q vc criou esse script eh disso q to flando
tipow o jeito q ele ganha a skill meio q "n registra" ela pra q ele possa adquirir denovo qnd logar
eu jah tivesse sse problema em 1 server q criei skills e colokei no fishing manager, mas sumiam qnd dava restart tbm

coiotetg 22-01-2010 07:58 PM

e vc conseguiu resolver???

Mart 23-01-2010 06:48 PM

nao consegui nao=/

coiotetg 04-02-2010 08:02 PM

tem algum comando no java pra registra no D.B. o skill?? :idea:

----------

Resolvido Obrigado a todos :idea::arghh:


Horários baseados na GMT -3. Agora são 07:15 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0