Jump to content

[Ajuda] Criar veiculo freezado em cima de outro


Recommended Posts

Posted

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)

 

  • Other Languages Moderators
Posted

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.

  • Like 1
Posted
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

  • Other Languages Moderators
Posted

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.

  • Like 1
Posted
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)

 

Posted (edited)
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
  • Other Languages Moderators
Posted
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
  • Other Languages Moderators
Posted (edited)

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

Posted
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

  • Other Languages Moderators
Posted (edited)
12 hours ago, +[T]rakin said:

Mas o seu código funcionou perfeitamente fico grato pela ajuda!
Muito obrigado

De nada.

Edited by Lord Henry
  • Like 1

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