trensim.comSimulación Ferroviaria
   

Como saber si un vagón está cargado?

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

Moderador: Moderadores

Como saber si un vagón está cargado?

Notapor blas_dani » Mié Dic 19, 2012 7:49 pm

Hola:

Tengo una tolva que tiene compuertas en su parte inferior. Para animar la carga me encuentro con el problema que las compuertas sólo deben animarse (abrirse) en la descarga pero no debe permanecer cerradas en la carga.

He pensado animar las compuertas via script, de forma que si el vagón está cargado, se ejecute la animación.

Existe alguna variable que me indique si un vagón está o no cargado? cuala es y como puedo obtener su valor.
Cómo se que se está haciendo una operación de carga/descarga? hay alguna manera de detectar la pulsación de 'T' o shift 'T' o de saber si es están haciendo ese tipo de operaciones?

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

Re: Como saber si un vagón está cargado?

Notapor javierfl » Mié Dic 19, 2012 8:43 pm

Existe una variable, o al menos es un término que usa el programa que es ConsistLoaded, que quizás es el que le dice al programa que una composición está cargada, me imagino que para que le aplique el peso en carga de cara a las física. Otra es RailVehicleLoaded que me imagino tiene que ver con vehículos sueltos.

También existen Load, LoadAction, LoadCargo, UnloadCargo y LoadingTimeSeconds, que me supongo tienen que ver con la acción de cargar y descargar un vehículo.

No sé si se pueden usar como variable en un script, ni como, pero es cosa de probar.

Saludos:

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

Re: Como saber si un vagón está cargado?

Notapor Repo » Mié Dic 19, 2012 9:25 pm

Hola, prueba con esto:

Supongamos que un vagón pesa 30 toneladas en vacío y que puede cargar 20 toneladas más. En el script del vagón, dentro de la función Update, coloca:

Código: Seleccionar todo
function Update (time)

if Call("GetTotalMass") > 31000 then
gElVagonEstaCargado = true
else
gElVagonEstaCargado = false
end

end


La llamada a "GetTotalMass" devuelve el peso actual del vehículo en kilogramos. Si alguien quiere obtener el peso total del tren entero tiene que llamar a "GetConsistTotalMass".

Ojalá te sirva.

Saludos.
Imagen
Avatar de Usuario
Repo
 
Mensajes: 1198
Registrado: Mar Oct 11, 2005 4:27 pm
Ubicación: Santiago de Chile

Re: Como saber si un vagón está cargado?

Notapor blas_dani » Mié Dic 19, 2012 9:48 pm

Hola:

Gracias a los dos. Si que me sirve.

Para saber si el vagón se está cargando o descargando bastará ir comparando valores sucesivos de GetTotalMass... y actuar en consecuencia.

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

Re: Como saber si un vagón está cargado?

Notapor Repo » Mié Dic 19, 2012 9:49 pm

blas_dani escribió:Hola:

Gracias a los dos. Si que me sirve.

Para saber si el vagón se está cargando o descargando bastará ir comparando valores sucesivos de GetTotalMass... y actuar en consecuencia.

Saludos.



Eso, eso, eso... :wink:
Imagen
Avatar de Usuario
Repo
 
Mensajes: 1198
Registrado: Mar Oct 11, 2005 4:27 pm
Ubicación: Santiago de Chile

Re: Como saber si un vagón está cargado?

Notapor javierfl » Mié Dic 19, 2012 10:28 pm

Ya nos contarás si funciona, porque precisamente poder distinguir las animaciones en la carga y la descarga de los vagones de forma separada, era una de las cosas que llevo tiempo intentando hacer.

Saludos:

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

Re: Como saber si un vagón está cargado?

Notapor blas_dani » Jue Dic 20, 2012 9:55 pm

Repo escribió:
blas_dani escribió:Hola:

Gracias a los dos. Si que me sirve.

Para saber si el vagón se está cargando o descargando bastará ir comparando valores sucesivos de GetTotalMass... y actuar en consecuencia.

Saludos.


Eso, eso, eso... :wink:


Repo,

Creo que GetTotalMass sólo da los valores con carga y sin carga, pero no da valores intermedios, por tanto no me sirve como trigger para disparar la animación. Estoy en lo cierto?
Alguna alternativa de disparo?

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

Re: Como saber si un vagón está cargado?

Notapor javierfl » Jue Dic 20, 2012 10:46 pm

Bueno, salvo en los ténderes, creo que un vagón sólo puede estar cargado del todo o vacío, excepto si se mueve en el cargadero antes de cargarse del todo que puede quedar a medias, lo que no es lo suyo. Quiero decir que en realidad te ha de servir ¿no?

Saludos:

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

Re: Como saber si un vagón está cargado?

Notapor blas_dani » Jue Dic 20, 2012 10:58 pm

Hola:

Pues igual si, pero tengo otro problema... no sé como leshes se activa lo del debug en TS2013. Eso me ayudaria a ver la ejecución y los valores.

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

Re: Como saber si un vagón está cargado?

Notapor 444.518 » Jue Dic 20, 2012 11:32 pm

Para ver los mensajes debug LUA, prueba a escribir en las opciones de inicio -lua-debug-messages. Al desaparecer el lanzador de Railworks, solo queda poner estos parámetros en la sección de inicio.
Avatar de Usuario
444.518
 
Mensajes: 1251
Registrado: Mar Jun 28, 2011 7:05 pm
Ubicación: Hospital de Móstoles

Re: Como saber si un vagón está cargado?

Notapor blas_dani » Vie Dic 21, 2012 6:03 pm

blas_dani escribió:
Repo escribió:
blas_dani escribió:Hola:

Gracias a los dos. Si que me sirve.

Para saber si el vagón se está cargando o descargando bastará ir comparando valores sucesivos de GetTotalMass... y actuar en consecuencia.

Saludos.


Eso, eso, eso... :wink:


Repo,

Creo que GetTotalMass sólo da los valores con carga y sin carga, pero no da valores intermedios, por tanto no me sirve como trigger para disparar la animación. Estoy en lo cierto?
Alguna alternativa de disparo?

Saludos.


Hola:

Me autocorrijo, si que podemos saber valores intermedios. Comprobado via debug.

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

Re: Como saber si un vagón está cargado?

Notapor javierfl » Vie Dic 21, 2012 7:25 pm

¿Cómo has logrado cargas parciales? ¿Moviendo el tren antes de que el vagón estuviera cargado del todo o hay otro sistema?

Saludos:

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

Re: Como saber si un vagón está cargado?

Notapor blas_dani » Vie Dic 21, 2012 7:50 pm

Hola:

No, no se trata de cargas parciales. Eso creo que no es posible, ya que una vez iniciada la animación por el método habitual (pulsando la 'T'), no se puede parar.
La única manera de hacerlo que se me ocurre es via script, donde podriamos controlar la ejecución de la animación de carga/descarga. Supongo que si se asigna una tecla a una función (por ejemplo, mover la palanca de descarga) y controlamos la animación de forma que mientras tengamos la palanca en posición de descarga se vaya vaciando, al dejar de pulsar la tecla, dejariamos la animación en una posición intermedia y por lo tanto, a media carga.

Pero no ando buscando eso (al menos por ahora). Lo que estoy buscando es una forma de saber cuando debo abrir la compuerta, y es simplemente mirando la carga actual y comparándola con la carga un rato después. Si ésta última es menor, quiere decir que estamos descargando...

Lo de la descarga/carga parcial seria otra cosa que se podria hacer una vez logrado lo de la compuerta. Lo de la carga se me antoja complicaco en una tolva, porque el script va relacionado con ella y no con un elemento externo que la cargue. La descarga lo veo más factible, eso si, simepre que se pueda asociar una tecla a una acción nueva.

Saludos.
Última edición por blas_dani el Vie Dic 21, 2012 8:24 pm, editado 2 veces en total
Avatar de Usuario
blas_dani
 
Mensajes: 2863
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Re: Como saber si un vagón está cargado?

Notapor javierfl » Vie Dic 21, 2012 7:58 pm

Bueno, voy a volvr a probarlo de nuevo por si ha cambiado en la súltimas versiones de RW, pero hasta ahora, si se está cargando un vagón y se mueve el tren, la carga queda a medias. Digo la carga que se ve, la animación. No he probado vía debug si el valor de la carga queda a medias o no.

Saludos:

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

Re: Como saber si un vagón está cargado?

Notapor blas_dani » Vie Dic 21, 2012 8:14 pm

Ostras! :oops:
Pues tienes razón. Se para la animación.

Seguramente el simulador calcula la cantidad de carga que queda en función de la duración de la animación. Por tanto, deberiamos poder saber lo que queda.


(Edito)
Ahora que me fijo, si estamos descargando un vagón (via tecla T) y nos movemos, la carga de ese vagón queda a medias, pero cuando pasa el siguiente vagón por el cargadero, queda afectado y tambien empieza a descargarse...

Saludos.
Última edición por blas_dani el Vie Dic 21, 2012 8:25 pm, editado 1 vez en total
Avatar de Usuario
blas_dani
 
Mensajes: 2863
Registrado: Jue Sep 11, 2003 1:00 pm
Ubicación: Barri de Gràcia. Barcelona

Siguiente

Volver a LUA Scripting RW

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados