Ir para conteúdo
  • Cadastre-se

(Resolvido)Script Box


Ir para solução Resolvido por LeoTK,

Posts Recomendados

Salve TibiaKing

 

Então, queria uma script que o player ao clicar na "box" ele ganhasse um item... mas, assim, eu queria que fosse vários items e que tivesse % de chances que iria ganhar.

 

Espero que entendam... de coração, eu preciso urgente!!!

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites
<action itemid="id_da_box" event="script" value="box.lua"/>
local itens = {}
local randDifficultItens = 10

function onUse(cid, item, frompos, item2, topos)
  local randItem = math.random(#itens+randDifficultItens)
  if ( randItem <= #itens ) then
    doPlayerAddItem(cid, itens[randItem], 1)
  end
  return true
end

 

randDifficultItens é a dificuldade que irá ganhar o item.

itens é a tabela contendo os ids dos itens a serem ganhos.

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

<action itemid="id_da_box" event="script" value="box.lua"/>

local itens = {}
local randDifficultItens = 10

function onUse(cid, item, frompos, item2, topos)
  local randItem = math.random(#itens+randDifficultItens)
  if ( randItem <= #itens ) then
    doPlayerAddItem(cid, itens[randItem], 1)
  end
  return true
end

 

randDifficultItens é a dificuldade que irá ganhar o item.

itens é a tabela contendo os ids dos itens a serem ganhos.

 

 

poderia fazer a cada item ele ter a chance de ganhar não?

 

Exemplo: 2160, 2% de chance... e assim vai

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites
  • Solução

@ITALOx Achei esse script aqui tinha um bug e corrigi testei e funcionou na minha base 8.54 0.3.6 acredito que vai funcionar em 0.4 também

obs: dei uma incrementada adicionei um texto e um efeito configurável no script

 

Script \/

Spoiler

 


local items = {
  {itemId = 12035, count = 1, chance = 30}, -- ITEM, QUANTIDADE, CHANCE
  {itemId = 12034, count = 1, chance = 20},
  {itemId = 12033, count = 1, chance = 20},
  {itemId = 12032, count = 1, chance = 20},
  {itemId = 12031, count = 1, chance = 20},   
  {itemId = 12030, count = 1, chance = 20},
  {itemId = 12547, count = 1, chance = 10},
  {itemId = 15685, count = 1, chance = 1},     
}
local broadcastitems = {12547, 15685}

function onUse(cid, item, frompos, item2, topos)

  local totalChance, randomTable, randomNumber = 0, {}, 0

  for _, itemInfo in pairs (items) do
    randomTable[itemInfo.itemId] = {min = totalChance + 1, max = itemInfo.chance, count = itemInfo.count or 1}
    totalChance = totalChance + itemInfo.chance
  end

  randomNumber = math.random(1, totalChance)
  for itemId, itemInfo in pairs (randomTable) do
    local min, max = itemInfo.min, itemInfo.min + itemInfo.max
    if randomNumber >= min and randomNumber <= max then
      local newItem = doPlayerAddItem(cid, itemId, itemInfo.count, false)
      if not newItem then return doPlayerSendCancel(cid, "Voce nao tem espaco para receber o item!") end
      doPlayerRemoveItem(cid, 1990, 1)
	  local pos = {x=getPlayerPosition(cid).x+0, y=getPlayerPosition(cid).y+0, z=getPlayerPosition(cid).z+0}
	  doSendMagicEffect(pos, 684) -- Id do efeito.
      local iInfo = getItemInfo(itemId)
      doPlayerSendTextMessage(cid, 25, "Voce ganhou "..itemInfo.count.." "..iInfo.name.."")
      for i, broaditem in ipairs(broadcastitems) do
        if itemId==broaditem then doBroadcastMessage(getCreatureName(cid).." acabou de ganhar: "..itemInfo.count.." "..iInfo.name.." (Raro) na presente box.", 19) end
      end
      break
    end
  end
  return true
end

 

 

 

 

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

@ITALOx editei o script aquele que tinha antes tava com o random muito pouco e tava vindo muito item repetido esse é melhor o random realmente faz diferença e também tem como adicionar itens raros que ao pegar manda uma mensagem para todos do servidor que o player tal pegou o item raro na box

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
2 minutos atrás, Brunds disse:

@ITALOx editei o script aquele que tinha antes tava com o random muito pouco e tava vindo muito item repetido esse é melhor o random realmente faz diferença e também tem como adicionar itens raros que ao pegar manda uma mensagem para todos do servidor que o player tal pegou o item raro na box

 

Caralhooo!!!! MUITO OBRIGADO MANO!!! você é foda!!!!!!!!!

6 minutos atrás, Brunds disse:

@ITALOx editei o script aquele que tinha antes tava com o random muito pouco e tava vindo muito item repetido esse é melhor o random realmente faz diferença e também tem como adicionar itens raros que ao pegar manda uma mensagem para todos do servidor que o player tal pegou o item raro na box

 

 

22 horas atrás, Brunds disse:

@ITALOx Achei esse script aqui tinha um bug e corrigi testei e funcionou na minha base 8.54 0.3.6 acredito que vai funcionar em 0.4 também

obs: dei uma incrementada adicionei um texto e um efeito configurável no script

 

Script \/

  Mostrar conteúdo oculto

 



local items = {
  {itemId = 12035, count = 1, chance = 30}, -- ITEM, QUANTIDADE, CHANCE
  {itemId = 12034, count = 1, chance = 20},
  {itemId = 12033, count = 1, chance = 20},
  {itemId = 12032, count = 1, chance = 20},
  {itemId = 12031, count = 1, chance = 20},   
  {itemId = 12030, count = 1, chance = 20},
  {itemId = 12547, count = 1, chance = 10},
  {itemId = 15685, count = 1, chance = 1},     
}
local broadcastitems = {12547, 15685}

function onUse(cid, item, frompos, item2, topos)

  local totalChance, randomTable, randomNumber = 0, {}, 0

  for _, itemInfo in pairs (items) do
    randomTable[itemInfo.itemId] = {min = totalChance + 1, max = itemInfo.chance, count = itemInfo.count or 1}
    totalChance = totalChance + itemInfo.chance
  end

  randomNumber = math.random(1, totalChance)
  for itemId, itemInfo in pairs (randomTable) do
    local min, max = itemInfo.min, itemInfo.min + itemInfo.max
    if randomNumber >= min and randomNumber <= max then
      local newItem = doPlayerAddItem(cid, itemId, itemInfo.count, false)
      if not newItem then return doPlayerSendCancel(cid, "Voce nao tem espaco para receber o item!") end
      doPlayerRemoveItem(cid, 1990, 1)
	  local pos = {x=getPlayerPosition(cid).x+0, y=getPlayerPosition(cid).y+0, z=getPlayerPosition(cid).z+0}
	  doSendMagicEffect(pos, 684) -- Id do efeito.
      local iInfo = getItemInfo(itemId)
      doPlayerSendTextMessage(cid, 25, "Voce ganhou "..itemInfo.count.." "..iInfo.name.."")
      for i, broaditem in ipairs(broadcastitems) do
        if itemId==broaditem then doBroadcastMessage(getCreatureName(cid).." acabou de ganhar: "..itemInfo.count.." "..iInfo.name.." (Raro) na presente box.", 19) end
      end
      break
    end
  end
  return true
end

 

 

 

 

 

 

Só uma dúvida, 

local broadcastitems = {12547, 15685} 

essa parte ai, tenho que colocar o inicio do item, até o resto dele?

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites

@ITALOx Essa parte é os itens raros que o player ganhar vai enviar mensagem para o servidor avisando que o jogador tal ganhou um item raro na box no caso ai é o id do item raro

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
4 minutos atrás, Brunds disse:

@ITALOx Essa parte é os itens raros que o player ganhar vai enviar mensagem para o servidor avisando que o jogador tal ganhou um item raro na box no caso ai é o id do item raro

 

Hm, entendi, obrigado

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites

@ITALOx troca
doPlayerRemoveItem

por
doRemoveItem(item.uid, 1)

 

troca pra não gerar o seguinte problema se o player jogar a box no chão e usar não gasta e fica eterno usando

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, Brunds disse:

@ITALOx troca
doPlayerRemoveItem

por
doRemoveItem(item.uid, 1)

 

troca pra não gerar o seguinte problema se o player jogar a box no chão e usar não gasta e fica eterno usando

 

Okay meu bom

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites
  • 2 years 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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo