Postado Maio 23, 2015 10 anos 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"
Postado Maio 23, 2015 10 anos 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? [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Maio 24, 2015 10 anos Autor 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"
Postado Maio 25, 2015 10 anos 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, ', ') ..")") [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
Postado Maio 26, 2015 10 anos Autor 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"
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.