Jump to content

Marker de teleporte teleportando com o carro, como usar o isPedInVehicle?


Recommended Posts

Olá amigos da comunidade, estou aprendendo um pouco de programação e estou com uma duvida no meu teleporte. Estou tentando usar o "isPedInVehicle" como faço isso?

Meu código está assim:

local entrar = createMarker(2033.91504, -1402.85449, 16, "cylinder", 2, 255, 0, 0, 50) 

function entrar1 (thePlayer)
    local acc = getPlayerAccount(thePlayer)
    if acc and not isGuestAccount(acc) then
      local accName = getAccountName (acc)
      if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
        setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
        setElementDimension(thePlayer, 2)
        else
        --outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
        dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
      end
    end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

Estou tentando bloquear a teleporte com o veiculo usando um if com o "isPedInVehicle"

function entrar1 (thePlayer)
  if not isPedInVehicle ( thePlayer ) then
    local acc = getPlayerAccount(thePlayer)
    if acc and not isGuestAccount(acc) then
      local accName = getAccountName (acc)
      if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
        setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
        setElementDimension(thePlayer, 2)
        else
        --outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
        dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
      end
    end
  end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

Assim penso eu que iria funcionar, mais nãaoo. O que estou fazendo de errado? ?

Edited by KingSCR
Link to comment
17 minutes ago, KingSCR said:

Olá amigos da comunidade, estou aprendendo um pouco de programação e estou com uma duvida no meu teleporte. Estou tentando usar o "isPedInVehicle" como faço isso?

Meu código está assim:


local entrar = createMarker(2033.91504, -1402.85449, 16, "cylinder", 2, 255, 0, 0, 50) 

function entrar1 (thePlayer)
    local acc = getPlayerAccount(thePlayer)
    if acc and not isGuestAccount(acc) then
      local accName = getAccountName (acc)
      if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
        setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
        setElementDimension(thePlayer, 2)
        else
        --outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
        dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
      end
    end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

Estou tentando bloquear a teleporte com o veiculo usando um if com o "isPedInVehicle"


function entrar1 (thePlayer)
  if not isPedInVehicle ( source ) then
    local acc = getPlayerAccount(thePlayer)
    if acc and not isGuestAccount(acc) then
      local accName = getAccountName (acc)
      if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
        setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
        setElementDimension(thePlayer, 2)
        else
        --outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
        dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
      end
    end
  end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

Assim penso eu que iria funcionar, mais nãaoo. O que estou fazendo de errado? ?

Porque usou o parâmetro thePlayer em todos argumentos das funções e não usou no argumento do isPedInVehicle?

O argumento source nesse caso, seria o marker

Tente isto:

function entrar1 (thePlayer)
	if isElement(thePlayer) and getElementType(thePlayer) == "player" and not isPedInVehicle(thePlayer) then
		local acc = getPlayerAccount(thePlayer)
		if acc and not isGuestAccount(acc) then
			local accName = getAccountName(acc)
			if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
				setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
				setElementDimension(thePlayer, 2)
			else
				--outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
				dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
			end
		end
	end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

 

Edited by MainSCR
Link to comment
function entrar1 (thePlayer)
  if isElement(thePlayer) and getElementType(thePlayer) == "player" then
    local acc = getPlayerAccount(thePlayer)
    if acc and not isGuestAccount(acc) then
      local accName = getAccountName(acc)
      if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
        setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
        setElementDimension(thePlayer, 2)
      else
        --outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
        dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
      end
    end
  end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

 

Link to comment
6 minutes ago, KingSCR said:

function entrar1 (thePlayer)
  if isElement(thePlayer) and getElementType(thePlayer) == "player" then
    local acc = getPlayerAccount(thePlayer)
    if acc and not isGuestAccount(acc) then
      local accName = getAccountName(acc)
      if isObjectInACLGroup ("user."..accName, aclGetGroup ( Grupo ) ) then
        setElementInterior(thePlayer, 10, 246.39647, 110.09633, 1003.22571)
        setElementDimension(thePlayer, 2)
      else
        --outputChatBox( "Você não tem permissão!", thePlayer, 200, 0, 0, false )
        dxMsg(thePlayer, "Você não tem permissão para entrar aqui!", "error")
      end
    end
  end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

 

Tente:

function entrar1(hitElement, matchingDimension)
	if isElement(hitElement) and matchingDimension then
		if getElementType(hitElement) == "player" and not isPedInVehicle(hitElement) then
			local acc = getPlayerAccount(hitElement)
			if acc and not isGuestAccount(acc) then
				local accName = getAccountName(acc)
				if isObjectInACLGroup("user."..accName, aclGetGroup(Grupo)) then
					setElementInterior(hitElement, 10, 246.39647, 110.09633, 1003.22571)
					setElementDimension(hitElement, 2)
				else
					--outputChatBox( "Você não tem permissão!", hitElement, 200, 0, 0, false )
					dxMsg(hitElement, "Você não tem permissão para entrar aqui!", "error")
				end
			end
		end
	end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

 

Link to comment
13 minutes ago, MainSCR said:

Tente:


function entrar1(hitElement, matchingDimension)
	if isElement(hitElement) and matchingDimension then
		if getElementType(hitElement) == "player" and not isPedInVehicle(hitElement) then
			local acc = getPlayerAccount(hitElement)
			if acc and not isGuestAccount(acc) then
				local accName = getAccountName(acc)
				if isObjectInACLGroup("user."..accName, aclGetGroup(Grupo)) then
					setElementInterior(hitElement, 10, 246.39647, 110.09633, 1003.22571)
					setElementDimension(hitElement, 2)
				else
					--outputChatBox( "Você não tem permissão!", hitElement, 200, 0, 0, false )
					dxMsg(hitElement, "Você não tem permissão para entrar aqui!", "error")
				end
			end
		end
	end
end
addEventHandler ("onMarkerHit", entrar, entrar1)

 

Meu amigooo.. que mudança... agora cabe a mim a aprender cada argumento que você usou!

Obrigado de coração ?

Como funciona o hitElement e o matchingDimension na função?

function entrar1(hitElement, matchingDimension)
	if isElement(hitElement) and matchingDimension then
		if getElementType(hitElement) == "player" and not isPedInVehicle(hitElement) then

 

Edited by KingSCR
Link to comment
41 minutes ago, KingSCR said:

Meu amigooo.. que mudança... agora cabe a mim a aprender cada argumento que você usou!

Obrigado de coração ?

Como funciona o hitElement e o matchingDimension na função?


function entrar1(hitElement, matchingDimension)
	if isElement(hitElement) and matchingDimension then
		if getElementType(hitElement) == "player" and not isPedInVehicle(hitElement) then

 

De nada.

O parâmetro hitElement é o elemento que deu hit no marker

O parâmetro matchingDimension é um boolean que representa se o elemento está na mesma dimensão do marcador

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