Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // SCRIPT: Mensajes de Conexión
- // AUTOR: SHARP
- // ----------------------
- //
- // Este script muestra mensajes a los jugadores que loguean en el servidor. También muestra mensajes
- // encima de la cabeza al conectarse y desconectarse (en caso de que no estén ocultos). La intención
- // es aumentar la inmersión del jugador, que mediante estas descripciones, es iniciado en el mundo.
- // También estos mensajes, al tener en cuenta otros jugadores, facilita el inicio de conversaciones
- // entre estos.
- // ----------------------
- //
- // LEYENDA:
- // '//###' Comentario de Autor, explica y justifica una acción
- // '//!!!' Notas de implementación. Generalmente, indican una parte del código que ha de ser modificada para que funcione.
- //
- // --------------------- FUNCIONES ------------------------
- //### Muestra un conjunto de saludos sin relacion. Estos mensajes son el último recurso de los otros métodos
- // DEVUELVE - nada
- [FUNCTION f_etc_saludo]
- DORAND 6
- SYSMESSAGE Volveis a tomar control de vuestro cuerpo. Os despertais, preparado para afrontar una nueva aventura
- SYSMESSAGE Llega de nuevo el momento en que os disponeis a trabajar. El dia os saluda con promesas de aventuras
- SYSMESSAGE Tomais la resolucion de levantaros. Una vez listos, decidis afrontar este nuevo dia
- SYSMESSAGE Os poneis en marcha de nuevo, dispuesto a afrontar cualquier situacion
- SYSMESSAGE Dejais la introspeccion para otro momento y advertis vuestro alrededor
- SYSMESSAGE Poco a poco comenzais a advertir lo que os rodea, dispuesto a continuar con vuestros quehaceres
- ENDDO
- //### Indica si el argumento pasado es un humano o no
- // ARG0 - fuente a testear
- // DEVUELVE - 0 si es humano, 1 si no
- [FUNCTION f_es_humano]
- return ( (<OBODY> == c_man) || (<OBODY> == c_woman) )
- //### Muestra un mensaje de saludo al conectarse. Esto solo debería de suceder si el jugador entra de nuevo en menos de 12 horas.
- // ARGO - Player
- // DEVUELVE - nada
- [FUNCTION f_saludo_corto]
- DORAND 2
- BEGIN //### Muestra un saludo en relacion a una stat
- LOCAL.HERIDO = (<HITS> / (<MAXHITS> / 3))
- LOCAL.AGOTADO = (<STAM> / (<MAXSTAM> / 3))
- LOCAL.ESTRES = (<MANA> / (<MAXMANA> / 3))
- IF (<LOCAL.HERIDO < 1>) //### Si la vida está por debajo de un tercio ...
- DORAND 3
- SYSMESSAGE Abris los ojos y os levantais poco a poco notandoos bastante dolorido
- SYSMESSAGE Volveis a tomar consciencia del mundo que os rodea, mas aun sentis las heridas recibidas previamente
- SYSMESSAGE Poco a poco os espabilais, pero un dolor agudo proveniente de vuestras heridas os recuerda que no estais recuperado
- ENDDO
- ELSEIF (<LOCAL.AGOTADO < 1>) //### Si la estamina está por debajo de un tercio ...
- DORAND 3
- SYSMESSAGE Os componeis poco a poco con la sensacion de no haber descansado lo suficiente
- SYSMESSAGE Volveis a percibir vuestro alrededor, aunque el cansancio os invita a no moveros mucho
- SYSMESSAGE Decidis que es hora de actuar, pero estais tan exhausto ...
- ENDDO
- ELSEIF (<LOCAL.ESTRES < 1>) //### Si el mana está por debajo de un tercio ....
- DORAND 3
- SYSMESSAGE Os desperezais para comenzar a moveros, pero sentis una fatiga mental que os impide concentraros
- SYSMESSAGE Tomais la resolucion de empezar a actuar con un zumbido en la cabeza inaguantable
- SYSMESSAGE Por fin prestais atencion a vuestro entorno, pero sentis que vuestra cabeza da vueltas
- ENDDO
- ELSE //### Si no, un mensaje de reconciliación.
- f_etc_saludo
- ENDIF
- END
- BEGIN //### Muestra un saludo en relacion con un ser de su alrededor
- FORCHARS 5
- IF (<{1 10} > 6>)
- return 0 //### En caso de sacar aleatoriamente 7, 8, 9 0 10, parar. Así a veces esto sucede más o menos
- ELSE
- DORAND 5 //### Si no, hace que la criatura escogida muestre un mensaje y reciba un mensaje en relacion al que acaba de conectarse
- SAY *Mira brevemente al hombre que bosteza*
- SAY *Dirige momentaneamente su vista al recien llegado*
- SAY *Parece interesarse por momentos en la persona que se levanta*
- SAY *Enfoca sus pensamientos en el que acaba de despertarse*
- SAY *Muestra cierto interes por el recien despertado*
- ENDDO
- DORAND 5
- SYSMESSAGE Ves una persona que acaba de ganar su consciencia
- SYSMESSAGE Observas como un tipo se levanta con desgana
- SYSMESSAGE Adviertes que alguien acaba de despertarse
- SYSMESSAGE Escuchas los bostezos de quien hasta hace poco dormia
- SYSMESSAGE Notas la presencia de una persona que comienza a moverse
- ENDDO
- ENDIF
- ENDFOR
- END
- ENDDO
- //### Muestra un mensaje al conectarse. Esto debería de suceder si el jugador entra después de 12 horas de la última vez.
- // ARGO - Sector Sector en el que se encuentra el jugador
- // Devuelve - nada
- [FUNCTION f_saludo_largo]
- DORAND 4
- BEGIN //### Muestra mensajes según la iluminación/momento del día
- IF (<ISDARK == 1>) //### Si la sección donde se haya el jugador se encuentra en oscuridad ...
- DORAND 3
- SYSMESSAGE Despertais de nuevo en Ceneria, mas la oscuridad que os envuelve no os presagia nada bueno ...
- SYSMESSAGE Tomando posesion de vuestros sentidos decidis poneros en marcha. La oscuridad a vuestro alrededor os inquieta
- SYSMESSAGE Despues de vuestro letargo, os levantais rodeado por un manto de oscuridad perturbador.
- ENDDO
- ELSEIF (<ISNIGHTTIME == 1>) //### Si la sección donde se haya el jugador es de noche
- DORAND 3
- SYSMESSAGE Abris los ojos dispuestos a afrontar nuevas aventuras. El cielo os revela que la noche ha caido
- SYSMESSAGE Os preparais para un nuevo dia lleno de trabajo y accion, bajo la atenta mirada de las estrellas
- SYSMESSAGE Arropado por la noche, os levantais de nuevo preguntandoos que nuevas aventuras os aguardara el dia
- ENDDO
- ELSE //### En cualquier otro caso
- f_etc_saludo
- ENDIF
- END
- BEGIN //### Muestra mensajes según el tiempo que haga
- IF (<) //!!! Quiero checkear Aquí si llueve, nieva o qué. Pero no se cómo
- ENDIF
- END
- BEGIN //### Muestra mensajes según la estación.
- IF (<SEASON == 0>) //### En caso de ser Primavera ...
- DORAND 3
- SYSMESSAGE Despertais con el fresco aroma de la primavera. Con agrado pensais que es un buen momento para estar vivo
- SYSMESSAGE La agradable temperatura os hace levantaros de buen humor. Estais preparados para llevar a cabo vuestros quehaceres
- SYSMESSAGE Os levantais con la agradable sensacion de que Fionna os mece en una epoca tan confortable como esta
- ENDDO
- ELSEIF (<SEASON == 1>) //### En caso de ser Verano ...
- DORAND 3
- SYSMESSAGE Recobrais la consciencia envuelto en sudor. El calor golpea con dureza en estos dias
- SYSMESSAGE Os despertais con la voca seca. Cuanto dariais por un vaso de agua ahora mismo ...
- SYSMESSAGE Os levantais poco a poco pero tan caliente que sentis que Elios os envuelve con su alito ardiente
- ENDDO
- ELSEIF (<SEASON == 2>) //### En caso de ser Otoño ...
- DORAND 3
- SYSMESSAGE Comenzais a levantaros poco a poco, pero sin ninguna prisa. Notais un poco de frio
- SYSMESSAGE Abris vuestros ojos con cierto pesar. Llegais a la conclusion de que el Otonio afecta vuestros animos
- SYSMESSAGE Os levantais con cierta pereza. A vuestro alrededor el paisaje esta pintado de ojas secas
- ENDDO
- ELSEIF (<SEASON == 3>) //### En caso de ser Invierno ...
- DORAND 3
- SYSMESSAGE Tiritando, despertais buscando algo que poneros encima. No hay duda de la presencia de Ertu en esta epoca
- SYSMESSAGE Con cierto frio os levantais por fin, pensando en trabajar cuanto antes para entrar en calor
- SYSMESSAGE Echando vapor por la voca, decidis que ya es hora de marchar. Sentis nostalgia por el calor del verano
- ENDDO
- ELSE //### Supuestamente hay una quinta estación, pero es poco probable que suceda
- f_etc_saludo
- ENDIF
- END
- BEGIN //### Mensaje genérico
- f_etc_saludo
- END
- ENDDO
- //------------------------ GRUESO DEL PROGRAMA ------------------------
- //!!! No tengo ni zorra de donde debería de ir esto. Lo que sigue a continuación debería de pegarse en donde vayan los eventos de jugadores
- ON = @Login //### Al conectarse el jugador ...
- LOCAL.MIN_T = 60 * 60 * 12 //Tiempo que tiene que pasar para recibir un mensaje, en segundos
- LOCAL.TIEMPO = <SRC.LASTUSED> - <LOCAL.MIN_T> //Tiempo que ha pasado el jugador sin conectarse menos el tiempo requerido
- IF (<LOCAL.TIEMPO > 1>) //### Si ha pasado suficiente tiempo para recibir un saludo ...
- src.sector.f_saludo_largo
- ELSE //### Si no, una versión diferente
- src.f_saludo_corto
- ENDIF
- //### Mostrar un emote encima del jugador
- IF (!<src.FLAGS & (statf_invisible | statf_hidden)>) //### Si no está invisible u oculto ...
- DORAND 5
- SAY *Parpadea lentamente y mira a su alrededor*
- SAY *Se pasa la mano por la boca y bosteza con efusividad*
- SAY *Se rasca el cuello y con dificultad se espabila*
- SAY *Abre los ojos poco a poco, como si acabara de despertarse*
- SAY *Se levanta con pesadez, reflejando cierta aversion a despertarse*
- ENDDO
- ENDIF
- ON = @Logout //### Al desconectarse
- IF (!<src.FLAGS & (statf_invisible | statf_hidden)>) //### Si no está invisible u oculto ...
- DORAND 5
- SAY *Se acurruca y cierra los ojos poco a poco*
- SAY *Mira hacia el suelo, vencido poco a poco por el cansancio*
- SAY *Bosteza mientras cierra los ojos, respirando regularmente y en paz al poco rato*
- SAY *Se estira y acomoda, cerrando los ojos y abrazando el suenio*
- SAY *Buscando la mejor posicion, acaba cerrando los ojos para entregarse al descanso*
- ENDDO
- ENDIF
- [EOF]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement