Postado Abril 14, 2015 10 anos Tenta agora : local tb = { [3088] = {9776, 1, "You've found a yalahari armor."}, [3089] = {9778, 1, "You've found a yalahari mask."}, [3090] = {9777, 1, "You've found a yalahari leg piece."} } function onUse(cid, item) local player = Player(cid) for bau, v in pairs(tb) do if item.uid == bau then if player:getStorageValue(10012) < 1 then player:AddItem(v[1], v[2]) player:setStorageValue(30, 54) player:addExperience(20000) player:setStorageValue(10012, 1) player:setStorageValue(12021, 5) -- StorageValue for Questlog "Mission 10: The Final Battle" player:sendTextMessage(MESSAGE_INFO_DESCR, v[3]) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end end end return true end Editado Abril 14, 2015 10 anos por Linus (veja o histórico de edições) As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade. mas oque significa o correto e o verdadeiro?
Postado Abril 14, 2015 10 anos Autor Wakon, estou usando a mesma que está na script. Linus, a sua agora está abrindo o baú e dando nada de recompensa. Editado Abril 14, 2015 10 anos por arthur122222 (veja o histórico de edições)
Postado Abril 14, 2015 10 anos Wakon, estou usando a mesma que está na script. Linus, a sua agora está abrindo o baú e dando nada de recompensa. Aparece a mensagem "The chest is empty."? "estou usando a mesma" tem duas no script, uma para XP e outra para ganhar os items: 10012 e 30. ➥ Regras | Seções OTServ | Seções BOT
Postado Abril 14, 2015 10 anos Autor Bom, aparece a mensagem The chest is empty. E esse storage, é uma action? Sou novo no ramo de Otserv..
Postado Abril 14, 2015 10 anos É usado para guardar valores de players ou globais. Essa linha é para verificar a storage da quest, que no caso é 30: if(getPlayerStorageValue(cid, 30) == 53) then Significa que ele só vai te dar os itens caso a storage no valor 30 for igual a 53. Para alterar a storage, você pode mudar o valor na database em player_storages ou ativar o comando /storage. Para ativa-lo vá em "Data/talkactions" abra o arquivo talkactions.xml e adicione: <talkaction words="/storage" separator=" " script="setstorage.lua" /> Caso não tenha o script, coloque ele em "Data/talkactions/scripts" como setstorage.lua: function onSay(cid, words, param) local player = Player(cid) if not player:getGroup():getAccess() then return true end if player:getAccountType() < ACCOUNT_TYPE_GOD then return false end local split = param:split(",") if split[2] == nil then player:sendCancelMessage("Insufficient parameters.") return false end local target = Player(split[1]) if target == nil then player:sendCancelMessage("A player with that name is not online.") return false end -- Trim left split[2] = split[2]:gsub("^%s*(.-)$", "%1") split[3] = split[3]:gsub("^%s*(.-)$", "%1") local ch = split[2] local ch2 = split[3] setPlayerStorageValue(getPlayerByName(split[1]), tonumber(ch), tonumber(ch2)) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "The storage with id: "..tonumber(ch).." from player "..split[1].." is now: "..ch2..".") return false end Para usar: /storage Wakon, 30, 53 -- Vai citar que a storage 30 do personagem Wakon é 53. Provavelmente a quest está funcionando normalmente, porém seu char não tem valor 53 na storage 30. ➥ Regras | Seções OTServ | Seções BOT
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.