Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Primeiramente eu queria uma talkaction que adicionasse premmy por apenas alguns minutos, como acho que nao existe isso, fiz o seguinte:

Spoiler

function onSay(cid, words, param, channel)
    if(param == '') then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Exemplo de como usar o comando:\nAdicionar 3 minutos para o player 'Jogador'\n/addvipm Jogador, 3")
        return true
    end


    local t = string.explode(param, ",")


    local player = getPlayerByNameWildcard(tostring(t[1]))
    if(not isPlayer(player)) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player nao existe.")
        return true
    end
    
    local pos = getCreaturePosition(player)
    local effect = 506
    local minuto = tonumber(t[2])
    local minutos = minuto*60


    doPlayerAddPremiumDays(player, 1)
    setPlayerStorageValue(player, 8445601, 1)
    setPlayerStorageValue(player, 8445604, 1)
    setPlayerStorageValue(player, 8445603, os.time() + minutos)
    doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE, "".. getPlayerName(cid) .." te deu ".. minuto .." minuto(s) de VIP!")
    doSendMagicEffect(pos, effect)    
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "".. t[1] .." recebeu ".. minuto .." minuto(s) de VIP!")
    return true
end

Explicando algumas coisas:
Storage 8445601 estou usando no login para teleportar o player para o templo quando acaba o premmy.

Storage 8445604 é para verificar juntamente com a os.time 8445603 quando acaba a premmy de minutos.

 

 

Então, coloquei no login.lua esta função para teleportar o player pro temple quando a premmy de minutos acabar:

Citar

    if (getPlayerStorageValue(cid, 8445603) <= os.time()) and (getPlayerStorageValue(cid, 8445604) >= 1) then
    setPlayerStorageValue(cid, 8445601, -1)
    setPlayerStorageValue(cid, 8445604, -1)
    local atual = getPlayerPremiumDays(cid)
    doPlayerRemovePremiumDays(cid, atual)
    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) 
    sendMsgToPlayer(cid, 20, "Sua VIP acabou!")
    end

 

Até aí tudo bem, tudo funcionando, o problema é que como esse sistema adiciona alguns minutos apenas de VIP, queria que, em tempo real quando acabar o VIP o player fosse pro templo, para isto a melhor solução que consegui encontrar era criar uma creaturescript do tipo  advance, porém nao esta funcionando. Ela esta assim:

creaturescripts.xml

 <event type="advance" name="CheckVip" event="script" value="checkvip.lua"/>

checkvip.lua

Citar

function onAdvance(cid, skill, oldLevel, newLevel)
    if (getPlayerStorageValue(cid, 8445603) <= os.time()) and (getPlayerStorageValue(cid, 8445604) >= 1) then
    setPlayerStorageValue(cid, 8445601, -1)
    setPlayerStorageValue(cid, 8445604, -1)
    local atual = getPlayerPremiumDays(cid)
    doPlayerRemovePremiumDays(cid, atual)
    doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) 
    sendMsgToPlayer(cid, 20, "Sua VIP acabou!")
    end
return true
end

 

Mas, por algum motivo, este checkvip não está funcionando, alguém viu algum erro no script?

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

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.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo