Ir para conteúdo
  • Cadastre-se

Quest diaria que da itens aleatorios C/PROBLEMA Ajuda.


Posts Recomendados

Boa tarde galera,

 

Peguei esse script de quest diaria que da itens aleatorios a cada dia porem ele esta com problemas alguém poderia me ajudar para ver como arrumar isso?

Ele esta dando esse erro da imagem anexada.
 

 Segue script.

 

Em data/actions/actions/scripts   adicione um arquivo com o nome de questxday.lua

function onUse(cid, item, fromPosition, itemEx, toPosition, isHotkey)
local config = {
storage = 45392,
exstorage = 40822,
days = {
["Monday"] = {
{itemid = 8839, count = math.random(1, 3)}
},
["Tuesday"] = {
{itemid = 2681, count = 1},
{itemid = 2682, count = 1},
{itemid = 2683, count = 1}
},
["Wednesday"] = {
{itemid = 2674, count = math.random(1, 10)},
{itemid = 2675, count = math.random(1, 10)},
{itemid = 2676, count = math.random(1, 10)},
{itemid = 2673, count = math.random(1, 10)}
},
["Thursday"] = {
{itemid = 2679, count = math.random(2, 15)},
{itemid = 2680, count = math.random(1, 5)}
},
["Friday"] = {
{itemid = 2788, count = math.random(1, 3)}
},
["Saturday"] = {
{itemid = 6393, count = 1}
},
["Sunday"] = {
{itemid = 2389, count = math.random(2, 12)},
{itemid = 2690, count = math.random(1, 5)}
}
}
}

local player = Player(cid)
local x = config.days[os.date("%A")]
if player:getStorageValue(config.storage) == tonumber(os.date("%w")) and player:getStorageValue(config.exstorage) > os.time() then
return player:sendCancelMessage("The chest is empty, come back tomorrow for a new reward.")
end
local c = math.random(#x)
local info = ItemType(x[c].itemid)
if x[c].count > 1 then
text = x[c].count .. " " .. info:getPluralName()
else
text = info:getArticle() .. " " .. info:getName()
end
local itemx = Game.createItem(x[c].itemid, x[c].count)
if player:addItemEx(itemx) ~= RETURNVALUE_NOERROR then
player:getPosition():sendMagicEffect(CONST_ME_POFF)
text = "You have found a reward weighing " .. itemx:getWeight() .. " oz. It is too heavy or you have not enough space."
else
text = "You have received " .. text .. "."
player:setStorageValue(config.storage, tonumber(os.date("%w")))
player:setStorageValue(config.exstorage, os.time() + 24*60*60)
end
player:sendTextMessage(MESSAGE_INFO_DESCR, text)
return true
end

 

Em actions.xml adicione a tag:

<action uniqueid="3001" script="questxday.lua"/>

erro.png

Link para o post
Compartilhar em outros sites

MMHUCMQ.png  Esta é uma mensagem automática, este tópico foi movido para a área correta.
  Regras do fórum: http://www.tibiaking.com/forum/topic/1281-regras-gerais/#comment-7680

Este tópico foi movido:
De: Scripting OTServ > OTServ > Actions e TalkActions
Para: Suporte OTServ > OTServ > Suporte de Scripts

Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!!
youtube.png  10869_64x64.png
Ajudei? Clicar em gostar não vai te matar

Link para o post
Compartilhar em outros sites

Parece que você não está utilizando TFS 1.x então é ÓBVIO que não vai funcionar esse script.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

e como faço pra fazer um script assim ? preciso muito dessa script =/

eu utilizo PDA 1.0

Bom ja que nao vai funcionar arrumei um script aqui pode me ajudar? quero colocar quantidade nos itens a ser ganhos..

 

function onUse(cid, item, fromPos, item2, toPos)
    local item1 = xxx -- 30 % de chance
    local item2 = xxx -- 60 % de chance 
    local item3 = xxx -- 10% de chance
	local sto = 255465
    local tempo = 24*60*60 -- Em segundos
        if math.random(1,10) == 1 or math.random(1,10) == 2 or math.random(1,10) == 3 and os.time()-getPlayerStorageValue(cid, sto) > tempo  then
		doPlayerAddItem(cid, item1)
        setPlayerStorageValue(cid, sto, os.time())
    elseif math.random(1,10) == 4 or math.random(1,10) == 5 or math.random(1,10) == 6 or math.random(1,10) == 7 or math.random(1,10) == 8 or math.random(1,10) == 9 and os.time()-getPlayerStorageValue(cid, sto) > tempo then
	    doPlayerAddItem(cid, item2)
	    setPlayerStorageValue(cid, sto, os.time())
		elseif math.random(1,10) == 10 and os.time()-getPlayerStorageValue(cid, sto) > tempo then
		doPlayerAddItem(cid, item3)
		setPlayerStorageValue(cid, sto, os.time())
		else
       doPlayerSendCancel(cid, "Voce precisa esperar 1 Dia fazer a quest!")
	   return true
end
end
Editado por ztalkerr (veja o histórico de edições)
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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo