Ir para conteúdo


[Tutorial] NPC BUFFER


207 respostas neste tópico

#141    fredc5000

fredc5000
  • ForeverAlone

  • 29 posts

Postado 30 outubro 2010 - 08:44

Tem como vc fazer um tuto so pra add um npc ja feito nao?

#142    KhayrusS

KhayrusS
  • "O" Cara

  • 3.957 posts

Postado 02 novembro 2010 - 08:32

Tem outros tutoriais de como adicionar NPC, mas de qualquer forma qual a parte que está tendo dificuldades ?

Editado por KhayrusS, 02 novembro 2010 - 08:33.


#143    ruberllan

ruberllan
  • ForeverAlone

  • 16 posts

Postado 04 novembro 2010 - 17:18

Ola amigos alguem pode me da uma ajudinha.
Eu estou com 1 erro que estou virando a noite para resolver.
Meu buffer. ele esta buffando tudo.
Normal Buff.
especial.
Sumon. e muitos outros.

Vai quando eu clico no Songs ou dances. ele entra, mais quando eu vou clica na carinha para me da o buff. da 1 erro. " Scrips Erro " vai quando vou buffa, Buff Fight e mago. também da porque quando vai bufa o Dances e o Song vai da o erro. entender
Entao alguem poderia me da uma ajuda. eu vou colocar aqui minhas scrips todinha. Do normal ate o ultimo buff

==================================================================================================================================================


import sys
from com.l2jlive.gameserver.datatables import SkillTable
from com.l2jlive import L2DatabaseFactory
from com.l2jlive.gameserver.model.quest import State
from com.l2jlive.gameserver.model.quest import QuestState
from com.l2jlive.gameserver.model.quest.jython import QuestJython as JQuest
############################################################################


qn = "99999_NpcBuffer"

NPC = [99999]
ADENA_ID = 57
Val_Buff_Ind = 25000
Val_Buff_All = 250000
Val_Nobless = 750000
QuestId = 99999
QuestName = "NpcBuffer"
QuestDesc = "custom"
InitialHtml = "1.htm"

print "importing custom: 99999: NpcBuffer OK"

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 < 10 or st.getPlayer().getLevel() < 1 :
htmltext = "<html><body><br><center>You Do Not Have Adena!<br>Voce nao tem Adenas suficiente para se buffar!</center></body></html>"
else:
st.takeItems(ADENA_ID,0)
st.getPlayer().setTarget(st.getPlayer())

#===============NORMAL BUFFS====================

#Shield
if event == "1":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1040,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Might
if event == "2":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1068,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Empower
if event == "3":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1059,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Magic Barrier
if event == "4":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Bless the Body
if event == "5":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1045,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Bless the Soul
if event == "6":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1048,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Haste
if event == "7":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Vampiric Rage
if event == "8":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1268,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Acumen
if event == "9":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1085,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Wild Magic
if event == "10":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Death Whisper
if event == "11":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Focus
if event == "12":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1077,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Wild Walk
if event == "13":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Agility
if event == "14":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1087,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Guidance
if event == "15":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1240,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#Advanced Block
if event == "16":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1304,2).getEffects(st.getPlayer(),st.getPlayer())
return "2.htm"
st.setState(COMPLETED)

#===============SPECIAL BUFFS====================

#Prophecy Of Fire
if event == "17":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1356,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#Prophecy Of Wind
if event == "18":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1357,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#Prophecy Of Walter
if event == "19":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1355,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#Great Might
if event == "20":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1388,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#Great Shield
if event == "21":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1389,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#Berserker Spirit
if event == "22":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1062,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#Counter Critical
if event == "23":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1542,2).getEffects(st.getPlayer(),st.getPlayer())
return "3.htm"
st.setState(COMPLETED)

#===============RESIST BUFFS====================

#Resist Fire
if event == "24":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1191,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Resist Poison
if event == "25":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1033,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Resist Wind
if event == "26":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1189,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Resist Aqua
if event == "27":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1182,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Holy Resistence
if event == "28":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1392,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Unholy Resistence
if event == "29":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1393,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Elemental Protection
if event == "30":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1352,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Divine Protection
if event == "31":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1353,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Arcane Protection
if event == "32":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1354,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Resist Shock
if event == "33":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1259,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Metal Shield
if event == "34":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1035,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Concentration
if event == "35":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1078,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Invigor
if event == "36":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1032,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#Kiss Of Eva
if event == "37":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1073,2).getEffects(st.getPlayer(),st.getPlayer())
return "4.htm"
st.setState(COMPLETED)

#===============HEALER BUFFS====================

#Holy Weapon
if event == "38":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1043,2).getEffects(st.getPlayer(),st.getPlayer())
return "5.htm"
st.setState(COMPLETED)

#Regeneration
if event == "39":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1044,2).getEffects(st.getPlayer(),st.getPlayer())
return "5.htm"
st.setState(COMPLETED)

#Clarity
if event == "40":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1397,2).getEffects(st.getPlayer(),st.getPlayer())
return "5.htm"
st.setState(COMPLETED)

#Mana Gain
if event == "41":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1460,2).getEffects(st.getPlayer(),st.getPlayer())
return "5.htm"
st.setState(COMPLETED)

#Prayer
if event == "42":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1307,2).getEffects(st.getPlayer(),st.getPlayer())
return "5.htm"
st.setState(COMPLETED)

#Body Of Avatar
if event == "43":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1311,2).getEffects(st.getPlayer(),st.getPlayer())
return "5.htm"
st.setState(COMPLETED)

#===================SONGS=======================

#Song Of Earth
if event == "44":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(264,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song Of Life
if event == "45":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(265,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song Of Water
if event == "46":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(266,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song Of Warding
if event == "47":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(267,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Wind
if event == "48":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(268,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Hunter
if event == "49":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(269,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Invocation
if event == "50":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(270,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Vitality
if event == "51":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(304,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Vengeance
if event == "52":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(305,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Flame Guard
if event == "53":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(306,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Storm Guard
if event == "54":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(308,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Renewal
if event == "55":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(349,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Meditation
if event == "56":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(363,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Champion
if event == "57":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(364,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#Song of Elemental
if event == "58":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(529,2).getEffects(st.getPlayer(),st.getPlayer())
return "6.htm"
st.setState(COMPLETED)

#==================DANCES=======================

#Dance of Warrior
if event == "59":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(271,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Isparation
if event == "60":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(272,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of fire
if event == "61":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(274,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Fury
if event == "62":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(275,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Concetaion
if event == "63":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(276,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Light
if event == "64":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(277,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Aqua Guard
if event == "65":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(307,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Earth Guard
if event == "66":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(309,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Vampire
if event == "67":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(310,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Protection
if event == "68":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(311,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Siren's Dance
if event == "69":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(365,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Alignment
if event == "70":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(530,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Shadow
if event == "71":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(366,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of Berserker
if event == "72":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(915,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)

#Dance of the Mystic
if event == "73":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(273,2).getEffects(st.getPlayer(),st.getPlayer())
return "7.htm"
st.setState(COMPLETED)


#=================Warcryer======================


#Chant of Battle
if event == "74":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1007,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Shieldin
if event == "75":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1009,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Flame Chant
if event == "76":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1002,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Fire
if event == "77":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1006,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Fury
if event == "78":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1251,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Evasion
if event == "79":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1252,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Rage
if event == "80":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1253,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Predator
if event == "81":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1308,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Spirit
if event == "82":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1362,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)


#Chant of protection
if event == "83":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1461,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#War Chant
if event == "84":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1390,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant Of Victory
if event == "85":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1363,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Magnu's Chant
if event == "86":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1413,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Eagle
if event == "87":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1309,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Chant of Revange
if event == "88":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1284,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#Earth Chant
if event == "89":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1391,2).getEffects(st.getPlayer(),st.getPlayer())
return "8.htm"
st.setState(COMPLETED)

#==================OVERLORD=======================

#Pa'agrian Gift
if event == "90":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1003,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Wisdom of Pa'agrio
if event == "91":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1004,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Blessings of Pa'agrio
if event == "92":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1005,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Glory of Pa'agrio
if event == "93":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1008,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Vision of Pa'agrio
if event == "94":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1249,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Eye of Pa'agrio
if event == "95":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1364,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Soul of Pa'agrio
if event == "96":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1365,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Pa'agrio Victor
if event == "97":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1414,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Pa'agrio's Emblem
if event == "98":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1415,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Tact of Pa'agrio
if event == "99":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1260,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Pa'agrio Haste
if event == "100":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1282,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Pa'agrio's Fist
if event == "101":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1416,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Protect of Pa'agrio
if event == "102":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1250,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)

#Pa'agrio Rage
if event == "103":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1261,2).getEffects(st.getPlayer(),st.getPlayer())
return "9.htm"
st.setState(COMPLETED)


#=================Improved======================

#Improved Combat
if event == "104":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1499,2).getEffects(st.getPlayer(),st.getPlayer())
return "10.htm"
st.setState(COMPLETED)

#Improved Magic
if event == "105":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1500,2).getEffects(st.getPlayer(),st.getPlayer())
return "10.htm"
st.setState(COMPLETED)

#Improved Condition
if event == "106":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1501,2).getEffects(st.getPlayer(),st.getPlayer())
return "10.htm"
st.setState(COMPLETED)

#Improved Critical Atack
if event == "107":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1502,2).getEffects(st.getPlayer(),st.getPlayer())
return "10.htm"
st.setState(COMPLETED)

#Improved Shield Defence
if event == "108":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1503,2).getEffects(st.getPlayer(),st.getPlayer())
return "10.htm"
st.setState(COMPLETED)

#Improved Movement
if event == "109":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(1504,2).getEffects(st.getPlayer(),st.getPlayer())
return "10.htm"
st.setState(COMPLETED)

#==================SUMMON=======================

#Blessing of Queen
if event == "300":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(4699,2).getEffects(st.getPlayer(),st.getPlayer())
return "11.htm"
st.setState(COMPLETED)

#Gift of Queen
if event == "301":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(4700,2).getEffects(st.getPlayer(),st.getPlayer())
return "11.htm"
st.setState(COMPLETED)

#Blessing of Seraphin
if event == "302":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(4702,2).getEffects(st.getPlayer(),st.getPlayer())
return "11.htm"
st.setState(COMPLETED)

#Gift of Seraphim
if event == "303":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(4703,2).getEffects(st.getPlayer(),st.getPlayer())
return "11.htm"
st.setState(COMPLETED)

#=================WARSMITH======================

#Sharp Edge
if event == "114":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(825,2).getEffects(st.getPlayer(),st.getPlayer())
return "12.htm"
st.setState(COMPLETED)

#Spike
if event == "115":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(826,2).getEffects(st.getPlayer(),st.getPlayer())
return "12.htm"
st.setState(COMPLETED)

#Restring
if event == "116":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(827,2).getEffects(st.getPlayer(),st.getPlayer())
return "12.htm"
st.setState(COMPLETED)

#Case Harden
if event == "117":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(828,2).getEffects(st.getPlayer(),st.getPlayer())
return "12.htm"
st.setState(COMPLETED)

#Hard Training
if event == "118":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(829,2).getEffects(st.getPlayer(),st.getPlayer())
return "12.htm"
st.setState(COMPLETED)

#Embroider
if event == "119":
st.takeItems(ADENA_ID,Val_Buff_Ind)
SkillTable.getInstance().getInfo(830,2).getEffects(st.getPlayer(),st.getPlayer())
return "12.htm"
st.setState(COMPLETED)

#==================NOBLESS======================

#Blessing Of Nobless
if event == "120":
st.takeItems(ADENA_ID,Val_Nobless)
SkillTable.getInstance().getInfo(1323,2).getEffects(st.getPlayer(),st.getPlayer())
return "13.htm"
st.setState(COMPLETED)

#===================ARCHER======================

#Fighter Buffer
if event == "121":
st.takeItems(ADENA_ID,Val_Buff_All)
SkillTable.getInstance().getInfo(1040,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1068,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1045,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1048,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1086,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1268,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1077,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1087,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1240,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1388,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1062,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1542,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1259,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1363,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1416,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(4700,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(271,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(272,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(274,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(275,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(310,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(915,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(264,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(265,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(266,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(268,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(269,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(304,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1323,1).getEffects(st.getPlayer(),st.getPlayer())
return "1.htm"
st.setState(State.COMPLETED)

#===================DAGGER======================

#Mage Buffer
if event == "122":
st.takeItems(ADENA_ID,Val_Buff_All)
SkillTable.getInstance().getInfo(1059,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1036,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1045,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1048,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1268,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1085,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1303,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1242,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1077,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1204,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1087,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1413,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1542,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1352,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1035,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1078,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1416,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(4699,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(272,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(273,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(274,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(276,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(277,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(310,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(264,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(265,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(266,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(267,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(268,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(304,2).getEffects(st.getPlayer(),st.getPlayer())
SkillTable.getInstance().getInfo(1323,1).getEffects(st.getPlayer(),st.getPlayer())
return "1.htm"
st.setState(State.COMPLETED)

#==============HEAL AND REMOVE==================

#Heal
if event == "200":
st.getPlayer().setCurrentCp(st.getPlayer().getMaxCp())
st.getPlayer().setCurrentHp(st.getPlayer().getMaxHp())
st.getPlayer().setCurrentMp(st.getPlayer().getMaxMp())
return "1.htm"
st.setState(COMPLETED)

#Remove Buffs
if event == "201":
st.getPlayer().stopAllEffects()
return "1.htm"
st.setState(COMPLETED)

#===================FIM=======================

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


def onTalk (self,npc,player):
st = player.getQuestState(qn)
htmltext = "<html><head><body><center>ERROR<br1>Please, contact the administrator.</center></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)



Alguem poder me ajuda. So folta esse Npc para meu serve fica 100% certinho . Abraços ae
espero ajuda !

#144    KhayrusS

KhayrusS
  • "O" Cara

  • 3.957 posts

Postado 05 novembro 2010 - 16:43

pode dá mais detalhes desse erro ? aparece mais algum, ele não cria um log do erro ?

ou só aparece esse script error? geralmente aparece informações importantes no GS, quando ocorre esse tipo de erro

#145    ruberllan

ruberllan
  • ForeverAlone

  • 16 posts

Postado 05 novembro 2010 - 20:45

pode dá mais detalhes desse erro ? aparece mais algum, ele não cria um log do erro ?

ou só aparece esse script error? geralmente aparece informações importantes no GS, quando ocorre esse tipo de erro

Oie, Scrips erro so aparece quando eu vo clica na carinha do Buffs Songs e dances. Vou passa as Fotos .

Por favor, acesse sua conta ou cadastre-se para ver este conteúdo oculto.


Por favor, acesse sua conta ou cadastre-se para ver este conteúdo oculto.


ve ae so o erros. la em cima é minha lista do buffs

Editado por ruberllan, 05 novembro 2010 - 20:46.


#146    ruberllan

ruberllan
  • ForeverAlone

  • 16 posts

Postado 05 novembro 2010 - 20:46

Oie, Scrips erro so aparece quando eu vo clica na carinha do Buffs Songs e dances. Vou passa as Fotos .

Por favor, acesse sua conta ou cadastre-se para ver este conteúdo oculto.


ve ae so o erros. la em cima é minha lista do buffs



#147    KhayrusS

KhayrusS
  • "O" Cara

  • 3.957 posts

Postado 07 novembro 2010 - 19:02

Não dá pra ver o erro na print que você tirou, se puder mandar outra um pouco maior :D

#148    Turok*

Turok*
  • Muito Noob

  • 84 posts

Postado 08 novembro 2010 - 01:36

Muito bom tutorial. Parabéns

-----------
Como o KhayrusS falou não da para ver o erro na imagem

Editado por Turok*, 08 novembro 2010 - 01:38.


#149    Luiz felie

Luiz felie
  • Muito Noob

  • 60 posts

Postado 08 novembro 2010 - 19:15

Venho aqui postar esse tuto que acho que estava faltando aqui no forúm. Sem mais bla bla vamos começar

Vou começar com o buffer por template

aqui é uma parte do HTML do buffer

<html><title>Buffer</title>
<body>
<br>
<center>
<font color="80F0FF">Custom Buff</font>

<button value="Wind Walk" action="bypass -h npc_%objectId%_MakeBuffs WindWalkbyUsweer" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="Invigore" action="bypass -h npc_%objectId%_MakeBuffs InvigorebyUsweer" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="Mental Shield" action="bypass -h npc_%objectId%_MakeBuffs MentalShieldbyUsweer" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">
<button value="Magic Barrier" action="bypass -h npc_%objectId%_MakeBuffs MagicBarrierbyUsweer" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

<br>

<button value="Back" action="bypass -h npc_%objectId%_Chat" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

<font color="LEVEL">------</font><font color="00FF00">Cost</font> <font color="FF0000">1</font> <font color="00FF00">Buff-</font> <font color="FF0000">40</font><font color="LEVEL">'</font><font color="FF0000">000</font> <font color="00FF00">aden</font><font color="LEVEL">------</font>
</center>
</body>
</html>


Essa parte que eu destaquei é a parte que direciona o html para a tabela dos buffs

<button value="Wind Walk" action="bypass -h npc_%objectId%_MakeBuffs WindWalkbyUsweer" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal">

Agora vou explicar cada parte do html

1º- button -> cria um botão no html ( também pode ser substituido por <a>...</a> no caso de ser um npc mais simples)

2º- value -> o nome que aparece no botão (nesse caso "wind walk")

3º- action -> aqui é a parte fundamental do html, pois ele redireciona o npc para o DB, usando esse codigo: "bypass -h npc_%objectId%_MakeBuffs WindWalkbyUsweer"

bypass -h npc_%objectId%_MakeBuffs (o comando MakeBuffs em algum servidores não funcionará pois precisa ser implementado no java)

essa parte é a que manda o npc buffar o player

WindWalkbyUsweer
esse é o buff que ele vai dá pro player, ele deverá está na tabela buff_templates

4º- width e height-> aqui é a largura e altura do botão da html, respectivamente

5º- back e fore -> aqui são as imagens do botão quando for clicado e o normal, respectivamente


Aqui está a tabela buff_templates
[img]http://img408.imageshack.us/img408/203/bufft.png[/img][img]http://img144.imageshack.us/img144/5430/bufft2.png[/img]

aí vem a pergunta para que serve cada coluna dessa tabela?

1- ID -> Aqui encontrar o ID do nome do buff para direcionamento

.2- name -> Aqui é o nome do buff que usamos para direcionar (nesse caso WindWalkbyUsweer)

.3- Skill_id -> Aqui é o id da skill que o buffer usará

4- Skill_name -> nome da skill que será usada pelo buffer

5- Skill_level -> Level da skill que será usada pelo buffer

.6- skill force -> aqui é usado quando a skill tem stocktype( aconselho que deixe 1 nessa coluna)

.7- Skill order -> usado quando o buffer tem a opção full buff ou buff fight ( aquelas que dá muitos buffs de uma só vez) então so colocar a order dos buffs que queira que seja usado primeiro.

.8- char_min_level -> o level minimo que o player tem que ter para ser buffado

.9- char_max_level -> o level maximo que o player poderá ser buffado

.10- char_race -> expecifica qual a raça do char poderá se buffar ( coloque 0 para que todas as raças possam se buffar)

.11- char_class -> expecifica qual classe poderá se buffar ( coloque 0 para que todas as classes possam se buffar)

.12- char_faction -> esse ainda não testei mas creio que seja para buffar um determinado clan

.13- price_adena -> aqui é o preço do buff

.14- price_points -> aqui pode deixar 0

Então para editar só precisará do html e da tabela buff templates com isso acho que vcs já saberão como adicionar ou remover um buff do npc por template

OBS: Esse Tutorial foi baseado em l2jFree e pode não ser igual em outras REVs


NPC BUFFER POR SCRIPT

1. A HTML DO NPC
Só lembrando que A HTML TEM QUE SER FEITA COM O MESMO ID DO NPC



vou só explicar uma pequena diferença desse html pro outro, que é o caminho do link


ao invés de redirecionar a html pro DB ele redirecionará para uma "quest" (9999_NPCBuffer)


2.Agora partiremos para o SCRIPT do NPC

O npc buffer por script fica na pasta Gameserver/data/script/custom ou jscript/custom
( esse no caso de IL)

Então vá até essa pasta e crie uma pasta com o nome 9999_NPCBuffer, após criar esta pasta abra o bloco de notas e crie um arquivo __init__.py e coloque esse codigo dentro:

Obs: este já ta editado

Por favor, acesse sua conta ou cadastre-se para ver este conteúdo oculto.


Agora vou explicar algumas partes importantes deste arquivo

Por favor, acesse sua conta ou cadastre-se para ver este conteúdo oculto.


aqui ele está importando algums arquivos que já estão no servidor

Geralmente esses pachts mudam de acordo com o pack.
para saber qual é o certo só abrir algum arquivo de quest (__init__.py) que já venha
no server e usar o pacht (caminho)











para adicionar mais buff é só seguir o mesmo raciocionio, não esquecendo de acresentar no event




3. html da quest ( onde estará localizado os links para os buffs)

1.htm
------------------------------------------------------------------------------------------------------------------------------------------
<html><title> Buffer 1</title>
<body>
<br>
Lembrando que voce tem que estar no Nivel <font color="LEVEL">10</font>.
<br>
<img src="L2UI_CH3.onscrmsg_pattern01_2" width=300 height=32 align=left>
<table width="200" border="0">
<tr>

<td><button value="HP-MP" action="bypass -h Quest 9999_NPCBuffer 1" width=80 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> -> aqui é o evento 1 aquele que mostrei aqui em cima pra curar HP e MP

<td><button value="Choose Buffs" action="bypass -h Quest 9999_NPCBuffer 2.htm" width=80 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td></tr> -> aqui é a parte que vai redirecionar para a página de buff que é a 2.htm
</table>
</body>
</center>
</html>
---------------------------------------------------------------------------------------------------------------------------------------------

2.htm
--------------------------------------------------------------------------------------------------------------------------------------------
<html><title>buffer 2</title>
<body>
<button value="WindWalk" action="bypass -h Quest 9999_NPCBuffer 2" width=100 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"></td> -> aqui a única coisa que mudou foi o 2 que diz respeito ao event do wind walk
<button value="Shield" action="bypass -h Quest 9999_NPCBuffer 4" width=100 height=20 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df">
</body>
</html>
---------------------------------------------------------------------------------------------------------------------------------------------

Após ter feito va na pasta jscript/custom ou script/custom abra o arquivo __init__.py e adicione a pasta do seu buffer




Então para adicionar mais buffs só lembra de editar no arquivo __init__.py e no html.

Não esqueça seja criativo, mude, inove. vc pode fazer diversas páginas com buffs diferentes buffs separado por class e talz

Acho que é só isso que tenho para passar pra vocês, qualquer dúvida é só perguntar, e se alguém acha que está faltando alguma coisa favor posta ai ou manda mp para eu adicionar


credits: KhayrusS

Proibida a reprodução mesmo que em partes desse tutorial sem a publicação dos devidos créditos de criação

Por favor, acesse sua conta ou cadastre-se para ver este conteúdo oculto.



Nossa Mt Complicado ;@
LINEAGE 2 VIBE , AGUARDEM

#150    KhayrusS

KhayrusS
  • "O" Cara

  • 3.957 posts

Postado 10 novembro 2010 - 19:43

Pode até parecer assim a primeira vista, mas na verdade é bem fácil.

PS.: Não precisava dá quote no post inteiro [img]http://www.l2jbrasil.com/public/style_emoticons/default/wink.gif[/img], Algum moderador favor editar [img]http://www.l2jbrasil.com/public/style_emoticons/default/happy.gif[/img]

#151    TrFlAsHs

TrFlAsHs
  • Muito Noob

  • 123 posts

Postado 14 novembro 2010 - 11:45

Queria saber como faço para consertar os buff´s do meu server
(l2Dot)
estou com esta dúvida se puder me ajudar eu agradeço

#152    KhayrusS

KhayrusS
  • "O" Cara

  • 3.957 posts

Postado 17 novembro 2010 - 21:55

consertar? explica seu problema amigo

#153    Abɳorɱąly

Abɳorɱąly
  • Muito Noob

  • 150 posts

Postado 24 dezembro 2010 - 01:53

Muito Bom mesmo Mano,Adorei!

[img]http://img3.imageshack.us/img3/5602/37880807.png[/img]

Estou com um novo usuário ( Luan Otávio )


#154    Seifer Almasy®

Seifer Almasy®
  • Noob

  • 454 posts

Postado 14 janeiro 2011 - 09:36

KhayrusS, mal pela demora... mas obrigado por tirar as duvidas quando tu lançou esse tópico, não uso mais esse NPC Buffer, mas na época as dicas foram muito uteis

to usando uma modificação do Rin4a's Buffer, dei uma atualizada nos buffs e coloquei de volta os buffs de Overlord, breve eu posto aqui

abraços

SERVIDOR FREYA E INTERLUDE

HTTP://WWW.LINEAGEBRASIL.COM.BR


#155    tonysk8

tonysk8
  • Muito Noob

  • 78 posts

Postado 08 abril 2011 - 10:57

Atencao alguem me manda um tutorial de como add os npc com jscript e script pow e muito foda esse negocio de init___py pow porfavor uma luz desde ja agradeço

#156    KhayrusS

KhayrusS
  • "O" Cara

  • 3.957 posts

Postado 08 abril 2011 - 20:25

O tutorial está ai, que parte está com dificuldade ?

#157    Boss-Brlegends

Boss-Brlegends
  • Noob

  • 219 posts

Postado 14 maio 2011 - 15:35

Parabéns fico muito bom :laugh:

#158    Boss-Brlegends

Boss-Brlegends
  • Noob

  • 219 posts

Postado 14 maio 2011 - 16:31

vlw ajudo muito

#159    FireWord

FireWord
  • ForeverAlone

  • 3 posts

Postado 30 maio 2011 - 22:22

Quote
poxa, parabens ótimo...

...mais no meu server esta ocorrendo um erro de quest...

diz que tipo, eu não estou destinado a esta quest, ou não tenho o criterio a ser usado.


...sabe oq é isto?? obrgiado!!



isso ai acontece pq vc n add a linha no arquivo script.

custom/999_npcbuffer __inity__.
algo assim.


#160    xxEspermAxx

xxEspermAxx
  • Muito Noob

  • 60 posts

Postado 13 junho 2011 - 12:01

Fiz por template
Mais to com um problema
Como faço pra colocar algum tipo de return; ?
Porque quando buffo, a tela de buff não volta,
Sendo assim preciso abrir denovo --'
Jáá to fritando com esse trem kkkkkk

E outra, cmo coloco opção de heal e de cancel por template ?
Obg, Otimo tutorial




0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 usuários anônimos

© L2jBrasil - Todos os direitos reservados
NCsoft©, the interlocking NC logo, Lineage© II, and all associated logos and designs are trademarks or registered trademarks or service marks of NCsoft Corp.
All rights reserved and other trademarks are the property of their respective owners.