Jump to content

ayuda con mi primer script


-Gus-

Recommended Posts

bueno, hice mi primer script ayudandome con la wiki, y me funciono, pero no como yo esperaba

les explico, lo que quiero hacer es que cuando en modo race, cambie de vehiculo mediante un pickup, me diera unas ruedas, y lo que hace el script es darme las ruedas cuando un mapa se inicia, pero cuando cambio de vehiculo mediante pickup, vuelve a las ruedas por defecto.

el script es este:

theVehicle = getPedOccupiedVehicle () 
addEventHandler("onClientVehicleEnter", getRootElement(), 
function(thePlayer, seat) 
if thePlayer == getLocalPlayer() then 
addVehicleUpgrade( theVehicle, 1075 ) 
end 
end 
) 

Link to comment

onClientVehicleEnter es cuando entras al vehiculo, no cuando cambias su ID, y cuando el vehiculo cambia su ID, las ruedas se ponen a las preterminadas.

Podrías detectar cuando la ID del vehiculo ha cambiado:

setTimer ( function () 
    vehicle = getPedOccupiedVehicle ( getLocalPlayer () ) 
    currentWheel = getElementModel ( vehicle ) 
    if oldCurrentWheel == currentWheel then 
                 --aquí no pones nada 
    else 
                 addVehicleUpgrade( vehicle, 1075 ) 
    end 
    oldCurrentWheel = getElementModel ( vehicle ) 
end, 100, 0 ) 

Link to comment

a ver si entendi todo...

    setTimer ( function () --setTimer para crear un delay entre el momento en que cambia en ID y cuando te da las ruedas 
        vehicle = getPedOccupiedVehicle ( getLocalPlayer () ) --vehicle = obtener el vehiculo actual 
        currentWheel = getElementModel ( vehicle ) --currentWheel = el modelo actual ( del vehiculo ) 
        if oldCurrentWheel == currentWheel then -- si el modelo viejo es igual al actual entonces... 
                     --no hacer nada 
        else --pero si es distinto 
                     addVehicleUpgrade( vehicle, 1075 ) --agregarle a "vehicle" las ruedas 1075 
        end 
        oldCurrentWheel = getElementModel ( vehicle ) --oldCurrentwheel = el vehiculo actual  
    end, 100, 0 ) --delay de 100 ms. 

Link to comment

Me pregunto, para que esta el evento: onPlayerPickUpRacePickup si no lo usan?

-- server side:

addEventHandler("onPlayerPickUpRacePickup",root, 
function (pickupID, pickupType, vehicleModel) 
    if (pickupType == "vehiclechange") then 
        local theVehicle = getPedOccupiedVehicle(source) 
                addVehicleUpgrade(theVehicle, 1075) 
    end 
end) 

Link to comment

lo que queria son las dos cosas, es decir, iniciar el mapa con esas ruedas, y que cuando agarre el pickup no cambien, porque al cambiar de vehiculo vuelve a las por defecto. Se podria hacer una combinacion de lo que hice yo y lo que hiciste vos, que me de las ruedas "onClientVehicleEnter" y "onPlayerPickUpRacePickup"

Link to comment
   setTimer ( function () --setTimer para crear un delay entre el momento en que cambia en ID y cuando te da las ruedas 
        vehicle = getPedOccupiedVehicle ( getLocalPlayer () ) --vehicle = obtener el vehiculo actual 
        if (not vehicle) then return end 
        currentWheel = getElementModel ( vehicle ) --currentWheel = el modelo actual ( del vehiculo ) 
        if oldCurrentWheel == currentWheel then -- si el modelo viejo es igual al actual entonces... 
                     --no hacer nada 
        else --pero si es distinto 
                     addVehicleUpgrade( vehicle, 1075 ) --agregarle a "vehicle" las ruedas 1075 
        end 
        oldCurrentWheel = getElementModel ( vehicle ) --oldCurrentwheel = el vehiculo actual 
    end, 100, 0 ) --delay de 100 ms. 

Link to comment
   setTimer ( function () --setTimer para crear un delay entre el momento en que cambia en ID y cuando te da las ruedas 
        if not isPedInVehicle ( getLocalPlayer() ) then return end 
        vehicle = getPedOccupiedVehicle ( getLocalPlayer () ) --vehicle = obtener el vehiculo actual 
        currentWheel = getElementModel ( vehicle ) --currentWheel = el modelo actual ( del vehiculo ) 
        if oldCurrentWheel == currentWheel then -- si el modelo viejo es igual al actual entonces... 
                     --no hacer nada 
        else --pero si es distinto 
                     addVehicleUpgrade( vehicle, 1075 ) --agregarle a "vehicle" las ruedas 1075 
        end 
        oldCurrentWheel = getElementModel ( vehicle ) --oldCurrentwheel = el vehiculo actual 
    end, 100, 0 ) --delay de 100 ms. 

Link to comment
  • Recently Browsing   0 members

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