trensim.comSimulación Ferroviaria
   

Mejora en la simulación Class166 para RS. LUA al canto!

Foro destinado a la discusión de aspectos relacionados con la creación de scripts en RailWorks.

Moderador: Moderadores

Mejora en la simulación Class166 para RS. LUA al canto!

Notapor blas_dani » Sab Jun 27, 2009 7:24 pm

Hola:

Pues para dar vidilla al foro este, os informo que se ha publicado en uktrainsim una mejora en la simulación de las class 166 para Rail Simulator (recordad que en RW esto no funcionaria porque steam os machacaria los archivos, al modificar un asset original del juego).
No obstante el código puede servir para futuras implementaciones de modelos.

Es interesante. Sigo sin encontrar de donde leshes sacan la info para hacer estas cosas...

http://members.uktrainsim.com//filelib- ... leid=21463

Saludos.
Avatar de Usuario
blas_dani
 
Mensajes: 2753
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Re: Mejora en la simulación Class166 para RS. LUA al canto!

Notapor javierfl » Dom Jun 28, 2009 10:48 am

blas_dani escribió:Es interesante. Sigo sin encontrar de donde leshes sacan la info para hacer estas cosas...


La cosa es que para algunas cosas como las físicas, señales, mandos en cabina, etc, eso del LUA es bastante necesario. Entre la información a publicar por los de RW bien estaría que hubiera algo de LUA.

Saludos:

Javier.-
Avatar de Usuario
javierfl
grupo TrenSim
 
Mensajes: 9562
Registrado: Sab Ago 30, 2003 11:23 pm
Ubicación: Ciudad Astur

Re: Mejora en la simulación Class166 para RS. LUA al canto!

Notapor blas_dani » Dom Jun 28, 2009 12:22 pm

Hola:

Efectivamente Javier.

Por lo que he estado viendo, el 'core' del simulador trae unas definiciones genéricas de simulación tanto de vapor, como diesel o eléctrica. Añadir extras a la simulación de un vehiculo implica 'alimentar' el script lua de dicho vehiculo con funciones extra.

Si os fijais, dada una loco, por ejemplo la v200, los script lua que trae son:

a) Carpeta simulation:

------------------------------------------------------------
-- Simulation file for the DB V200
------------------------------------------------------------

------------------------------------------------------------
-- Setup
------------------------------------------------------------
-- Called when the engine script is initialised
------------------------------------------------------------

function Setup ()

end

------------------------------------------------------------
-- Update
------------------------------------------------------------
-- Called every frame to update the simulation
------------------------------------------------------------
-- Parameters:
-- inteval = time since last update
------------------------------------------------------------

function Update (inteval)

end

b) Carpeta engine:

------------------------------------------------------------
-- OnControlValueChange
------------------------------------------------------------
-- Called when a cab control is modified
------------------------------------------------------------
-- Parameters:
-- name = Name of the control
-- index = Index of the control
-- value = Modified control value
------------------------------------------------------------

function OnControlValueChange ( name, index, value )

if Call( "*:ControlExists", name, index ) then

Call( "*:SetControlValue", name, index, value );

end

end

Cualquier extra que se añada al 'core' del juego debe estar definido aquí.
Existen una serie de variables y funciones predefinidas que entiendo que se redefinen en estos scripts, y creo que si en uno de ellos definimos una función 'x' se ejecuta ésta y no la que viene por defecto en el juego.

Por ejemplo, para la class 166, en el lua situado en simulation, el autor hace un ajuste de la función de arranque/parada del motor:

-- My engine start/stop.
if Call( "*:GetControlValue", "EngineStarter", 0) == 1 then
Call( "*:SetControlValue", "Startup", 0, 1 )
Call( "*:SetControlValue", "EngineStart", 0, 1 )
end
if Call( "*:GetControlValue", "EngineStopper", 0) == 1 then
Call( "*:SetControlValue", "Startup", 0, -1 )
Call( "*:SetControlValue", "EngineStop", 0, 1 )
end

Se pueden observar unas funciones del lenguaje lua estándard (obtener y dar un valor a una variable) y unas variables "EngineStarter" "EngineStopper" "Startup" "EngineStart" "EngineStop" que son propias del juego.

En fin, esto va más alla de los .eng y .wag de msts... Seguiremos investigando, pero, como dice Javier, sin info de las variables y funciones propias del simulador poco podremos hacer, salvo aprender de los que van aportando cosas...

Saludos.
Avatar de Usuario
blas_dani
 
Mensajes: 2753
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Re: Mejora en la simulación Class166 para RS. LUA al canto!

Notapor javierfl » Dom Jun 28, 2009 7:15 pm

No estoy muy puesto en el asunto y no veo eso en el Class166 Engine Simulation.lua sino las líneas:

------------------------------------------------------------
-- Simulation file for the Class 47
------------------------------------------------------------


------------------------------------------------------------
-- Setup
------------------------------------------------------------
-- Called when the engine script is initialised
------------------------------------------------------------

function Setup ()

end

------------------------------------------------------------
-- Update
------------------------------------------------------------
-- Called every frame to update the simulation
------------------------------------------------------------
-- Parameters:
-- inteval = time since last update
------------------------------------------------------------

function Update (inteval)

end


¿Exactamente donde está ese lua y como se llama?

Saludos:

Javier.-
Avatar de Usuario
javierfl
grupo TrenSim
 
Mensajes: 9562
Registrado: Sab Ago 30, 2003 11:23 pm
Ubicación: Ciudad Astur

Re: Mejora en la simulación Class166 para RS. LUA al canto!

Notapor blas_dani » Dom Jun 28, 2009 7:24 pm

Javier:

Las líneas del lua de la class 166 que pongo como ejemplo pertenecen a ese upgrade que se puede descargar de uktrainsim (el link lo tienes más arriba).
Es sólo un pequeño fragmento.

En la misma web hay más modificaciones del mismo autor para diferentes locomotoras/automotores; por cierto, es el mismo que ha hecho sustanciales mejoras en la simulación de locomotoras eléctricas con la publicación de una class 86, cosa que comentó edsolis en panoramainternacional.

Saludos.
Avatar de Usuario
blas_dani
 
Mensajes: 2753
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona


Volver a LUA Scripting RW

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado