Ir para conteúdo

Npc Addon


Pedr1nh0

Posts Recomendados

Primeiramente oi,

Eu Hoje vim mostrar a minha nova invençao...O NPC de addon só que inves de ele pedir 5 e 10 mil ele pede items, mas nao para addon 1 e addon 2 e sim para cada addon de cada roupa eu pus um certo item!!!

 

local focus = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

end

 

 

function onCreatureAppear(creature)

 

end

 

 

function onCreatureDisappear(cid, pos)

if focus == cid then

selfSay('Tchau, Volte sempre.')

focus = 0

talk_start = 0

end

end

 

 

function onCreatureTurn(creature)

 

end

 

 

function msgcontains(txt, str)

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

end

 

 

function onCreatureSay(cid, type, msg)

msg = string.lower(msg)

 

if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Ola ' .. creatureGetName(cid) .. '! Eu tenho todos os addons é só falar o nome da roupa e primeiro pro addon 1 e segundo pro addon 2 exemplo: Beggar primeiro...Aviso:Nao vendo addon de summoner Female por ela nao ter a roupa!!!')

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Desculpe, ' .. creatureGetName(cid) .. '!Ja Falo Com Você Um Minuto!.')

 

elseif focus == cid then

talk_start = os.clock()

 

if msgcontains(msg, 'citizen primeiro') then

selfSay('Voce tem as 100 Chiken Feathers necessarias para conseguir o addon?')

talk_state = 1

 

elseif msgcontains(msg, 'citizen segundo') then

selfSay('Você tem os 50 Honeycomb necessarios para conseguir o addon?')

talk_state = 2

 

elseif msgcontains(msg, 'mage primeiro') then

selfSay('Você tem as 100 Holy Orchid necessarias para conseguir o addon?')

talk_state = 3

 

elseif msgcontains(msg, 'mage segundo') then

selfSay('Você tem o Ferumbras Hat necessario para conseguir o addon?')

talk_state = 4

 

elseif msgcontains(msg, 'hunter primeiro') then

selfSay('Você tem as 10 Enchanted Chicken Feather necessarias para conseguir o addon?')

talk_state = 5

 

elseif msgcontains(msg, 'hunter segundo') then

selfSay('Você tem a Sniper Glove necessaria para conseguir o addon?')

talk_state = 6

 

elseif msgcontains(msg, 'knight primeiro') then

selfSay('Você tem os 100 Iron Ores necessarios para conseguir o addon?')

talk_state = 7

 

elseif msgcontains(msg, 'knight segundo') then

selfSay('Você tem os 50 Perfect Behemonth Fangs necessarios para conseguir o addon?')

talk_state = 8

 

elseif msgcontains(msg, 'wizard primeiro') then

selfSay('Você tem o Ring Of The Sky necessario para conseguir o addon?')

talk_state = 9

 

elseif msgcontains(msg, 'wizard segundo') then

selfSay('Você tem os 50 Holy Orchids necessarios para conseguir o addon?')

talk_state = 10

 

elseif msgcontains(msg, 'warrior primeiro') then

selfSay('Você tem as 50 Turtle Shells necessarias para conseguir o addon?')

talk_state = 11

 

elseif msgcontains(msg, 'warrior segundo') then

selfSay('Você tem os 50 Ape Fur necessarios para conseguir o addon?')

talk_state = 12

 

elseif msgcontains(msg, 'summoner primeiro') then

selfSay('Você tem os 50 Ape Fur necessarios para conseguir o addon?')

talk_state = 13

 

elseif msgcontains(msg, 'summoner segundo') then

selfSay('Você tem os 5 Magic Sulphur necessarios para conseguir o addon?')

talk_state = 14

 

elseif msgcontains(msg, 'oriental primeiro') then

selfSay('Você tem os 100 Fish Fin necessarios para conseguir o addon?')

talk_state = 15

 

elseif msgcontains(msg, 'oriental segundo') then

selfSay('Você tem os 100 Blue Piece Of Cloth necessarios para conseguir o addon?')

talk_state = 16

 

elseif msgcontains(msg, 'druid primeiro') then

selfSay('Você tem as 100 Wolf Paws necessarias para conseguir o addon?')

talk_state = 17

 

elseif msgcontains(msg, 'druid segundo') then

selfSay('Você tem os 100 Demon Dust necessarios para conseguir o addon?')

talk_state = 18

 

elseif msgcontains(msg, 'barbarian primeiro') then

selfSay('Você tem os 100 Spider Silks necessarios para conseguir o addon?')

talk_state = 19

 

elseif msgcontains(msg, 'barbarian segundo') then

selfSay('Você tem os 50 Green Piece of Cloth necessarios para conseguir o addon?')

talk_state = 20

 

elseif msgcontains(msg, 'nobleman primeiro') then

selfSay('Você tem os 150k necessarios para conseguir o addon?')

talk_state = 21

 

elseif msgcontains(msg, 'nobleman segundo') then

selfSay('Você tem os 150k necessarios para conseguir o addon?')

talk_state = 22

 

elseif msgcontains(msg, 'assassin primeiro') then

selfSay('Você tem os 100 Beholder Eyes necessarios para conseguir o addon?')

talk_state = 23

 

elseif msgcontains(msg, 'assassin segundo') then

selfSay('Você tem os 100 White Pieces of Cloth necessarios para conseguir o addon?')

talk_state = 24

 

elseif msgcontains(msg, 'beggar primeiro') then

selfSay('Você tem as 100 Minotaur Leather necessarias para conseguir o addon?')

talk_state = 25

 

elseif msgcontains(msg, 'beggar segundo') then

selfSay('Você tem os 20k necessarios para conseguir o addon?')

talk_state = 26

 

elseif msgcontains(msg, 'norseman primeiro') then

selfSay('Você tem os 100 Red Dragon Scale necessarios para conseguir o addon?')

talk_state = 27

 

elseif msgcontains(msg, 'norseman segundo') then

selfSay('Você tem as 100 Dwarf Beards necessarias para conseguir o addon?')

talk_state = 28

 

elseif msgcontains(msg, 'pirate primeiro') then

selfSay('Você tem os 100 Eye Patch necessarios para conseguir o addon?')

talk_state = 29

 

elseif msgcontains(msg, 'pirate segundo') then

selfSay('Você tem as 100 Peg Legs necessarias para conseguir o addon?')

talk_state = 30

 

elseif msgcontains(msg, 'shaman primeiro') then

selfSay('Você tem as 5 Behemonth Claw necessarias para conseguir o addon?')

talk_state = 31

 

elseif msgcontains(msg, 'shaman segundo') then

selfSay('Você tem as 5 Banana Staffs necessarias para conseguir o addon?')

talk_state = 32

 

elseif msgcontains(msg, 'nightmare primeiro') then

selfSay('Você tem os 50 Demoniac Essences necessarios para conseguir o addon?')

talk_state = 33

 

elseif msgcontains(msg, 'nightmare segundo') then

selfSay('Você tem o Fire Bug necessario para conseguir o addon?')

talk_state = 34

 

elseif msgcontains(msg, 'brotherwood primeiro') then

selfSay('Você tem os 100 Perfect Behemonth Fang necessarios para conseguir o addon?')

talk_state = 35

 

elseif msgcontains(msg, 'brotherwood segundo') then

selfSay('Você tem as 100 Lizard Leathers necessarias para conseguir o addon?')

talk_state = 36

 

elseif msgcontains(msg, 'jester primeiro') then

selfSay('Você tem os 100 Yellow Piece of Cloth necessarios para conseguir o addon?')

talk_state = 37

 

elseif msgcontains(msg, 'jester segundo') then

selfSay('Você tem os 100 Green Piece of Cloth necessarios para conseguir o addon?')

talk_state = 38

 

elseif talk_state == 1 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5890,100) == TRUE then

doPlayerAddAddon(cid, 136, 1)

doPlayerAddAddon(cid, 128, 1)

 

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 2 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5902,50) == TRUE then

doPlayerAddAddon(cid, 136, 2)

doPlayerAddAddon(cid, 128, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 3 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5922,100) == TRUE then

doPlayerAddAddon(cid, 130, 1)

doPlayerAddAddon(cid, 138, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 4 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5903,1) == TRUE then

doPlayerAddAddon(cid, 130, 2)

doPlayerAddAddon(cid, 138, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 5 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5891,10) == TRUE then

doPlayerAddAddon(cid, 129, 1)

doPlayerAddAddon(cid, 137, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 6 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5875,1) == TRUE then

doPlayerAddAddon(cid, 129, 2)

doPlayerAddAddon(cid, 137, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 7 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5880,100) == TRUE then

doPlayerAddAddon(cid, 131, 1)

doPlayerAddAddon(cid, 139, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 8 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5893,50) == TRUE then

doPlayerAddAddon(cid, 131, 2)

doPlayerAddAddon(cid, 139, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 9 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,2123,50) == TRUE then

doPlayerAddAddon(cid, 145, 1)

doPlayerAddAddon(cid, 149, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 10 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5922,50) == TRUE then

doPlayerAddAddon(cid, 145, 2)

doPlayerAddAddon(cid, 149, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 11 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5899,50) == TRUE then

doPlayerAddAddon(cid, 134, 1)

doPlayerAddAddon(cid, 142, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 12 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5883,50) == TRUE then

doPlayerAddAddon(cid, 134, 2)

doPlayerAddAddon(cid, 142, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 13 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5883,50) == TRUE then

doPlayerAddAddon(cid, 133, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 14 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5904,5) == TRUE then

doPlayerAddAddon(cid, 133, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 15 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5895,100) == TRUE then

doPlayerAddAddon(cid, 146, 1)

doPlayerAddAddon(cid, 150, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 16 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5912,50) == TRUE then

doPlayerAddAddon(cid, 146, 2)

doPlayerAddAddon(cid, 150, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 17 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5897,100) == TRUE then

doPlayerAddAddon(cid, 144, 1)

doPlayerAddAddon(cid, 148, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 18 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5906,100) == TRUE then

doPlayerAddAddon(cid, 144, 2)

doPlayerAddAddon(cid, 148, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 19 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5879,100) == TRUE then

doPlayerAddAddon(cid, 143, 1)

doPlayerAddAddon(cid, 147, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 20 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5910,50) == TRUE then

doPlayerAddAddon(cid, 143, 2)

