Ir para conteúdo
  • Cadastre-se

[Função] Dostoragecount(Storage, Guid, Amount, Max, Delay)


Posts Recomendados

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.

Link para o post
Compartilhar em outros sites
  • Administrador

O script ficou bom, mas eu não entendi ainda qual foi intuito de ter criado essa função... :boss:

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites

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 por Demonbholder (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