Ir para conteúdo
  • 0

Quest diaria que da itens aleatorios C/PROBLEMA Ajuda.


pirilampoo

Pergunta

Boa tarde galera,

 

Tem esse script que é daqui do forum mesmo porem ele esta com problemas alguem 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"/>

post-209056-0-25299200-1456240354_thumb.png

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

vc tá usando tfs 1.2, esse script é pra 1.x.. pra alterar usa assim a primeira linha:

function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey)

e remove

local player = Player(cid)

 

Wolf eu uso pokemon online server DA. tem que mudar isso mesmo?

mais eu vou tentar aqui com suas alterações.

 

 

Bom tentei aqui e deu erro di novo mais acho que diferente. segue imagem.

post-209056-0-59468900-1456245322_thumb.png

Editado por pirilampoo
Link para o comentário
Compartilhar em outros sites

  • 0

vixi e agora como vou fazer pra fazer um script assim ? estou precisando muito dele.

 

aqui é POkemon Dash (1.0)

 


Bom ja mudei de ideia ja que nao da me ajuda ai Wolf.

 

como quantidade nesse script pois ele ta dando 1 item só.

 

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...