doPlayerAddAddon(cid, 147, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 21 then

if msgcontains(msg, 'yes') then

if pay(cid,150000) == TRUE then

doPlayerAddAddon(cid, 132, 1)

doPlayerAddAddon(cid, 140, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 22 then

if msgcontains(msg, 'yes') then

if pay(cid,150000) == TRUE then

doPlayerAddAddon(cid, 132, 2)

doPlayerAddAddon(cid, 140, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 23 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5898,100) == TRUE then

doPlayerAddAddon(cid, 152, 1)

doPlayerAddAddon(cid, 156, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 24 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5909,100) == TRUE then

doPlayerAddAddon(cid, 152, 2)

doPlayerAddAddon(cid, 156, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 25 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5878,100) == TRUE then

doPlayerAddAddon(cid, 153, 1)

doPlayerAddAddon(cid, 157, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 26 then

if msgcontains(msg, 'yes') then

if pay(cid,20000) == TRUE then

doPlayerAddAddon(cid, 153, 2)

doPlayerAddAddon(cid, 157, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 27 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5882,100) == TRUE then

doPlayerAddAddon(cid, 251, 1)

doPlayerAddAddon(cid, 252, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 28 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5900,100) == TRUE then

doPlayerAddAddon(cid, 251, 2)

doPlayerAddAddon(cid, 252, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 29 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,6098,100) == TRUE then

doPlayerAddAddon(cid, 151, 1)

doPlayerAddAddon(cid, 155, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 30 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,6126,100) == TRUE then

doPlayerAddAddon(cid, 151, 2)

doPlayerAddAddon(cid, 155, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 31 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5930,5) == TRUE then

doPlayerAddAddon(cid, 154, 1)

doPlayerAddAddon(cid, 158, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 32 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,3966,5) == TRUE then

doPlayerAddAddon(cid, 154, 2)

doPlayerAddAddon(cid, 158, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 33 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,6500,50) == TRUE then

doPlayerAddAddon(cid, 268, 1)

doPlayerAddAddon(cid, 269, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 34 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5468,1) == TRUE then

doPlayerAddAddon(cid, 268, 2)

doPlayerAddAddon(cid, 269, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 35 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5893,100) == TRUE then

doPlayerAddAddon(cid, 278, 1)

doPlayerAddAddon(cid, 279, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 36 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5876,100) == TRUE then

doPlayerAddAddon(cid, 278, 2)

doPlayerAddAddon(cid, 279, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 37 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5914,100) == TRUE then

doPlayerAddAddon(cid, 273, 1)

doPlayerAddAddon(cid, 270, 1)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif talk_state == 38 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5910,100) == TRUE then

doPlayerAddAddon(cid, 273, 2)

doPlayerAddAddon(cid, 270, 2)

else

selfSay('Desculpe Você nao tem o necessario para esse addon.')

end

end

talk_state = 0

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Tchau, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

end

 

 

function onCreatureChangeOutfit(creature)

 

end

 

 

function onThink()

doNpcSetCreatureFocus(focus)

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Proximo Porfavor...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Tchau, Tchau Amigo.')

focus = 0

end

end

end

 

Eu tentei me basear no npc de addon do tibia global...portanto havera alguns que até tem os itens do tibia global...mas como nao quis dificultar muito escolhi apenas um item para cada addon para nao dar muita confusao...tambem nao quis dar muito confusao entre sexo entao quando por exemplo voce comprar a bolsa do citizen voce vai receber a da mulher e do homem mais como voce tem apenas um tipo de roupa a outra addon sera apenas ignorada...aahh quase me eskeci voces vao ver que tem um ali que só tem addon para homens...é o do summoner...nao tem roupa de summoner de mulher no ot...na verdade tem mas esta no lugar da roupa de mage porque a roupa de mage nao existe!!!

 

Esse NPC foi 100% criado por Pedr1nh0 (EU)

Bem na verdade vamos falar em 99%

Eu tive uma duvida sobre o npc e _Ferrari_ me ajudou entao ele merece um pouco de credito

 

Esse NPC é de 8.1...creio que funcione em todos...nao cheguei a testar...e tbm acredito que funcione em 8.0 pois nao há muita diferença entre os npcs de 8.0 pra 8.1

 

Ai Tbm tem os addons do Jester (akele palhaço) O Brotherhood (O escudeiro axo que é) e o Nightmare (a Morte)

 

Qualquer duvida é só postar que estarei olhando diariamente!!!

 

FIQUEI MAIS DE 4 HORAS FAZENDO ESSE NPC...CE FOR USAR PELO MENOS COMENTE!!!

 

Ce alguem achar alguma erro que eu deixei pra tras...que eu sou meio quarta feira...intaum ce tiver alguma coisa errada comente aki que eu tento resolver o mais rapido possivel pra que mais ninguem pegue o erro!!!

Espero ter ajudado

 

!!!!!!Galera o Conde sapo que ajudou arrumando o npc!!!!

Vlw ai todo mundo pelo post...eu só nao coloquei todo mundo aki pq ce nao ia ficar uma bagunça!!

Editado por Pedr1nh0
Link para o comentário
Compartilhar em outros sites

  • Respostas 66
  • Created
  • Última resposta

Top Posters In This Topic

EHHHHHH

pra vc intender ,vc jah tem q saber bem sobre ot... eu sou iniciante e n intendi como colocar ele no server...

poderia estar mais explicado

mais vlw pelo esforço... e ótima idéia

soh podia explicar um pouco melhor !!

Link para o comentário
Compartilhar em outros sites

Isso é bem simples...voce vai copiar ali oque eu coloquei dentro do quote para o seu addon.lua la no data>npc>scripts...ce voce nao tiver npc de addon que eu axo meio dificil voce volta na pasta de npcs copia qualquer npc e cola...ai vc vai ter o atalho dakele npc ai voce muda o nome pro nome que voce quer dar ao npc e abre vai estar assim:

 

<?xml version="1.0"?>

 

<npc name="Varkhal" script="data/npc/scripts/addon.lua" access="5" lookdir="2">

<mana now="800" max="800"/>

<health now="200" max="200"/>

<look type="134" head="78" body="88" legs="0" feet="88"/>

</npc>

 

No lugar onde esta varkhal vc poe o nome do teu npc...

aonde ta addon voce dexa addon

e ai o resto é voce que decide a roupa e a vida e tudo mais

ai depois voce vai para a pasta de scripts e copia e cola algum arquivo...

coloque o nome da pasta de addon.lua para bater com o npc e copie oq esta ali emcima para la dentro!!!

 

Espero ter ajudado

Editado por Pedr1nh0
Link para o comentário
Compartilhar em outros sites

Cara, to me matando aqui pra conseguir fazer um NPC de Addon, só que eu to fazendo com quests, então complica muito mais.

Achei muito boa sua script e de muita utilidade, pois pensei em fazer isso (dividir addon por addon) mas eu queria saber aonde que tu descobriu os números de cada addon. Ali aonde aparece "addon(cid,136,1)" e "addon(cid,136,2)" se não me engano. nota: foi só um exemplo. aonde que tu achou aquele 136?? Vlw

Link para o comentário
Compartilhar em outros sites

Cara, to me matando aqui pra conseguir fazer um NPC de Addon, só que eu to fazendo com quests, então complica muito mais.

Achei muito boa sua script e de muita utilidade, pois pensei em fazer isso (dividir addon por addon) mas eu queria saber aonde que tu descobriu os números de cada addon. Ali aonde aparece "addon(cid,136,1)" e "addon(cid,136,2)" se não me engano. nota: foi só um exemplo. aonde que tu achou aquele 136?? Vlw

 

Entao cara é assim no data tem um arquivo que chama outfits.xml

la fala o nome e o id de todas as roupas...ai é só vc pegar e copiar.

 

Mas tipo eu vo avisando eu demorei mais ou menos 4 horas e meia catando id de char e o id de item

ce vc quiser eu fiz aki num caderno tudo bunitinhu os nomes dos items e os ids e tudo mais...me manda uma pm que agente ce fala!!!

 

Vlw pela correçao _Ferrari_

Editado por Pedr1nh0
Link para o comentário
Compartilhar em outros sites

Pessoal...o Kremus me pediu um otro jeito de fazer o npc e eu axei interessante e eu vo postar aki

 

local focus = 0

local talk_start = 0

local target = 0

local following = false

local attacking = false

 

function onThingMove(creature, thing, oldpos, oldstackpos)

 

end

 

 

function onCreatureAppear(creature)

 

end

 

 

function onCreatureDisappear(cid, pos)

if focus == cid then

selfSay('Tchau, Volte sempre.')

focus = 0

talk_start = 0

end

end

 

 

function onCreatureTurn(creature)

 

end

 

 

function msgcontains(txt, str)

return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))

end

 

 

function onCreatureSay(cid, type, msg)

msg = string.lower(msg)

 

if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then

selfSay('Ola ' .. creatureGetName(cid) .. '! Voce gostaria de obter qual addon???')

focus = cid

talk_start = os.clock()

 

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then

selfSay('Desculpe, ' .. creatureGetName(cid) .. '!Ja Falo Com Você Um Minuto!.')

 

elseif focus == cid then

talk_start = os.clock()

 

if msgcontains(msg, 'citizen 1') then

selfSay('Você ira precisar de 100 chicken feathers para conseguir o addon, quando voce conseguir é só falar (chicken feather) e voce ira obter o addon')

talk_state = 1

 

elseif msgcontains(msg, 'chicken feather') then

selfSay('Vejo que conseguiu as 100 chicken feathers,deseja obter o addon?')

talk_state = 1

 

elseif talk_state == 1 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5890,100) then

doPlayerAddAddon(cid, 136, 1)

doPlayerAddAddon(cid, 128, 1)

 

else

selfSay('Voce ta tentando me enrola!?!?')

end

end

talk_state = 0

 

 

if msgcontains(msg, 'citizen 2') then

selfSay('Você ira precisar de 50 honeycombs para conseguir o addon, quando voce conseguir é só falar (honeycomb) e voce ira obter o addon')

talk_state = 2

 

elseif msgcontains(msg, 'honeycomb') then

selfSay('Vejo que conseguiu as 50 heoneycomb,deseja obter o addon?')

talk_state = 2

 

elseif talk_state == 2 then

if msgcontains(msg, 'yes') then

if doPlayerRemoveItem(cid,5902,50) then

doPlayerAddAddon(cid, 136, 1)

doPlayerAddAddon(cid, 128, 1)

 

else

selfSay('Voce ta tentando me enrola!?!?')

end

end

talk_state = 0

 

elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then

selfSay('Tchau, ' .. creatureGetName(cid) .. '!')

focus = 0

talk_start = 0

end

end

end

 

 

function onCreatureChangeOutfit(creature)

 

end

 

 

function onThink()

doNpcSetCreatureFocus(focus)

if (os.clock() - talk_start) > 30 then

if focus > 0 then

selfSay('Proximo Porfavor...')

end

focus = 0

end

if focus ~= 0 then

if getDistanceToCreature(focus) > 5 then

selfSay('Tchau, Tchau Amigo.')

focus = 0

end

end

end

 

 

Não muda muito mas desse jeito o npc explica como voce deve fazer a quest...ai ficam da escolha de voces!!!

Link para o comentário
Compartilhar em outros sites


×
×
  • Criar Novo...