Jump to content

[Ajuda] Criar veiculo freezado em cima de outro


Recommended Posts

Olá to querendo fazer um trabalho de reboque que eu com meu caminhão tenho que leva o veiculo que vai está em cima dele, mas da parte de criar o veiculo em cima ta complicado.
Poderiam me ajuda?..
Print do caminhao: http://prntscr.com/lh5e1d

client-side
 

PMarker = createMarker ( 1203.865234375, -1285.80859375, 13.38519859314 -1, "cylinder", 2, 255, 0, 0, 255) ---Vermelho
FMarker = createMarker ( 1200.0888671875, -1352.7841796875, 13.402050018311 -1, "cylinder", 2, 0, 255, 0, 255) ---Verde

FBlip = createBlip(1203.865234375, -1285.80859375, 13.38519859314,42) ---T
setBlipVisibleDistance(FBlip, 200) -- 150 é a distancia perfeita 
--setElementVisibleTo( FBlip, root, true) --Mostra o blip para apenas o jogador que esta do trabalho

veh = {}
function inicio (source) --- Função do primeiro marker
	if isElementWithinMarker(source, PMarker) then
		local accName = getAccountName (getPlayerAccount(source))
		if isObjectInACLGroup ("user."..accName, aclGetGroup ("Moderator")) then
			if veh[source] and isElement( veh[source] ) then destroyElement ( veh[source] )
				veh[source] = nil
			end
			x,y,z = getElementPosition(source)
			Trabalho = true
			FBlip = createBlipAttachedTo(FMarker,19) ---Bandeira
			veh[source] = createVehicle(578, 1188.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063)
			setElementVisibleTo( FBlip, source, true) ---Mostrar o blipt quando começa o trabalho
			warpPedIntoVehicle (source, veh[source]) ---- Transporta o jogador para dentor do carro
			outputChatBox ("#FFFFFF[Emprego]Bem Vindo ao emprego [Reboque]", source,0,0,0,true)
			triggerClientEvent ( source, "texto", root)
		else
			outputChatBox ("#00ccff[#ff0000AVISO#00ccff]#ff0000Você não pode fazer seus corres aqui!", source,0,0,0,true)
		end
	end
end
addEventHandler( "onMarkerHit", PMarker, inicio)

 

Link to comment
9 hours ago, Lord Henry said:

Qual parte vc não está conseguindo? Só criar o veículo e depois anexá-lo ao caminhão usando a função mencionada pelo colega acima.

Você não deve dar freeze no veículo.

Da parte de criar o veiculo em cima do caminhao ja freezado
createVehicle

Link to comment
4 minutes ago, Lord Henry said:

Quando vc anexa o veículo em outro elemento, não adianta dar freeze nele, pois a posição dele irá acompanhar a posição do outro elemento.

Aqui fiz assim mas da hora que vou para o marker eu so jogado para longe e o caminhao tambem

veh = {}
function inicio (source) --- Função do primeiro marker
	if isElementWithinMarker(source, PMarker) then
		local accName = getAccountName (getPlayerAccount(source))
		if isObjectInACLGroup ("user."..accName, aclGetGroup ("Moderator")) then
			if veh[source] and isElement( veh[source] ) then destroyElement ( veh[source] )
				veh[source] = nil
			end
			x,y,z = getElementPosition(source)
			Trabalho = true
			FBlip = createBlipAttachedTo(FMarker,19) ---Bandeira
			veh[source] = createVehicle(578, 1188.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063)
			setElementVisibleTo( FBlip, source, true) ---Mostrar o blipt quando começa o trabalho
			warpPedIntoVehicle (source, veh[source]) ---- Transporta o jogador para dentor do carro
			veiculoquebrado = createVehicle(422, 1188.9052734375 -2, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063)
			attachElements( veh[source], veiculoquebrado, 1188.9052734375 -2, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063 )
			outputChatBox ("#FFFFFF[Emprego]Bem Vindo ao emprego [Reboque]", source,0,0,0,true)
		--	triggerClientEvent ( source, "texto", root)
		else
			outputChatBox ("#00ccff[#ff0000AVISO#00ccff]#ff0000Você não pode fazer seus corres aqui!", source,0,0,0,true)
		end
	end
end
addEventHandler( "onMarkerHit", PMarker, inicio)

 

Link to comment
setElementCollisionsEnabled

tenta isso 

veh = {}
function inicio (source) --- Função do primeiro marker
	if isElementWithinMarker(source, PMarker) then
		local accName = getAccountName (getPlayerAccount(source))
		if isObjectInACLGroup ("user."..accName, aclGetGroup ("Moderator")) then
			if veh[source] and isElement( veh[source] ) then destroyElement ( veh[source] )
				veh[source] = nil
			end
			x,y,z = getElementPosition(source)
			Trabalho = true
			FBlip = createBlipAttachedTo(FMarker,19) ---Bandeira
			veh[source] = createVehicle(578, 1188.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063)
			setElementVisibleTo( FBlip, source, true) ---Mostrar o blipt quando começa o trabalho
			warpPedIntoVehicle (source, veh[source]) ---- Transporta o jogador para dentor do carro
			veiculoquebrado = createVehicle(422, 1188.9052734375 -2, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063)
            setElementCollisionsEnabled ( veiculoquebrado, false ) --------------------<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
			attachElements( veh[source], veiculoquebrado, 1188.9052734375 -2, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063 )
			outputChatBox ("#FFFFFF[Emprego]Bem Vindo ao emprego [Reboque]", source,0,0,0,true)
		--	triggerClientEvent ( source, "texto", root)
		else
			outputChatBox ("#00ccff[#ff0000AVISO#00ccff]#ff0000Você não pode fazer seus corres aqui!", source,0,0,0,true)
		end
	end
end
addEventHandler( "onMarkerHit", PMarker, inicio)

 

Edited by brunob22
Link to comment
  • Other Languages Moderators
On 12/11/2018 at 11:04, +[T]rakin said:

Aqui fiz assim mas da hora que vou para o marker eu so jogado para longe e o caminhao tambem

Isso acontece pois você setou coordenadas no attachElements relativas ao mundo. Mas você deveria ter declarado a posição relativa entre o veículo e o caminhão.

  • Like 1
Link to comment
  • Other Languages Moderators

Além disso você anexou o caminhão no carro, quando na verdade deveria ser ao contrário.

PMarker = createMarker (1203.865234375, -1285.80859375, 12.38519859314, "cylinder", 2, 255, 0, 0, 255) -- Vermelho
FMarker = createMarker (1200.0888671875, -1352.7841796875, 12.402050018311, "cylinder", 2, 0, 255, 0, 255) -- Verde

FBlip = createBlip (1203.865234375, -1285.80859375, 13.38519859314, 42)
setBlipVisibleDistance (FBlip, 200) -- 150 é a distancia perfeita 

veh = {}
vehQuebrado = {}

function inicio (hitElement) -- Função do primeiro marker
	if getElementType (hitElement) == "player" and not getPedOccupiedVehicle (hitElement) then
		local accName = getAccountName (getPlayerAccount(hitElement))
		if isObjectInACLGroup ("user."..accName, aclGetGroup ("Moderator")) then -- Somente moderadores podem usar esse emprego?
			if veh[hitElement] and isElement (veh[hitElement]) then
				destroyElement (veh[hitElement])
				veh[hitElement] = nil
			end
			if vehQuebrado[hitElement] and isElement (vehQuebrado[hitElement]) then
				destroyElement (vehQuebrado[hitElement])
				vehQuebrado[hitElement] = nil
			end
			x, y, z = getElementPosition (hitElement)
			Trabalho = true
			FBlip = createBlipAttachedTo (FMarker, 19) -- Bandeira
			veh[hitElement] = createVehicle (578, 1188.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063) -- Caminhão
			setElementVisibleTo (FBlip, hitElement, true) -- Mostra o blip quando começa o trabalho
			warpPedIntoVehicle (hitElement, veh[hitElement]) -- Transporta o jogador para dentro do caminhão
			vehQuebrado[hitElement] = createVehicle (422, 1186.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063) -- Caminhonete
			setElementCollisionsEnabled (vehQuebrado[hitElement], false) -- Desabilita a colisão da caminhonete pra não bugar a câmera.
			attachElements (vehQuebrado[hitElement], veh[hitElement], 0, -2, 0.8)
			outputChatBox ("[Emprego] Bem-Vindo ao emprego #00ccff[Reboque]", hitElement, 255, 255, 255, true)
			-- triggerClientEvent (hitElement, "texto", root)
		else
			outputChatBox ("[#ff0000AVISO#00ccff] #ff0000Você não pode fazer seus corres aqui!", hitElement, 0, 204, 255, true)
		end
	end
end
addEventHandler ("onMarkerHit", PMarker, inicio)

 

Edited by Lord Henry
  • Like 1
  • Thanks 1
Link to comment
On 13/11/2018 at 12:32, Lord Henry said:

Além disso você anexou o caminhão no carro, quando na verdade deveria ser ao contrário.


PMarker = createMarker (1203.865234375, -1285.80859375, 12.38519859314, "cylinder", 2, 255, 0, 0, 255) -- VermelhoFMarker = createMarker (1200.0888671875, -1352.7841796875, 12.402050018311, "cylinder", 2, 0, 255, 0, 255) -- VerdeFBlip = createBlip (1203.865234375, -1285.80859375, 13.38519859314, 42)setBlipVisibleDistance (FBlip, 200) -- 150 é a distancia perfeita veh = {}vehQuebrado = {}function inicio (hitElement) -- Função do primeiro marker	if getElementType (hitElement) == "player" and not getPedOccupiedVehicle (hitElement) then		local accName = getAccountName (getPlayerAccount(hitElement))		if isObjectInACLGroup ("user."..accName, aclGetGroup ("Moderator")) then -- Somente moderadores podem usar esse emprego?			if veh[hitElement] and isElement (veh[hitElement]) then				destroyElement (veh[hitElement])				veh[hitElement] = nil			end			if vehQuebrado[hitElement] and isElement (vehQuebrado[hitElement]) then				destroyElement (vehQuebrado[hitElement])				vehQuebrado[hitElement] = nil			end			x, y, z = getElementPosition (hitElement)			Trabalho = true			FBlip = createBlipAttachedTo (FMarker, 19) -- Bandeira			veh[hitElement] = createVehicle (578, 1188.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063) -- Caminhão			setElementVisibleTo (FBlip, hitElement, true) -- Mostra o blip quando começa o trabalho			warpPedIntoVehicle (hitElement, veh[hitElement]) -- Transporta o jogador para dentro do caminhão			vehQuebrado[hitElement] = createVehicle (422, 1186.9052734375, -1278.16015625, 13.288257598877, 0, 0, 90.505493164063) -- Caminhonete			setElementCollisionsEnabled (vehQuebrado[hitElement], false) -- Desabilita a colisão da caminhonete pra não bugar a câmera.			attachElements (vehQuebrado[hitElement], veh[hitElement], 0, -2, 0.8)			outputChatBox ("[Emprego] Bem-Vindo ao emprego #00ccff[Reboque]", hitElement, 255, 255, 255, true)			-- triggerClientEvent (hitElement, "texto", root)		else			outputChatBox ("[#ff0000AVISO#00ccff] #ff0000Você não pode fazer seus corres aqui!", hitElement, 0, 204, 255, true)		end	endendaddEventHandler ("onMarkerHit", PMarker, inicio)

 

Desculpa por demora responde é por que tinha desanimado a criar script e ainda to.
Mas o seu código funcionou perfeitamente fico grato pela ajuda!
Muito obrigado

Link to comment
1 hour ago, +[T]rakin said:

Desculpa por demora responde é por que tinha desanimado a criar script e ainda to.
Mas o seu código funcionou perfeitamente fico grato pela ajuda!
Muito obrigado

Sobre sua pergunta ali somente os moderadores pode usar o emprego da vdd é um teste, mas eu to criando o emprego para o modo RP que apenas cidadões trabalhem e nao gangues nunca vi um servidor que tem isso.
Vou esta criando formas da gangues de ganha dinheiro tipo roubar,banco,trafico de armas,drogas. 
Um RP realista mesmo

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