Ir para conteúdo
  • Cadastre-se

Posts Recomendados

galera alguém tem uma script ou sabe criar uma script tipo, no evento vc ganha um "book" nesse book ao vc clika vc tem chance de ganhar ex: uma demon armor, demon legs, demon helmet, demon shield ou uma steel boots, como exemplo ao clikar vc tem chance de ganhar alguns desses itens e também se tem como colocar uma % nesses item como ex: Demon armor 10% de chance de conseguir 

demon helmet 20% , steel boots 80% de conseguir , como exemplo.

Link para o post
Compartilhar em outros sites
12 minutos atrás, helix758 disse:

galera alguém tem uma script ou sabe criar uma script tipo, no evento vc ganha um "book" nesse book ao vc clika vc tem chance de ganhar ex: uma demon armor, demon legs, demon helmet, demon shield ou uma steel boots, como exemplo ao clikar vc tem chance de ganhar alguns desses itens e também se tem como colocar uma % nesses item como ex: Demon armor 10% de chance de conseguir 

demon helmet 20% , steel boots 80% de conseguir , como exemplo.

 

book.lua

local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

actions.xml

<action uniqueid="ID DO BOOK" event="script" value="book.lua"/>

 

Mude os ids dos itens no script para os id's dos itens que você quer, escrevi na frente na ordem para ficar mais fácil para você. Se der erro me avisa.

 

Script postado em outro tópico por LuckinhaSan com créditos para Limos.

Link para o post
Compartilhar em outros sites
1 minuto atrás, Kemmlly disse:

 

book.lua


local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

actions.xml


<action uniqueid="ID DO BOOK" event="script" value="book.lua"/>

 

Mude os ids dos itens no script para os id's dos itens que você quer, escrevi na frente na ordem para ficar mais fácil para você. Se der erro me avisa.

 

Script postado em outro tópico por LuckinhaSan com créditos para Limos.

eu tava tentando usar o do presente que vem no propio tibia, mas é todo DOIDO, kkkkkkkkkkkkk vou testar

Não funcionou 

Link para o post
Compartilhar em outros sites
Agora, Kemmlly disse:

O script q te mandei nao funcionou?

Bom eu troquei o uniqueid por itemid ai funcionou, mas tem um pequeno bug ao usar o item não some entendeu ? vc fica usando infinitamente, o item deveria sumir (Remover o book)

Link para o post
Compartilhar em outros sites
local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
doRemoveItem(item.uid, 1)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

Tenta assim

Link para o post
Compartilhar em outros sites
1 minuto atrás, Kemmlly disse:

local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
doRemoveItem(item.uid, 1)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

Tenta assim

ainda o item não some

Link para o post
Compartilhar em outros sites

local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then
doRemoveItem(item.uid, 1)

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then
doRemoveItem(item.uid, 1)

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
doRemoveItem(item.uid, 1)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

 

Link para o post
Compartilhar em outros sites
4 minutos atrás, Kemmlly disse:


local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then
doRemoveItem(item.uid, 1)

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then
doRemoveItem(item.uid, 1)

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
doRemoveItem(item.uid, 1)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

 

agora o item some, mas quando o player está sem cap ao clika-lo o item some e ganha nada

Link para o post
Compartilhar em outros sites
local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then
doRemoveItem(item.uid, 1)

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then
doRemoveItem(item.uid, 1)

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

 

Perdão, falha minha, é o sono, acredito que agora esteja certo.

Link para o post
Compartilhar em outros sites
3 minutos atrás, Kemmlly disse:

local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}



if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then
doRemoveItem(item.uid, 1)

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then
doRemoveItem(item.uid, 1)

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

 

Perdão, falha minha, é o sono, acredito que agora esteja certo.

quer isso mano, eu que peço obrigado, agora se liga, faltou a parte de cima mas eu adicionei a parte de cima, 
aí quando você tá sem cap aparece a msg - Você não tem cap ou não tem espaço na backpack, mas o item some :( 

up

Link para o post
Compartilhar em outros sites
local config = {
exhausttime = 7200, -- time in seconds
exhauststorage = 2301,
level = 50 -- level minimo para usar o book
}



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

local rewarditems = {
{id = 2492, chance = 10, count = 1}, -- id da demon legs
{id = 2498, chance = 10, count = 1}, -- id da demon armor
{id = 2488, chance = 10, count = 1}, -- id do demon shield
{id = 2488, chance = 20, count = 1}, -- id do demon helmet
{id = 2488, chance = 50, count = 1} -- id stell boots
}

if getPlayerLevel(cid) < config.level then
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")
return true
end

if exhaustion.check(cid, config.exhauststorage) then
local time = exhaustion.get(cid, config.exhauststorage)
local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)
if time >= 3600 then
text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")
elseif time >= 120 then
text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")
else
text = seconds.." "..(seconds > 1 and "seconds" or "second")
end
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")
return true
end



local chance = math.random(1,100)
for i = 1, #rewarditems, 1 do
if chance < rewarditems[i].chance then
local info = getItemInfo(rewarditems[i].id)
if rewarditems[i].count > 1 then
text = rewarditems[i].count .. " " .. info.plural
else
                 text = info.article .. " " .. info.name
end



	local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)
	if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then
	doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
	text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."
	else
	local book = 1950
	doPlayerRemoveItem(cid, book, 1)
	text = "Voce encontrou " .. text .. "."
	exhaustion.set(cid, config.exhauststorage, config.exhausttime)
	end

	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)
	return true

else
chance = chance - rewarditems[i].chance
end
end
end

 

Editado por Kemmlly (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
2 horas atrás, Kemmlly disse:

local config = {

exhausttime = 7200, -- time in seconds

exhauststorage = 2301,

level = 50 -- level minimo para usar o book

}



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



local rewarditems = {

{id = 2492, chance = 10, count = 1}, -- id da demon legs

{id = 2498, chance = 10, count = 1}, -- id da demon armor

{id = 2488, chance = 10, count = 1}, -- id do demon shield

{id = 2488, chance = 20, count = 1}, -- id do demon helmet

{id = 2488, chance = 50, count = 1} -- id stell boots

}

local book = 1950

if getPlayerLevel(cid) < config.level then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendCancel(cid, "Voce precisa estar ser level "..config.level.." para usar o livro.")

return true

end



if exhaustion.check(cid, config.exhauststorage) then

local time = exhaustion.get(cid, config.exhauststorage)

local hours, minutes, seconds = math.floor (time / 3600), math.floor ((time - ((math.floor (time / 3600)) * 3600))/ 60), time - ((math.floor (time/60)) * 60)

if time >= 3600 then

text = hours.." "..(hours > 1 and "hours" or "hour")..", "..minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

elseif time >= 120 then

text = minutes.." "..(minutes > 1 and "minutes" or "minute").." and "..seconds.." "..(seconds > 1 and "seconds" or "second")

else

text = seconds.." "..(seconds > 1 and "seconds" or "second")

end

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Esta vazio, voce precisa esperar "..text.." antes de usar o livro novamente.")

return true

end



local chance = math.random(1,100)

for i = 1, #rewarditems, 1 do

if chance < rewarditems[i].chance then

local info = getItemInfo(rewarditems[i].id)

if rewarditems[i].count > 1 then

text = rewarditems[i].count .. " " .. info.plural

else

                 text = info.article .. " " .. info.name

end



local item = doCreateItemEx(rewarditems[i].id, rewarditems[i].count)

if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then

doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

text = "Voce encontrou uma recompensa, mas voce nao tem cap ou espaco na bp para ganha-la."

else

doPlayerRemoveItem(cid, book, 1)
text = "Voce encontrou " .. text .. "."

exhaustion.set(cid, config.exhauststorage, config.exhausttime)

end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text)

return true

else

chance = chance - rewarditems[i].chance

end

end

end

 

Vish, item não some :( 

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