Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Administrador

Achei esse sistema bem interessante e ao mesmo tempo é um script bem simples, tenho certeza que muitos irão gostar... happyy.png

Imagem:

Spoiler


sistema.png


Abra o bloco de notas, cole o script abaixo e salve o arquivo como minerar.lua e coloque-o na pasta scripts (data/actions/scripts).
 

--Lumberjack by: Lwkass
--Version: 1.1.5

--Configs--
local configs = {
sign = {{level = {0,9}, quant = {1,2}, percent = 40},
{level = {10,19}, quant = {2,4}, percent = 45},
{level = {20,29}, quant = {3,6}, percent = 50},
{level = {30,39}, quant = {4,8}, percent = 55},
{level = {40,49}, quant = {5,10}, percent = 60},
{level = {50,59}, quant = {6,12}, percent = 65},
{level = {60,69}, quant = {7,14}, percent = 70},
{level = {70,79}, quant = {8,16}, percent = 75},
{level = {80,89}, quant = {9,18}, percent = 80},
{level = {90,99}, quant = {10,20}, percent = 85},
{level = {100}, quant = {11,22}, percent = 90}},
stones = {1285, 1356},
gold = {{2157, 'all'}},
stone_delay = 15,
MaxLevel = 100
}
--END Configs--
function onUse(cid, item, fromPosition, itemEx, toPosition)
local STORAGE_SKILL_LEVEL = 20000
local STORAGE_SKILL_TRY = 20001
local skillLevel = getPlayerStorageValue(cid,STORAGE_SKILL_LEVEL)
local skillTry = getPlayerStorageValue(cid,STORAGE_SKILL_TRY)
local objeto2 = getThingFromPos(toPosition)
local player = getCreaturePosition(cid)

