Jump to content

Ajuda


Recommended Posts

Eai, pessoal  poderiam me ajudar com isso 

Lado Client 

createMarkerLocations1 = {
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}

createMarkerLocations2 = {
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


createMarkerLocations3 = {
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


createMarkerLocations4 = {
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


createMarkerLocations5 = {
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


function callServerFunction()

	function createRandomMarker(table)
		local randomRow = math.random(1,#table)
		return createMarker(table[randomRow][1], table[randomRow][2], table[randomRow][3], table[randomRow][4], table[randomRow][5], table[randomRow][6], table[randomRow][7], table[randomRow][8], table[randomRow][9])
	end


	local markerElement1 = createRandomMarker(createMarkerLocations1)
	markerFim1 = createBlipAttachedTo ( markerElement1, 19 )
	local markerElement2 = createRandomMarker(createMarkerLocations2)
	markerFim2 = createBlipAttachedTo ( markerElement2, 19 )
	local markerElement3 = createRandomMarker(createMarkerLocations3)
	markerFim3 = createBlipAttachedTo ( markerElement3, 19 )	
	local markerElement4 = createRandomMarker(createMarkerLocations4)
	markerFim4 = createBlipAttachedTo ( markerElement4, 19 )
	local markerElement5 = createRandomMarker(createMarkerLocations5)
	markerFim5 = createBlipAttachedTo ( markerElement5, 19 )
	
		function partfim1 (source)
				if veh5[client] and isElement(veh5[client]) then
					cardrivepoints = cardrivepoints+1
					outputChatBox("Funcionando!",source,0,0,0,true)
					destroyElement (markerElement1)
					setElementVisibleTo ( markerFim1, root, false )
				end
				if cardrivepoints >= 5 then 
					completed(source) 	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement1 ,partfim1)

		function partfim2 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					outputChatBox("Funcionando!",source,0,0,0,true)
					destroyElement (markerElement2)
					setElementVisibleTo ( markerFim2, root, false )
				end
				if cardrivepoints >= 5 then 
					completed(source) 	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement2 ,partfim2)

		function partfim3 (source)
				if callServerFunction (server, veh5[source]) and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					outputChatBox("Funcionando!",source,0,0,0,true)
					destroyElement (markerElement3)
					setElementVisibleTo ( markerFim3, root, false )
				end
				if cardrivepoints >= 5 then 
					completed(source) 	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement3 ,partfim3)

		function partfim4 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					outputChatBox("Funcionando!",source,0,0,0,true)
					destroyElement (markerElement4)
					setElementVisibleTo ( markerFim4, root, false )
				end
				if cardrivepoints >= 5 then 
					completed(source) 	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement4 ,partfim4)

		function partfim5 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					outputChatBox("Funcionando!",source,0,0,0,true)
					destroyElement (markerElement5)
					setElementVisibleTo ( markerFim5, root, false )
				end
				if cardrivepoints >= 5 then 
					completed(source) 	
				end						
		end
		addEventHandler("onClientMarkerHit",markerElement5 ,partfim5)
end
addEvent ("mission5", true)
addEventHandler ("mission5", getRootElement(), callServerFunction)

Este é o lada server bom meu problema e fazer ele detectar o veiculo que foi criado no lado server, mas " if veh5[source] and is Element (veh5[source]) then " ele não funciona no lado client o que devo fazer pra resolver isso, alguem pode me ajudar ?

--mission five--
cardrivepoints = 0
i = 1 -- contador global
veh5 = {}
 -- Recomendo que evite posi趥s decimais muito grandes. Use s?頳 casas decimais.
localitionveh55 = {
	[1] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[2] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[3] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[4] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[5] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
 -- O primeiro, quinto e sexto valor das posi趥s n䯠est䯠sendo usados. Recomendo que delete-os.
}
	
function inicio5 ()
	if isElement (veh5[client]) then -- Client = localPlayer, somente neste caso.
		destroyElement (veh5[client])
		veh5[client] = nil
	end
	local vx ,vy, vz, vrot = localitionveh55[ i ][ 2 ], localitionveh55[ i ][ 3 ], localitionveh55[ i ][ 4 ], localitionveh55[ i ][ 7 ]
	i = i + 1
	if i > #localitionveh55 then -- se i > 5, ent䯺
		i = 1
	end
	Trabalho = true
	veh5[client] = createVehicle ( 401, vx, vy, vz, 0, 0, vrot )
	warpPedIntoVehicle (client, veh5[client])
	outputChatBox ("#ffff00Drive the veh5icle to the checkpoint. Note: You cannot leave the car during the mission.", client, 0, 0, 0, true)
	triggerClientEvent (client, "mission5", client)
	
	local player2 = client
	addEventHandler ( "onVehicleExplode", veh5[client], function ()
		if (veh5[player2]) and isElement(veh5[player2]) then
			destroyElement (source)
			takePlayerMoney ( player2, 5000 )
			outputChatBox("Mission failed, your veh5icle blew up.", player2 , 255, 0, 0)
		end
	end)
end
addEvent ("iniciaJob5", true) -- Cria o evento "iniciaJob e permite que ele seja chamado pelo client.
addEventHandler ("iniciaJob5", getRootElement(), inicio5) -- Executa essa fun褯 quando o evento "iniciaJob" for chamado.

 

Link to comment
4 hours ago, brunob22 said:

codigo incompleto.. impossivel entender alguma coisa ai pelo menos para mim

O codigo esta completo unica parte que falta e da "iniciajob5" e onde esta a GuiList, queria saber como fazer para detectar o veh5 que esta no lado serve, no lado client.

Exemplo quando passo em cima do "Marker" a função não funciona devido o veh estar no lado  server, exeste uma maneira de faze-lo detectar o veh ?

Link to comment
1 minute ago, kevincouto6 said:

O codigo esta completo unica parte que falta e da "iniciajob5" e onde esta a GuiList, queria saber como fazer para detectar o veh5 que esta no lado serve, no lado client.

Exemplo quando passo em cima do "Marker" a função não funciona devido o veh estar no lado  server, exeste uma maneira de faze-lo detectar o veh ?

entendi agora..

tenta isso 

troca isso 

triggerClientEvent (client, "mission5", client)

por isso 

triggerClientEvent (client, "mission5", client,veh5)

no client 

mude 

function callServerFunction()

por

function callServerFunction(veh5)

 e assim use a variavel " veh5 " em lado client

se funcionar avisa

Link to comment
44 minutes ago, brunob22 said:

 

Olá funcionou porem um pouco diferente, agora tenho que descobrir como usar o "setElementVisibleTo" essa função só funciona no server estao estou tentando usar triggerServerEvent Porem não consigo fazer não detecta o "CreateBlipAttachedTo" que foi criado no client tem alguma dica ou idea para eu usar ?

Link to comment
26 minutes ago, kevincouto6 said:

Olá funcionou porem um pouco diferente, agora tenho que descobrir como usar o "setElementVisibleTo" essa função só funciona no server estao estou tentando usar triggerServerEvent Porem não consigo fazer não detecta o "CreateBlipAttachedTo" que foi criado no client tem alguma dica ou idea para eu usar ?

não entendi

 

Link to comment

Alguns erros no lado client:

  • Você tá usando uma função que é server-side ("setElementVisibleTo") e além disso não é necessário fazer isso no client, visto que tudo executa só para o jogador local.
  • outputChatBox está recebendo um argumento "source" sendo que no client não é necessário; todas outputs no client funciona só para o jogador local.
  • O valor "client" é usado no lado server, isso serve para a validação do jogador local. Use localPlayer. Edit: no caso ali deve ser o parâmetro hitPlayer, que foi definido como "source"

Sobre a detecção do veículo, só fazer o que já foi dito - enviar o elemento no evento "mission5"

Edited by DNL291
Link to comment
36 minutes ago, DNL291 said:

 

Assim esta o script porem agora tenho que Deletar os BLIP conforme os jogador coletar os Marker, só q para isso a função que deixa invisivel funciona apenas no lado server, e os BLIP foram criados no lado Client como fasso para deixa-los invisiveis

Client-side 

----------------------------------------------------------------------------------------

cardrivepoints = 0

local createMarkerLocations1 = {
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.41704, 1877.68689, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}

local createMarkerLocations2 = {
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{231.85756, 1892.57666, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


local createMarkerLocations3 = {
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{229.22476, 1906.36658, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


local createMarkerLocations4 = {
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{212.10025, 1908.91870, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


local createMarkerLocations5 = {
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 0 ,255 ,0, 255},
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170 },
	{192.29828, 1911.02271, 17.64063 -1, "cylinder", 4, 255, 255, 0, 170},
}


function outher ()
		function createRandomMarker(table)
		local randomRow = math.random(1,#table)
		return createMarker(table[randomRow][1], table[randomRow][2], table[randomRow][3], table[randomRow][4], table[randomRow][5], table[randomRow][6], table[randomRow][7], table[randomRow][8], table[randomRow][9])
	end
	
	 markerElement1 = createRandomMarker(createMarkerLocations1)
	markerFim1 = createBlipAttachedTo ( markerElement1, 19 )
	 markerElement2 = createRandomMarker(createMarkerLocations2)
	markerFim2 = createBlipAttachedTo ( markerElement2, 19 )
	 markerElement3 = createRandomMarker(createMarkerLocations3)
	markerFim3 = createBlipAttachedTo ( markerElement3, 19 )	
	 markerElement4 = createRandomMarker(createMarkerLocations4)
	markerFim4 = createBlipAttachedTo ( markerElement4, 19 )
	 markerElement5 = createRandomMarker(createMarkerLocations5)
	markerFim5 = createBlipAttachedTo ( markerElement5, 19 )
	

end
addEvent ("mission5", true)
addEventHandler ("mission5", getRootElement(), outher)

function callServerFunction (veh5)

		function partfim1 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					destroyElement (markerElement1)
				end
				if cardrivepoints >= 1 then 
					triggerServerEvent ("completedMissionCollect", localPlayer)	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement1 ,partfim1)

		function partfim2 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					destroyElement (markerElement2)
				end
				if cardrivepoints >= 1 then 
					triggerServerEvent ("completedMissionCollect", localPlayer)	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement2 ,partfim2)

		function partfim3 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					destroyElement (markerElement3)
				end
				if cardrivepoints >= 1 then 
					triggerServerEvent ("completedMissionCollect", localPlayer)	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement3 ,partfim3)

		function partfim4 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					destroyElement (markerElement4)
				end
				if cardrivepoints >= 1 then 
					triggerServerEvent ("completedMissionCollect", localPlayer)	
				end	
		end
		addEventHandler("onClientMarkerHit",markerElement4 ,partfim4)

		function partfim5 (source)
				if veh5[source] and isElement(veh5[source]) then
					cardrivepoints = cardrivepoints+1
					destroyElement (markerElement5)
				end
				if cardrivepoints >= 1 then 
					triggerServerEvent ("completedMissionCollect", localPlayer)	
				end						
		end
		addEventHandler("onClientMarkerHit",markerElement5 ,partfim5)
end
addEvent ("mission5", true)
addEventHandler ("mission5", getRootElement(), callServerFunction)

server-side

--mission five--

i = 1 -- contador global

veh5 = {}

 -- Recomendo que evite posi趥s decimais muito grandes. Use s?頳 casas decimais.
localitionveh55 = {
	[1] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[2] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[3] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[4] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
	[5] = {401, 216.82504, 1870.22961, 17.3440, 0, 0, 270},
 -- O primeiro, quinto e sexto valor das posi趥s n䯠est䯠sendo usados. Recomendo que delete-os.
}
	
function inicio5 ()
	if isElement (veh5[client]) then -- Client = localPlayer, somente neste caso.
		destroyElement (veh5[client])
		veh5[client] = nil
	end
	local vx ,vy, vz, vrot = localitionveh55[ i ][ 2 ], localitionveh55[ i ][ 3 ], localitionveh55[ i ][ 4 ], localitionveh55[ i ][ 7 ]
	i = i + 1
	if i > #localitionveh55 then -- se i > 5, ent䯺
		i = 1
	end
	Trabalho = true
	veh5[client] = createVehicle ( 401, vx, vy, vz, 0, 0, vrot )
	warpPedIntoVehicle (client, veh5[client])
	outputChatBox ("#ffff00Drive the veh5icle to the checkpoint. Note: You cannot leave the car during the mission.", client, 0, 0, 0, true)

	triggerClientEvent (client, "mission5", client,veh5)
	
	
	local player2 = client
	addEventHandler ( "onVehicleExplode", veh5[client], function ()
		if (veh5[player2]) and isElement(veh5[player2]) then
			destroyElement (source)
			takePlayerMoney ( player2, 5000 )
			outputChatBox("Mission failed, your veh5icle blew up.", player2 , 255, 0, 0)
		end
	end)
end
addEvent ("iniciaJob5", true) -- Cria o evento "iniciaJob e permite que ele seja chamado pelo client.
addEventHandler ("iniciaJob5", getRootElement(), inicio5) -- Executa essa fun褯 quando o evento "iniciaJob" for chamado.

function sair5 (source)
	if (veh5[source]) and isElement(veh5[source]) then
		destroyElement (veh5[source])
		takePlayerMoney ( source, 5000 )
		outputChatBox("#ff0000Mission failed, you have left the veh5icle.", source ,0,0,0,true)
	else
	end
end
addEventHandler ( "onVehicleExit", getRootElement(), sair5 )


function morrer5() 
	if (veh5[source]) and isElement(veh5[source]) then
		destroyElement (veh5[source])
		takePlayerMoney ( source, 5000 )
		outputChatBox("#ff0000Mission failed, you have left the veh5icle.", source ,0,0,0,true)
	else
	end
end 
addEventHandler("onPlayerWasted", root, morrer5) 

function completed(source)
	if veh5[source] and isElement(veh5[source]) then
		destroyElement (veh5[source])
		givePlayerMoney(source,20000)
		cardrivepoints = 0
		outputChatBox("#00ff00Mission passed. You successfully completed this task. You've received $10.000!",source,0,0,0,true)
	else
	end
end
addEvent ("completedMissionCollect", true)
addEventHandler ("completedMissionCollect", getRootElement(), MissionWin)

 

Link to comment

Eu sinceramente não entendi o porquê deixar o blip invisível, ocultar os elementos de outros jogadores não vai ser necessário, como eu já disse. É  por isso mesmo que nesses tipos de scripts você deve criar o(s) elemento(s) que devem mostrar ao jogador local no lado client.

O script tá feito de uma forma meio bagunçada, mas vamos lá: Você quer que remova o blip vinculado ao marker, basta usar destroyElement( marker ) usando a variável da marker correspondente. Exemplo:

cardrivepoints = cardrivepoints+1
destroyElement (markerElement1)
destroyElement(markerFim1)
if cardrivepoints >= 1 then 
	triggerServerEvent ("completedMissionCollect", localPlayer)	
end	

 

Edited by DNL291
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...