Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá TK Fans.

 

Vá na pasta data/actions/script, copie e cole um arquivo e renomeie para mineracao.lua em seguida apague tudo o que está dentre e cole isso :

 

Spoiler

local chance = {

chance_gold = 30, -- chance de 1 a 100 para conseguir o item (Quanto menor o numero mais dificil)
chance_platinum = 15, -- chance de 1 a 100 para conseguir o item (Quanto menor o numero mais dificil)
chance_crystal = 5  -- chance de 1 a 100 para conseguir o item (Quanto menor o numero mais dificil)
}

local itens = {

interval = 20,   -- Intervalo para ser criada a pedra em SEGUNDOS..
reward_1 = 2148, -- recompensa 1
reward_2 = 2152, -- recompensa 2
reward_3 = 2160 -- recompensa 3

}


function onUse(cid, item, fromPos, itemEx, toPos)
 
 if itemEx.itemid == 5622 and math.random (1, 100) <= chance.chance_gold then
          doSendMagicEffect(toPos, 28)
           doSendAnimatedText(getThingPos(cid), "Mining", 35)
            doTransformItem (itemEx.uid, 2148, 1)
            addEvent(doCreateItem, itens.interval * 1000, 5622, 1, toPos)
          
          else
            doSendAnimatedText(getThingPos(cid), "Fail", 30)
 end
           
       if itemEx.itemid == 5622 and math.random (1, 100) <= chance.chance_platinum then
                doSendMagicEffect(toPos, 1)
                 doSendAnimatedText(getThingPos(cid), "Mining", 36)
                  doTransformItem (itemEx.uid, 2152, 1)
                   addEvent(doCreateItem, itens.interval * 1000, 5622, 1, toPos)
       end       
           if itemEx.itemid == 5622 and math.random (1, 100) <= chance.chance_crystal then
                doSendMagicEffect(toPos, 30)
                 doSendAnimatedText(getThingPos(cid), "Mining", 31)
                  doTransformItem (itemEx.uid, 2160, 1)
                   addEvent(doCreateItem, itens.interval * 1000, 5622, 1, toPos)
           end
       return true
       end

 

Explicações :

 

Em AZUL são as chances para cair os itens na mineração. EX : quanto menor você colocar mais dificil vai ser.

Em VERMELHO é o intervalo em (SEGUNDOS) que vai ser criada a pedra no local minerado! EX : se você coloca 10 então será 10 segundos.. Se você coloca 30 serão 30 segundos e assim vai.

Em VERDE é as recompensa da mineração. Só alterar o ID para o item que você quer que drope.

 

Agora vá em data/actions/actions.xml e cole isso lá :

 

Spoiler

<action actionid="6969" event="script" value="mineracao.lua"/>

 

IMPORTATE :

 

Em ROXO é a ActionID do item para rodar a script. EX : Se você usar um pick normal o script não vai pegar por isso altere a pick para a actionid 6969.

 

Ai você me pergunta para que isso?

R: Para que o player que for minerar use uma pick "especial" ou seja uma pick normal não irá funcionar.

 

---Créditos---

Steeven

 

 

 

 

 

 

 

 

 

 

Link para o post
Compartilhar em outros sites

@CowBoysFHell porquê você não usa itemid para usar diretamente na pick em vez de action ? Caso contrário terão que setar a action na pick para ela funcionar, acho mais pratico ser diretamente na pick através do  itemid na tag xml dele, mas como você disse "especial" então a sua ideia é conseguir essa pick em algum lugar!

@Tópico aprovado! 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

@amoxicilina só colocar uma forma do player conseguir seja comprando ela em um npc de trade normal ou ganhando em alguma quest ou missão você que escolhe

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
7 horas atrás, amoxicilina disse:

e como posso fazer para que o player consiga adquirir essa pick in-game já com essa actionID poderia me esclarecer essa duvida?

Ou você pode trocar a tag do actions.xml por esta :

 

Spoiler

<action itemid="XXXX" event="script" value="mineracao.lua"/>

 

No lugar do XXXX vc coloca o id da pick normal.

