JuanM27 Posted January 15, 2012 Share Posted January 15, 2012 hola buenos dias, quisiera saber si tengo bien este codigo. le comento estoy haciendo un comando para finalizar un job y si el player esta conduciendo un patrullero, que sea eliminado al salir del job policia, el comando me funciona bien, me saca del team policia, me cambia el skin todo normal. pero no me borra el patrullero por eso quisiera saber si tengo bien el codigo o me falta algo if isPedInVehicle(source) then if getVehicleOccupant( source, 0 ) then local vehicles = getElementsByType("vehicle") for i,v in ipairs(vehicles) do if (getElementModel(v) == 596 or getElementModel(v) == 598 or getElementModel(v) == 597 or getElementModel(v) == 599 or getElementModel(v) == 523) then destroyElement(v) end end end end y una consulta mas como puedo poner esa funcion que funcione en otro script lei algo de exportar la funcion, pero la verdad no se como se hace. saludos y muchas gracias Link to comment
RottenFlesh Posted January 15, 2012 Share Posted January 15, 2012 if isPedInVehicle(source) then if getVehicleOccupant( source, 0 ) then destroyElement( getPedOccupiedVehicle(source) ) end end Para usar funciones de otros resources se usa la funcion call Link to comment
12p Posted January 15, 2012 Share Posted January 15, 2012 Eso está mal. 1. Estás verificando si el jugador esta en un vehiculo 2 veces. 2. SOURCE es una cosa, y tu usas source como si fuera el jugador Y el vehiculo. if isPedInVehicle(source) then local veh = getPedOccupiedVehicle ( source ) if getElementModel ( veh ) == unModelo then destroyElement( veh ) end end Link to comment
RottenFlesh Posted January 15, 2012 Share Posted January 15, 2012 Ahh si no me habia fijado por que lo hice rapidito Link to comment
JuanM27 Posted January 15, 2012 Author Share Posted January 15, 2012 Eso está mal.1. Estás verificando si el jugador esta en un vehiculo 2 veces. 2. SOURCE es una cosa, y tu usas source como si fuera el jugador Y el vehiculo. if isPedInVehicle(source) then local veh = getPedOccupiedVehicle ( source ) if getElementModel ( veh ) == unModelo then destroyElement( veh ) end end muchas gracias por su respuesta pero como hago para que solo elimine el auto si lo esta conduciendo if isPedInVehicle(source) then local veh = getPedOccupiedVehicle ( source, 0 ) if getElementModel ( veh ) == 596 or getElementModel ( veh ) == 598 or getElementModel ( veh ) == 597 or getElementModel ( veh ) == 599 or getElementModel ( veh ) == 523 then destroyElement( veh ) end end lei en la wiki que con getPedOccupiedVehicle ( source, 0 ) obtiene el asiento que ocupado supuestamente el 0 = el conductor verdad? lo puse con el 0 pero por mas que este en el asiento del acompañante, me lo elimina igual Link to comment
JuanM27 Posted January 15, 2012 Author Share Posted January 15, 2012 listo ya lo tengo echo, muchas gracias por su ayudas if isPedInVehicle(source) then local veh = getPedOccupiedVehicle ( source ) if getVehicleOccupant( veh ,0 ) then if getElementModel ( veh ) == 596 or getElementModel ( veh ) == 598 or getElementModel ( veh ) == 597 or getElementModel ( veh ) == 599 or getElementModel ( veh ) == 523 then destroyElement( veh ) end end end era esto que me faltaba getVehicleOccupant( veh ,0 ) saludos Link to comment
12p Posted January 15, 2012 Share Posted January 15, 2012 A eso le falta algo. Tu script hace que SI EL VEHICULO TIENE UN CONDUCTOR, SE DESTRUYA. No confirma que el conductor sea el jugador al que le destruyes el vehiculo! Ah, y para optimizar, usa tablas. Si no entiendes como funcionan ahora, no importa, pero es mejor que adquieras la costumbre de aprovecharlas para disminuir condicionales (operaciones) y dar mas orden a tu script. local vehiculos = { 523, 596, 597, 598, 599 } --Puedes agregar mas modelos a esta tabla if isPedInVehicle ( source ) then local veh = getPedOccupiedVehicle ( source ) if getVehicleOccupant ( veh, 0 ) == source and vehiculos[getElementModel ( veh )]then destroyElement ( veh ) end end Link to comment
JuanM27 Posted January 15, 2012 Author Share Posted January 15, 2012 A eso le falta algo.Tu script hace que SI EL VEHICULO TIENE UN CONDUCTOR, SE DESTRUYA. No confirma que el conductor sea el jugador al que le destruyes el vehiculo! Ah, y para optimizar, usa tablas. Si no entiendes como funcionan ahora, no importa, pero es mejor que adquieras la costumbre de aprovecharlas para disminuir condicionales (operaciones) y dar mas orden a tu script. local vehiculos = { 523, 596, 597, 598, 599 } --Puedes agregar mas modelos a esta tabla if isPedInVehicle ( source ) then local veh = getPedOccupiedVehicle ( source ) if getVehicleOccupant ( veh, 0 ) == source and vehiculos[getElementModel ( veh )]then destroyElement ( veh ) end end hola, la verdad muchas gracias, no me habia dado cuenta lo de la tabla, muchas gracias por tu tiempo para explicarme y mejorar el code Link to comment
Recommended Posts