Ir para conteúdo

Featured Replies

Postado

Não vai funcionar, vc não colocou junto a função string.diff que originalmente não existe nas libs do TFS/OTX.

E seria mais inteligente mudar isso:

            for _, table in pairs(config.items) do
                for i=1, #config.items do
                    player:addItem(table[i])
                end
            end

table é uma variável já existente nativa do lua, onde existem todas as funções de tabelas, não é bom ficar sobre-escrevendo assim, por mais que do jeito que está seja datada como uma local.

Editado por Snowsz (veja o histórico de edições)

                              _
                          .-'` `}
                  _./)   /       }
                .'o   \ |       }
                '.___.'`.\    {`
                /`\_/  , `.    }                                      ME DA UMA NOZ!
                \=' .-'   _`\  {
                 `'`;/      `,  }
                    _\   @   ;  }
                   /__`;-...'--'

Cluck!

  • Respostas 17
  • Visualizações 5.5k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Maniaco  local config = { items = { [1] = {2160, 10}, [2] = {2159, 10} }, level = 100, days = 1 } function onUse(player, item, fromPosition, itemEx, toPosition) ch

  • Muito legal!   Meu desafio para você nesse código é fazer com que entregue itens randômicos!! Para variar os itens quando clicar no bau, podendo adquirir itens bons e outros nem tão bom assi

  • ADM Mayk on BaiakME
    ADM Mayk on BaiakME

    rlx reputado mesmo assim ? vlw pela a força ai TMJ 

Postado
  • Autor
1 hora atrás, Snowsz disse:

Não vai funcionar, vc não colocou junto a função string.diff que originalmente não existe nas libs do TFS/OTX.

E seria mais inteligente mudar isso:


            for _, table in pairs(config.items) do
                for i=1, #config.items do
                    player:addItem(table[i])
                end
            end

table é uma variável já existente nativa do lua, onde existem todas as funções de tabelas, não é bom ficar sobre-escrevendo assim, por mais que do jeito que está seja datada como uma local.

Eu fiz o teste aqui @Snowsz
Mas obrigado pela dica <3 

Ele ta funcionando mesmo com o table, mas vou trocar nos próximos scripts !!

Postado
  • Autor

@Maniaco 

local config = {
    items = {
        [1] = {2160, 10},
        [2] = {2159, 10}
    },
    level = 100,
    days = 1
}
function onUse(player, item, fromPosition, itemEx, toPosition)
check = false
        if player:getLevel() < config.level then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce nao tem level "..config.level..".") 
        return true
    end
        local query = db.storeQuery("SELECT `player_ip`, `date` FROM `reward_daily` WHERE `player_ip` = "..player:getIp())
            if query ~= false then
                if result.getDataInt(query, "date") <= os.time() then
                    check = true
                    db:query("UPDATE `reward_daily` SET `date` = ".. os.time()+config.days*24*60*60 .." WHERE `player_ip` = "..player:getIp())
                else
                    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Desculpe, mas voce deve aguardar ate "..os.date("%d %B %Y %X ", result.getDataInt(query, "date")).." para pegar o bau novamente.")
                    return true
                end
            else
                check = true
                db:query("INSERT INTO `reward_daily` (`player_ip`, `date`) VALUES ('".. player:getIp() .."','".. os.time()+config.days*24*60*60 .."');") -- adiciona na query
            end
    if check then
            for _, table in pairs(config.items) do
                for i=1, #config.items do
                    player:addItem(table[i])
                end
            end
    end
return true
end

 

executa no banco de dados

 

CREATE TABLE reward_daily ( 
    id        INT NOT NULL AUTO_INCREMENT,
    player_ip INTEGER         NOT NULL,
    date      INTEGER         NOT NULL,
    PRIMARY KEY ( id ) 
);

 

 

Creditos totais ao @Vodkart ! 
Parabens ?

Pena que ainda não sei fazer nada em database :( 

  • 5 months later...
  • 3 weeks later...
Postado
Em 23/07/2018 em 11:34, tataboy67 disse:

Opa galera beleza? Eu vi um cidadão aqui do forum pedindo, e para não reviver o tópico resolvi desenvolver 1 e postar :/ 
@ADM Mayk on BaiakME Ta ai o script que tu pediu.

 

Crie um arquivo com o nome de Bau_Diario.lua



local config = {
    items = {
        [1] = {2160, 10},
        [2] = {2159, 10}
    },
    level = 100,
    tempo = 24*60*60, -- 24 horas

    stoTime = 31402
}

function onUse(player, item, fromPosition, itemEx, toPosition)

    if player:getLevel() >= config.level then
        if player:getStorageValue(config.stoTime) - os.time() < 0 then
            player:setStorageValue(config.stoTime, os.time() + config.tempo)
            for _, table in pairs(config.items) do
                for i=1, #config.items do
                    player:addItem(table[i])
                end
            end
        else
            player:getStorageValue(config.stoTime, 0)
            player:sendTextMessage(MESSAGE_EVENT_ADVANCE, string.format("Wait: %s.", string.diff(player:getStorageValue(config.stoTime)-os.time())))
        end
    else
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Voce nao tem level "..config.level..".")
    end

end


Adicione a TAG em actions.xml


<action actionid="22164" script="Bau_Diario.lua"/>


Créditos: Eu :p

 

não teria para tfs 0.4 ??

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.6k

Informação Importante

Confirmação de Termo