Ir para conteúdo

Featured Replies

Postado

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
  • 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 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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo