Maaster Posted February 20, 2021 Share 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 Link to comment
Other Languages Moderators androksi Posted February 20, 2021 Other Languages Moderators Share 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. Link to comment
Maaster Posted February 21, 2021 Author Share 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) 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