Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Eae galera blz. Hoje eu vim trazer para vocês um NPC que Anuncia o que o Player quer. Este NPC é como o comando /b

Só que para o Player. Bom vamos lá....

1º- Vá em: data/npc/scripts Crie o arquivo Anunciante.lua e cole isso dentro:

]-- NPC Broadcaster by Alreth, v1.40, 2008-09-22 17:50 CET

-- Idea by souhlen (Anel)

-- Thanks to Qwerty| for helping fix the spambug

-- Thanks to Colandus for providing changes for compability with Tibia 8.21/22.

focus = 0

next_focus = 0

talk_start = 0

msgHi = 'Oi! Quer Anunciar algo para todo o mundo? Meu Slowbro faz isso muito bem...'

msgBye = 'Peace!'

price = 200000 <<----- Preço

inConvo = 0

broadcast = ''

cast = ''

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(msgBye)

distFocus = getDistanceToCreature(next_focus)

if (distFocus ~= nil and distFocus < 4) then

selfSay(msgHi)

talk_start = os.clock()

focus = next_focus

next_focus = 0

inConvo = 1

else

focus = 0

talk_start = 0

inConvo = 0

end

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)

msg2 = msg

msg = string.lower(msg)

if (cast ~= '') then

selfSay('does nothing')

-- do nothing, wait until message has been broadcasted and npc has replied

elseif (getDistanceToCreature(cid) >= 4 and focus == cid) then

selfSay('Chegue mais perto, '..getCreatureName(cid)..'. nao posso te ouvir dai.')

elseif (type == 1) then

if ((string.find(msg, '(%a*)hi(%a*)') or string.find(msg, '(%a*)hello(%a*)') or string.find(msg, '(%a*)oi(%a*)') or string.find(msg, '(%a*)greetings(%a*)')) and (focus == 0) and getDistanceToCreature(cid) < 4) then

selfSay(msgHi)

focus = cid

talk_start = os.clock()

inConvo = 1

elseif ((string.find(msg, '(%a*)hi(%a*)') or string.find(msg, '(%a*)hello(%a*)') or string.find(msg, '(%a*)oi(%a*)') or string.find(msg, '(%a*)greetings(%a*)')) and (focus ~= cid) and getDistanceToCreature(cid) < 4) then

if (next_focus > 0 and getDistanceToCreature(next_focus) < 4) then

selfSay('Por favor aguarde, ' .. getCreatureName(cid) .. '.')

else

selfSay('Calma, ' .. getCreatureName(cid) .. '.')

next_focus = cid

end

elseif (focus == cid) then

talk_start = os.clock()

if ((msgcontains(msg, 'broadcast') or msgcontains(msg, 'say')) and inConvo == 0) then

if (getPlayerLevel(cid) >= 30) then

selfSay('Quer que eu anuncie algo para voce?')

inConvo = 1

else

selfSay('Volte quando vc crescer!')

end

elseif ((msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and inConvo == 1) then

selfSay('Digame oque quer anunciar.')

inConvo = 2

elseif ((msgcontains(msg, 'no') or msgcontains(msg, 'nao')) and inConvo == 1) then

selfSay('Perhaps tomorrow then..')

if (next_focus > 0 and getDistanceToCreature(next_focus) < 4) then

selfSay(msgHi)

talk_start = os.clock()

focus = next_focus

next_focus = 0

inConvo = 1

else

focus = 0

talk_start = 0

inConvo = 0

end

broadcast = ''

elseif (inConvo == 2 and (msg ~= 'stop')) then

if (string.len(msg) > 90) then

selfSay('Desculpe mais sua mensagem tem mais de 90 caracteres incluindo os espacos. Diga uma nova mensagem ou diga STOP para parar no caracter 90.')

else

broadcast = msg2

selfSay('Vc quer pagar '..price..' Dollars para eu anunciar sua mensagem "'..broadcast..'"')

inConvo = 3

end

elseif ((msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) and inConvo == 3) then

if (doPlayerRemoveItem(cid, 2152, 100) or doPlayerRemoveItem(cid, 2160, 1)) == TRUE then

doPlayerBroadcastMessage(cid, broadcast)

saycast = os.clock()

inConvo = 1

io.output(io.open("broadcast.log", "a"))

io.write("["..os.date("%y.%m.%d %X").."] <"..getCreatureName(cid).."> "..broadcast.."\n")

io.close()

cast = broadcast

else

selfSay('Voce nao pode pagar pelo servico, por favor volte mais tarde com o dinheiro!')

if (next_focus > 0) then

distFocus = getDistanceToCreature(next_focus)

if (distFocus ~= nil and distFocus < 4) then

selfSay(msgHi)

talk_start = os.clock()

focus = next_focus

next_focus = 0

inConvo = 1

else

focus = 0

talk_start = 0

inConvo = 0

end

broadcast = ''

end

end

elseif ((msgcontains(msg, 'no') or msgcontains(msg, 'nao')) and inConvo == 3) then

selfSay('Ok then.')

inConvo = 0

broadcast = ''

elseif (string.find(msg, '(%a*)offer(%a*)')) then

selfSay('Eu tenho a voz mais potento do mundo! Pessoas me pagam para eu anunciar coisas para elas.')

inConvo = 0

elseif (string.find(msg, '(%a*)bye(%a*)')) then

selfSay(msgBye)

if (next_focus > 0) then

distFocus = getDistanceToCreature(next_focus)

if (distFocus ~= nil and distFocus < 4) then

selfSay(msgHi)

talk_start = os.clock()

focus = next_focus

next_focus = 0

inConvo = 1

else

focus = 0

talk_start = 0

inConvo = 0

end

broadcast = ''

end

end

end

end

end

function onCreatureChangeOutfit(creature)

end

function onThink()

if (cast ~= '' and (os.clock() - saycast) > 1) then

selfSay('Quer anunciar mais?')

cast = ''

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

if (focus > 0) then

selfSay(msgBye)

if (next_focus > 0) then

distFocus = getDistanceToCreature(next_focus)

if (distFocus ~= nil and distFocus < 4) then

selfSay(msgHi)

talk_start = os.clock()

focus = next_focus

next_focus = 0

inConvo = 1

else

focus = 0

talk_start = 0

inConvo = 0

end

else

focus = 0

talk_start = 0

inConvo = 0

end

broadcast = ''

end

elseif (focus ~= 0) then

distFocus = getDistanceToCreature(focus)

if (distFocus ~= nil and distFocus > 5) then

selfSay(msgBye)

if (next_focus > 0) then

distFocus = getDistanceToCreature(next_focus)

if (distFocus ~= nil and distFocus < 4) then

selfSay(msgHi)

talk_start = os.clock()

focus = next_focus

next_focus = 0

inConvo = 1

end

else

focus = 0

talk_start = 0

inConvo = 0

end

broadcast = ''

end

end

end

Agora vá em: data/npc e crie um arquivo: Anunciante.xml E cole isso dentro:

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Anunciante" script="data/npc/scripts/anunciante.lua" walkinterval="2000" floorchange="0">

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

<look type="167" head="114" body="0" legs="114" feet="0" addons="2"/>

</npc>

Gostou ? REP + Não custa nada hehe' :accept:^^

eR3Xwgv.png?1
 

Link para o post
Compartilhar em outros sites

Não testei mas ficou meu rep+, gostei da ideia.

Skype @kaiquegabriel__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Atenciosamente,

kaiquegabriel.

Não dou suporte via pm.

Em caso de dúvidas, crie um tópico e espere o suporte.

Link para o post
Compartilhar em outros sites
  • 1 year later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por matiasz123
      [OTCLIENT SHOWOFF] Questlog Actualizado
      Updated quest log, showing quest details:
      Npc name Npc level Npc outfit Mission status Description Amount of reward experience Number of reward points Enemies you must kill Items to collect  
       

       
      When you click on the follow button, an alternative map opens that shows you the next objective of the mission and at what coordinates:


       
      If you want the system write a comment with your discord
    • Por Zagaf
      ShowOff Poketibia
       
      Bom a alguns dias atrás eu comecei a reformular um mapa de poketibia que eu baixei (pokexmaster) , ate o momento eu refiz a cidade de saffron.
       
       
       
       
       
    • Por S H I O N
      oiee, estou aqui para disponibilizar uma base bem antiga que achei nos meus arquivos, eu iria apagar ela mais preferi deixar ela aqui para caso alguem queira usar ela para alguma coisa no futuro, pq eu simplesmente peguei em 2018 por ai e nem usei mais pelo o fato de ter muitos bugs e para quem nao entende de script e sistemas ela se torna um pesadelo na vida de alguem, a maioria dos bugs q ela tem da para corrigir muito rapido mais tem uns q sao extremamente dificeis entao um conselho para quem pegar essa base... boa sorte kkkk vc vai precisar de uns meses para tirar os bugs dela mais ela e jogavel ainda. façam um bom uso dela, se caso o cara manjar bem de editar poketibias e tirar bugs e mexer com scripts, para ele vai ser facil tirar esses bugs q tem nela.
      .
      .
      .
      .
      .
      .
      .
      vamos ao que interessa, o download dela vai esta pelo o mediafire e dentro contem o servidor e o client 
      quando baixar e so trocar o ip do servidor e trocar o ip do seu client e pronto.
      .
      .
      .
      .
      .
      .
      vou deixar algumas prints abaixo.
      .
      .
      .
      espero ver um dia essa base online dnv, amava jogar, por isso nao excluir ela
      resolvi deixar aqui, acredito que vao cuidar bem dela. vlw fui.
       
    • Por spotifyy
      Olá, vou tentar não me esticar muito aqui, mas estou mexendo em uma base de poketibia(1098) para estudos
      e provavelmente em algum momento estarei oficialmente lançando.
      Aceito pessoas que também estão em aprendizado e querendo colaborar com o projeto.
      E caso você tenha muito conhecimento na área e queira colaborar também será tão bem vindo/a
      quanto alguém em aprendizado com vontade de evoluir.
       
      Algumas features
       
      >Market Global
      >Poções de XP
      >Gacha stone
      >Boost(+100)
      >Level system
      >Eggs
      >Mapa HUB
      >Eventos diários (PVP/PVE)
      >Outland
      >Shiny Hunts
      >Shiny Box Hunt
      >Area PVP
      e mais algumas outras coisas.
       
       
       
      Caso alguem tenha interesse em integrar o projeto só me chamar no discord que passo as ideias que tenho para o projeto.
       
      Discord: nenep1
       
       
       
       
       
    • Por Baryon
      Boa noite amigos, estou aqui para apresentar meu projeto.
      Estou aqui no intuito de tentar desenvolver um ats baseado em naruto full perspectiva e com uso reduzido de bot, teremos um bot próprio que ira lhe auxiliar na cura e com espaço para 1 magia com finalidade de treino, assim focando que os players possam tentar se divertir jogando na mao tanto a parte pve como pvp do game (oque eu acho mais legal).
      O Servidor ja se encontra com alguns sistema sendo eles:
      ・Passe de batalha
      ・Painel de missoes 
      ・Village war
      ・Sistema de vilas
      ・Bingo book
      ・Autoloot
      ・Ninja procurado
      ・Painel de Dungeons
      ・ World Boss
      Nossas vocaçoes sao divididas em classes sendo elas:
       ・Shooters: Deidara, Gaara, Kankuro, Tenten, Sasori, Konan.
       ・Especialistas: Shikamaru, Nagato, Hashirama, Oonoki, Orochimaru.
       ・Assassinos: Asuma, Madara, Minato, Sasuke, Obito, Kisame.
       ・Suportes: Sakura, Shizune, Ino, Tsunade.
       ・Lutadores: Naruto, Kiba, Chouji, Lee, Neji, Hinata.
             (obs: ja temos por volta de mais 10 personagens "prontos" alem desses com foco em atualizações futuras)
       Atualmente apenas eu e mais uma pessoas estamos desenvolvendo o servidor e ambos trabalham o tempo ou seja nao temos tanto tempo disponivel entao estou em buscas de novas pessoas com certa experiencia para integrar a equipe tenho em mente 4 vagas disponiveis que sao: 1 Mapper, 1 Dev, 1 Designer, 1 Moderador (ficara em contato com a staff e interagindo em nosso discord, ficando por dentro das novidades e no inicio do game ira iniciar como tutor para auxiliar os players).
       Caso alguem tenha interessa em embarcar nessa aventura favor entrar em contato cmg pelo discord 😉 em breve estarei postando mais atualizaçoes do ot aqui!

       Nosso discord: https://discord.gg/pPTkbAnNSV
      Meu contato no discord: baryon1492



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo