Jump to content

RESOLVIDO | AREA PROTETORA BUG TELEPORT


Recommended Posts

Quando dou Teleport para a praia aonde está a Área Protetora ela deixa eu atirar , só depois que saio e volto ela bloqueá o que devo fazer para isso n ocorrer ?

Client

-- Proteção Praia 
addEvent("enableGodMode", true) 
addEvent("disableGodMode", true) 
addEventHandler ("enableGodMode", getRootElement(),  
function() 
  addEventHandler ("onClientPlayerDamage", getRootElement(), cancelEventEvent) 
end) 
  
addEventHandler ("disableGodMode", getRootElement(),  
function() 
  removeEventHandler ("onClientPlayerDamage", getRootElement(), cancelEventEvent) 
end) 
  
function cancelEventEvent () cancelEvent() end  

Server

local PraiaProtegida261 = createMarker (337.79922485352, -1821.1658935547, 5.6156234741211, "cylinder", 80, 255,0,0,0) 
  
function Protect142 (hitElement) 
local carro = getPedOccupiedVehicle (hitElement) 
outputChatBox ('#FFFFFF.:#696969║ #000000►#10DC6FINFO#000000◄ #696969║#FFFFFF:. #D3D3D3Voce Entrou na Area Protetora .',hitElement,255,255,255,true) 
setVehicleDamageProof (carro,true) 
toggleControl (hitElement, "fire", false) 
toggleControl (hitElement, "aim_weapon", false) 
triggerClientEvent (leaveElement, "enableGodMode",leaveElement) 
end 
addEventHandler ("onMarkerHit", PraiaProtegida261, Protect142) 
  
function Protect2122 (hitElement) 
local carro = getPedOccupiedVehicle (hitElement) 
outputChatBox ('#FFFFFF.:#696969║ #000000►#10DC6FINFO#000000◄ #696969║#FFFFFF:. #D3D3D3Voce Saiu Da Area Protetora .',hitElement,255,255,255,true) 
setVehicleDamageProof (carro,false) 
toggleControl (hitElement, "fire", true) 
toggleControl (hitElement, "aim_weapon", true) 
triggerClientEvent (leaveElement, "disableGodMode",leaveElement) 
setTimer (triggerClientEvent, 1000, 3, hitElement, "disableGodMode", leaveElement) 
end 
addEventHandler ("onMarkerLeave", PraiaProtegida261, Protect2122) 

Edited by Guest
Link to comment

Isso acontece porque esse evento

"onMarkerHit" 
addEventHandler ("onMarkerHit", PraiaProtegida261, Protect142) 

é o que está sendo responsavel por bloquear voce de atirar quando voce entrar na area. Mas como você está indo para a area atraves de comando, o player nao chama esse evento, quando voce sai e entra novamente, ai sim o onMarkerHit é chamado e bloqueia o player de atirar.

Voce pode no proprio codigo do teleporte adicionar esse bloqueio, ou seja, quando o player digitasse o comando de teleportar ele seria bloqueado de atirar e iria para o local. Sempre que usasse o comando seria bloqueado, mas ele estaria indo para um area de bloqueio mesmo, e quando saisse, ia chamar o onMarkerLeave que iria desbloquear a função de atirar dele.

colocando isso no codigo do teleporte:

toggleControl (source, "fire", false) 
toggleControl (source, "aim_weapon", false) 

Creio que tambem daria para fazer um timer verificando se um player está la dentro e se estivesse bloqueasse a função dele, mas adicionar direto no comando de teleporte seria melhor.

Link to comment
Adicionei os toggleControl nos Teles só que quando dou o Tele do Hospital para o CJ e dps faço do CJ para o Hospital eu consigo atirar :(

você pode fazer um evento dentro da area verde para bloquear os teles, esse evento é simples e fácil,

apenas use um setElementData.

Link to comment

Você mesmo falou adiciona os toggle no teleport só que eu ativando os toggle e dando tp do cj para o hospital e ao contrário ele buga area protetora então deve ter algum comando para verificar quando a pessoa da tp de uma area protetora para a outra , minha duvida e está se tem como verificar se a pessoa deu tp de uma area protetora para outra !

Link to comment
você pode fazer um evento dentro da area verde para bloquear os teles, esse evento é simples e fácil,

apenas use um setElementData.

Faz oque eu te falei mano, é mais simples do que fica se matando pra resolver esse tipo de coisa....

eu fiz isso no meu servidor, faça no seu também! :?

Link to comment

Ta dando isso porque você ta dentro da safezone, com comandos bloqueados, e saindo dela com comando, sem chamar o evento onColShapeLeave, as soluções seriam, ou você sai da safezone apé e após sair dela usa o comando para voltar, ou então no comando de teleporte responsavel por fazer o player voltar você libera os comandos dele

toggleControl (source, "fire", true) 
toggleControl (source, "aim_weapon", true) 

Ou seja, no comando que vai pra la, ele deve bloquear. Em todos os outros deve liberar o player.

Link to comment

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