Jump to content

Duvidas no Script Dominação


Recommended Posts

Posted

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)

 

Posted

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
Posted (edited)
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
Posted
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.

 

Posted
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!!

Posted
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
Posted
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

Posted
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
Posted
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

Posted (edited)
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
Posted (edited)
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
Posted (edited)
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
Posted
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

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...