if skillLevel == -1 then
setPlayerStorageValue(cid,STORAGE_SKILL_LEVEL,1)
end
for Q = 1, #configs.sign do
if configs.sign[Q].level[2] == nil then
configs.sign[Q].level[2] = configs.sign[Q].level[1]
end
if skillLevel >= configs.sign[Q].level[1] and skillLevel <= configs.sign[Q].level[2] then
quant = math.random(configs.sign[Q].quant[1],configs.sign[Q].quant[2])
percent = configs.sign[Q].percent
break
end
end
for i = 1, #configs.stones do
if objeto2.itemid == configs.stones[i] then
if math.random(1,100) <= percent then
possible_gold = {{},{}}
for h = 1, #configs.gold do
if configs.gold[h][2] == objeto2.itemid then
possible_gold[1][#possible_gold[1]+1] = configs.gold[h][1]
else
if configs.gold[h][2] == 'all' then
possible_gold[2][#possible_gold[2]+1] = configs.gold[h][1]
end
end
end
if possible_gold[1][1] == nil and possible_gold[2][1] == nil then
doPlayerSendTextMessage(cid,22,"This stone can not be mined.")
elseif possible_gold[1][1] ~= nil then
doPlayerAddItem(cid,possible_gold[1][math.random(1,#possible_gold[1])],quant)
elseif possible_gold[1][1] == nil and possible_gold[2][1] ~= nil then
doPlayerAddItem(cid,possible_gold[2][math.random(1,#possible_gold[2])],quant)
end
if possible_gold[1][1] ~= nil or possible_gold[2][1] ~= nil then
if skillTry >= 0 then
setPlayerStorageValue(cid,STORAGE_SKILL_TRY,skillTry + 1)
else
setPlayerStorageValue(cid,STORAGE_SKILL_TRY,1)
end
doSendMagicEffect(getCreaturePosition(cid), 12)
doPlayerSendTextMessage(cid,22,"You got "..quant.." gold "..getItemNameById(objeto2.itemid)..".")
doSendAnimatedText(getCreaturePosition(cid), ''..quant..'', 192, cid)
setItemName(objeto2.uid, 'A remains of '..getItemNameById(objeto2.itemid))
doSendMagicEffect(toPosition, 3)
addEvent(dostoneReturn,configs.stone_delay * 1000,toPosition,objeto2.itemid)
doTransformItem(objeto2.uid, 3610)
break
end
else
doPlayerSendCancel(cid,"You got nothing")
doSendMagicEffect(toPosition, 3)
setItemName(objeto2.uid, 'A remains of '..getItemNameById(objeto2.itemid))
doSendAnimatedText(getCreaturePosition(cid), 'Fail!', 180, cid)
addEvent(dostoneReturn,configs.stone_delay * 1000,toPosition,objeto2.itemid)
doTransformItem(objeto2.uid, 3610)
break
end
else
doPlayerSendCancel(cid,"You can only mine stones")
end
end
if skillTry >= ((skillLevel+1)*3) then
if skillLevel == configs.MaxLevel then
doPlayerSendTextMessage(cid, 22, "Max level reached in mining.")
setPlayerStorageValue(cid,STORAGE_SKILL_TRY,0)
else
setPlayerStorageValue(cid,STORAGE_SKILL_LEVEL,skillLevel + 1)
setPlayerStorageValue(cid,STORAGE_SKILL_TRY,0)
doPlayerSendTextMessage(cid, 22, "You advanced from level ".. skillLevel .." to level ".. skillLevel + 1 .." in Mining.")
doSendMagicEffect(getCreaturePosition(cid),14)
doSendAnimatedText(getCreaturePosition(cid), 'Advance!', 18, cid)
end
end
end

function dostoneReturn(itemposition,oldid)
local pos = getThingfromPos(itemposition)
doTransformItem(pos.uid,oldid)
setItemName(pos.uid, getItemNameById(oldid))
doSendMagicEffect(itemposition,math.random(28,30))
end
--Lumberjack by: Lwkass

Feito isso, vá em data/actions/actions.xml e adicione esta tag:
 

<action itemid="2553" event="script" value="minerar.lua"/>

Lembrando que o itemid 2553 no caso é a pick, mas você pode utilizar qualquer outro item que tenha 'use with'.

 

dm3o5y8.png
 
Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!?
Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também! :P
 

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
  • Respostas 8
  • Created
  • Última resposta

Top Posters In This Topic

  • 2 years later...
  • 1 month later...

Muito bom, já dei rep+

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

Antica Global - Server Online

 

SITE: http://anticaglobal.com/

IP: anticaglobal.com
EXP: 999x [sTAGES]
ML: 300x
SKILL: 500x
LOOT: 10x
 
VERSÃO: 10.77
PORTA: 7171
 
Stages:
1 - 8 level, 999x
9 - 20 level, 950x
21 - 50 level, 800x
51 - 100 level, 750x
101 - 130 level, 650x
131 - 180 level, 550x
181 - 230 level, 450x
231 - 300 level, 350x
301+ level, 300x
 
Link para o post
Compartilhar em outros sites
  • 6 months 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 Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! Até dia 05/05/2025
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       



    • Por KotZletY
      Salve geral, recentemente fiz um Task System para meu servidor, então gostaria de compartilha ele com vocês, assim como outros scripts que fiz e gostaria de compartilhar. Bom, vamos ao que interessa.
                        
       
                                                                                                               Informações!!
      Task Normal - Você 1x por vez, quantas vezes quiser, repetindo a task se também quiser.
      Task Diaria -  Você faz uma vez por dia, não podendo repeti em quanto as 24 horas não terminar.
      Task Rank - É mostrado na descrição do player qual rank task ele possui.
      Task Rank Quest - Um extra desse task system é o piso task, será explicado na parte do script, leiam com atenção.
      Task Comandos - Comandos task, 1 para ver o progresso das suas task e outro para mostrar informações do seu personagem, como uma consulta, os comandos são: !task que mostra quais task você ta fazendo, tanto diaria quanto normal e !task me que mostrar informações do seu personagem, como rank, quantidade de pontos task e quantidade de pontos task rank.
      Well, o resto é surpresa, cabe você descobrir! xD
       
       
      Para não ficar só nas palavras, mostrarei algumas imagens, várias no caso: Removida, colocarei novas!
       
                                                                                                               Instalação!!
      Muito bem, chega de conversa, como instalar logo essa bagaça. Primeiramente vá em data/lib e abra o arquivo lib.lua e adicione:
      dofile('data/lib/task system.lua') Ainda na pasta lib crie um arquivo.lua chamado task system.lua e adicione esse code dentro:
       
      No final do tópico, ensinarei a configurar a lib. Agora vai em, data/npc e crie um arquivo.xml chamado  task.xml e coloque esse code dentro:
      <?xml version="1.0" encoding="UTF-8"?> <npc name="NPC Task" script="task system.lua" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="430"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. I'm in charge of delivering missions to the players. Would you like to do a {normal} task, {daily} task, {receive} your reward from a task or {abandon} a task ? You can also see the {normal task list} and the {daily task list}."/> <parameter key="message_farewell" value="See you later." /> <parameter key="message_walkaway" value="See you later." /> </parameters> </npc> Ainda na pasta npc, entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro:
       
      Agora vá em data/talkactions e abra o arquivo talkactions.xml e adicione a seguinte tag:
      <talkaction words="!task" separator=" " script="task system.lua" /> Ainda na pasta talkactions entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele:
       
      Agora vá em data/creaturescripts e abra o arquivo creaturescripts.xl e adicione a seguinte tag:
      <event type="kill" name="tasksystem" script="task system.lua"/> Ainda na pasta creaturescripts entre na pasta scripts e crie um arquivo.lua chamado task system.lua e adicione esse code dentro dele:
      Ainda na pasta script  abra o login.lua e adicione dentro:
      player:registerEvent("tasksystem") Agora vá em data/events/scripts e abra o arquivo player.lua, depois de aberto, antes de:
      self:sendTextMessage(MESSAGE_INFO_DESCR, description) adicione:
      if thing:isCreature() then if thing:isPlayer() then description = string.format("%s\nTask Rank: "..getRankTask(thing), description) end end  
                                                                                              Extra(Opcional)!!
       
      Extra,  vá em data/movements/scripts e crie um  arquivo chamado tile task.lua, depois de aberto, antes de:
            
      Vá em data/movements/movements.xml adicione: 
      <movevent event="StepIn" actionid="XXXX" script="tile task.lua"/>  
      Explicação: Com esse movements acima, você só poderá passar por o piso caso tenha pontos task necessário para passar, se ativar a opção, removePoints então a mesma quantidade de pontos necessária para passar, será removida, ao passar, caso esteja desativada, então
      apenas será necessário ter os pontos task para passar. Em XXXX coloque o actionid, e o actionid coloque no piso desejado!
       
      New Extra: Vá em data/movements/scripts e crie um arquivo chamado tile task2.lua e adicione o seguinte scripts:
       
      Vá em data/movements/movements.xml adicione:  
      <movevent event="StepIn" actionid="XXXX" script="tile task2.lua"/> Explicação: Ao adicionar esse movements acima, você só poderá passar pelo piso caso seu rank task seja igual ou superior ao rank definido na variável, caso não seja igual e nem superior, não será possível passar.
      Configure na lib, a sequência de ranks de acordo com a sequência de rank da tabela de pontos, assim:
       
      A sequência precisa está igual e numeradas.
                                                                                               Configurando!!
      task_monsters = { [1] = {name = "monster1", mons_list = {"monster_t2", "monster_t3"}, storage = 30000, amount = 20, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {name = "monster2", mons_list = {"", ""}, storage = 30001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {name = "monster3", mons_list = {"", ""}, storage = 30002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {name = "monster4", mons_list = {"", ""}, storage = 30003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} } task_daily = { [1] = {name = "monsterDay1", mons_list = {"monsterDay1_t2", "monsterDay1_t3"}, storage = 40000, amount = 10, exp = 5000, pointsTask = {1, 1}, items = {{id = 2157, count = 1}, {id = 2160, count = 3}}}, [2] = {name = "monsterDay2", mons_list = {"", ""}, storage = 40001, amount = 10, exp = 10000, pointsTask = {1, 1}, items = {{id = 10521, count = 1}, {id = 2160, count = 5}}}, [3] = {name = "monsterDay3", mons_list = {"", ""}, storage = 40002, amount = 10, exp = 18000, pointsTask = {1, 1}, items = {{id = 2195, count = 1}, {id = 2160, count = 8}}}, [4] = {name = "monsterDay4", mons_list = {"", ""}, storage = 40003, amount = 10, exp = 20000, pointsTask = {1, 1}, items = {{id = 2520, count = 1}, {id = 2160, count = 10}}} }                                        
                                                    
      nome - Nome do monstro.
      mons_list - Nome dos monstro que são semelhantes e que matando eles também contará.
      Exemplo:
      name = "troll", mons_list = {"troll","frost troll","island troll"} e assim matando,  troll, frost troll e island troll contará na task também.
      storage - É a storage que salva a quantidade de monstros já matados.
      amount - É a quantidade necessária de monstros matados para finalizar a task.
      exp - É a quantidade de Experiência que vai ganhar ao finalizar a task, caso não queira dar experiência, basta deixar em 0.
      pointsTask = {Task Points Que vai ganhar(Pontos usado no piso e etc..), Pontos Rank, que irá ganhar e aumentar seu rank.}
      items - Itens que o player vai ganhar, devem está tabelados, dentro da tabela item, adicione das tabelas contendo o id do item e count, quantidade de items que irá ganhar.
      Ex: items = {{id = 2157, count = 1}, {id = 2160, count = 3}} -- Aqui contém 2x tipos de itens, o 2157 e o 2160, e suas devidas quantidades que irá ganhar.
      items = {{id = 2157, count = 1}} -- Aqui só tem 1 tipo de item e a quantidade que vai ganhar.
      Adicione quantos itens quiser. O mesmo vale para as task diarias!
       
       
       
      Bom, é isso ae, qualquer duvida, crítica, sugestões, deixem ae, se precisa de suporte na instalação ou está com erro em algo estarei dando suporte, abraços e bom uso do sistema.
      É totalmente proibido leva meu sistema para outro site, blog ou fórum!
    • Por Nextbr
      Eae Galera Beleza?
      - Hoje Vou Postar um Sistema de TASK separados por Elementos Configurado (Primeira e Segunda) Geraçao , Intao Vamos La:
       
      [+] Info:
      - Task System (Pode Repetir a Task Varias Vezes)
      - Task Separado Por (Elemento) - Configurado (Primeira e Segunda) Geraçao
      - Npc Mega Task (Receber Premio e Experiencias) - Configurado
       
      [+] Cria um Arquivo em (data/lib) e cria um Arquivo Chamado: amoebaTask.lua
       
       
      - obs: Aki voce Adiciona Mais Pokemons Separados Por Elementos e Edita o Premio e a ExP que vai Ganhar
       
      [+] Depois vai em (data/creaturescripts/scripts) e cria um Arquivo Chamado: Task.lua
       
      - Depois vai em (data/creaturescripts/creaturescripts.xml) e adiciona isso:
       
      <event type="kill" name="task" event="script" value="task.lua"/>
       
      - Logo Apos registra no Login:
       
      registerCreatureEvent(cid, "task")
       
      [+] Depois Cria um Arquivo em (data/npc/scripts) Chamado: task.lua:
       
      - Logo Apos vai em (data/npc) e cria um arquivo chamado: task.xml
       
       
      [+] Agora Cria um Arquivo (data/talkactions/scripts) Chamado: task.lua
       
       
      - Depois vai em (data/talkactions/talkactions.xml) e adiciona isso:
       
          <talkaction words="!task;/task" script="task.lua"/>
       
      Creditos: Killua
                      NextBR (Por Editar)
    • Por Imperius
      Olá, pessoal! Acabei encontrando um script que tinha feito a um tempo atrás. Estou compartilhando aqui para quem quiser usar ou melhorar.
       
      É bem parecido com os outros sistemas de roleta, igual deste tópico: https://tibiaking.com/forums/topic/101557-action-cassino-roleta-de-items/
       
      Como funciona?
       
      O "Treasure Chest" é um item custom, onde o jogador têm a possibilidade de ganhar itens raros ou bem meia boca. Tudo dependerá da sorte.
       
      O jogador precisa tacar o treasure chest na bancada e acionar a alavanca. O treasure chest irá se transformar em vários itens de forma randômica no qual o jogador poderá ou não ganhar. No final, apenas um item é entregue ao jogador.
       
      Para entender melhor o seu funcionamento, segue o GIF abaixo:
       

       
       
      em data > actions > actions.xml
       
       
      em data > actions > scripts > crie um arquivo chamado leverTreasureChest.lua
       
       
      no banco de dados do servidor, adicione o seguinte código em "SQL":
       
       
       

      Também estou disponibilizando uma página PHP, para quem quiser usar no site do servidor. Na página tem informações sobre o funcionamento, quais são os possíveis prêmios e a lista de jogadores que ganharam os itens raros.
       

       
       
      Espero ter ajudado de alguma forma! : )
       
      treasure_chest.php
    • Por amoxicilina
      Action: Remover skull
       
       
  • Estatísticas dos Fóruns

    96851
    Tópicos
    519616
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo