Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá tibianos,

 

Estou tentando fazer um script que ao dar use no item X, o player ganhará um item [entre vários que serão editáveis]. Só que ao invéz de ser randomico queria que fosse por %, por exemplo, cada item tivesse uma % de dropar quando o player desse USE.

 

Grato.

Link para o post
Compartilhar em outros sites
local config = {
	[13670] = { -- item_exemplo
		chances = {
			{from = 1, to = 1, itemId = 2238},
			{from = 2, to = 50, itemId = 2237},
			{from = 51, to = 100, itemId = 2115},
		},
		effect = CONST_ME_POFF
	},
}

function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey)
	local player = Player(cid)

	local useId = config[item.itemid]
	if not useId then
		return false
	end

	local chance = math.random(100)
	for i = 1, #useId.chances do
		local randomItem = useId.chances[i]
		if chance >= randomItem.from and chance <= randomItem.to then
			if randomItem.itemId then
				local itemId, count = randomItem.itemId, randomItem.count or 1
				player:addItem(itemId, count)
			else
				player:say('You found nothing useful.', TALKTYPE_MONSTER_SAY)
			end

			item:getPosition():sendMagicEffect(useId.effect)
			item:remove(1)
			break
		end
	end
	
	return true
end
Link para o post
Compartilhar em outros sites
local config = {
	[13670] = { -- item_exemplo
		chances = {
			{from = 1, to = 1, itemId = 2238},
			{from = 2, to = 50, itemId = 2237},
			{from = 51, to = 100, itemId = 2115},
		},
		effect = CONST_ME_POFF
	},
}

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	local useId = config[item.itemid]
	if not useId then
		return false
	end

	local chance = math.random(100)
	for i = 1, #useId.chances do
		local randomItem = useId.chances[i]
		if chance >= randomItem.from and chance <= randomItem.to then
			if randomItem.itemId then
				local itemId, count = randomItem.itemId, randomItem.count or 1
				player:addItem(itemId, count)
			else
				player:say('You found nothing useful.', TALKTYPE_MONSTER_SAY)
			end

			item:getPosition():sendMagicEffect(useId.effect)
			item:remove(1)
			break
		end
	end
	
	return true
end

 

 

Isso ficará na pasta actions, certo?

 

@ Vou testar mais tarde e digo o feedback.

Link para o post
Compartilhar em outros sites

Tenho uma versão aqui também:

local items = {
    --[itemid] = {chance, count},         
    [11395] = {25, 1},
    [11446] = {30, 1},
    [11437] = {20, 1},
    [5957] = {15, 1},
    [11407] = {10, 1},
}
function onUse(cid, item)
    local number = math.random(1, 100)
    local _item = 0
    for itemid, chance in pairs(items) do
        if _item == 0 then
            _item = itemid
        else
            local new_chance = (chance[1] - number) > 0 and chance[1] - number or number - chance[1]
            local old_chance = (items[_item][1] - number) > 0 and items[_item][1] - number or number - items[_item][1]
            if new_chance < old_chance then
                _item = itemid
            end
        end
    end
    if _item ~= 0 then
        local count = items[_item][2]
        if not isItemStackable(_item) then
            if count > 1 then
                for i = 1, count do
                    doPlayerAddItem(cid, _item, 1)
                end
            else
                doPlayerAddItem(cid, _item, 1)
            end
        else
            doPlayerAddItem(cid, _item, count)
        end
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You received: "..count.."x "..getItemNameById(_item)..(count > 1 and "s" or "")..".")
        doRemoveItem(item.uid, 1)
    end
    return true
end
<action itemid="IDDOBOX" event="script" value="surprisebox.lua"/>
Editado por Animal Pak (veja o histórico de edições)

x1fCxnI.png

Link para o post
Compartilhar em outros sites

Isso ficará na pasta actions, certo?

 

@ Vou testar mais tarde e digo o feedback.

 

Lua Script Error: [Action Interface] 

data/actions/scripts/boxrandom.lua:onUse 

data/actions/scripts/boxrandom.lua:24: attempt to index local 'player' (a number value) 

stack traceback: 

[C]: in function '__index' 

data/actions/scripts/boxrandom.lua:24: in function 

 

Segue o erro em spoiler.

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo