Postado Maio 8, 2011 14 anos Fala seus loucos. Uma função que eu fiz pro thalia, vou postar aqui também. Como funciona: A função faz um storage aumentar de tanto em tanto até um certo valor de tantos em tantos segundos. Você deve usar a função de seguinte maneira: doStorageCount(storage, guid, amount, max, time) Azul: Escolha um storage. Exemplo: 40000 Vermelho: Guid do jogador, ou seja, o número dele na database. Caso o jogador esteja online, o guid pode ser descoberto a partir da função getPlayerGUID(cid) Verde: Escolha de quanto em quanto o storage vai aumentar/diminuir. Laranja: Escolha o máximo que o storage vai chegar. Cinza: Escolha de quanto em quanto tempo vai aumentar/diminuir o storage. *Sim, você pode usar número negativos! OBS: O storage vai partir do número 0. Em data/lib/function.lua >> function doStorageCount(storage, guid, count, max, time, twi) cid = nil if (type(storage) or type(guid) or type(count) or type(max) or type(time)) ~= "number" or time <= 0 then return error("Wrong param.") end if isOnline(guid) then for _, pid in pairs(getPlayersOnline()) do if getPlayerGUID(pid) == guid then cid = pid break end end alfa = twi == 1 and getPlayerStorageValue(cid, storage) or 0 setPlayerStorageValue(cid, storage, alfa + count) else beta = twi == 1 and tonumber(db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. guid .." AND `key` = ".. storage ..";"):getDataString("value")) or 0 db.executeQuery("UPDATE `player_storage` SET `value` = ".. beta + count .." WHERE `player_id` = ".. guid .." AND `key` = ".. storage ..";") end local data = isOnline(guid) and alfa or beta if math.abs(data) + math.abs(count) < math.abs(max) then addEvent(doStorageCount, time*1000, storage, guid, count, max, time, 1) end return TRUE end Exemplo de uso: function onSay(cid, words, param) return TRUE, doStorageCount(40000, getPlayerGUID(cid), 2, 10, 1) end Vai ser executada assim: Segundos Valor Inicio 2 1 4 2 6 3 8 4 10 Até mais.
Postado Maio 8, 2011 14 anos Administrador O script ficou bom, mas eu não entendi ainda qual foi intuito de ter criado essa função... TibiaKing Team- KingTópicos www.tibiaking.com
Postado Maio 8, 2011 14 anos Autor Pediram muito na seção de um outro fórum e o thalia me pediu, então eu fiz. Com essa função fica possível a qualquer scripter iniciante fazer um script avançado como exp ring ou algum outro script que continue contando o tempo mesmo com o jogador off. Editado Maio 8, 2011 14 anos por Demonbholder (veja o histórico de edições)
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.