zelloswider Posted January 23, 2020 Share Posted January 23, 2020 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
SrPattif Posted January 23, 2020 Share Posted January 23, 2020 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. 2 Link to comment
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 (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 January 23, 2020 by Angelo Pereira 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 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
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 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
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 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 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 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
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 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? 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 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
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 (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 January 23, 2020 by Angelo Pereira 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 15 minutes ago, Angelo Pereira said: O script já pega as cores atuais da team e coloca na área só trocar o setRadarAreaColor(hillRadar, 0 ,255 ,0, 130) por setRadarAreaColor(hillRadar, r,g ,b, 130) A cor fica preta ao inves de ir a cor da team q o jogador esta :p Link to comment
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 7 minutes ago, zelloswider said: A cor fica preta ao inves de ir a cor da team q o jogador esta :p Como você colocou? 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 1 minute ago, Angelo Pereira said: Como você colocou? Alterei a linha 30 Link to comment
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 1 minute ago, zelloswider said: Alterei a linha 30 mande em código 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 (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 January 23, 2020 by zelloswider Link to comment
Angelo Pereira Posted January 23, 2020 Share Posted January 23, 2020 (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 January 23, 2020 by Angelo Pereira 1 Link to comment
zelloswider Posted January 23, 2020 Author Share Posted January 23, 2020 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now