Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Opa galera beleza?
Meu amigo esses dias pediu um sistema basicamente assim:

sistema:

  • !quests charizard (você é teleportado para hunt ou quest por "x" tempo, e após esse tempo, você é teleportado para 1 posição "y" (cp/templo))
  • !quest time (o jogador recebe uma msg de quanto tempo ainda resta para ele ficar nessa hunt/quest)
  • !quest (abre uma janela aonde fala as informações dessa hunt/quest)
    bom eu tentei usar o "for" para fazer com que tenha varios tipos de hunts dentro (criando uma tabela), mas como ainda estou estudando lua e esse é meu 1º script, eu não consegui fazer, então eu to usando o "param"

E eu fui pesquisar aqui no forum e em outro forums tbm esse sistema, e vi que ninguem nunca postou :/ 
então resolvi cria-lo.

 

Em Talkactions.xml, adicione a linha:

Spoiler

<talkaction words="!quest" event="script" value="quest_time.lua"/>


Em Talkactions, crie um arquivo com o nome de quest_time.lua, e adicione:

Spoiler

local config = {

   quest_name = "charizard", -- nome da quest utilizada no !quest charizard
   pos_gay = {x=889,y=323,z=7}, -- teleport de ida pra quest
   tel_back = {x=889,y=319,z=7}, -- teleport de volta (templo)
   nivel = 1, -- nivel necessario
   exaust = 300, -- tempo para usar o comando (!quest charizard) (em segundos)
   time = 60, -- tempo que ficara na quest (em segundos)
   sto = 20315, -- n mecher
   sto2 = 20915, -- n mecher
   message = [[
   Informacoes da quest1:
   Comando para entrar nela: !quest quest1
   Nivel necessario: 1
   Tempo que tera para completar a quest: 20 segundos
   Monstros que ira enfrentar: {Charizard}, {Blastoise}, {Venusaur}
   Premio da quest: 100 TD
   Experiencia: 100.000xp

   Sera que voce conseguira passar desse desafio?
   ]], -- aqui é a mensagem que aparecerá quando digitar : (!quest)

}

function onSay(cid, words, param, channel)

   if (param == '') then
      doPlayerPopupFYI(cid, config.message)
      return true
   end

   if (param == config.quest_name) then
      if getPlayerLevel(cid) >= config.nivel then
            if getPlayerStorageValue(cid, config.sto) - os.time() <= 0 and getPlayerStorageValue(cid, config.sto2) - os.time() <= 0 then
               doTeleportThing(cid, config.pos_gay)
               doSendMagicEffect(getCreaturePosition(cid),12)
               setPlayerStorageValue(cid, config.sto, os.time() + config.exaust)
               setPlayerStorageValue(cid, config.sto2, os.time() + config.time)
               doPlayerSendTextMessage(cid, 12, "Voce entrou, tera 60 segundos para terminar a missao, caso queira saber quanto tempo falta, fale {!quest time}.")
               addEvent(doTeleportThing, config.time * 1000, cid, config.tel_back)
               addEvent(doSendMagicEffect, config.time * 1000, getThingPos(cid), 35)
            end
      else
      doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "voce nao possui nivel.")
      end
   doPlayerSendCancel(cid, "Voce tem que esperar: " ..getPlayerStorageValue(cid, config.sto) - os.time() .." segundos para usar o comando novamente.")
   end

   if (param == "time") then
      if getPlayerStorageValue(cid, config.sto2) - os.time() <= 0 then
      doSendMagicEffect(getCreaturePosition(cid),3)
      doPlayerSendCancel(cid, "Voce precisa estar na quest")
   else
      doSendMagicEffect(getCreaturePosition(cid),3)
      doPlayerSendCancel(cid, "Voce tem : " ..getPlayerStorageValue(cid, config.sto2) - os.time() .." segundos para terminar essa quest.")
      end
   end

return true

end


Creditos:
Eu: Pelo script :)

Desculpa se o script ficou ruim, é que é meu primeiro script, tenham pena de mim. :/ 
Eu farei melhoras nesse script mais pra frente.

Editado por tataboy67 (veja o histórico de edições)

  • Respostas 12
  • Visualizações 4.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Essa sua critica não soma em nada no trabalho dele! Se não gostou do sistema você poderia dar uma dica ou ajuda-lo a criar um sistema melhor! Na próxima receberá uma leve punição por comentários

  • Bom esse script ele não tem o bau... ele apenas é 1 script que faz com que em "x" tempo, teleporta o jogador para um local e dps volta ao templo. sendo assim... n havendo prêmios sacou? Mas, da

  • Ai é o texto que vai ser exibido ao digitar: !quest

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Postado
37 minutos atrás, Walox disse:

:/ que paia 

 

Essa sua critica não soma em nada no trabalho dele!

Se não gostou do sistema você poderia dar uma dica ou ajuda-lo a criar um sistema melhor! Na próxima receberá uma leve punição por comentários assim.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo