Jump to content

[AYUDA] Nombre de vehículos


Neving

Recommended Posts

Posted

Hola buenas, estoy tratando de cambiar el nombre de los vehículos en mi server de DayZ pero soy incapaz.

Me refiero al nombre que sale cuando te acercas a los vehículos por ejemplo, no una vez que te metes en ellos y aparece el cartel en grande con el nombre del vehículo.

MAK3YFC.png

¿Qué debo hacer? Un saludo y gracias.

Posted
Supongo que el draw utiliza getVehicleNameFromModel, postea la parte del script en la cuál se obtiene el nombre y te ayudo a crear excepciones :)

El problema es que no encuentro la función dxDrawText (supongo que utilizará esta) la cual se encarga de escribir el nombre de los vehículos.

Posted

Creo que está en survivorSystem_c si mal no recuerdo. Puedes hacer una tabla con index el modelo o el nombre del vehículo.

vNames = { 
     ["Regina"] = "Caja con ruedas" 
} 

Y en el dxDraw pones

vNames[getVehicleNameFromModel(getElementModel(vehicle))] 

Posted
Creo que está en survivorSystem_c si mal no recuerdo. Puedes hacer una tabla con index el modelo o el nombre del vehículo.
vNames = { 
     ["Regina"] = "Caja con ruedas" 
} 

Y en el dxDraw pones

vNames[getVehicleNameFromModel(getElementModel(vehicle))] 

He estado probando tu código aquÍ:

local x,y,z = getElementPosition(getLocalPlayer()) 
        for i,veh in ipairs(getElementsByType("vehicle")) do 
            local px,py,pz = getElementPosition (veh) 
            local vehID = getElementModel(veh) 
            local vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
            if veh ~= vehicle then 
                if vehID ~= 548 then 
                    local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) 
                    if pdistance <= 6 then 
                        --Get screenposition 
                        local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 ) 
                        if sx and sy then 
                            --Draw Vehicle 
                            vNames = { 
                            ["Sabre"] = "Cajaconruedas" 
                            } 
                            local w = dxGetTextWidth(getVehicleName(veh),1.02,"default-bold") 
                            dxDrawText ( vNames[getVehicleNameFromModel(getElementModel(vehicle))], sx-(w/2), sy, sx-(w/2), sy, tocolor ( 100, 255, 100, 200 ), 1.02, "default-bold" )   <---- 1322  
                        end 
                    end 
                end 
            end 
        end 
  

Y esto es lo que me muestra el debugscript3

NRlcPoL.png

He estado probando a cambiar el nombre por el modelo y a quitar la función de getVehicleNameFromModel pero tampoco hay solución.

Posted
local x,y,z = getElementPosition(getLocalPlayer()) 
        for i,veh in ipairs(getElementsByType("vehicle")) do 
            local px,py,pz = getElementPosition (veh) 
            local vehID = getElementModel(veh) 
            local vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
            if veh ~= vehicle then 
                if vehID ~= 548 then 
                    local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) 
                    if pdistance <= 6 then 
                        --Get screenposition 
                        local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 ) 
                        if sx and sy then 
                            --Draw Vehicle 
                            vNames = { 
                            ["Sabre"] = "Cajaconruedas" 
                            } 
                            local vName  = getVehicleName(veh) 
                            vName = vNames[vName] or vName 
                            local w = dxGetTextWidth(vName,1.02,"default-bold") 
                            dxDrawText ( vName, sx-(w/2), sy, sx-(w/2), sy, tocolor ( 100, 255, 100, 200 ), 1.02, "default-bold" )   <---- 1322  
                        end 
                    end 
                end 
            end 
        end 

Te recomiendo poner la tabla afuera de la funcion.

Posted
Creo que está en survivorSystem_c si mal no recuerdo. Puedes hacer una tabla con index el modelo o el nombre del vehículo.
vNames = { 
     ["Regina"] = "Caja con ruedas" 
} 

Y en el dxDraw pones

vNames[getVehicleNameFromModel(getElementModel(vehicle))] 

He estado probando tu código aquÍ:

local x,y,z = getElementPosition(getLocalPlayer()) 
        for i,veh in ipairs(getElementsByType("vehicle")) do 
            local px,py,pz = getElementPosition (veh) 
            local vehID = getElementModel(veh) 
            local vehicle = getPedOccupiedVehicle(getLocalPlayer()) 
            if veh ~= vehicle then 
                if vehID ~= 548 then 
                    local pdistance = getDistanceBetweenPoints3D ( x,y,z,px,py,pz ) 
                    if pdistance <= 6 then 
                        --Get screenposition 
                        local sx,sy = getScreenFromWorldPosition ( px, py, pz+0.95, 0.06 ) 
                        if sx and sy then 
                            --Draw Vehicle 
                            vNames = { 
                            ["Sabre"] = "Cajaconruedas" 
                            } 
                            local w = dxGetTextWidth(getVehicleName(veh),1.02,"default-bold") 
                            dxDrawText ( vNames[getVehicleNameFromModel(getElementModel(vehicle))], sx-(w/2), sy, sx-(w/2), sy, tocolor ( 100, 255, 100, 200 ), 1.02, "default-bold" )   <---- 1322  
                        end 
                    end 
                end 
            end 
        end 
  

Y esto es lo que me muestra el debugscript3

NRlcPoL.png

He estado probando a cambiar el nombre por el modelo y a quitar la función de getVehicleNameFromModel pero tampoco hay solución.

Prueba a sustituir:

  
getElementModel(vehicle) 
  

por esto:

  
getElementModel(veh) 
  

  • Recently Browsing   0 members

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