Jump to content

pregunta, tengo bien este codigo?


JuanM27

Recommended Posts

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

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

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

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
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 :D

Link to comment
  • Recently Browsing   0 members

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