Anzo Posted October 14, 2016 Share Posted October 14, 2016 (edited) 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 Edited October 14, 2016 by Anzo Link to comment
aka Blue Posted October 14, 2016 Share Posted October 14, 2016 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
Anzo Posted October 14, 2016 Author Share Posted October 14, 2016 (edited) @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 October 14, 2016 by Anzo Link to comment
aka Blue Posted October 15, 2016 Share Posted October 15, 2016 Pero a ver. Tú, ¿qué quieres hacer exactamente? ¿Que cuando le des click a un botón, todos los que estén en el asiento 2 de todos los jugadores se warpeen fuera o que el que esté en el asiento 2 de tu coche se warpee? Link to comment
Enargy, Posted October 15, 2016 Share Posted October 15, 2016 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
Anzo Posted October 15, 2016 Author Share Posted October 15, 2016 (edited) @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 October 15, 2016 by Anzo Link to comment
Tomas Posted October 15, 2016 Share Posted October 15, 2016 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
Anzo Posted October 15, 2016 Author Share Posted October 15, 2016 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
Tomas Posted October 15, 2016 Share Posted October 15, 2016 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
Anzo Posted October 15, 2016 Author Share Posted October 15, 2016 @Tomas discúlpame, si funciona, estaba poniendo la id de otro asiento y por eso no lo sacaba, muchas gracias. Link to comment
Recommended Posts