Ir para conteúdo

Npc Que Vende Bp De Runa


sharkrox

Posts Recomendados

o.O Bom consegui fazer o npc que venda bps de runas sem compilar etc...

ai vai o codigo e uma explicaçao rapida!

meu segundo tuto o primeiro e sobre runa a anda na agua , fogo e swap link

http://www.xtibia.com/forum/index.php?showtopic=23533

focus = 0

talk_start = 0

target = 0

following = false

attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end

function onCreatureAppear(creature)

end

function onCreatureDisappear(cid, pos)

if focus == cid then

        selfSay('Good bye then.')

        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 ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 3 then

  selfSay('Olá ' .. creatureGetName(cid) .. '! Eu vendo bps de runas. por favor no local onde fica sua bp deixe-o com espaço ou vazio , diga por exemplo: bp sd 100')

  focus = cid

  talk_start = os.clock()

elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 3 then

  selfSay('Desculpe, ' .. creatureGetName(cid) .. '! Eu falo com você em um minuto.')

      elseif msgcontains(msg, 'bps') and focus == cid then

  selfSay('Eu vendo bps de runas 100 cargas! Diga por exemplo: "bp sd 100".')

  talk_start = os.clock()

      elseif msgcontains(msg, 'runas') and focus == cid then

  selfSay('Eu vendo bps de runas 100 cargas! Diga por exemplo: "bp sd 100".')

  talk_start = os.clock()

            elseif msgcontains(msg, 'bp 100') and focus == cid then

  selfSay('Eu vendo bps de hmm 100x (1k), gfb 100x (2k), explosion 100x (4k), uh 100x (6k), sd 100x (8k).')

  talk_start = os.clock()

      elseif msgcontains(msg, 'runa 100') and focus == cid then

  selfSay('Eu vendo bps de hmm 100x (50gps), gfb 100x (100gps), explosion 100x (200gps), uh 100x (300), sd 100x (400).')

  talk_start = os.clock()

      elseif msgcontains(msg, 'bp gfb 100') and focus == cid then

  buy(cid,2000,1,2000)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  buy(cid,2304,100,0)

  talk_start = os.clock()

elseif msgcontains(msg, '100 gfb') and focus == cid then

  buy(cid,2000,100,100)

  talk_start = os.clock()

      elseif msgcontains(msg, 'bp explosion 100') and focus == cid then

  buy(cid,2001,1,2001)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  buy(cid,2313,100,0)

  talk_start = os.clock()

elseif msgcontains(msg, '100 explosion') and focus == cid then

  buy(cid,2001,100,200)

  talk_start = os.clock()

      elseif msgcontains(msg, 'bp uh 100') and focus == cid then

  buy(cid,2002,1,2002)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  buy(cid,2273,100,0)

  talk_start = os.clock()

elseif msgcontains(msg, '100 uh') and focus == cid then

  buy(cid,2002,100,300)

  talk_start = os.clock()

      elseif msgcontains(msg, 'bp sd 100') and focus == cid then

  buy(cid,2003,1,2003)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  buy(cid,2268,100,0)

  talk_start = os.clock()

elseif msgcontains(msg, '100 sd') and focus == cid then

  buy(cid,2003,100,400)

  talk_start = os.clock()

elseif msgcontains(msg, 'blank') and focus == cid then

  buy(cid,3085,1,5)

  talk_start = os.clock()

  elseif string.find(msg, '(%a*)bye(%a*)')  and getDistanceToCreature(cid) < 3 then

  selfSay('Até logo, ' .. creatureGetName(cid) .. '!')

  focus = 0

  talk_start = 0

  end

end

function onCreatureChangeOutfit(creature)

end

function onThink()

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

  if focus > 0 then

  selfSay('Próximo por favor...')

  end

  focus = 0

end

end

OBS: PARA QUE AS RUNAS VENHAM DENTRO DA BP E PRECISO AVISA AOS PLAYER Q RETIREM A BP PRINCIPAL, CASO ISSO NAO SEJA FEITO AS RUNAS CAIRAM NO CHAO.

1.criando o arquivo abre a pasta \data\npc\scripts copie qualquer arquivo.lua apage tudo q ha dentro dele e cole os codigo do quote acima,renomeire como bp.lua

2.na pasta data/npc copie um npcqualquer muda o nome e dentro do arquivo do npc mude o diretorio ex: <npc name="BP" script="data/npc/scripts/bp.lua".

Pronto agora NPC feito.

Comentem plx =]

Nao retirem os creditos!!

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

Tava bom até vc fala que as runa pode cair no chão...

Tipow, comé que c vai avisa a cada um que entra que o npc que vende runa tem que tira bp principal pra recebe tudo? :/

Mas gostei..

:)

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

¬¬

vc q fez eh?

sei sei...

ja vi um tropico desses aki no site e q por acaso foi eu q postei...

seu azar eh q eu reconheci q esse eh o meu npc...pois esta igual ao q eu fiz..vc soh modifico a msg inicial e tal...mas o resto ta igual e vc esqueceu tbm de por a bp de hmm...deve ter copiado errado do topico verdadero...por favor ponha os creditos certos!!!

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...

rox.. :D

vo coloca no meu serv pra ve..

isso funciona na versão 7.6?

essa coisa de cai no chão é rlz..

so coloca a bp na flexa..

ou na mão..

nen é sempre que vão compra runa mesmo..

geralmente os serv deixa 100x..

gostei..

vlw..

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

Ow cara..bem legal o teu..

mas eu já tinha feito otro aki pro meu ot..

Em relação a esse problema das Runas cairem no chão...

eu fiz um tipo de grade..saca?? igual a de super mercado..

fico ######..neguinho fala benzão..hahahah

Abraço

//Briel

Link para o comentário
Compartilhar em outros sites

  • 4 weeks later...
×
×
  • Criar Novo...