Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Respostas 122
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Antes de tudo queria agradecer ao cara do suporte que me pediu pra fazer isso, achei muito legal a idéia. Fala galera do TK, vim trazer um script bem simpleszinho mas que abre um leque de opções de

tem sim, eu só não coloquei porque o próprio tibia ja tem um sistema de exhausted padrão de 1 segundo entre ações contendo itemEx (que é configurável pelo config.lua)

dá ué..  terra = {65783} . . . isInArray(terra, itemEx.uid) agora só vai dar pra minerar nos pisos que tiverem unique id 65783. A constante de level é o seguinte.. a fórmula da experiência necessá

28 minutos atrás, Dornellas disse:

da pra fazer algum comando para consultar o level de mining?

 


também dá pra ver o level clicando com o direito na pick e com o esquerdo nela.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
55 minutos atrás, xWhiteWolf disse:


também dá pra ver o level clicando com o direito na pick e com o esquerdo nela.

Obrigado xWhiteWolf,

Consegui fazer funcionar no meu Server 8.6 =D

Agora só tenho mais uma dúvida..

**Tentei adicionar linhas de novos itens para serem minerados em seus respectivos leveis de mineração..

porém toda vez que eu adiciono os itens o sistema para de funcionar.

Exemplo...

.

.

.

[45] = 7762, -- Small Enchanted Amethyst
[50] = 7760, -- Small Enchanted Ruby
[70] = 2177  -- Life Crystal
[80] = NOVOID  -- NOVOITEM

.

.

.

Tem algum outro local que eu tenho que alterar?

 

Link para o post
Compartilhar em outros sites

falta colocar a virgula depois do 2177, <- pra adicionar novos elementos na tabela!

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
  • 3 months later...
Em 17/06/2014 ás 07:58, xWhiteWolf disse:

 


Antes de tudo queria agradecer ao cara do suporte que me pediu pra fazer isso, achei muito legal a idéia.

Fala galera do TK, vim trazer um script bem simpleszinho mas que abre um leque de opções de RPG e diversão pro seu OT.. Trata-se do Mining System, um sistema que você pode utilizar a pick normal (ou uma outra pick especial) para minerar a terra e tentar conseguir items que você pode trocar por dinheiro, items ou utilizar para craftar items. São 70 leveis de Mining que vão upando conforme vc minera.

Enfim, vamos ao script:

actions\scripts\mining.lua:


terra = {351,352,353,354,355}
 levels = {
[-1] = 2229, ---- skull
[0] = 1294, --- small stone
[1] = 3976, --- worm
[10] = 2149, -- Small Emerald
[12] = 2146, -- Small Sapphire
[15] = 2145, -- Small Diamond 
[17] = 2150, -- Small Amethyst
[20] = 2147, -- Small Ruby
[25] = 2144, -- Black Pearls 
[27] = 2143, -- White Pearls
[30] = 2157, -- Gold Nuggets
[35] = 2156, --- red gem
[36] = 2158, -- blue gem 
[37] = 2155, -- green gem 
[38] = 2153, -- violet gem
[39] = 2154, -- yellow gem
[40] = 7761, -- small enchanted emerald 
[42] = 7759, -- Small Enchanted Sapphiire
[45] = 7762, -- Small Enchanted Amethyst
[50] = 7760, -- Small Enchanted Ruby
[70] = 2177  -- Life Crystal
} 


local config = {
storage = 19333,
chance = 40, --- chance de achar um item ou não
k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
experience = 19334
}


function onUse(cid, item, fromPosition, itemEx, toPosition)


local drops = {}


function getDrops(cid)
for i= -1,getPlayerStorageValue(cid, config.storage) do
if levels[i] then
table.insert(drops, levels[i])
end
end
return true
end


