Ir para conteúdo

Featured Replies

Postado
  • Autor
58 minutos atrás, Vodkart disse:

No caso teria que remover o frag do server inteiro, isso não tem problema também... Mas acho que no casos seria legal dar todo domingo, toda semana, não uma vez por mês!

 

eu já fiz um rank frags, no caso só pegar o 1° colocado(nick) e dar a premiação, direto pelo DP(pra caso estiver offline)

Sim, exato. No caso eu queria no final do mês para ter o top frag mensal com premiação. Assim os players disputam quem faz mais frag ate o final do mês e assim recebendo um premio.

@Vodkart teria como ajudar ?

  • Respostas 7
  • Visualizações 532
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Consegui arrumar um tempo para tentar fazer agora pela manhã, tenta assim:   <globalevent name="TopFragger" interval="5" script="monthlyfragger.lua" /> function addItemToDepot(cid, item,

Postado

Consegui arrumar um tempo para tentar fazer agora pela manhã, tenta assim:
 

<globalevent name="TopFragger" interval="5" script="monthlyfragger.lua" />
function addItemToDepot(cid, item, count) 
    local items = {item} 
    local count = (count>1) and {count} or {1}
    for a,b in ipairs(items) do
    	local pid = db.getResult("SELECT `sid` FROM `player_depotitems` WHERE `player_id` = "..cid.."  AND `itemtype` = 2589 ORDER BY `sid` DESC LIMIT 1"):getDataInt("sid")
        local sid = db.getResult("SELECT `sid` FROM `player_depotitems` WHERE `player_id` = "..cid.."  AND `itemtype` = 2594 AND `pid` = "..pid.." ORDER BY `sid`"):getDataInt("sid")
        local newsid = db.getResult("SELECT `sid` FROM `player_depotitems` WHERE `player_id` = "..cid.." ORDER BY `sid` DESC LIMIT 1"):getDataInt("sid")+1
        return db.executeQuery("INSERT INTO `player_depotitems` (`player_id`, `sid`, `pid`, `itemtype`, `count`, `attributes`) VALUES ("..cid..","..newsid..","..sid..","..b..","..count[a]..",'')") or false
    end
end

local hora = 22 -- pode ser de 0 (meia-noite) do último dia do mês até 24, que seria meia noite do primeiro dia do próximo mês
function onThink(cid, interval)
	local gStorage = 56661
	if(os.date("%m", os.time()+(3600 * 24-hora)) ~= os.date("%m") and os.time() >= getGlobalStorageValue(gStorage)) then
		local period   = 86400 * 30
  		local fraggers = db.getResult("SELECT `p`.`id`, COUNT(*) `kills` FROM `player_killers` pk LEFT JOIN `killers` k ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `pk`.`player_id` = `p`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` WHERE `k`.`unjustified` = 1 AND `pd`.`date` >= "..(os.time()-period).." GROUP BY `p`.`id` ORDER BY `kills` DESC")
		local fragrank = {}
		local reward = {2160, 1} -- id do item e quantidade
		
		if(fraggers:getID() ~= -1) then
			repeat
				table.insert(fragrank, {id=fraggers:getDataInt("id"), frags=fraggers:getDataInt("kills")})
			until not fraggers:next()
				fraggers:free()
		end

		if(fragrank[1]) then
			local playeron = false
			local playercid = nil
			for _, pid in ipairs(getPlayersOnline()) do
				if getCreatureName(pid) == getPlayerNameByGUID(fragrank[1].id) then
					playeron = true
					playercid = pid
				end
			end

			if(playeron) then
				doPlayerAddItem(playercid, reward[1], reward[2])
				doBroadcastMessage(getPlayerNameByGUID(fragrank[1].id).." foi o jogador com mais frags no mês.")
				setGlobalStorageValue(gStorage, os.time()+2590000)
			else
				if(addItemToDepot(fragrank[1].id, reward[1], reward[2]) ~= false) then
					doBroadcastMessage(getPlayerNameByGUID(fragrank[1].id).." foi o jogador com mais frags no mês.")
					setGlobalStorageValue(gStorage, os.time()+2590000)
				end
			end
		end
	end
	return true
end

Obs: Em vez de apagar os frags do servidor, estou levando em conta apenas os que aconteceram no último mês.

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

                                                                     Ajudei? De nada \o/                                            Att Rusherzin

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