Link para o post
Compartilhar em outros sites
  • 4 weeks 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 abnejesus
      Lista de Drop Mining por Level


      ► Mining Level do 0 ao 10:
      Drop: 
      Sucatas como Skulls, 
      Small Stones...etc.



      ► Mining Level 10 ao 15: 
      Drop: 
      Small Emerald e
      Small Sapphire



      ► Mining Level 15 ao 20: 
      Drop: 
      Small Diamond 
      Small Amethyst



      ► Mining Level 20 ao 25: 
      Drop: 
      Small Ruby



      ► Mining Level 25 ao 30: 
      Drop: 
      Black Pearls 
      White Pearls



      ►Mining Level 30 ao 35: 
      Drop: 
      Gold Nuggets



      ►Mining level 35 ao 40: 
      Drop: 
      Red Gem
      Blue Gem
      Green Gem 
      Violet Gem 
      Yellow Gem



      ► Mining Level 40 ao 45: 
      Drop: 
      Small Enchanted Emerald 
      Small Enchanted Sapphiire

      Obs: Quando alcançado o Skill Mining 50 o player ganha como premio um Mining Helmet


      ► Mining Level 45 ao 50:
      Drop:
      Small Enchanted Amethyst


      ► Mining Level 50 ao 70:
      Drop:
      Small Enchanted Ruby



      ► Mining Level 70+: 
      Drop:
      Life Crystal


      Obs²: Mining é um skill acumulativo, quer dizer se vc é mining level 50, vc irá dropar não só os itens do level 50, mais tambem os do leveis anteriores, fazendo com que sua lista de drops sempre aumente com o aumento do skill mining.
       
       
      Gostaria de Um script que corresponda a esse sistema, agradeçeria muitos. Estou montando meu otserver  e quero por esse sistema nele
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
    • Por thelifeofpbion
      [Esses dias criei um tópico pedindo isso, ninguém respondeu. Mas consegui criar juntando alguns scripts que tinha aqui]
      Basicamente é uma action que clica em algum lugar e limpa uma determinada área.

      <action actionid="XXXX" event="script" value="Limpa_area.lua"/>


      Limpa_area.lua
       



      Abraços ?
    • Por Pepeco
      • Mining System •
      Vim aqui disponibilizar o mining, não é tão avançado como o de outros mas ele é totalmente automático tanto para colocar items quanto para vender os items (alavanca). É uma script simples e fácil de entender, podendo ter alterações com pessoas que não tem muito experiencia em lua. Mesmo que ele seja simples, o forum esta morrendo, pretendo fazer updates nele, caso alguém tenha alguma ideia do que possa fazer, só deixar um comentário.
       
      • Explicação •
      › Mining_Config
      config = { Level = 8, Axe_Skill = 10, Paredes = {5646,5640,5645,5639,5644,5648}, } -- Level = Level necessario para minerar -- Axe_Skill = Skill de axe necessaria para poder minerar -- Paredes = Paredes que vao ser mineradas › Mining_Items
      config = { [1] = {Item = 2157, Random_min = 1, Random2_min = nil, Random_max = 3, Random2_max = nil, Count = 2, Special_Storage = nil, Magic_Effect = nil, Count_Shop = nil, Money_Shop = nil}, -- Gold Nugget } -- Random_min = A chance de cair o item em math.random -- Random2_min = Essa chance é menor, ou seja, mais dificil de cair. -- Random_max = É a chance maxima -- Random2_max = A mesma coisa que o de cima -- Count = A quantidade maxima que pode cair, é aleatorio -- Special_Storage = Caso voce queira que de alguma storage, para ver quantos players ja conseguiram e etc.. -- Magic_Effect = Caso queira que de algum magic effect diferente, se for nil, será o padrao. -- Count_Shop = Quantidade necessaria para poder vender o item no shop (alavanca) -- Money_Shop = Quanto que o item vai custar, por unidade ou seja, se eu colocar Count_Shop = 100 e Money_Shop = 2000, vai ser 100 * 2000. -- No final que tem esse "--" é o nome do item, é melhor se organizar assim, pois se ficar muitos items e voce querer fazer alguma manutenção, facilita muito.  
      Bom, eu acho que é isso, não tem mais nada para se explicar. Então vamos para o script.
       
      Data/lib
       
      Data/actions/scripts
      Data/actions -- Abra o actions.xml
      <action itemid="id do item" script="nome do arquivo"/>  
      Data/actions/scripts -- Esse aqui é o shop, não é obrigatório.
      Data/actions -- Abra o actions.xml
      <action actionid="id da action" script="nome do arquivo"/>  
      Caso tenha gostado, deixe seu REP+, ajuda e motiva muito trazer conteúdo para o forum.
       
    • Por lordzetros
      Olá pessoal da comunidade de Tibia!
         Bom, hoje trouxe um pequeno e simples script, mas que pode ajudar muita gente. Vi alguns posts referindo aos NPCs que trocam determinados itens por outros, então tive a ideia de fazer algo que possa ter uma função semelhante e que funcione de uma maneira rápida. Fique à vontade em utilizá-la da maneira que quiser.
      Como funciona?
          O usuário vai usar a alavanca e irá adicionar um item em troca de outra item que você configurou no script. Em outras palavras, o usuário irá ganhar uma determinada quantidade de um item em troca de outra quantidade de um item diferente. (Tudo configurável)
      VERSÃO TESTADA: 8.60 - OTX
      -->  Começando...
      Crie um arquivo com nome de changeItem.lua no diretório data/actions/scripts/
         Logo após, adicione esse código dentro do arquivo criado:
      -- Script por Lordzetros para o forum Tibia King. local config = { itemNec = 2160, -- ID do item que necessita para efetuar a troca qtNec = 50, -- Quantidade do item que necessita para efetuar a troca itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca stor = 25869, -- Storage, ou seja, a numeracao que identificara se o usuario fez ou nao fez a quest ainda } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if getPlayerStorageValue(cid,config.stor) ~= -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"So eh permitido fazer a troca de itens apenas uma vez!") doSendMagicEffect(pos, CONST_ME_POFF) elseif getPlayerStorageValue(cid,config.stor) == -1 then if item.itemid == 1945 then if getPlayerItemCount(cid,config.itemNec) >= config.qtNec then doPlayerAddItem(cid, config.itemNovo,config.qtNova) doPlayerRemoveItem(cid,config.itemNec,config.qtNec) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de trocar "..config.qtNec.." "..getItemNameById(config.itemNec).." por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_HOLYAREA) setPlayerStorageValue(cid, config.stor, 1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce nao tem "..config.qtNec.." "..getItemNameById(config.itemNec).." para trocar por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_POFF) end end end end Em seguida, abra o arquivo com nome actions.xml que está localizada em data/actions/
          E adicione essa linha de código no mesmo:
      <action actionid="9139" event="script" value="changeItem.lua"/>    Preste atenção, pois o actionid será o número que irá colocar na alavanca em seu editor de mapa, ou seja, no caso acima está como 9139, logo, na alavanca terá que está como a seguinte imagem:

      Obs1.: Reparem que na imagem tem outro número destacado, que é o ID 1945, CERTIFIQUE-SE que a alavanca que irá utilizar no seu OT tenha esse mesmo ID, caso não tenha, basta mudar o número no código do script para o que irá utilizar no seu servidor.
      Obs2.: O código está configurado para que o usuário efetue a troca APENAS 1 VEZ, caso queira que ele troque quantas vezes quiser, apenas remova o seguinte comando do código:
       
      setPlayerStorageValue(cid, config.stor, 1) Obs3.: O resto que tinha que explicar está no próprio código, apenas faça um esforço de ler, agradeço.
       
       
        É isso, pessoal, espero que goste e aproveite. Como falei antes, é um código simples, pois comecei agora com Script, pretendo avançar no nível e funções que os mesmos desempenham, isso é só o começo, leve isso como uma prática de uma atividade para iniciante em scripts.   
    • Por Kemmlly
      Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana.
       
      TFS: 0.4
      Tibia: 8.6
       
      O sistema original foi postado pelo @Luquinha no tópico:
      O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu;
       
      * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem.
      * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual.
       
      O script modificado:
      function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [11207] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return true end if item.itemid == 5791 then if getPlayerStorageValue(cid, 6666) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11256 then if getPlayerStorageValue(cid, 4444) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11207 then if getPlayerStorageValue(cid, 4445) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) return true end end Creditos: @Luquinha @Roksas @Kemmlly
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo