Jump to content

[Ayuda] Especificar removePedFromVehicle


Anzo

Recommended Posts

Quisiera saber cómo puedo especificar al jugador que quiero sacar de vehículo con: removePedFromVehicle; hasta ahora tengo esto:

function sacar_jugador_asiento(click)
	if (source == Asiento2) then
		triggerServerEvent("removePlayerFromSeat_2",getLocalPlayer(),click)
	end
end
addEventHandler("onClientGUIClick", root, sacar_jugador_asiento)

^ Ese es el cliente

Y aquí es donde sacaría al jugador del vehículo:

local players = getElementsByType ( "player" ) -- get a table of all the players in the server


function remover_players2()
	for theKey,thePlayer in ipairs(players) do 
		if (getPedOccupiedVehicleSeat ( thePlayer ) == 2) then
			removePedFromVehicle( thePlayer )
		end
	end
end
addEvent("removePlayerFromSeat_2",true)
addEventHandler("removePlayerFromSeat_2",root, remover_players2)

Todo bien con eso, pero eso hace que saque a cualquier jugador que este en la puerta 2, este en tu vehículo o no,si le das click saca a todos los jugadores que estén en ese asiento. intente poniendo: "if getElementType(source) == "player" then" y también simplemente poniendo: "if getPedOccupiedVehicleSeat( source ) == 2) then" pero nada, si ponga la primera opción no pasa nada y con la segunda opción tampoco.

No sé si pueda hacer eso directamente desde client pero creo que quedaría igual :S

Edited by Anzo
Link to comment

removePedFromVehicle es una función shared, igual que todas las que utilizas para retirarlos del coche así que lo puedes usar client-side mismo. 

function removePlayersFromSeat( )
	local players = getElementsByType( 'player' )
	for i=1, #players do
		local p = players[i]
		local veh = getPedOccupiedVehicle( p )
		if veh and getPedOccupiedVehicleSeat ( p ) == 2 then
			removePedFromVehicle( p ) 
		end
	end
end
addCommandHandler( "seatdebug", removePlayersFromSeat )

Dime si te tira algún debug en la consola.

Link to comment

@aka Blue No me da ningún error en el debug, voy a probarlo con un amigo y te aviso

Todavía saca a todos los jugadores que estén en el asiento derecho del auto (si un jugador esta en el auto de otra persona y no en el mio, y yo le doy click al botón para sacar de asiento, teniendo yo a nadie en ese asiento, igual los sacará a todos del asiento)

Edited by Anzo
Link to comment
Just now, Anzo said:

@aka Blue No me da ningún error en el debug, voy a probarlo con un amigo y te aviso

Todavía saca a todos los jugadores que estén en el asiento derecho del auto (si un jugador esta en el auto de otra persona y no en el mio, y yo le doy click al botón para sacar de asiento, teniendo yo a nadie en ese asiento, igual los sacará a todos del asiento)

Saca el loop y colocas source en lugar de thePlayer...

Link to comment

@aka Blue Quiero que el que esté en el asiento 2 de mi auto lo saque del auto al yo precionar click, no si yo doy click al botón se salen todos los jugadores que estuvieron en el asiento 2 (estén en mi auto o no). 

@Gaberiel Algo así?

function remover_players2()
	local veh = getPedOccupiedVehicle( source )
	if veh and getPedOccupiedVehicleSeat ( source ) == 2 then
		removePedFromVehicle( source ) 
	end
end
addEvent("removePlayerFromSeat_2",true)
addEventHandler("removePlayerFromSeat_2",root, remover_players2)

Ya de esa forma había intentado pero igual no saca a nadie del auto, le doy click al botón y nada, no se sale el jugador del auto.

Edited by Anzo
Link to comment
6 hours ago, Anzo said:

@aka Blue Quiero que el que esté en el asiento 2 de mi auto lo saque del auto al yo precionar click, no si yo doy click al botón se salen todos los jugadores que estuvieron en el asiento 2 (estén en mi auto o no). 

@Gaberiel Algo así?


function remover_players2()	local veh = getPedOccupiedVehicle( source )	if veh and getPedOccupiedVehicleSeat ( source ) == 2 then		removePedFromVehicle( source ) 	endendaddEvent("removePlayerFromSeat_2",true)addEventHandler("removePlayerFromSeat_2",root, remover_players2)

Ya de esa forma había intentado pero igual no saca a nadie del auto, le doy click al botón y nada, no se sale el jugador del auto.

function remover_players2()
	local veh = getPedOccupiedVehicle( client )
  	local player = getVehicleOccupants(veh)[2]
  	if (player) then
		removePedFromVehicle( player ) 
	end
end
addEvent("removePlayerFromSeat_2",true)
addEventHandler("removePlayerFromSeat_2",root, remover_players2)

 

Link to comment
7 hours ago, Tomas said:

function remover_players2()	local veh = getPedOccupiedVehicle( client )  	local player = getVehicleOccupants(veh)[2]  	if (player) then		removePedFromVehicle( player ) 	end
end
addEvent("removePlayerFromSeat_2",true)
addEventHandler("removePlayerFromSeat_2",root, remover_players2)

 

No pasa nada, le doy al botón y no saca al jugador;

--Server
function remover_players2(players)
	local veh = getPedOccupiedVehicle( client )
  	local player = getVehicleOccupants(veh)[2]
  	if (player) then
		removePedFromVehicle( player ) 
	end
end
addEvent("removePlayerFromSeat_2",true)
addEventHandler("removePlayerFromSeat_2",root, remover_players2)

--Client
function sacar_jugador_asiento(click)
	if (source == Asiento2) then
		triggerServerEvent("removePlayerFromSeat_2",getLocalPlayer(),click)
	end
end
addEventHandler("onClientGUIClick", root, sacar_jugador_asiento)

 

Link to comment
Just now, Anzo said:

No pasa nada, le doy al botón y no saca al jugador;


--Server
function remover_players2(players)
	local veh = getPedOccupiedVehicle( client )
  	local player = getVehicleOccupants(veh)[2]
  	if (player) then
		removePedFromVehicle( player ) 
	end
end
addEvent("removePlayerFromSeat_2",true)
addEventHandler("removePlayerFromSeat_2",root, remover_players2)

--Client
function sacar_jugador_asiento(click)
	if (source == Asiento2) then
		triggerServerEvent("removePlayerFromSeat_2",getLocalPlayer(),click)
	end
end
addEventHandler("onClientGUIClick", root, sacar_jugador_asiento)

 

Ningún error?

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...