Ir para conteúdo
  • Cadastre-se

(Resolvido)Rank militar, como colocar efeito no rank com mais frags?


Ir para solução Resolvido por FeeTads,

Posts Recomendados

Estou usando o script desse tópico

É possivel adicionar um effect do client ao player com mais frags?

Link para o post
Compartilhar em outros sites
  • Solução
Em 30/08/2022 em 05:24, cesarfilho55 disse:

É possivel adicionar um effect do client ao player com mais frags?

 

é possivel mas caso vc queira pro servidor todo, ou TOP 100 por exemplo, pode ser meio chatinho de fazer, mas é +/- assim

 

local delay = 5000          --Intervalo de tempo entre o efeito, em milésimos de segundo. 5000 = 5s
local access = 3			-- 3 é acesso de GM+
local i = 1					-- não mexer
local p_name = {}           -- nome dos players com mais frag
local effect = {
	[1] = 15,		--15 é o efeito
	[2] = 12,		--12 é o efeito
	[3] = 10,		--10 é o efeito
}

local function checkFrags(cid)
  
  	if not isPlayer(cid) then return true end					-- caso não seja player sai fora
	if getPlayerAccess(cid) >= access then return true end		-- se for GM+ sai fora
  
	if isCreature(cid) then										-- caso esteja online, continua na função
		local result = db.getResult('SELECT * FROM players WHERE deleted = 0 AND group_id = 1 AND online = 1 AND account_id != 1 ORDER BY frags DESC LIMIT 3')	    -- LIMIT 3 =  TOP 3 APENAS, CASO QUEIRA QUE PEGUE MAIS PLAYERS, AUMENTAR O NUMERO, CASO QUEIRA QUE PEGUE EM TODOS (NÃO RECOMENDO) TIRAR O "LIMIT 3"
		if result:getID() ~= -1 then
			while (true) do
				p_name[i] = tostring(result:getDataString('name'))
				i = i + 1
				if not(result:next()) then
					break
				end
			end
			result:free()
		end
    	for j = 1, 3 do  --3 é o tamanho do LIMIT caso vc queira que pegue todos os players online, trocar o 3 pra #getPlayersOnline()
      		if getPlayerName(cid) == p_name[j] then
        		sendEffect(cid, j)
				break
        	end
      	end
	end
  	return true
end

local function sendEffect(cid, n_efeito)

	if isCreature(cid) then	
		doSendMagicEffect(getCreaturePosition(cid), effect[n_efeito])
		addEvent(sendEffect, delay, cid, n_efeito)
	end
	
	return true
end

function onLogin(cid)
    checkFrags(cid)
    return true
end

 

Link para o post
Compartilhar em outros sites
6 horas atrás, FeeTads disse:

 

é possivel mas caso vc queira pro servidor todo, ou TOP 100 por exemplo, pode ser meio chatinho de fazer, mas é +/- assim

 


local delay = 5000          --Intervalo de tempo entre o efeito, em milésimos de segundo. 5000 = 5s
local access = 3			-- 3 é acesso de GM+
local i = 1					-- não mexer
local p_name = {}           -- nome dos players com mais frag
local effect = {
	[1] = 15,		--15 é o efeito
	[2] = 12,		--12 é o efeito
	[3] = 10,		--10 é o efeito
}

local function checkFrags(cid)
  
  	if not isPlayer(cid) then return true end					-- caso não seja player sai fora
	if getPlayerAccess(cid) >= access then return true end		-- se for GM+ sai fora
  
	if isCreature(cid) then										-- caso esteja online, continua na função
		local result = db.getResult('SELECT * FROM players WHERE deleted = 0 AND group_id = 1 AND online = 1 AND account_id != 1 ORDER BY frags DESC LIMIT 3')	    -- LIMIT 3 =  TOP 3 APENAS, CASO QUEIRA QUE PEGUE MAIS PLAYERS, AUMENTAR O NUMERO, CASO QUEIRA QUE PEGUE EM TODOS (NÃO RECOMENDO) TIRAR O "LIMIT 3"
		if result:getID() ~= -1 then
			while (true) do
				p_name[i] = tostring(result:getDataString('name'))
				i = i + 1
				if not(result:next()) then
					break
				end
			end
			result:free()
		end
    	for j = 1, 3 do  --3 é o tamanho do LIMIT caso vc queira que pegue todos os players online, trocar o 3 pra #getPlayersOnline()
      		if getPlayerName(cid) == p_name[j] then
        		sendEffect(cid, j)
				break
        	end
      	end
	end
  	return true
end

local function sendEffect(cid, n_efeito)

	if isCreature(cid) then	
		doSendMagicEffect(getCreaturePosition(cid), effect[n_efeito])
		addEvent(sendEffect, delay, cid, n_efeito)
	end
	
	return true
end

function onLogin(cid)
    checkFrags(cid)
    return true
end

 

 Massa dms, obrigado pela colaboração!

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