Maaster Posted February 20, 2021 Posted February 20, 2021 O Script funciona assim: O jogador de uma equipe vai ate o marker, digita /dominar, domina a area e todos os jogadores que estão nessa mesma equipe dele, vão ficar ganhando dinheiro a cada um intervalo especifico de tempo, se a área for dominada por outra equipe, ai a equipe antiga para de ganhar dinheiro e a nova começa a ganhar. o WARNING acontece quando todos os jogadores da equipe que dominou a área sai do servidor e a equipe some do TAB, Ai começa sem parar o WARNING na linha 120: Bad argument @ 'getTeamName ' [Expected team at argument 1], eu sei que ele ocorre porque quando a equipe some, não existe mais o argument Team, ai não tem onde usar o 'getTeamName', mas eu não consegui resolver isso, tem alguma forma de verificar se o argument Team ainda existe? ou um outro jeito de arrumar isso, tentei usar: if ( Team ) then mas o problema continuou igual, ai esta meu código: local sql = { Query = executeSQLQuery }; cooldawnTimer = false addEventHandler( 'onResourceStart', resourceRoot, function() sql.Query( "CREATE TABLE IF NOT EXISTS areas1 (`atualEquipe1` TEXT NOT NULL)") local insert = true local busca = sql.Query( "SELECT * FROM areas1" ) for i = 1, #busca do insert = false end if(insert == true) then sql.Query( "INSERT INTO areas1 (atualEquipe1) VALUES ('ninguem')") end sql.Query( "UPDATE areas1 SET atualEquipe1 = 'ninguem'") end ); ----------------------------------------Marker---------------------------------------- local marker = createMarker (2499.1157226563,-877.779296875,114.53281402588, "cylinder",2,255 ,0 ,0, 100) local entrar = createMarker (2499.1157226563,-877.779296875,114.53281402588 +1, "arrow", 0, 000,0, 0) ----------------------------------------Blip---------------------------------------- local blip = createBlipAttachedTo ( entrar, 23 ) setBlipVisibleDistance(blip, 250) ----------------------------------------Ao entrar no marker---------------------------------------- function texto () local busca = sql.Query( "SELECT * FROM areas1" ) for i = 1, #busca do triggerClientEvent(root,"onDominate1", root, busca[i].atualEquipe1 ) end end setTimer ( texto, 1000, 0) local hillRadar = createRadarArea(2331.3779296875,-1066.1728515625,350,220,255,0,0,0) function mensagem (source) outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF Digite #FF0000/dominar",source,255,255,255,true) end addEventHandler("onMarkerHit",marker,mensagem) ----------------------------------------/dominar---------------------------------------- function mastering (element) if not isElementWithinMarker(element, marker) then return end -- Se o jogador não estiver no marker if getElementType(element) == "player" then -- Se o elemento for um jogador local inTeam = getPlayerTeam (element) -- InTeam é a equipe do jogador --Bloquear /dominar se: if not inTeam then outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF Você precisa ser membro de alguma corp ou gang para dominar ou pacificar a Favela1", element,255,255,255,true) return end -- Se o jogador não estiver em nenhuma equipe if getElementData(element,"ModoPassivo") then outputChatBox("#000000[#FF0000 Erro #000000]#FFFFFF Voce esta com o modo passivo ativado!", element, 255, 0, 0, true) return end -- Se o modo passivo estiver ativo if getElementData(element,"Dominando") then outputChatBox("#000000[#FF0000 Erro #000000]#FFFFFF Espere 1 minuto para usar este comando novamente!", element, 255, 0, 0, true) return end -- Se o jogador ja deu /dominar if cooldawnTimer == true then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela acabou de ser dominada, espere alguns minutos!", element, 255, 255, 255, true) return end -- Se a favela foi dominada a poco tempo --Dominar: --Corp: if getTeamName(inTeam) == "PM" then -- Se o time do jogador for PM if nomePlayer == nil then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela nao foi dominada por nenhuma gang!", element,255,255,255,true) return end -- Se a favela nao pertencer a nenhuma gang if nomePlayer == "PM" then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela ja foi pacificada, nao deixe outras gangs domina-la novamente!", element,255,255,255,true) return end -- se a favela ja estiver pacificada pela PM triggerClientEvent(element,"Temp1",element) -- Ativa o evento Temp1 r, g, b = getTeamColor ( inTeam ) -- outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A #0000FF"..getTeamName(inTeam).." #FFFFFFesta #00FF00pacificando #FFFFFFa Favela 1 que pertence a gang #FF0000"..(nomePlayer or ""), root,255,255,255,true) setRadarAreaFlashing ( hillRadar, true ) -- Area no mapa piscando setElementData(element,"Dominando",true)-- Ganha o elementdata Domindando ao digitar /dominar setTimer (setElementData, 60000, 1, element, "Dominando", false) -- Remove o elementdata Dominando depois de 1 minuto Favela1time = setTimer (function() -- Timer para dominar setRadarAreaFlashing ( hillRadar, false ) -- Ao pacificar a area no mapa para de piscar givePlayerMoney(element,42000) -- Dinheiro ganho ao pacificar outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF Voce recebeu #00FF0042.000R$#FFFFFF por pacificar a favela!", element,255,255,255,true) -- Msg pro policiial que pacificar outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A #0000FF"..getTeamName(inTeam).."#FFFFFF conseguiu #00FF00 pacificar#FFFFFF a Favela 1", root,255,255,255,true) nomePlayer = getTeamName(inTeam) -- nomePlayer passa a ser a equipe que dominou/pacificou a favela sql.Query( "UPDATE areas1 SET atualEquipe1 = '".. nomePlayer .."'") r, g, b = getTeamColor ( inTeam ) setRadarAreaColor(hillRadar, r ,g ,b, 130) -- Muda a cor da area no mapa pra cor da equipe triggerClientEvent(element,"TimerStamp1",element) -- Ativa o evento TimerStamp1 setMarkerColor(marker, 125 ,38 ,205, 80) -- Muda a cor do marker cooldawn() end,60000,1) --Gang: else if getTeamName(inTeam) == nomePlayer then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela ja pertence a sua gang, apenas defenda ela!", element,255,255,255,true) return end --Se a favela ja for da gang do jogador triggerClientEvent(element,"Temp1",element) -- Ativa o evento Temp1 r, g, b = getTeamColor ( inTeam ) outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A gang #FF0000"..getTeamName(inTeam).."#FFFFFF esta#FFFFFF dominando a Favela 1 que pertence a #FF0000"..(nomePlayer or ""), root,255,255,255,true) setRadarAreaFlashing ( hillRadar, true ) -- Faz a area do mapa ficar piscando setElementData(element,"Dominando",true) -- Ganha o ElementData Domindando ao digitar /dominar setTimer (setElementData, 60000, 1, element, "Dominando", false) -- Remove o elementdata Dominando depois de 1 minuto Favela1time = setTimer (function() -- Timer para dominar setRadarAreaFlashing ( hillRadar, false ) -- Faz a area parar de piscar outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A gang #FF0000"..getTeamName(inTeam).."#FFFFFF dominou a Favela 1 que pertencia a #FF0000"..(nomePlayer or ""), root,255,255,255,true) nomePlayer = getTeamName(inTeam) -- nomePlayer passa a ser o time do jogador que dominou sql.Query( "UPDATE areas1 SET atualEquipe1 = '".. nomePlayer .."'") r, g, b = getTeamColor ( inTeam ) setRadarAreaColor(hillRadar, r ,g ,b, 130) -- A area do mapa fica da cor da equipe triggerClientEvent(element,"TimerStamp1",element) -- Ativa o evento TimerStamp1 setMarkerColor(marker, 125 ,38 ,205, 80) -- Muda a cor do marker cooldawn() -- Team = getPlayerTeam (element) -- para o money timer if getPlayerWantedLevel(element) < 6 then -- Se o jogador tiver menos de 6 estrelas de procurado setPlayerWantedLevel(element,getPlayerWantedLevel(element)+1) -- Adiciona mais um level de procurado ao jogador que dominar end end,60000,1) ------------------------------MoneyTimer------------------------------ moneyTimer = setTimer ( function () if (Team) then if getTeamName(Team) == nomePlayer then local players = getPlayersInTeam(Team) for playerKey, playerValue in ipairs ( players ) do givePlayerMoney(playerValue, 100) end end end end,5000,0) ------------------------------.------------------------------ end end end addCommandHandler("dominar", mastering) ----------------------------------------Ao sair do marker enquanto domina---------------------------------------- function onLeave (element) triggerClientEvent(element,"TimerStamp1",element) setRadarAreaFlashing ( hillRadar, false ) if (isTimer(Favela1time)) then if not killTimer(Favela1time) then return end outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF Volte para o marker para continuar dominando!", element,255,255,255,true) end end addEventHandler("onMarkerLeave",marker,onLeave) ----------------------------------------Cooldawn para dominar---------------------------------------- function cooldawn () if cooldawnTimer == false then cooldawnTimer = true else end setTimer(function() cooldawnTimer = false outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A Favela 1 ja pode ser dominada novamente!", root, 255, 255, 255, true) end, 60000*60*0.2, 1) end
androksi Posted February 20, 2021 Posted February 20, 2021 Olá. Por favor, sempre que for criar um tópico, insira um título pequeno que relate, em poucas palavras, o contexto do seu conteúdo que será postado. Não é necessário dizer o que está acontecendo, no título do tópico. Este título já seria suficiente: Como posso verificar se um argumento ainda existe? Também, evite mandar o código dessa forma (ESTÁ OCUPANDO MUITO ESPAÇO!!!) adicione o conteúdo do código dentro de um Spoiler. Sobre o seu erro: aonde está o erro? - poste apenas a parte do código onde ele se encontra, pois ninguém vai procurar nesse código imenso.
Maaster Posted February 21, 2021 Author Posted February 21, 2021 6 hours ago, andr0xy said: Olá. Por favor, sempre que for criar um tópico, insira um título pequeno que relate, em poucas palavras, o contexto do seu conteúdo que será postado. Não é necessário dizer o que está acontecendo, no título do tópico. Este título já seria suficiente: Como posso verificar se um argumento ainda existe? Também, evite mandar o código dessa forma (ESTÁ OCUPANDO MUITO ESPAÇO!!!) adicione o conteúdo do código dentro de um Spoiler. Sobre o seu erro: aonde está o erro? - poste apenas a parte do código onde ele se encontra, pois ninguém vai procurar nesse código imenso. Entendi, desculpe, o problema esta nessa parte do codigo, quando o jogador usa o /dominar e domina Spoiler ----------------------------------------/dominar---------------------------------------- function mastering (element) if not isElementWithinMarker(element, marker) then return end -- Se o jogador não estiver no marker if getElementType(element) == "player" then -- Se o elemento for um jogador local inTeam = getPlayerTeam (element) -- InTeam é a equipe do jogador --Bloquear /dominar se: if not inTeam then outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF Você precisa ser membro de alguma corp ou gang para dominar ou pacificar a Favela1", element,255,255,255,true) return end -- Se o jogador não estiver em nenhuma equipe if getElementData(element,"ModoPassivo") then outputChatBox("#000000[#FF0000 Erro #000000]#FFFFFF Voce esta com o modo passivo ativado!", element, 255, 0, 0, true) return end -- Se o modo passivo estiver ativo if getElementData(element,"Dominando") then outputChatBox("#000000[#FF0000 Erro #000000]#FFFFFF Espere 1 minuto para usar este comando novamente!", element, 255, 0, 0, true) return end -- Se o jogador ja deu /dominar if cooldawnTimer == true then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela acabou de ser dominada, espere alguns minutos!", element, 255, 255, 255, true) return end -- Se a favela foi dominada a poco tempo --Dominar: --Corp: if getTeamName(inTeam) == "PM" then -- Se o time do jogador for PM if nomePlayer == nil then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela nao foi dominada por nenhuma gang!", element,255,255,255,true) return end -- Se a favela nao pertencer a nenhuma gang if nomePlayer == "PM" then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela ja foi pacificada, nao deixe outras gangs domina-la novamente!", element,255,255,255,true) return end -- se a favela ja estiver pacificada pela PM triggerClientEvent(element,"Temp1",element) -- Ativa o evento Temp1 r, g, b = getTeamColor ( inTeam ) -- outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A #0000FF"..getTeamName(inTeam).." #FFFFFFesta #00FF00pacificando #FFFFFFa Favela 1 que pertence a gang #FF0000"..(nomePlayer or ""), root,255,255,255,true) setRadarAreaFlashing ( hillRadar, true ) -- Area no mapa piscando setElementData(element,"Dominando",true)-- Ganha o elementdata Domindando ao digitar /dominar setTimer (setElementData, 60000, 1, element, "Dominando", false) -- Remove o elementdata Dominando depois de 1 minuto Favela1time = setTimer (function() -- Timer para dominar setRadarAreaFlashing ( hillRadar, false ) -- Ao pacificar a area no mapa para de piscar givePlayerMoney(element,42000) -- Dinheiro ganho ao pacificar outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF Voce recebeu #00FF0042.000R$#FFFFFF por pacificar a favela!", element,255,255,255,true) -- Msg pro policiial que pacificar outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A #0000FF"..getTeamName(inTeam).."#FFFFFF conseguiu #00FF00 pacificar#FFFFFF a Favela 1", root,255,255,255,true) nomePlayer = getTeamName(inTeam) -- nomePlayer passa a ser a equipe que dominou/pacificou a favela sql.Query( "UPDATE areas1 SET atualEquipe1 = '".. nomePlayer .."'") r, g, b = getTeamColor ( inTeam ) setRadarAreaColor(hillRadar, r ,g ,b, 130) -- Muda a cor da area no mapa pra cor da equipe triggerClientEvent(element,"TimerStamp1",element) -- Ativa o evento TimerStamp1 setMarkerColor(marker, 125 ,38 ,205, 80) -- Muda a cor do marker cooldawn() end,60000,1) --Gang: else if getTeamName(inTeam) == nomePlayer then outputChatBox("#000000[ #FF0000Erro #000000]#FFFFFF Esta favela ja pertence a sua gang, apenas defenda ela!", element,255,255,255,true) return end --Se a favela ja for da gang do jogador triggerClientEvent(element,"Temp1",element) -- Ativa o evento Temp1 r, g, b = getTeamColor ( inTeam ) outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A gang #FF0000"..getTeamName(inTeam).."#FFFFFF esta#FFFFFF dominando a Favela 1 que pertence a #FF0000"..(nomePlayer or ""), root,255,255,255,true) setRadarAreaFlashing ( hillRadar, true ) -- Faz a area do mapa ficar piscando setElementData(element,"Dominando",true) -- Ganha o ElementData Domindando ao digitar /dominar setTimer (setElementData, 60000, 1, element, "Dominando", false) -- Remove o elementdata Dominando depois de 1 minuto Favela1time = setTimer (function() -- Timer para dominar setRadarAreaFlashing ( hillRadar, false ) -- Faz a area parar de piscar outputChatBox("#000000[ #FF0000Favela 1 #000000]#FFFFFF A gang #FF0000"..getTeamName(inTeam).."#FFFFFF dominou a Favela 1 que pertencia a #FF0000"..(nomePlayer or ""), root,255,255,255,true) nomePlayer = getTeamName(inTeam) -- nomePlayer passa a ser o time do jogador que dominou sql.Query( "UPDATE areas1 SET atualEquipe1 = '".. nomePlayer .."'") r, g, b = getTeamColor ( inTeam ) setRadarAreaColor(hillRadar, r ,g ,b, 130) -- A area do mapa fica da cor da equipe triggerClientEvent(element,"TimerStamp1",element) -- Ativa o evento TimerStamp1 setMarkerColor(marker, 125 ,38 ,205, 80) -- Muda a cor do marker cooldawn() Team = getPlayerTeam (element) -- para o money timer if getPlayerWantedLevel(element) < 6 then -- Se o jogador tiver menos de 6 estrelas de procurado setPlayerWantedLevel(element,getPlayerWantedLevel(element)+1) -- Adiciona mais um level de procurado ao jogador que dominar end end,60000,1) ------------------------------MoneyTimer------------------------------ moneyTimer = setTimer ( function () if (Team) then if getTeamName(Team) == nomePlayer then local players = getPlayersInTeam(Team) for playerKey, playerValue in ipairs ( players ) do givePlayerMoney(playerValue, 100) end end end end,5000,0) ------------------------------.------------------------------ end end end addCommandHandler("dominar", mastering)
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