Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa Matina...

Venho Pedir ajuda de Alguém com Experiencia ou não, Caso der de Ajudar tá Otimo!

Preciso que Alguém Modifique essa Script Pra mim, Para que os Jogadores Utilizam ela a Cada 24hrs, que os mesmo players que utilizou o GuildPoints Hoje, Possa Utilizar amanhã novamente depois de ter dado 24hrs!

Exemplo: Eu Utilizo o GuildPoints Agora 1:40 e ganho 10 points, Amanhã 1:40 ou + posso utilizar novamente e receber +10= Totalizando 20 points...!

 

Espero que meu Pedido Seja Atendido, Obrigado Desde já!

 

GuildPointsConfigs =
{
        ExecuteIntervalHours = 24,
        NeedPlayersOnline = 8,
        NeedDiferentIps = 6,
        MinLevel = 200,
        AddPointsForAcc = 10
}


function getGuildPlayersValidAccIDS(GuildID, MinLevel)
        local RanksIDS = {}
        local AccsID = {}
        local ValidAccsID = {}
        Query1 = db.getResult("SELECT `id` FROM `guild_ranks` WHERE guild_id = '".. GuildID .."'")
        if(Query1:getID() == -1) then
                return ValidAccsID
        end
        for i = 1, Query1:getRows() do
                table.insert(RanksIDS, Query1:getDataInt("id"))
                Query1:next()
        end
        Query2 = db.getResult("SELECT `account_id` FROM `players` WHERE `rank_id` IN (".. table.concat(RanksIDS, ', ') ..") AND `level` >= ".. MinLevel .."")
        if(Query2:getID() == -1) then
                return ValidAccsID
        end
        for i = 1, Query2:getRows() do
                local AccID = Query2:getDataInt("account_id")
                if #AccsID > 0 then
                        for k = 1, #AccsID do
                                if AccID == AccsID[k] then
                                        AddAccList = false
                                        break
                                end
                                AddAccList = true
                        end
                        if AddAccList then
                                table.insert(AccsID, AccID)
                        end
                else
                        table.insert(AccsID, AccID)
                end
                Query2:next()
        end
        Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` = 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")")
        if(Query3:getID() == -1) then
                return ValidAccsID
        end
        for i = 1, Query3:getRows() do
                local AccID = Query3:getDataInt("id")
                if #ValidAccsID > 0 then
                        for k = 1, #ValidAccsID do
                                if AccID == ValidAccsID[k] then
                                        AddAccList = false
                                        break
                                end
                                AddAccList = true
                        end
                        if AddAccList then
                                table.insert(ValidAccsID, AccID)
                        end
                else
                        table.insert(ValidAccsID, AccID)
                end
                Query3:next()
        end
        return ValidAccsID
end


function onSay(cid, words, param, channel)
        if(getPlayerGuildLevel(cid) == 3) then
                local GuildID = getPlayerGuildId(cid)
                Query = db.getResult("SELECT `last_execute_points` FROM `guilds` WHERE id = '".. GuildID .."'")
                if(Query:getID() == -1) then
                        return true
                end
                if Query:getDataInt("last_execute_points") < os.time() then
                        local GuildMembers = {}
                        local GuildMembersOnline = {}
                        local PlayersOnline = getPlayersOnline()
                        for i, pid in ipairs(PlayersOnline) do
                                if getPlayerGuildId(pid) == GuildID then
                                        if getPlayerLevel(pid) >= GuildPointsConfigs.MinLevel then
                                                table.insert(GuildMembersOnline, pid)
                                        end
                                end
                        end
                        if #GuildMembersOnline >= GuildPointsConfigs.NeedPlayersOnline then
                                local IPS = {}
                                for i, pid in ipairs(GuildMembersOnline) do
                                        local PlayerIP = getPlayerIp(pid)
                                        if #IPS > 0 then
                                                for k = 1, #IPS do
                                                        if PlayerIP == IPS[k] then
                                                                AddIPList = false
                                                                break
                                                        end
                                                        AddIPList = true
                                                end
                                                if AddIPList then
                                                        table.insert(IPS, PlayerIP)
                                                end
                                        else
                                                table.insert(IPS, PlayerIP)
                                        end
                                end
                                if #IPS >= GuildPointsConfigs.NeedDiferentIps then
                                        local ValidAccounts = getGuildPlayersValidAccIDS(GuildID, GuildPointsConfigs.MinLevel)
                                        db.executeQuery("UPDATE `guilds` SET `last_execute_points` = ".. os.time() +(GuildPointsConfigs.ExecuteIntervalHours * 3600) .." WHERE `guilds`.`id` = ".. GuildID ..";")
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "".. #ValidAccounts .." Players Recebeu Pontos de Guild")
                                        if #ValidAccounts > 0 then
                                                db.executeQuery("UPDATE `accounts` SET `guild_points` = `guild_points` + " ..GuildPointsConfigs.AddPointsForAcc .. ", `guild_points_stats` = ".. os.time() .." WHERE `id` IN (" .. table.concat(ValidAccounts, ',') ..");")
                                                for i, pid in ipairs(GuildMembersOnline) do
                                                        local PlayerMSGAccID = getPlayerAccountId(pid)
                                                        for k = 1, #ValidAccounts do
                                                                if PlayerMSGAccID == ValidAccounts[k] then
                                                                        doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "Voce Recebeu "..GuildPointsConfigs.AddPointsForAcc .." Pontos de Guild.")
                                                                        break
                                                                end
                                                        end
                                                end
                                        end
                                else
                                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Somente ".. #IPS .." Jogadores sao Validos,voce precisa ".. GuildPointsConfigs.NeedDiferentIps .." Jogadores com IP Diferente.")
                                end
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Tem Apenas ".. #GuildMembersOnline .." Jogadores ONLINE e voce precisa de ".. GuildPointsConfigs.NeedPlayersOnline .." Jogadores Com Pelo menos Level ".. GuildPointsConfigs.MinLevel ..".")
                        end
                else
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Voce So pode Pegar Pontos a Cada "..GuildPointsConfigs.ExecuteIntervalHours .." Horas.")
                end
        else
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Apenas o Lider da Guild Pode Solicitar os Pontos.")
        end
        return true
end

VALENDO REP!

 


UPPPPPPPPPPPPPP


@Natanael Beckman

Ajuda ai? a Script Sendo sua! :)

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites

mas ele já faz isso... pelo que eu li o código vc só pode usar ele a cada 24 hrs... não está funcionando isso?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Não, voce usa ele certa hora, ai espera as 24hrs (Caso adiciono alguem a mais na guild) Só os que foi adicionado na guild Ganha depois das 24hrs!

Acho estranho, o Certo seria todo dia usar não era?

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

Link para o post
Compartilhar em outros sites

troca essa linha:

 

Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` = 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")")
 
por
 
Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` >= 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")")

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Vou Testar... Caso Der Certo Te Darei REP a Vida toda! :)

"Ainda que eu ande pelo vale da sombra da morte, não temerei mal algum, pois tu estás comigo. Salmos 23:4"

 

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