Maaster Posted January 31, 2021 Share Posted January 31, 2021 (edited) Quero deixar todos os veículos que um jogador com o modo passivo ativo pegar, fique indestrutível e transparente. Acho que se eu colocar "setVehicleDamageProof(thePlayer, true)" na hora que o jogador entrar no modo passivo, só vai ativar pro veiculo que ele esta no momento, oque eu quero fazer eh deixar indestrutível e trasnparente todos os veiculos que ele entrar ------------------------------.------------------------------ local acls = { "Everyone" } local cmd = "passivo" -- Comando Pra Desativar / Ativar o modo Passivo local AtivarBind = false -- Ativar / Desativar o Uso de Bind Pra Desativar / Ativar o modo Passivo ( true = Ativado ) / ( false = Desativado ) local LetraOuNumeroParaBind = "b" ------------------------------.------------------------------ addEventHandler( "onResourceStart", resourceRoot, function() for _,v in pairs(getElementsByType("player")) do if AtivarBind == true then bindKey(v, LetraOuNumeroParaBind, "down", toggleGodMode) end end end ) ------------------------------.------------------------------ addEventHandler( "onPlayerJoin", root, function() if AtivarBind == true then bindKey(source, LetraOuNumeroParaBind, "down", toggleGodMode) end end ) ------------------------------.------------------------------ function toggleGodMode(thePlayer) local account = getPlayerAccount(thePlayer) if (not account or isGuestAccount(account)) then return end local accountName = getAccountName(account) for i, v in pairs ( acls ) do if ( isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( v ) ) ) then if getElementData(thePlayer,"Desativando>ModoPassivo") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF]• Aguarde o Tempo de Desativar o Modo Passivo Para Usar esse Comando', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"Ativando>ModoPassivo") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF]• Aguarde o Tempo de Ativação do Modo Passivo Para Usar esse Comando', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"Ativado>Start15Segundos") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF]• Aguarde 15 Segundos Para Utilizar esse Comando Novamente', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"Desativado>Start5Minutos") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] • Aguarde 5 Minutos Para Utilizar esse Comando Novamente', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"isPolice",true) then outputChatBox ( "#000000[#FF0000 Erro #000000]#FFFFFF Voce e um policial, nao pode ativar o modo passivo!", thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"emEvento",true) then outputChatBox ( "#000000[#FF0000 Erro #000000]#FFFFFF Voce esta em um evento!", thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"emArena",true) then outputChatBox ( "#000000[#FF0000 Erro #000000]#FFFFFF Voce esta em uma arena!", thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"ModoPassivo") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] • Desativando Modo Passivo em 15 Segundos', thePlayer, 255, 255, 255, true ) setTimer ( DesativarPassivo, 10000, 1, thePlayer) setElementData ( thePlayer, "Desativando>ModoPassivo", true ) else outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] • Ativando Modo Passivo em 10 Segundos', thePlayer, 255, 255, 255, true ) setTimer ( AtivarPassivo, 10000, 1, thePlayer) setElementData ( thePlayer, "Ativando>ModoPassivo", true ) end break end end end addCommandHandler ( cmd, toggleGodMode ) ------------------------------DesativarModoPassivo------------------------------ function DesativarPassivo (thePlayer) setElementData ( thePlayer, "Desativando>ModoPassivo", false ) setElementData(thePlayer,"ModoPassivo",false) toggleControl (thePlayer, "fire", true) toggleControl (thePlayer, "next_weapon", true) toggleControl (thePlayer, "previous_weapon", true) toggleControl (thePlayer, "aim_weapon", true) toggleControl (thePlayer, "vehicle_fire", true) setVehicleDamageProof(thePlayer,false) setElementAlpha(thePlayer, 255) outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] Modo Passivo #FF0000( Desativado )', thePlayer, 255, 255, 255, true ) -- outputChatBox ( "• O Jogador "..getPlayerName(thePlayer).." #ffffffDesativou o Modo Passivo", root, 255, 255, 255, true ) -- Msg Para Todos setElementData ( thePlayer, "Desativado>Start5Minutos", true ) setTimer ( setElementData, 300000, 1, thePlayer, "Desativado>Start5Minutos", false ) end ------------------------------AtivarModoPassivo------------------------------ function AtivarPassivo (thePlayer) setElementData ( thePlayer, "Ativando>ModoPassivo", false ) setElementData(thePlayer,"ModoPassivo", true) toggleControl (thePlayer, "fire", false) toggleControl (thePlayer, "next_weapon", false) toggleControl (thePlayer, "previous_weapon", false) toggleControl (thePlayer, "aim_weapon", false) toggleControl (thePlayer, "vehicle_fire", false) setPedWeaponSlot (thePlayer, 0 ) setVehicleDamageProof(thePlayer, true) setElementAlpha(thePlayer, 145) outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] Modo Passivo #00FF00( Ativado )', thePlayer, 255, 255, 255, true ) -- outputChatBox ( "• O Jogador "..getPlayerName(thePlayer).." #ffffffAtivou o Modo Passivo", root, 255, 255, 255, true ) -- Msg Para Todos setElementData ( thePlayer, "Ativado>Start15Segundos", true ) setTimer ( setElementData, 15000, 1, thePlayer, "Ativado>Start15Segundos", false ) end ------------------------------.------------------------------ function VerificarModo (player) if getElementData ( player,"ModoPassivo" ) == true then toggleControl ( player, "fire", false) toggleControl ( player, "next_weapon", false) toggleControl ( player, "previous_weapon", false) toggleControl ( player, "aim_weapon", false) toggleControl ( player, "vehicle_fire", false) setPedWeaponSlot ( player, 0 ) else if not getElementData (player, "EmAreaVerde") == true then toggleControl ( player, "fire", true ) toggleControl ( player, "next_weapon", true ) toggleControl ( player, "previous_weapon", true ) toggleControl ( player, "aim_weapon", true ) toggleControl ( player, "vehicle_fire", true ) end end end ------------------------------Timer------------------------------ setTimer( function() for i, player in pairs(getElementsByType("player")) do if player ~= (false or nil) then VerificarModo(player) end end end, 1000,0) ------------------------------OutroMod------------------------------ function outputMessage (text, player, r, g, b) return exports["Mod-MPLIB"]:outputMessage(player, text, r, g, b); end setElementData ( localPlayer, "Timer:Passivo", false ) setElementData ( localPlayer, "ModoPassivo", false ) setElementData ( localPlayer, "Ativando>ModoPassivo", false ) setElementData ( localPlayer, "Desativando>ModoPassivo", false ) setElementData ( localPlayer, "Desativado>Start5Minutos", false ) setElementData ( localPlayer, "Ativado>Start15Segundos", false ) -------------------------------------------------------------------------------------------------------- addEventHandler ( "onClientPlayerDamage",root, function () if getElementData(source,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler("onClientPlayerStealthKill",localPlayer, function (targetPlayer) if getElementData(targetPlayer,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler ( "onClientPlayerDamage",root, function () if getElementData(source,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler("onClientPlayerStealthKill",localPlayer, function (targetPlayer) if getElementData(targetPlayer,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler( 'onClientRender', root, function( ) for _, player in ipairs( getElementsByType( 'player') ) do if isElementOnScreen( player ) and getElementData( player, 'ModoPassivo' ) then local cx, cy, cz, x, y, z, dist local x, y, z = getElementPosition( player ); local cx, cy, cz = getCameraMatrix( ); dist = math.sqrt( ( cx - x ) ^ 2 + ( cy - y ) ^ 2 + ( cz - z ) ^ 2 ) if dist < 32.0 then if isLineOfSightClear( cx, cy, cz, x, y, z, true, false, false, true, false, false, false,localPlayer ) then local sx, sy, sz = getPedBonePosition( player, 2 ) local x,y = getScreenFromWorldPosition( sx, sy, sz + 0.15 ) if x then dxDrawText("Modo Passivo", x, y, 30, 30, tocolor(255, 255, 255, 200), 1, "default-bold", "left", "top") end end end end end end ); Edited January 31, 2021 by Maaster342 Link to comment
Blaack Posted January 31, 2021 Share Posted January 31, 2021 1 hour ago, Maaster342 said: Quero deixar todos os veículos que um jogador com o modo passivo ativo pegar, fique indestrutível e transparente. Acho que se eu colocar "setVehicleDamageProof(thePlayer, true)" na hora que o jogador entrar no modo passivo, só vai ativar pro veiculo que ele esta no momento, oque eu quero fazer eh deixar indestrutível e trasnparente todos os veiculos que ele entrar ------------------------------.------------------------------ local acls = { "Everyone" } local cmd = "passivo" -- Comando Pra Desativar / Ativar o modo Passivo local AtivarBind = false -- Ativar / Desativar o Uso de Bind Pra Desativar / Ativar o modo Passivo ( true = Ativado ) / ( false = Desativado ) local LetraOuNumeroParaBind = "b" ------------------------------.------------------------------ addEventHandler( "onResourceStart", resourceRoot, function() for _,v in pairs(getElementsByType("player")) do if AtivarBind == true then bindKey(v, LetraOuNumeroParaBind, "down", toggleGodMode) end end end ) ------------------------------.------------------------------ addEventHandler( "onPlayerJoin", root, function() if AtivarBind == true then bindKey(source, LetraOuNumeroParaBind, "down", toggleGodMode) end end ) ------------------------------.------------------------------ function toggleGodMode(thePlayer) local account = getPlayerAccount(thePlayer) if (not account or isGuestAccount(account)) then return end local accountName = getAccountName(account) for i, v in pairs ( acls ) do if ( isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( v ) ) ) then if getElementData(thePlayer,"Desativando>ModoPassivo") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF]• Aguarde o Tempo de Desativar o Modo Passivo Para Usar esse Comando', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"Ativando>ModoPassivo") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF]• Aguarde o Tempo de Ativação do Modo Passivo Para Usar esse Comando', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"Ativado>Start15Segundos") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF]• Aguarde 15 Segundos Para Utilizar esse Comando Novamente', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"Desativado>Start5Minutos") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] • Aguarde 5 Minutos Para Utilizar esse Comando Novamente', thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"isPolice",true) then outputChatBox ( "#000000[#FF0000 Erro #000000]#FFFFFF Voce e um policial, nao pode ativar o modo passivo!", thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"emEvento",true) then outputChatBox ( "#000000[#FF0000 Erro #000000]#FFFFFF Voce esta em um evento!", thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"emArena",true) then outputChatBox ( "#000000[#FF0000 Erro #000000]#FFFFFF Voce esta em uma arena!", thePlayer, 255, 255, 255, true ) return end if getElementData(thePlayer,"ModoPassivo") == true then outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] • Desativando Modo Passivo em 15 Segundos', thePlayer, 255, 255, 255, true ) setTimer ( DesativarPassivo, 10000, 1, thePlayer) setElementData ( thePlayer, "Desativando>ModoPassivo", true ) else outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] • Ativando Modo Passivo em 10 Segundos', thePlayer, 255, 255, 255, true ) setTimer ( AtivarPassivo, 10000, 1, thePlayer) setElementData ( thePlayer, "Ativando>ModoPassivo", true ) end break end end end addCommandHandler ( cmd, toggleGodMode ) ------------------------------DesativarModoPassivo------------------------------ function DesativarPassivo (thePlayer) setElementData ( thePlayer, "Desativando>ModoPassivo", false ) setElementData(thePlayer,"ModoPassivo",false) toggleControl (thePlayer, "fire", true) toggleControl (thePlayer, "next_weapon", true) toggleControl (thePlayer, "previous_weapon", true) toggleControl (thePlayer, "aim_weapon", true) toggleControl (thePlayer, "vehicle_fire", true) setVehicleDamageProof(thePlayer,false) setElementAlpha(thePlayer, 255) outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] Modo Passivo #FF0000( Desativado )', thePlayer, 255, 255, 255, true ) -- outputChatBox ( "• O Jogador "..getPlayerName(thePlayer).." #ffffffDesativou o Modo Passivo", root, 255, 255, 255, true ) -- Msg Para Todos setElementData ( thePlayer, "Desativado>Start5Minutos", true ) setTimer ( setElementData, 300000, 1, thePlayer, "Desativado>Start5Minutos", false ) end ------------------------------AtivarModoPassivo------------------------------ function AtivarPassivo (thePlayer) setElementData ( thePlayer, "Ativando>ModoPassivo", false ) setElementData(thePlayer,"ModoPassivo", true) toggleControl (thePlayer, "fire", false) toggleControl (thePlayer, "next_weapon", false) toggleControl (thePlayer, "previous_weapon", false) toggleControl (thePlayer, "aim_weapon", false) toggleControl (thePlayer, "vehicle_fire", false) setPedWeaponSlot (thePlayer, 0 ) setVehicleDamageProof(thePlayer, true) setElementAlpha(thePlayer, 145) outputMessage ( '#FFFFFF [#FFFF00INFO#FFFFFF] Modo Passivo #00FF00( Ativado )', thePlayer, 255, 255, 255, true ) -- outputChatBox ( "• O Jogador "..getPlayerName(thePlayer).." #ffffffAtivou o Modo Passivo", root, 255, 255, 255, true ) -- Msg Para Todos setElementData ( thePlayer, "Ativado>Start15Segundos", true ) setTimer ( setElementData, 15000, 1, thePlayer, "Ativado>Start15Segundos", false ) end ------------------------------.------------------------------ function VerificarModo (player) if getElementData ( player,"ModoPassivo" ) == true then toggleControl ( player, "fire", false) toggleControl ( player, "next_weapon", false) toggleControl ( player, "previous_weapon", false) toggleControl ( player, "aim_weapon", false) toggleControl ( player, "vehicle_fire", false) setPedWeaponSlot ( player, 0 ) else if not getElementData (player, "EmAreaVerde") == true then toggleControl ( player, "fire", true ) toggleControl ( player, "next_weapon", true ) toggleControl ( player, "previous_weapon", true ) toggleControl ( player, "aim_weapon", true ) toggleControl ( player, "vehicle_fire", true ) end end end ------------------------------Timer------------------------------ setTimer( function() for i, player in pairs(getElementsByType("player")) do if player ~= (false or nil) then VerificarModo(player) end end end, 1000,0) ------------------------------OutroMod------------------------------ function outputMessage (text, player, r, g, b) return exports["Mod-MPLIB"]:outputMessage(player, text, r, g, b); end setElementData ( localPlayer, "Timer:Passivo", false ) setElementData ( localPlayer, "ModoPassivo", false ) setElementData ( localPlayer, "Ativando>ModoPassivo", false ) setElementData ( localPlayer, "Desativando>ModoPassivo", false ) setElementData ( localPlayer, "Desativado>Start5Minutos", false ) setElementData ( localPlayer, "Ativado>Start15Segundos", false ) -------------------------------------------------------------------------------------------------------- addEventHandler ( "onClientPlayerDamage",root, function () if getElementData(source,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler("onClientPlayerStealthKill",localPlayer, function (targetPlayer) if getElementData(targetPlayer,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler ( "onClientPlayerDamage",root, function () if getElementData(source,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler("onClientPlayerStealthKill",localPlayer, function (targetPlayer) if getElementData(targetPlayer,"ModoPassivo") then cancelEvent() end end ) -------------------------------------------------------------------------------------------------------- addEventHandler( 'onClientRender', root, function( ) for _, player in ipairs( getElementsByType( 'player') ) do if isElementOnScreen( player ) and getElementData( player, 'ModoPassivo' ) then local cx, cy, cz, x, y, z, dist local x, y, z = getElementPosition( player ); local cx, cy, cz = getCameraMatrix( ); dist = math.sqrt( ( cx - x ) ^ 2 + ( cy - y ) ^ 2 + ( cz - z ) ^ 2 ) if dist < 32.0 then if isLineOfSightClear( cx, cy, cz, x, y, z, true, false, false, true, false, false, false,localPlayer ) then local sx, sy, sz = getPedBonePosition( player, 2 ) local x,y = getScreenFromWorldPosition( sx, sy, sz + 0.15 ) if x then dxDrawText("Modo Passivo", x, y, 30, 30, tocolor(255, 255, 255, 200), 1, "default-bold", "left", "top") end end end end end end ); Use: onClientVehicleDamage 1 Link to comment
Maaster Posted January 31, 2021 Author Share Posted January 31, 2021 addEventHandler ( "onClientVehicleDamage",root, function () if getElementData(source,"ModoPassivo") then cancelEvent() end end ) Tentei usar isso ai, mais n deu certo Link to comment
LucasST Posted January 31, 2021 Share Posted January 31, 2021 Deu problema, pois o source nesse evento seria o veiculo, não o player. addEventHandler("onVehicleDamage",root,function() local player = getVehicleOccupant(source) -- / Pegou o player que está dentro daquele veiculo, caso não tenha um player ele retornaria false if player then -- / Vi se encontrou um player naquele veiculo, para caso caso ele retorne um valor boolean if getElementData(player,"ModoPassivo") then -- vi se o player que está dentro do carro está com esse elementdata cancelEvent() -- se estiver ele vai cancelar o evento. end end end Utilize no Server-Side !! 1 Link to comment
Maaster Posted February 1, 2021 Author Share Posted February 1, 2021 4 hours ago, LucasST said: Deu problema, pois o source nesse evento seria o veiculo, não o player. addEventHandler("onVehicleDamage",root,function() local player = getVehicleOccupant(source) -- / Pegou o player que está dentro daquele veiculo, caso não tenha um player ele retornaria false if player then -- / Vi se encontrou um player naquele veiculo, para caso caso ele retorne um valor boolean if getElementData(player,"ModoPassivo") then -- vi se o player que está dentro do carro está com esse elementdata cancelEvent() -- se estiver ele vai cancelar o evento. end end end Utilize no Server-Side !! -------------------------------------------------------------------------------------------------------- addEventHandler("onVehicleEnter",root, function() local player = getVehicleOccupant(source) if player then if getElementData(player,"ModoPassivo") then setElementAlpha(player,145) end end end ) -------------------------------------------------------------------------------------------------------- addEventHandler("onVehicleExit",root, function() if getElementData(player,"ModoPassivo") then -- vi se o player que está dentro do carro está com esse elementdata setElementAlpha(player,255) end end ) Deu certo, obrigado! e sobre a parte da invisibilidade no veiculo, como faço? tentei isso ai mais nao deu certo, e se possível ja ensina tambem como remover a colisão do veiculo Link to comment
Caiozin11 Posted February 3, 2021 Share Posted February 3, 2021 (edited) Sobre a questão de 'invisibilidade do veículo' e deixar sem colisão você pode utilizar setElementAlpha & setElementCollisionsEnabled. exemplo: addEventHandlerAdded('onVehicleStartEnter', function(player, vei) if (getElementData(player, 'ModoPassivo')) then setElementAlpha(vei, 50) setElementCollisionsEnabled(vei, false) end end ) addEventHandlerAdded('onVehicleStartExit', function(player, vei) if (getElementData(player, 'ModoPassivo')) then setElementAlpha(vei, 255) setElementCollisionsEnabled(vei, true) end end ) Edited February 3, 2021 by Caiozin11 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