Jump to content

Duvidas no Script Dominação


Recommended Posts

mta-screen_2020-01-23_02-54-52.md.png

 

Olá pessoal. Eu ainda sou leigo nessa parte de script.

 Baixei um Mod de dominação e estou com uma duvida de como eu faço para não permitir que membros da corporação ou gang já dominada continuem dominando?

 

Obs:  eu peguei esse script na internet.

local sql = { Query = executeSQLQuery };
addEventHandler( 'onResourceStart', resourceRoot, function()
	sql.Query( "CREATE TABLE IF NOT EXISTS areas (`atualEquipe` TEXT NOT NULL)")
	local insert = true
	local busca = sql.Query( "SELECT * FROM areas" )
	for i = 1, #busca do
		insert = false
	end
	if(insert == true) then
		sql.Query( "INSERT INTO areas (atualEquipe) VALUES ('CJ')")
	end
	sql.Query( "UPDATE areas SET atualEquipe = 'CJ'")
end );

local marker =  createMarker (1175.5581054688,-2037.2095947266,77.893753051758, "cylinder",2,125 ,38 ,205, 100)
local entrar = createMarker (1175.5581054688,-2037.2095947266,77.893753051758 +1, "arrow", 0, 000,0, 0)
local blip = createBlipAttachedTo ( entrar, 23 )
    setBlipVisibleDistance(blip, 250)
local entrar11= createMarker ( -1, "corona", 5, 0,0,0)
local blip11 = createBlipAttachedTo ( entrar11, 23 )
    setBlipVisibleDistance(blip11, 250)

function texto ()
	local busca = sql.Query( "SELECT * FROM areas" )
	for i = 1, #busca do
		triggerClientEvent(root,"onDominate", root, busca[i].atualEquipe )
	end
end
setTimer ( texto, 1000, 5)

local hillRadar = createRadarArea(1520.0114746094,-2300.4619140625, -450,350,-255,140,0,350)

function mensagem (source)

	outputChatBox("Digite #FF0000/dominar #FFFFFFpara começar a dominar este territorio.",source,255,255,255,true)
	
end
addEventHandler("onMarkerHit",marker,mensagem)

function mastering (element)

if not isElementWithinMarker(element, marker) then return end
	if getElementType(element) == "player" then
    local inTeam = getPlayerTeam (element)
    if inTeam then	
		triggerClientEvent(element,"Temp",element)	    
		r, g, b = getTeamColor ( inTeam )
		outputChatBox("#7D26CD* #ffffffA GANG #7D26CD"..getTeamName(inTeam).." #ffffffESTA DOMINANDO O TERRITORIO #ff0000"..(nomePlayer or ""), root,255,255,255,true)
	    setRadarAreaFlashing ( hillRadar, true )
		
		time = setTimer (function()  
		       setRadarAreaFlashing ( hillRadar, false )
		       givePlayerMoney(element,0)
			   outputChatBox("#7D26CD* "..getTeamName(inTeam).." #ffffffDominou a gang #ff0000"..(nomePlayer or ""), root,255,255,255,true)
			   nomePlayer = getTeamName(inTeam)
			   sql.Query( "UPDATE areas SET atualEquipe = '".. nomePlayer .."'")
			   setRadarAreaColor(hillRadar, 0 ,255 ,0, 130)
			   triggerClientEvent(element,"TimerStamp",element)
			   setMarkerColor(marker, 0 ,255 ,0, 80)
		end,15000,1) 
		
        else
		outputChatBox("#7D26CD* #ffffffVocê não esta em nenhuma gang", element,255,255,255,true)
	    end		
		
    end		
	
end	   
addCommandHandler("dominar", mastering)

function onLeave (element)

        triggerClientEvent(element,"TimerStamp",element)
		setRadarAreaFlashing ( hillRadar, false )
        if not killTimer(time) then return end
        outputChatBox("#7D26CD* #ffffffVolte para o marker para continuar dominando.", element,255,255,255,true)
		
end
addEventHandler("onMarkerLeave",marker,onLeave)

 

Link to comment

Olá.

Você pode simplesmente criar uma variável, no exemplo vamos chamá-la de 'dominado', e após que seja dominado pela primeira vez, você altera o valor desta variável para "true", ou "1"... Enfim, o valor que quiser...

 

Exemplo com comandos:

dominado = 0

function dominar(thePlayer)
	if dominado == 1 then --/> Verifica se já foi dominado
    	outputChatBox("#ff0000ERRO: #aaaaaaEsta favela já foi dominada")
    
    else if dominado == 0 then --/> Se não, verifica se ainda não foi dominado
		outputChatBox("#00ff00SUCESSO! BLA BLA BLA")
      	--/> Aqui vem o script pra dominar e tals
     end
    end
  end

 

Atenção » Eu não testei, então pode conter erros, mas é mais ou menos isso

 

Você pode também adicionar um setTimer para definir o tempo para setar a variável para 0 novamente.

  • Thanks 2
Link to comment
equipe_dominando = nil  --/> AQUI
dominado = false --/> AQUI

function mastering (element)
if not isElementWithinMarker(element, marker) then return end
   if getElementType(element) == "player" then
   local inTeam = getPlayerTeam (element)
   if inTeam then
      
      if inTeam == equipe_dominando then outputChatBox("Sua Equipe Já Está Dominando...",element,255,255,255,true) return end  --/> AQUI
      if dominado == true then outputChatBox("Esta Area Já Está Sendo Dominada...",element,255,255,255,true) return end	--/> AQUI
      dominado = true --/> AQUI
	  
      triggerClientEvent(element,"Temp",element)	    
      r, g, b = getTeamColor ( inTeam )
      outputChatBox("#7D26CD* #ffffffA GANG #7D26CD"..getTeamName(inTeam).." #ffffffESTA DOMINANDO O TERRITORIO #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      setRadarAreaFlashing ( hillRadar, true )
		
      time = setTimer (function()  
      setRadarAreaFlashing ( hillRadar, false )
      givePlayerMoney(element,0)
      outputChatBox("#7D26CD* "..getTeamName(inTeam).." #ffffffDominou a gang #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      nomePlayer = getTeamName(inTeam)
	  
      equipe_dominando = nomePlayer --/> AQUI
      dominado = false --/> AQUI
	  
      sql.Query( "UPDATE areas SET atualEquipe = '".. nomePlayer .."'")
      setRadarAreaColor(hillRadar, 0 ,255 ,0, 130)
      triggerClientEvent(element,"TimerStamp",element)
      setMarkerColor(marker, 0 ,255 ,0, 80)
      end,15000,1) 
		
      else
      outputChatBox("#7D26CD* #ffffffVocê não esta em nenhuma gang", element,255,255,255,true)
      end		
   end		
end	   
addCommandHandler("dominar", mastering)

function onLeave (element)
   triggerClientEvent(element,"TimerStamp",element)
   setRadarAreaFlashing ( hillRadar, false )
   if not killTimer(time) then return end
   dominado = false --/> AQUI
   outputChatBox("#7D26CD* #ffffffVolte para o marker para continuar dominando.", element,255,255,255,true)
end
addEventHandler("onMarkerLeave",marker,onLeave)

Não testei, caso tiver algum erro, siga o raciocínio do SrPattif

Edited by Angelo Pereira
  • Thanks 1
Link to comment
1 hour ago, SrPattif said:

Olá.

Você pode simplesmente criar uma variável, no exemplo vamos chamá-la de 'dominado', e após que seja dominado pela primeira vez, você altera o valor desta variável para "true", ou "1"... Enfim, o valor que quiser...

 

Exemplo com comandos:


dominado = 0

function dominar(thePlayer)
	if dominado == 1 then --/> Verifica se já foi dominado
    	outputChatBox("#ff0000ERRO: #aaaaaaEsta favela já foi dominada")
    
    else if dominado == 0 then --/> Se não, verifica se ainda não foi dominado
		outputChatBox("#00ff00SUCESSO! BLA BLA BLA")
      	--/> Aqui vem o script pra dominar e tals
     end
    end
  end

 

Atenção » Eu não testei, então pode conter erros, mas é mais ou menos isso

 

Você pode também adicionar um setTimer para definir o tempo para setar a variável para 0 novamente.

 

1 hour ago, SrPattif said:

Olá.

Você pode simplesmente criar uma variável, no exemplo vamos chamá-la de 'dominado', e após que seja dominado pela primeira vez, você altera o valor desta variável para "true", ou "1"... Enfim, o valor que quiser...

 

Exemplo com comandos:


dominado = 0

function dominar(thePlayer)
	if dominado == 1 then --/> Verifica se já foi dominado
    	outputChatBox("#ff0000ERRO: #aaaaaaEsta favela já foi dominada")
    
    else if dominado == 0 then --/> Se não, verifica se ainda não foi dominado
		outputChatBox("#00ff00SUCESSO! BLA BLA BLA")
      	--/> Aqui vem o script pra dominar e tals
     end
    end
  end

Você poderia adicionar para mim? eu não entendo muito aonde ou como eu encaixo o seu comando citado a cima.

Por favor.

 

Link to comment
31 minutes ago, Angelo Pereira said:

equipe_dominando = nil  --/> AQUI
dominado = false --/> AQUI

function mastering (element)
if not isElementWithinMarker(element, marker) then return end
   if getElementType(element) == "player" then
   local inTeam = getPlayerTeam (element)
   if inTeam then
      
      if inTeam == equipe_dominando then outputChatBox("Sua Equipe Já Está Dominando...",element,255,255,255,true) return end  --/> AQUI
      if dominado == true then outputChatBox("Esta Area Já Está Sendo Dominada...",element,255,255,255,true) return end	--/> AQUI
      dominado = true --/> AQUI
	  
      triggerClientEvent(element,"Temp",element)	    
      r, g, b = getTeamColor ( inTeam )
      outputChatBox("#7D26CD* #ffffffA GANG #7D26CD"..getTeamName(inTeam).." #ffffffESTA DOMINANDO O TERRITORIO #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      setRadarAreaFlashing ( hillRadar, true )
		
      time = setTimer (function()  
      setRadarAreaFlashing ( hillRadar, false )
      givePlayerMoney(element,0)
      outputChatBox("#7D26CD* "..getTeamName(inTeam).." #ffffffDominou a gang #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      nomePlayer = getTeamName(inTeam)
	  
      equipe_dominando = nomePlayer --/> AQUI
      dominado = false --/> AQUI
	  
      sql.Query( "UPDATE areas SET atualEquipe = '".. nomePlayer .."'")
      setRadarAreaColor(hillRadar, 0 ,255 ,0, 130)
      triggerClientEvent(element,"TimerStamp",element)
      setMarkerColor(marker, 0 ,255 ,0, 80)
      end,15000,1) 
		
      else
      outputChatBox("#7D26CD* #ffffffVocê não esta em nenhuma gang", element,255,255,255,true)
      end		
   end		
end	   
addCommandHandler("dominar", mastering)

function onLeave (element)
   triggerClientEvent(element,"TimerStamp",element)
   setRadarAreaFlashing ( hillRadar, false )
   if not killTimer(time) then return end
   dominado = false --/> AQUI
   outputChatBox("#7D26CD* #ffffffVolte para o marker para continuar dominando.", element,255,255,255,true)
end
addEventHandler("onMarkerLeave",marker,onLeave)

Não testei, caso tiver algum erro, siga o raciocínio do SrPattif

Resolveu um problema so que tipo oq eu quero que o script faça e o seguinte

Exemplo: Sou da bope dominei a area ok

Vou tentar dominar a area dominada por mim denovo essa mensagem apareçe
So vou poder dominar novamente se outra team dominar a area

Espero que tenha entendido!!

Link to comment
1 minute ago, zelloswider said:

Resolveu um problema so que tipo oq eu quero que o script faça e o seguinte

Exemplo: Sou da bope dominei a area ok

Vou tentar dominar a area dominada por mim denovo essa mensagem apareçe
So vou poder dominar novamente se outra team dominar a area

Espero que tenha entendido!!

Já foi feito, verifique se está funcionando na linha 11.

  • if (inTeam == equipe_dominando) then outputChatBox("Sua Equipe Já Está Dominando...",element,255,255,255,true) return end --/> AQUI

Para dominar este local novamente, outra team terá que dominar o local, caso não estiver funcional, diga aqui que o pessoal ajuda

  • Thanks 1
Link to comment
15 minutes ago, Angelo Pereira said:

Já foi feito, verifique se está funcionando na linha 11.

  • if (inTeam == equipe_dominando) then outputChatBox("Sua Equipe Já Está Dominando...",element,255,255,255,true) return end --/> AQUI

Para dominar este local novamente, outra team terá que dominar o local, caso não estiver funcional, diga aqui que o pessoal ajuda

Sim po so que tipo oq eu quero que aconteça e q eu dominei a area eu n consigo mais

 

eu tentei so

q oque eu quero e q eu não consiga dominar a area que eu ja dominei 

ainda aconteçe :p ultima coisa q resolveu foi tipo a outra pessoa não conseguir dominar enquanto eu to dominando

Link to comment
if getTeamName(inTeam) == equipe_dominando then outputChatBox("Sua Equipe Já Está Dominando...",element,255,255,255,true) return end  --/> AQUI

Tente isso, bom isso fará que sua team não consiga mais domina a área já domina pela sua team, se for outra coisa, eu não estou te entendendo.

Agora, o que você quer é, se você dominar, somente você não conseguir dominar novamente e o resto da team sim?, é isto?

  • Thanks 1
Link to comment
15 minutes ago, Angelo Pereira said:

if getTeamName(inTeam) == equipe_dominando then outputChatBox("Sua Equipe Já Está Dominando...",element,255,255,255,true) return end  --/> AQUI

Tente isso, bom isso fará que sua team não consiga mais domina a área já domina pela sua team, se for outra coisa, eu não estou te entendendo.

Agora, o que você quer é, se você dominar, somente você não conseguir dominar novamente e o resto da team sim?, é isto?

Muito obrigado foi  maninho mais assim kkk so mais uma duvida como deixo as cores das areas de dominaçao pela cor da team que dominou

exemplo

Minha gang e amarela a outra e preta a amarela dominou fica um quadrado amarelo no mapa

ao inves de ficar greenzone no mapa 

 

ja a gang preta dominou tbm o quadado no mapa vai mudar de amarelo pra preto

Link to comment
15 minutes ago, zelloswider said:

Muito obrigado foi  maninho mais assim kkk so mais uma duvida como deixo as cores das areas de dominaçao pela cor da team que dominou

exemplo

Minha gang e amarela a outra e preta a amarela dominou fica um quadrado amarelo no mapa

ao inves de ficar greenzone no mapa 

 

ja a gang preta dominou tbm o quadado no mapa vai mudar de amarelo pra preto

O script já pega as cores atuais da team e coloca na área

linha 30. só trocar o setRadarAreaColor(hillRadar, 0 ,255 ,0, 130) por setRadarAreaColor(hillRadar, r,g ,b, 130)

Edited by Angelo Pereira
  • Like 1
Link to comment
2 minutes ago, Angelo Pereira said:

mande em código

function mastering (element)
if not isElementWithinMarker(element, marker) then return end
   if getElementType(element) == "player" then
   local inTeam = getPlayerTeam (element)
   if inTeam then
      
      if getTeamName(inTeam) == equipe_dominando then outputChatBox("Sua Equipe Já Dominou...",element,255,255,255,true) return end  --/> AQUI
      if dominado == true then outputChatBox("Esta Area Já Está Sendo Dominada...",element,255,255,255,true) return end	--/> AQUI
      dominado = true --/> AQUI
	  
      triggerClientEvent(element,"Temp",element)	    
      r, g, b = getTeamColor ( inTeam )
      outputChatBox("#7D26CD* #ffffffA GANG #7D26CD"..getTeamName(inTeam).." #ffffffESTA DOMINANDO O TERRITORIO #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      setRadarAreaFlashing ( hillRadar, true )
		
      time = setTimer (function()  
      setRadarAreaFlashing ( hillRadar, false )
      givePlayerMoney(element,0)
      outputChatBox("#7D26CD* "..getTeamName(inTeam).." #ffffffDominou a gang #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      nomePlayer = getTeamName(inTeam)
	  
      equipe_dominando = nomePlayer --/> AQUI
      dominado = false --/> AQUI
	  
      sql.Query( "UPDATE areas SET atualEquipe = '".. nomePlayer .."'")
      setRadarAreaColor(hillRadar, r,g ,b, 130)
      triggerClientEvent(element,"TimerStamp",element)
      setMarkerColor(marker, 0 ,255 ,0, 80)
      end,15000,1) 
		
      else
      outputChatBox("#7D26CD* #ffffffVocê não esta em nenhuma gang", element,255,255,255,true)
      end		
   end		
end	   
addCommandHandler("dominar", mastering)

Aqui

Edited by zelloswider
Link to comment
function mastering (element)
if not isElementWithinMarker(element, marker) then return end
   if getElementType(element) == "player" then
   local inTeam = getPlayerTeam (element)
   if inTeam then
      
      if getTeamName(inTeam) == equipe_dominando then outputChatBox("Sua Equipe Já Dominou...",element,255,255,255,true) return end  --/> AQUI
      if dominado == true then outputChatBox("Esta Area Já Está Sendo Dominada...",element,255,255,255,true) return end	--/> AQUI
      dominado = true --/> AQUI
	  
      triggerClientEvent(element,"Temp",element)	    
      r, g, b = getTeamColor ( inTeam )
      outputChatBox("#7D26CD* #ffffffA GANG #7D26CD"..getTeamName(inTeam).." #ffffffESTA DOMINANDO O TERRITORIO #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      setRadarAreaFlashing ( hillRadar, true )
		
      time = setTimer (function()  
      setRadarAreaFlashing ( hillRadar, false )
      givePlayerMoney(element,0)
      outputChatBox("#7D26CD* "..getTeamName(inTeam).." #ffffffDominou a gang #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      nomePlayer = getTeamName(inTeam)
	  
      equipe_dominando = nomePlayer --/> AQUI
      dominado = false --/> AQUI
	  
      sql.Query( "UPDATE areas SET atualEquipe = '".. nomePlayer .."'")
      setRadarAreaColor(hillRadar,r,g,b,200) --/> r,g,b 
      triggerClientEvent(element,"TimerStamp",element)
      setMarkerColor(marker, 0 ,255 ,0, 80)
      end,15000,1) 
		
      else
      outputChatBox("#7D26CD* #ffffffVocê não esta em nenhuma gang", element,255,255,255,true)
      end		
   end		
end	   
addCommandHandler("dominar", mastering)

 

Edited by Angelo Pereira
  • Thanks 1
Link to comment
5 minutes ago, Angelo Pereira said:

function mastering (element)
if not isElementWithinMarker(element, marker) then return end
   if getElementType(element) == "player" then
   local inTeam = getPlayerTeam (element)
   if inTeam then
      
      if getTeamName(inTeam) == equipe_dominando then outputChatBox("Sua Equipe Já Dominou...",element,255,255,255,true) return end  --/> AQUI
      if dominado == true then outputChatBox("Esta Area Já Está Sendo Dominada...",element,255,255,255,true) return end	--/> AQUI
      dominado = true --/> AQUI
	  
      triggerClientEvent(element,"Temp",element)	    
      r, g, b = getTeamColor ( inTeam )
      outputChatBox("#7D26CD* #ffffffA GANG #7D26CD"..getTeamName(inTeam).." #ffffffESTA DOMINANDO O TERRITORIO #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      setRadarAreaFlashing ( hillRadar, true )
		
      time = setTimer (function()  
      setRadarAreaFlashing ( hillRadar, false )
      givePlayerMoney(element,0)
      outputChatBox("#7D26CD* "..getTeamName(inTeam).." #ffffffDominou a gang #ff0000"..(nomePlayer or ""), root,255,255,255,true)
      nomePlayer = getTeamName(inTeam)
	  
      equipe_dominando = nomePlayer --/> AQUI
      dominado = false --/> AQUI
	  
      sql.Query( "UPDATE areas SET atualEquipe = '".. nomePlayer .."'")
      setRadarAreaColor(hillRadar,r,g,b,130) --/> r,g,b 
      triggerClientEvent(element,"TimerStamp",element)
      setMarkerColor(marker, 0 ,255 ,0, 80)
      end,15000,1) 
		
      else
      outputChatBox("#7D26CD* #ffffffVocê não esta em nenhuma gang", element,255,255,255,true)
      end		
   end		
end	   
addCommandHandler("dominar", mastering)

 

Ficou cinza agora

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...