if isInArray(terra, itemEx.itemid) then
getDrops(cid)
doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)
local experience = getPlayerStorageValue(cid, config.experience)
if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
if getPlayerStorageValue(cid, config.storage) == 50 then
doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
doPlayerAddItem(cid, 7497, 1, true)
end
end
if config.chance >= math.random(1,100) then
if #drops >= 1 then
local item = drops[math.random(1,#drops)]
doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
doPlayerAddItem(cid, item, 1, true)
end
doSendMagicEffect(toPosition, 3)
else
doSendMagicEffect(toPosition, 2)
return true
end
elseif itemEx.itemid == item.itemid then
doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
else
return false
end
return true
end

em terra vc coloca os ids dos chãos em que é possível minerar, levels é o level da skill e o ID do respectivo item que você fica capaz de conseguir após alcançar esse nível. Em outras palavras, no começo vc só consegue minerar skull, no nv 70 vc vai ter a chance de conseguir todos os items anteriores e não só life crystal. O restante das configurações está no meio do script:

 

local config = {

storage = 19333,

chance = 40, --- chance de achar um item ou não

k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)

experience = 19334

}

o storage é onde vai salvar o seu nível

chance é a chance de pegar um item cada vez que minera.

k é a constante de level, o nivel 10 precisa de 10*10/k de experiencia para ser alcançado (com k sendo 2 dá 50 de experiencia), ou seja, com 50 picaretadas na terra vc pega nivel 10.

experience é o storage que fica salvo sua experiencia.

 

Bônus: Ao alcançar level 50 você ganha o Mining Helmet como prêmio, ele não faz nada de especial mas é como se fosse um troféu. No meu server tem uma série de troféus que voce pode colecionar e fica como sendo uma conquista épica para os players.

 

e no actions.xml:


<action itemid="2553" script="mining.lua"/>

OBS: Sugiro que vcs utilizem uma outra pick pra não dar conflito mas você faz oque quiser.

PS: Uma fotinha pra vcs verem

 

Conteúdo Oculto

 

 

Espero que tenham gostado!   :smile:

@xWhiteWolf

tenho 2 duvidas

1 - terra = {351,352,353,354,355} -  aqui são os piso, caso eu quiser colocar outro item so mudar essa parte ou tem que editar ouras? queria colocar umas paredes, alguns objetos também!

 

2 - quando eu uso pick porque não aparece alguma mensagem tipow "tock" "puff" "tic" "tac", ou tem que adicionar alguma coisa?

Link para o post
Compartilhar em outros sites
1 hour ago, mateusmoretti said:

@xWhiteWolf

tenho 2 duvidas

1 - terra = {351,352,353,354,355} -  aqui são os piso, caso eu quiser colocar outro item so mudar essa parte ou tem que editar ouras? queria colocar umas paredes, alguns objetos também!

 

2 - quando eu uso pick porque não aparece alguma mensagem tipow "tock" "puff" "tic" "tac", ou tem que adicionar alguma coisa?

1- só nessa parte, mas ele n vai remover os objetos pq o script original foi feito pra minerar pisos e não paredes ou pedras/objetos. Você consegue fazer essa adaptação mas os objetos continuarão lá no mapa.

2- nao fiz pra aparecer, mas se vc quiser é só adicionar um doCreatureSay(cid, "tock", 20)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
40 minutos atrás, xWhiteWolf disse:

1- só nessa parte, mas ele n vai remover os objetos pq o script original foi feito pra minerar pisos e não paredes ou pedras/objetos. Você consegue fazer essa adaptação mas os objetos continuarão lá no mapa.

2- nao fiz pra aparecer, mas se vc quiser é só adicionar um doCreatureSay(cid, "tock", 20)

hmm entendi!

você consegueria fazer a adaptação?

{877,874,4472,4469,4478,4468,4475,4472,4471,4476,4473,4479,4474,5640,5639,5641,5632,5631,5637,355}

essas são as paredes que coloquei!

 

e onde coloco o creaturesay?

Link para o post
Compartilhar em outros sites
On 5/9/2017 at 0:20 AM, mateusmoretti said:

hmm entendi!

você consegueria fazer a adaptação?

{877,874,4472,4469,4478,4468,4475,4472,4471,4476,4473,4479,4474,5640,5639,5641,5632,5631,5637,355}

essas são as paredes que coloquei!

 

e onde coloco o creaturesay?

é só colocar esses ids na tabela de mineração, o creatureSay vc pode colocar embaixo/acima da linha que solta o efeito 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
2 horas atrás, xWhiteWolf disse:

é só colocar esses ids na tabela de mineração, o creatureSay vc pode colocar embaixo/acima da linha que solta o efeito 

ja consegui, obrigado pelo script!

Link para o post
Compartilhar em outros sites
  • 5 weeks later...

Sera que alguem pode me ajudar? Estou tentando usar esse script no meu TFS 1.2 mas esta dando esse erro:

 

293kco1.jpg

 

Se alguem puder me ajudar agradeço

Editado por willks123 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 months later...
Em 17/06/2014 em 07:58, xWhiteWolf disse:

 


Antes de tudo queria agradecer ao cara do suporte que me pediu pra fazer isso, achei muito legal a idéia.

Fala galera do TK, vim trazer um script bem simpleszinho mas que abre um leque de opções de RPG e diversão pro seu OT.. Trata-se do Mining System, um sistema que você pode utilizar a pick normal (ou uma outra pick especial) para minerar a terra e tentar conseguir items que você pode trocar por dinheiro, items ou utilizar para craftar items. São 70 leveis de Mining que vão upando conforme vc minera.

Enfim, vamos ao script:

actions\scripts\mining.lua:


terra = {351,352,353,354,355}
 levels = {
[-1] = 2229, ---- skull
[0] = 1294, --- small stone
[1] = 3976, --- worm
[10] = 2149, -- Small Emerald
[12] = 2146, -- Small Sapphire
[15] = 2145, -- Small Diamond 
[17] = 2150, -- Small Amethyst
[20] = 2147, -- Small Ruby
[25] = 2144, -- Black Pearls 
[27] = 2143, -- White Pearls
[30] = 2157, -- Gold Nuggets
[35] = 2156, --- red gem
[36] = 2158, -- blue gem 
[37] = 2155, -- green gem 
[38] = 2153, -- violet gem
[39] = 2154, -- yellow gem
[40] = 7761, -- small enchanted emerald 
[42] = 7759, -- Small Enchanted Sapphiire
[45] = 7762, -- Small Enchanted Amethyst
[50] = 7760, -- Small Enchanted Ruby
[70] = 2177  -- Life Crystal
} 


local config = {
storage = 19333,
chance = 40, --- chance de achar um item ou não
k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
experience = 19334
}


function onUse(cid, item, fromPosition, itemEx, toPosition)


local drops = {}


function getDrops(cid)
for i= -1,getPlayerStorageValue(cid, config.storage) do
if levels[i] then
table.insert(drops, levels[i])
end
end
return true
end


if isInArray(terra, itemEx.itemid) then
getDrops(cid)
doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)
local experience = getPlayerStorageValue(cid, config.experience)
if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
if getPlayerStorageValue(cid, config.storage) == 50 then
doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
doPlayerAddItem(cid, 7497, 1, true)
end
end
if config.chance >= math.random(1,100) then
if #drops >= 1 then
local item = drops[math.random(1,#drops)]
doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
doPlayerAddItem(cid, item, 1, true)
end
doSendMagicEffect(toPosition, 3)
else
doSendMagicEffect(toPosition, 2)
return true
end
elseif itemEx.itemid == item.itemid then
doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
else
return false
end
return true
end

em terra vc coloca os ids dos chãos em que é possível minerar, levels é o level da skill e o ID do respectivo item que você fica capaz de conseguir após alcançar esse nível. Em outras palavras, no começo vc só consegue minerar skull, no nv 70 vc vai ter a chance de conseguir todos os items anteriores e não só life crystal. O restante das configurações está no meio do script:

 

local config = {

storage = 19333,

chance = 40, --- chance de achar um item ou não

k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)

experience = 19334

}

o storage é onde vai salvar o seu nível

chance é a chance de pegar um item cada vez que minera.

k é a constante de level, o nivel 10 precisa de 10*10/k de experiencia para ser alcançado (com k sendo 2 dá 50 de experiencia), ou seja, com 50 picaretadas na terra vc pega nivel 10.

experience é o storage que fica salvo sua experiencia.

 

Bônus: Ao alcançar level 50 você ganha o Mining Helmet como prêmio, ele não faz nada de especial mas é como se fosse um troféu. No meu server tem uma série de troféus que voce pode colecionar e fica como sendo uma conquista épica para os players.

 

e no actions.xml:


<action itemid="2553" script="mining.lua"/>

OBS: Sugiro que vcs utilizem uma outra pick pra não dar conflito mas você faz oque quiser.

PS: Uma fotinha pra vcs verem

 

Conteúdo Oculto

 

 

Espero que tenham gostado!   :smile:

 

Como faço para que no nível 50 por exemplo, a pessoa minere em outra "terra" e só nessa terra de nível 50 drope os itens do nível 50+?

Link para o post
Compartilhar em outros sites
14 hours ago, Thayguroficial said:

Como faço para que no nível 50 por exemplo, a pessoa minere em outra "terra" e só nessa terra de nível 50 drope os itens do nível 50+?

tem algumas formas de fazer isso, vou apresentar uma delas que eu pensei agora:

 

essa é a função que retorna os drops que você pode ter, vamos modificar ela pra aceitar um parametro chamado "special" que será verdadeiro ou falso e nos dirá se a terra que vc tá minerando é do id special.

function getDrops(cid)
for i= -1,getPlayerStorageValue(cid, config.storage) do
if levels[i] then
table.insert(drops, levels[i])
end
end
return true
end

 

Spoiler

function getDrops(cid, special)
  for i= -1,getPlayerStorageValue(cid, config.storage) do
    if levels[i] then
      if i >= 50 and special then
        table.insert(drops, levels[i])
      end
    end
  end
return true
end

 


agora quando chamamos ela no nosso código 

 

getDrops(cid)

 

 nós vamos adicionar esse parametro especial:

 

Spoiler

getDrops(cid, isInArray(terraspecial, itemEx.itemid))

 

e aí lá em cima do código onde temos

 

terra = {6573}

 

vamos adicionar
 

terraspecial = {6572}
terra = {6573, 6572}

 

da forma que o sistema está escrito vc precisa adicionar as terras especiais também na tabela de terra, se não ele não vai funcionar pra esses id's.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
9 horas atrás, xWhiteWolf disse:

tem algumas formas de fazer isso, vou apresentar uma delas que eu pensei agora:

 

essa é a função que retorna os drops que você pode ter, vamos modificar ela pra aceitar um parametro chamado "special" que será verdadeiro ou falso e nos dirá se a terra que vc tá minerando é do id special.


function getDrops(cid)
for i= -1,getPlayerStorageValue(cid, config.storage) do
if levels[i] then
table.insert(drops, levels[i])
end
end
return true
end

 

  Ocultar conteúdo


function getDrops(cid, special)
  for i= -1,getPlayerStorageValue(cid, config.storage) do
    if levels[i] then
      if i >= 50 and special then
        table.insert(drops, levels[i])
      end
    end
  end
return true
end

 


agora quando chamamos ela no nosso código 

 


getDrops(cid)

 

 nós vamos adicionar esse parametro especial:

 

  Ocultar conteúdo


getDrops(cid, isInArray(terraspecial, itemEx.itemid))

 

e aí lá em cima do código onde temos

 


terra = {6573}

 

vamos adicionar
 


terraspecial = {6572}
terra = {6573, 6572}

 

da forma que o sistema está escrito vc precisa adicionar as terras especiais também na tabela de terra, se não ele não vai funcionar pra esses id's.

Eu adicionei esses novos códigos e quando eu uso a pick, aparece a mensagem (tick) que eu peguei mas não vem nada na minha backpack, quando eu tiro essa função ele volta a pegar:

 

function getDrops(cid, special)
  for i= -1,getPlayerStorageValue(cid, config.storage) do
    if levels[i] then
      if i >= 50 and special then
        table.insert(drops, levels[i])
      end
    end
  end
return true
end

 

Vou deixar em spoiler como ta no meu minig.lua:

Spoiler

terraspecial = {4485}
terra = {4471,4485}
 levels = {
[-1] = 2229, ---- skull
[0] = 1294, --- small stone
[10] = 2149, -- Small Emerald
[12] = 2146, -- Small Sapphire
[20] = 2145, -- Small Diamond 
[50] = 2150, -- Small Amethyst
[60] = 2147, -- Small Ruby
[80] = 2144, -- Black Pearls 
[100] = 2143, -- White Pearls
[120] = 7761, -- small enchanted emerald 
[140] = 7759, -- Small Enchanted Sapphiire
[160] = 7762, -- Small Enchanted Amethyst
[180] = 7760, -- Small Enchanted Ruby
[200] = 2157  -- Pepita de Ouro
} 



local config = {
storage = 19333,
chance = 70, --- chance de achar um item ou não
k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
experience = 19334
}


function onUse(cid, item, fromPosition, itemEx, toPosition)


local drops = {}


function getDrops(cid)
for i= -1,getPlayerStorageValue(cid, config.storage) do
if levels[i] then
table.insert(drops, levels[i])
end
end
return true
end

function getDrops(cid, special)
  for i= -1,getPlayerStorageValue(cid, config.storage) do
    if levels[i] then
      if i >= 50 and special then
        table.insert(drops, levels[i])
      end
    end
  end
return true
end

if isInArray(terra, itemEx.itemid) then
getDrops(cid)
getDrops(cid, isInArray(terraspecial, itemEx.itemid))
doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)
local experience = getPlayerStorageValue(cid, config.experience)
if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
doSendMagicEffect(getCreaturePosition(cid),98)
doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
if getPlayerStorageValue(cid, config.storage) == 50 then
doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
doPlayerAddItem(cid, 7497, 1, true)
end
end
if config.chance >= math.random(1,100) then
if #drops >= 1 then
local item = drops[math.random(1,#drops)]
doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
doPlayerAddItem(cid, item, 1, true)
end
doSendMagicEffect(toPosition, 289)
doSendAnimatedText(toPosition , 'TiickK!', 169)
else
doSendMagicEffect(toPosition, 288)
doSendAnimatedText(toPosition , "Puuff!", 61)
return true
end
elseif itemEx.itemid == item.itemid then
doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
else
return false
end
return true
end

 

 

Link para o post
Compartilhar em outros sites

Os códigos que eu te passei tavam falando: Aonde está assim deve ficar desse outro jeito. Voce nao editou, vc simplesmente duplicou as coisas e isso por si só ja explica os erros :/

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
34 minutos atrás, xWhiteWolf disse:

Os códigos que eu te passei tavam falando: Aonde está assim deve ficar desse outro jeito. Voce nao editou, vc simplesmente duplicou as coisas e isso por si só ja explica os erros :/

 

Perdão pela falta de atenção, consertei a burrada e funcionou os drop da "terraspecial" do jeito que eu queria, ta dropando só a partir daquele skill, porem a terra normal continua não caindo nada, faz o tick e não vem a skull e a small stone. Não deu nenhum erro na distro

 

mining.lua

Spoiler

terraspecial = {4485}
terra = {4471,4485}
 levels = {
[-1] = 2229, ---- skull
[0] = 1294, --- small stone
[10] = 2149, -- Small Emerald
[12] = 2146, -- Small Sapphire
[20] = 2145, -- Small Diamond 
[40] = 2150, -- Small Amethyst
[60] = 2147, -- Small Ruby
[80] = 2144, -- Black Pearls 
[100] = 2143, -- White Pearls
[120] = 7761, -- small enchanted emerald 
[140] = 7759, -- Small Enchanted Sapphiire
[160] = 7762, -- Small Enchanted Amethyst
[180] = 7760, -- Small Enchanted Ruby
[200] = 2157  -- Pepita de Ouro
} 


local config = {
storage = 19333,
chance = 70, --- chance de achar um item ou não
k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
experience = 19334
}


function onUse(cid, item, fromPosition, itemEx, toPosition)


local drops = {}


function getDrops(cid, special)
  for i= -1,getPlayerStorageValue(cid, config.storage) do
    if levels[i] then
      if i >= 12 and special then
        table.insert(drops, levels[i])
      end
    end
  end
return true
end


if isInArray(terra, itemEx.itemid) then
getDrops(cid, isInArray(terraspecial, itemEx.itemid))
doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)
local experience = getPlayerStorageValue(cid, config.experience)
if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
doSendMagicEffect(getCreaturePosition(cid),98)
doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
if getPlayerStorageValue(cid, config.storage) == 50 then
doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
doPlayerAddItem(cid, 7497, 1, true)
end
end
if config.chance >= math.random(1,100) then
if #drops >= 1 then
local item = drops[math.random(1,#drops)]
doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
doPlayerAddItem(cid, item, 1, true)
end
doSendMagicEffect(toPosition, 289)
doSendAnimatedText(toPosition , 'TiickK!', 169)
else
doSendMagicEffect(toPosition, 288)
doSendAnimatedText(toPosition , "Puuff!", 61)
return true
end
elseif itemEx.itemid == item.itemid then
doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
else
return false
end
return true
end

 

 

Link para o post
Compartilhar em outros sites

testa assim, dei uma melhorada no script q ele era bem antigãaao hahaha (espero q funcione)

 

Spoiler

terraspecial = {4485}
terra = {4471}

 levels = {
	[-1] = 2229, ---- skull
	[0] = 1294, --- small stone
	[10] = 2149, -- Small Emerald
	[12] = 2146, -- Small Sapphire
	[20] = 2145, -- Small Diamond 
	[40] = 2150, -- Small Amethyst
	[60] = 2147, -- Small Ruby
	[80] = 2144, -- Black Pearls 
	[100] = 2143, -- White Pearls
	[120] = 7761, -- small enchanted emerald 
	[140] = 7759, -- Small Enchanted Sapphiire
	[160] = 7762, -- Small Enchanted Amethyst
	[180] = 7760, -- Small Enchanted Ruby
	[200] = 2157  -- Pepita de Ouro
} 

local config = {
	storage = 19333,
	chance = 70, --- chance de achar um item ou não
	k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
	experience = 19334
}

local function getDrops(uid, special)
	local drops = {}
	for i = -1, getPlayerStorageValue(uid, config.storage) do
		if levels[i] then
			if i >= 12 and not special then
				return drops
			end
			table.insert(drops, levels[i])
		end
	end
	return drops
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(terra, itemEx.itemid) or isInArray(terraspecial, itemEx.itemid) then
		local drops = getDrops(cid, isInArray(terraspecial, itemEx.itemid))
		doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)		
		if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
			doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
			doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
			doSendMagicEffect(getCreaturePosition(cid),98)
			doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
			if getPlayerStorageValue(cid, config.storage) == 50 then
				doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
				doPlayerAddItem(cid, 7497, 1, true)
			end
		end
		
		if config.chance >= math.random(1,100) then
			if #drops >= 1 then
				local item = drops[math.random(1,#drops)]
				doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
				doPlayerAddItem(cid, item, 1, true)
			end
			doSendMagicEffect(toPosition, 289)
			doSendAnimatedText(toPosition , 'TiickK!', 169)
		else
			doSendMagicEffect(toPosition, 288)
			doSendAnimatedText(toPosition , "Puuff!", 61)
		return true
		end
	elseif itemEx.itemid == item.itemid then
		doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
	end
	return true
end

 

não precisa mais colocar a terra especial na tabela da terra, eu checo ambas agora

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
54 minutos atrás, xWhiteWolf disse:

testa assim, dei uma melhorada no script q ele era bem antigãaao hahaha (espero q funcione)

 

  Mostrar conteúdo oculto


terraspecial = {4485}
terra = {4471}

 levels = {
	[-1] = 2229, ---- skull
	[0] = 1294, --- small stone
	[10] = 2149, -- Small Emerald
	[12] = 2146, -- Small Sapphire
	[20] = 2145, -- Small Diamond 
	[40] = 2150, -- Small Amethyst
	[60] = 2147, -- Small Ruby
	[80] = 2144, -- Black Pearls 
	[100] = 2143, -- White Pearls
	[120] = 7761, -- small enchanted emerald 
	[140] = 7759, -- Small Enchanted Sapphiire
	[160] = 7762, -- Small Enchanted Amethyst
	[180] = 7760, -- Small Enchanted Ruby
	[200] = 2157  -- Pepita de Ouro
} 

local config = {
	storage = 19333,
	chance = 70, --- chance de achar um item ou não
	k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
	experience = 19334
}

local function getDrops(uid, special)
	local drops = {}
	for i = -1, getPlayerStorageValue(uid, config.storage) do
		if levels[i] then
			if i >= 12 and not special then
				return drops
			end
			table.insert(drops, levels[i])
		end
	end
	return drops
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(terra, itemEx.itemid) or isInArray(terraspecial, itemEx.itemid) then
		local drops = getDrops(cid, isInArray(terraspecial, itemEx.itemid))
		doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)		
		if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
			doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
			doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
			doSendMagicEffect(getCreaturePosition(cid),98)
			doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
			if getPlayerStorageValue(cid, config.storage) == 50 then
				doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
				doPlayerAddItem(cid, 7497, 1, true)
			end
		end
		
		if config.chance >= math.random(1,100) then
			if #drops >= 1 then
				local item = drops[math.random(1,#drops)]
				doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
				doPlayerAddItem(cid, item, 1, true)
			end
			doSendMagicEffect(toPosition, 289)
			doSendAnimatedText(toPosition , 'TiickK!', 169)
		else
			doSendMagicEffect(toPosition, 288)
			doSendAnimatedText(toPosition , "Puuff!", 61)
		return true
		end
	elseif itemEx.itemid == item.itemid then
		doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
	end
	return true
end

 

não precisa mais colocar a terra especial na tabela da terra, eu checo ambas agora

Agora ele ta dando erro na distro quando eu uso a pick na terra e não ta mais fazendo o tiick/puff >

 

imageb33ff.png

 

EDIT: consegui arrumar, faltou por uma linha: local experience = getPlayerStorageValue(cid, config.experience)    

 

Valeu wolf tu é o bixo, funcionou perfeitamente! seria mais perfeito ainda se a terra special não pegasse pedras dos niveis anteriores, se tiver tempo pra fazer ai, só agradeço! 

 

 

EDIT2: Tentei adicionar mais 1 terra diferente, até consegui que ele dê os tiick e puff, só que não vem pedra nenhuma :'(

Se der pra você me ensinar a adicionar novas terras: vou mandar como eu fiz, tem como você me corrigir pra eu aprender?

Spoiler

terrarica = {4475}
terraspecial = {4485}
terra = {4471}

 levels = {
	[-1] = 2229, ---- skull
	[0] = 1294, --- small stone
	[10] = 2149, -- Small Emerald
	[12] = 2146, -- Small Sapphire
	[20] = 2145, -- Small Diamond 
	[40] = 2150, -- Small Amethyst
	[60] = 2147, -- Small Ruby
	[80] = 2144, -- Black Pearls 
	[100] = 2143, -- White Pearls
	[120] = 7761, -- small enchanted emerald 
	[140] = 7759, -- Small Enchanted Sapphiire
	[160] = 7762, -- Small Enchanted Amethyst
	[180] = 7760, -- Small Enchanted Ruby
	[200] = 2157  -- Pepita de Ouro
} 

local config = {
	storage = 19333,
	chance = 70, --- chance de achar um item ou não
	k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
	experience = 19334
}

local function getDrops(uid, special, rica)
	local drops = {}
	for i = -1, getPlayerStorageValue(uid, config.storage) do
		if levels[i] then
			if i >= 12 and not special then
			if i >= 20 and not rica then
				return drops
			end
			table.insert(drops, levels[i])
		end
	end
	return drops
end
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(terra, itemEx.itemid) or isInArray(terraspecial, itemEx.itemid) or isInArray(terrarica, itemEx.itemid) then
		local drops = getDrops(cid, isInArray(terraspecial, itemEx.itemid))
		local drops = getDrops(cid, isInArray(terrarica, itemEx.itemid))
		doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)	
local experience = getPlayerStorageValue(cid, config.experience)		
		if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
			doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
			doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
			doSendMagicEffect(getCreaturePosition(cid),98)
			doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
			if getPlayerStorageValue(cid, config.storage) == 50 then
				doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
				doPlayerAddItem(cid, 7497, 1, true)
			end
		end
		
		if config.chance >= math.random(1,100) then
			if #drops >= 1 then
				local item = drops[math.random(1,#drops)]
				doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
				doPlayerAddItem(cid, item, 1, true)
			end
			doSendMagicEffect(toPosition, 289)
			doSendAnimatedText(toPosition , 'TiickK!', 169)
		else
			doSendMagicEffect(toPosition, 288)
			doSendAnimatedText(toPosition , "Puuff!", 61)
		return true
		end
	elseif itemEx.itemid == item.itemid then
		doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
	end
	return true
end

 

 

 

Editado por Thayguroficial (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Spoiler

local terrarica = {4475}
local terraspecial = {4485}
local terra = {4471}

local levels = {
	[-1] = 2229, ---- skull
	[0] = 1294, --- small stone
	[10] = 2149, -- Small Emerald
	[12] = 2146, -- Small Sapphire
	[20] = 2145, -- Small Diamond 
	[40] = 2150, -- Small Amethyst
	[60] = 2147, -- Small Ruby
	[80] = 2144, -- Black Pearls 
	[100] = 2143, -- White Pearls
	[120] = 7761, -- small enchanted emerald 
	[140] = 7759, -- Small Enchanted Sapphiire
	[160] = 7762, -- Small Enchanted Amethyst
	[180] = 7760, -- Small Enchanted Ruby
	[200] = 2157  -- Pepita de Ouro
} 

local config = {
	storage = 19333,
	chance = 70, --- chance de achar um item ou não
	k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
	experience = 19334
}

local function getDrops(uid, special, rica)
	local drops = {}
	for lvl, premio in pairs(levels) do
		if lvl <= getPlayerStorageValue(uid, config.storage) then
			if (lvl >= 20 and rica) or (lvl >= 12 and special) or lvl < 12 then
				table.insert(drops, premio)
			end
		end
	end
	return drops
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(terra, itemEx.itemid) or isInArray(terraspecial, itemEx.itemid) or isInArray(terrarica, itemEx.itemid) then
		local drops = getDrops(cid, isInArray(terraspecial, itemEx.itemid), isInArray(terrarica, itemEx.itemid))
		doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)	
		local experience = getPlayerStorageValue(cid, config.experience)		
		if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
			doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
			doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
			doSendMagicEffect(getCreaturePosition(cid),98)
			doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
			if getPlayerStorageValue(cid, config.storage) == 50 then
				doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
				doPlayerAddItem(cid, 7497, 1, true)
			end
		end
		
		if config.chance >= math.random(1,100) then
			if #drops >= 1 then
				local item = drops[math.random(1,#drops)]
				doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
				doPlayerAddItem(cid, item, 1, true)
			end
			doSendMagicEffect(toPosition, 289)
			doSendAnimatedText(toPosition , 'TiickK!', 169)
		else
			doSendMagicEffect(toPosition, 288)
			doSendAnimatedText(toPosition , "Puuff!", 61)
		return true
		end
	elseif itemEx.itemid == item.itemid then
		doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
	end
	return true
end

 

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites
Em 05/09/2017 em 19:41, xWhiteWolf disse:
  Ocultar conteúdo


local terrarica = {4475}
local terraspecial = {4485}
local terra = {4471}

local levels = {
	[-1] = 2229, ---- skull
	[0] = 1294, --- small stone
	[10] = 2149, -- Small Emerald
	[12] = 2146, -- Small Sapphire
	[20] = 2145, -- Small Diamond 
	[40] = 2150, -- Small Amethyst
	[60] = 2147, -- Small Ruby
	[80] = 2144, -- Black Pearls 
	[100] = 2143, -- White Pearls
	[120] = 7761, -- small enchanted emerald 
	[140] = 7759, -- Small Enchanted Sapphiire
	[160] = 7762, -- Small Enchanted Amethyst
	[180] = 7760, -- Small Enchanted Ruby
	[200] = 2157  -- Pepita de Ouro
} 

local config = {
	storage = 19333,
	chance = 70, --- chance de achar um item ou não
	k = 2, --- constante de level.. quanto maior, mais fácil é upar. (a fórmula é level ao quadrado dividido pela constante)
	experience = 19334
}

local function getDrops(uid, special, rica)
	local drops = {}
	for lvl, premio in pairs(levels) do
		if lvl <= getPlayerStorageValue(uid, config.storage) then
			if (lvl >= 20 and rica) or (lvl >= 12 and special) or lvl < 12 then
				table.insert(drops, premio)
			end
		end
	end
	return drops
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if isInArray(terra, itemEx.itemid) or isInArray(terraspecial, itemEx.itemid) or isInArray(terrarica, itemEx.itemid) then
		local drops = getDrops(cid, isInArray(terraspecial, itemEx.itemid), isInArray(terrarica, itemEx.itemid))
		doPlayerSetStorageValue(cid, config.experience, getPlayerStorageValue(cid, config.experience)+1)	
		local experience = getPlayerStorageValue(cid, config.experience)		
		if experience >= (8+(getPlayerStorageValue(cid, config.storage)^2))/config.k then
			doPlayerSetStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage)+1)
			doPlayerSendTextMessage(cid, 27, "Congratulations, you have leveled! Your currect level is "..getPlayerStorageValue(cid, config.storage) ..".")
			doSendMagicEffect(getCreaturePosition(cid),98)
			doSendAnimatedText(getCreaturePosition(cid), 'Mining UP', 100, cid)
			if getPlayerStorageValue(cid, config.storage) == 50 then
				doPlayerSendTextMessage(cid, 20, "For reaching level "..getPlayerStorageValue(cid, config.storage) .." you have been awarded with Mining Helmet.")
				doPlayerAddItem(cid, 7497, 1, true)
			end
		end
		
		if config.chance >= math.random(1,100) then
			if #drops >= 1 then
				local item = drops[math.random(1,#drops)]
				doPlayerSendTextMessage(cid, 27, "You have found a "..getItemNameById(item)..".")
				doPlayerAddItem(cid, item, 1, true)
			end
			doSendMagicEffect(toPosition, 289)
			doSendAnimatedText(toPosition , 'TiickK!', 169)
		else
			doSendMagicEffect(toPosition, 288)
			doSendAnimatedText(toPosition , "Puuff!", 61)
		return true
		end
	elseif itemEx.itemid == item.itemid then
		doPlayerSendTextMessage(cid, 27, "You're currenctly level "..getPlayerStorageValue(cid, config.storage)..".")
	end
	return true
end

 

 

A terra special ta pegando o mesmo drop do nivel da rica agora, somente a terra normal ta pegando o drop especifico do nivel que eu setei

Link para o post
Compartilhar em outros sites

cara, vc tem que saber explicar o que vc quer. Ate então tudo que você me pediu foi pra terra melhor só não dar os itens lixos. Se voce quer q seja exclusivo os itens pra cada terra tem outro jeito de fazer

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

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 Bagon
      Bom, hoje venho trazer á vocês um sistema de Pet System DIFERENCIADO de alguns presentes no fórum. Este sistema tem diversos comandos diferenciados, como: 
       
      !pet nomedopet este comando irá sumonar o pet. 
      !remove irá remover o pet.
      !fale eu sou lindo o pet falará "eu sou lindo"
      !conversar o pet irá conversar com vc. 
       
      Então sem mais delongas vamos ao script.
       
      OBS: SCRIPT TESTADO SOMENTE EM TFS 0.4/0.3, e este script foi feito com a intenção de ser vendido no site do ot ou em poderá usar como quest usando o item selecionado como premio. fique ao seu critério.
       
      Primeiro vá até a pasta talkaction/script e crie um arquivo chamado petsystem.lua, depois coloque o seguinte script:
       
       
      Agora em talkactions/talkactions.xml adicione a seguinte tag:
       
      <talkaction words="!pet;!remove;!fale;!conversar" event="script" value="petsystem.lua" />  
      EXPLICAÇÂO:
      As partes em Negrito, são os pets. Você pode alterar ou criar monstros para fazer eles como pets. (Recomendo criar um monstro para que seja somente pet.)
       
      Exemplo: ["dog"]= {stor=78552},      
       
       
      Lembrando que é necessário mudar esta parte no script do monstro colocado a cima.
       
      <flag attackable="1" /> para :
       
      <flag attackable="0" />  
      agora vá em action/script e crie um arquivo chamado pet com o seguinte script:
       
       
      e vá em action.xml e adiciona a seguinte tag:
       
      <action itemid="10063" script="pet.lua"/> Explicação: Na tag da action o itemid é o item que deverá ser usado para ganhar a storage 78552, e assim podera sumonar o monstro com esta storage.
       
                                              
                                                         CRIE UMA ACTION COM A TAG A CIMA PARA CADA MONSTRO COLOCADO NA TALKACTION,
                                                         BASTA VC ALTERAR A STORAGE DO SCRIPT DA ACTION
                                                         EXEMPLO: em action altere as storage que estão em vermelho, como mostra abaixo
       
                                                              if getPlayerStorageValue(cid, 78552) < 1 then
                                                              setPlayerStorageValue(cid, 78552, 1)
       
                                                         aonde tem 78552 altere para 78553 que no caso é a storage do cyclops escolhido lá no script da talkaction
                                                         e assim susecivelmente.
       
       
       
      CREDITOS:
      Mulizeu
      Smartbox
      Bagon 
       
    • 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 Dono do WNA
      Andei procurando aqui pelo TK inteiro e não acho um script funcional para um boss room onde o player clica com direito num altar (parecido com uma alavanca) podendo ir sozinho ou com até 10 jogadores ele é teleportado para uma sala com o boss, podendo desafiar ele a cada 20 horas, toda vez que um jogador puxa a alavanca ele checa se tem player na sala e caso tenha, precisa esperar todos os jogadores sairem. Caso o boss esteja vivo sem players dentro da sala ele remove e adiciona um novo assim que puxam a alavanca.

      Achei scripts parecidos no forum porém são todos para TFS 1.x+ e eu uso o 0.4 e nenhum compatível que achei esta funcionando

      TFS 0.4 REV 3996
    • Por cssiqueira
      Bom , minha primeira contribuição aqui no fórum, espero que ajude o pessoal novato assim como me ajudou pois sempre acho scripts para servers antigos mas para esses novos que não usam XML fica difícil, aqui no meu OT funcionou corretamente  estou usando o sistema VIP que insere na database em Account o campo vipdays e viplastday 
       
      OT -> Canary 1.3.0 / Cliente 12.86
       
      Eu criei o arquivo Lua em .: data\scripts\movements\others , O nome vocês que escolhem pode ser televip.lua...viptele.lua....teleportvip.lua fica a seu gosto ?
       
      local config = { teleportActionId = Coloque Aqui o ACTION ID do item de teleport criado em seu RME } local teleVIP = MoveEvent('teleVIP') function teleVIP.onStepIn(player, item, position, fromPosition) if player:getVipDays() == 0 then player:teleportTo(fromPosition) player:getPosition():sendMagicEffect(CONST_ME_POFF) player:sendTextMessage(MESSAGE_STATUS_SMALL, "Voce nao tem VIP.") return true end return true end teleVIP:aid(config.teleportActionId) teleVIP:register()  
       
    • Por aicilopmes123
      Gostaria de pedir script de boss em alavanca 8.60, onde o player pode ir solo ou em 4 pessoas. Assim que puxar a alavanca sumona um boss, caso o time morra ele é deletado para o próximo player que for entrar, tendo um exhaust de 20 horas. Agradeço desde já 



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo