Advertisement
Guest User

Untitled

a guest
Apr 10th, 2014
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.52 KB | None | 0 0
  1. // SCRIPT: Mensajes de Conexión
  2. // AUTOR: SHARP
  3. // ----------------------
  4. //
  5. // Este script muestra mensajes a los jugadores que loguean en el servidor. También muestra mensajes
  6. // encima de la cabeza al conectarse y desconectarse (en caso de que no estén ocultos). La intención
  7. // es aumentar la inmersión del jugador, que mediante estas descripciones, es iniciado en el mundo.
  8. // También estos mensajes, al tener en cuenta otros jugadores, facilita el inicio de conversaciones
  9. // entre estos.
  10. // ----------------------
  11. //
  12. // LEYENDA:
  13. // '//###' Comentario de Autor, explica y justifica una acción
  14. // '//!!!' Notas de implementación. Generalmente, indican una parte del código que ha de ser modificada para que funcione.
  15. //
  16.  
  17.  
  18. // --------------------- FUNCIONES ------------------------
  19.  
  20. //### Muestra un conjunto de saludos sin relacion. Estos mensajes son el último recurso de los otros métodos
  21. // DEVUELVE - nada
  22. [FUNCTION f_etc_saludo]
  23. DORAND 6
  24. SYSMESSAGE Volveis a tomar control de vuestro cuerpo. Os despertais, preparado para afrontar una nueva aventura
  25. SYSMESSAGE Llega de nuevo el momento en que os disponeis a trabajar. El dia os saluda con promesas de aventuras
  26. SYSMESSAGE Tomais la resolucion de levantaros. Una vez listos, decidis afrontar este nuevo dia
  27. SYSMESSAGE Os poneis en marcha de nuevo, dispuesto a afrontar cualquier situacion
  28. SYSMESSAGE Dejais la introspeccion para otro momento y advertis vuestro alrededor
  29. SYSMESSAGE Poco a poco comenzais a advertir lo que os rodea, dispuesto a continuar con vuestros quehaceres
  30. ENDDO
  31.  
  32. //### Indica si el argumento pasado es un humano o no
  33. // ARG0 - fuente a testear
  34. // DEVUELVE - 0 si es humano, 1 si no
  35. [FUNCTION f_es_humano]
  36. return ( (<OBODY> == c_man) || (<OBODY> == c_woman) )
  37.  
  38. //### Muestra un mensaje de saludo al conectarse. Esto solo debería de suceder si el jugador entra de nuevo en menos de 12 horas.
  39. // ARGO - Player
  40. // DEVUELVE - nada
  41. [FUNCTION f_saludo_corto]
  42. DORAND 2
  43. BEGIN //### Muestra un saludo en relacion a una stat
  44. LOCAL.HERIDO = (<HITS> / (<MAXHITS> / 3))
  45. LOCAL.AGOTADO = (<STAM> / (<MAXSTAM> / 3))
  46. LOCAL.ESTRES = (<MANA> / (<MAXMANA> / 3))
  47.  
  48. IF (<LOCAL.HERIDO < 1>) //### Si la vida está por debajo de un tercio ...
  49. DORAND 3
  50. SYSMESSAGE Abris los ojos y os levantais poco a poco notandoos bastante dolorido
  51. SYSMESSAGE Volveis a tomar consciencia del mundo que os rodea, mas aun sentis las heridas recibidas previamente
  52. SYSMESSAGE Poco a poco os espabilais, pero un dolor agudo proveniente de vuestras heridas os recuerda que no estais recuperado
  53. ENDDO
  54. ELSEIF (<LOCAL.AGOTADO < 1>) //### Si la estamina está por debajo de un tercio ...
  55. DORAND 3
  56. SYSMESSAGE Os componeis poco a poco con la sensacion de no haber descansado lo suficiente
  57. SYSMESSAGE Volveis a percibir vuestro alrededor, aunque el cansancio os invita a no moveros mucho
  58. SYSMESSAGE Decidis que es hora de actuar, pero estais tan exhausto ...
  59. ENDDO
  60. ELSEIF (<LOCAL.ESTRES < 1>) //### Si el mana está por debajo de un tercio ....
  61. DORAND 3
  62. SYSMESSAGE Os desperezais para comenzar a moveros, pero sentis una fatiga mental que os impide concentraros
  63. SYSMESSAGE Tomais la resolucion de empezar a actuar con un zumbido en la cabeza inaguantable
  64. SYSMESSAGE Por fin prestais atencion a vuestro entorno, pero sentis que vuestra cabeza da vueltas
  65. ENDDO
  66. ELSE //### Si no, un mensaje de reconciliación.
  67. f_etc_saludo
  68. ENDIF
  69. END
  70.  
  71. BEGIN //### Muestra un saludo en relacion con un ser de su alrededor
  72. FORCHARS 5
  73. IF (<{1 10} > 6>)
  74. return 0 //### En caso de sacar aleatoriamente 7, 8, 9 0 10, parar. Así a veces esto sucede más o menos
  75. ELSE
  76. DORAND 5 //### Si no, hace que la criatura escogida muestre un mensaje y reciba un mensaje en relacion al que acaba de conectarse
  77. SAY *Mira brevemente al hombre que bosteza*
  78. SAY *Dirige momentaneamente su vista al recien llegado*
  79. SAY *Parece interesarse por momentos en la persona que se levanta*
  80. SAY *Enfoca sus pensamientos en el que acaba de despertarse*
  81. SAY *Muestra cierto interes por el recien despertado*
  82. ENDDO
  83. DORAND 5
  84. SYSMESSAGE Ves una persona que acaba de ganar su consciencia
  85. SYSMESSAGE Observas como un tipo se levanta con desgana
  86. SYSMESSAGE Adviertes que alguien acaba de despertarse
  87. SYSMESSAGE Escuchas los bostezos de quien hasta hace poco dormia
  88. SYSMESSAGE Notas la presencia de una persona que comienza a moverse
  89. ENDDO
  90. ENDIF
  91. ENDFOR
  92. END
  93. ENDDO
  94.  
  95. //### Muestra un mensaje al conectarse. Esto debería de suceder si el jugador entra después de 12 horas de la última vez.
  96. // ARGO - Sector Sector en el que se encuentra el jugador
  97. // Devuelve - nada
  98. [FUNCTION f_saludo_largo]
  99. DORAND 4
  100. BEGIN //### Muestra mensajes según la iluminación/momento del día
  101. IF (<ISDARK == 1>) //### Si la sección donde se haya el jugador se encuentra en oscuridad ...
  102. DORAND 3
  103. SYSMESSAGE Despertais de nuevo en Ceneria, mas la oscuridad que os envuelve no os presagia nada bueno ...
  104. SYSMESSAGE Tomando posesion de vuestros sentidos decidis poneros en marcha. La oscuridad a vuestro alrededor os inquieta
  105. SYSMESSAGE Despues de vuestro letargo, os levantais rodeado por un manto de oscuridad perturbador.
  106. ENDDO
  107. ELSEIF (<ISNIGHTTIME == 1>) //### Si la sección donde se haya el jugador es de noche
  108. DORAND 3
  109. SYSMESSAGE Abris los ojos dispuestos a afrontar nuevas aventuras. El cielo os revela que la noche ha caido
  110. SYSMESSAGE Os preparais para un nuevo dia lleno de trabajo y accion, bajo la atenta mirada de las estrellas
  111. SYSMESSAGE Arropado por la noche, os levantais de nuevo preguntandoos que nuevas aventuras os aguardara el dia
  112. ENDDO
  113. ELSE //### En cualquier otro caso
  114. f_etc_saludo
  115. ENDIF
  116. END
  117.  
  118. BEGIN //### Muestra mensajes según el tiempo que haga
  119. IF (<) //!!! Quiero checkear Aquí si llueve, nieva o qué. Pero no se cómo
  120. ENDIF
  121. END
  122.  
  123. BEGIN //### Muestra mensajes según la estación.
  124. IF (<SEASON == 0>) //### En caso de ser Primavera ...
  125. DORAND 3
  126. SYSMESSAGE Despertais con el fresco aroma de la primavera. Con agrado pensais que es un buen momento para estar vivo
  127. SYSMESSAGE La agradable temperatura os hace levantaros de buen humor. Estais preparados para llevar a cabo vuestros quehaceres
  128. SYSMESSAGE Os levantais con la agradable sensacion de que Fionna os mece en una epoca tan confortable como esta
  129. ENDDO
  130. ELSEIF (<SEASON == 1>) //### En caso de ser Verano ...
  131. DORAND 3
  132. SYSMESSAGE Recobrais la consciencia envuelto en sudor. El calor golpea con dureza en estos dias
  133. SYSMESSAGE Os despertais con la voca seca. Cuanto dariais por un vaso de agua ahora mismo ...
  134. SYSMESSAGE Os levantais poco a poco pero tan caliente que sentis que Elios os envuelve con su alito ardiente
  135. ENDDO
  136. ELSEIF (<SEASON == 2>) //### En caso de ser Otoño ...
  137. DORAND 3
  138. SYSMESSAGE Comenzais a levantaros poco a poco, pero sin ninguna prisa. Notais un poco de frio
  139. SYSMESSAGE Abris vuestros ojos con cierto pesar. Llegais a la conclusion de que el Otonio afecta vuestros animos
  140. SYSMESSAGE Os levantais con cierta pereza. A vuestro alrededor el paisaje esta pintado de ojas secas
  141. ENDDO
  142. ELSEIF (<SEASON == 3>) //### En caso de ser Invierno ...
  143. DORAND 3
  144. SYSMESSAGE Tiritando, despertais buscando algo que poneros encima. No hay duda de la presencia de Ertu en esta epoca
  145. SYSMESSAGE Con cierto frio os levantais por fin, pensando en trabajar cuanto antes para entrar en calor
  146. SYSMESSAGE Echando vapor por la voca, decidis que ya es hora de marchar. Sentis nostalgia por el calor del verano
  147. ENDDO
  148. ELSE //### Supuestamente hay una quinta estación, pero es poco probable que suceda
  149. f_etc_saludo
  150. ENDIF
  151. END
  152.  
  153. BEGIN //### Mensaje genérico
  154. f_etc_saludo
  155. END
  156. ENDDO
  157.  
  158. //------------------------ GRUESO DEL PROGRAMA ------------------------
  159. //!!! 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
  160.  
  161.  
  162. ON = @Login //### Al conectarse el jugador ...
  163. LOCAL.MIN_T = 60 * 60 * 12 //Tiempo que tiene que pasar para recibir un mensaje, en segundos
  164. LOCAL.TIEMPO = <SRC.LASTUSED> - <LOCAL.MIN_T> //Tiempo que ha pasado el jugador sin conectarse menos el tiempo requerido
  165. IF (<LOCAL.TIEMPO > 1>) //### Si ha pasado suficiente tiempo para recibir un saludo ...
  166. src.sector.f_saludo_largo
  167. ELSE //### Si no, una versión diferente
  168. src.f_saludo_corto
  169. ENDIF
  170.  
  171. //### Mostrar un emote encima del jugador
  172. IF (!<src.FLAGS & (statf_invisible | statf_hidden)>) //### Si no está invisible u oculto ...
  173. DORAND 5
  174. SAY *Parpadea lentamente y mira a su alrededor*
  175. SAY *Se pasa la mano por la boca y bosteza con efusividad*
  176. SAY *Se rasca el cuello y con dificultad se espabila*
  177. SAY *Abre los ojos poco a poco, como si acabara de despertarse*
  178. SAY *Se levanta con pesadez, reflejando cierta aversion a despertarse*
  179. ENDDO
  180. ENDIF
  181.  
  182. ON = @Logout //### Al desconectarse
  183. IF (!<src.FLAGS & (statf_invisible | statf_hidden)>) //### Si no está invisible u oculto ...
  184. DORAND 5
  185. SAY *Se acurruca y cierra los ojos poco a poco*
  186. SAY *Mira hacia el suelo, vencido poco a poco por el cansancio*
  187. SAY *Bosteza mientras cierra los ojos, respirando regularmente y en paz al poco rato*
  188. SAY *Se estira y acomoda, cerrando los ojos y abrazando el suenio*
  189. SAY *Buscando la mejor posicion, acaba cerrando los ojos para entregarse al descanso*
  190. ENDDO
  191. ENDIF
  192.  
  193. [EOF]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement