Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2014
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. [ITEMDEF I_SHIP_MOUNT]
  2. ID 03E96
  3. TYPE T_EQ_HORSE
  4. LAYER LAYER_HORSE
  5.  
  6. [TYPEDEF T_SHIP_TILLER]
  7. ON=@DCLICK
  8. REF1 <MORE1>
  9. IF (<REF1.dTAG0.CONTROLLING>)
  10. IF (<REF1.dTAG0.CONTROLLING> == <SRC>)
  11. REF1.TAG0.CONTROLLING
  12. SRC.SYSMESSAGE @,,1 You are not in control of the ship.
  13. SRC.FINDID.I_SHIP_MOUNT.REMOVE
  14. SRC.TAG0.CONTROLLING
  15. SRC.UPDATE
  16. RETURN 1
  17. ELSE
  18. SRC.SYSMESSAGE @,,1 This ship is in control of <UID.<REF1.TAG0.CONTROLLING>.NAME>!
  19. RETURN 1
  20. ENDIF
  21. ELSEIF (<SRC.DISTANCE <UID>> > 1)
  22. SRC.SYSMESSAGE @,,1 You are too far away.
  23. RETURN 1
  24. ELSEIF (<SRC.FINDLAYER.LAYER_HORSE>)
  25. SRC.SYSMESSAGE @,,1 You must be dismounted to control the ship!
  26. RETURN 1
  27. ELSE
  28. SHIPSTOP
  29. SERV.NEWITEM I_SHIP_MOUNT,1,<SRC>
  30. REF1.TAG0.CONTROLLING <SRC>
  31. SRC.TAG0.CONTROLLING <REF1>
  32. SRC.SYSMESSAGE @,,1 You are now the captain of this ship!
  33. // SRC.GO <P>
  34. RETURN 1
  35. ENDIF
  36.  
  37. [FUNCTION F_PACKET_0XBF]
  38. IF (<LOCAL.2> == 0C)
  39. // SERV.B @,,1 <LOCAL.11>
  40. REF1 <LOCAL.CHAR>
  41. IF (<REF1.TAG0.CONTROLLING>)
  42. // LOCAL.1 &=~080
  43. REF2 <REF1.REGION.UID>
  44. IF (<dLOCAL.11> == 0)
  45. REF2.SHIPSTOP
  46. RETURN 0
  47. ENDIF
  48. LOCAL.DIR <STRSUB <EVAL STRLEN(<REF2.BASEID>)-1> 1 <REF2.BASEID>>
  49. IF (STRMATCH(*N*,*<LOCAL.DIR>*))
  50. LOCAL.DIR 0
  51. ELIF (STRMATCH(*E*,*<LOCAL.DIR>*))
  52. LOCAL.DIR 2
  53. ELIF (STRMATCH(*S*,*<LOCAL.DIR>*))
  54. LOCAL.DIR 4
  55. ELIF (STRMATCH(*W*,*<LOCAL.DIR>*))
  56. LOCAL.DIR 6
  57. ENDIF
  58. DOSWITCH <dLOCAL.9>
  59. // NORTH
  60. BEGIN
  61. IF (<dLOCAL.DIR> == 6)
  62. REF2.SHIPTURNRIGHT
  63. ELSEIF (<dLOCAL.DIR> == 2)
  64. REF2.SHIPTURNLEFT
  65. ELSEIF (<dLOCAL.DIR> == 4)
  66. REF2.SHIPTURN
  67. ENDIF
  68. REF2.SHIPFORE
  69. END
  70. // NORTH EAST
  71. BEGIN
  72. IF (<dLOCAL.DIR> == 6)
  73. REF2.SHIPTURNRIGHT
  74. REF2.SHIPFORERIGHT
  75. ELSEIF (<dLOCAL.DIR> == 2)
  76. REF2.SHIPFORELEFT
  77. ELSEIF (<dLOCAL.DIR> == 4)
  78. REF2.SHIPTURNLEFT
  79. REF2.SHIPFORELEFT
  80. ELSE
  81. REF2.SHIPFORERIGHT
  82. ENDIF
  83. END
  84. // EAST
  85. BEGIN
  86. IF (<dLOCAL.DIR> == 6)
  87. REF2.SHIPTURN
  88. ELSEIF (<dLOCAL.DIR> == 4)
  89. REF2.SHIPTURNLEFT
  90. ELSEIF (<dLOCAL.DIR> == 0)
  91. REF2.SHIPTURNRIGHT
  92. ENDIF
  93. REF2.SHIPFORE
  94. END
  95. // SOUTH EAST
  96. BEGIN
  97. IF (<dLOCAL.DIR> == 6)
  98. REF2.SHIPTURNLEFT
  99. REF2.SHIPFORELEFT
  100. ELSEIF (<dLOCAL.DIR> == 2)
  101. REF2.SHIPFORERIGHT
  102. ELSEIF (<dLOCAL.DIR> == 4)
  103. REF2.SHIPFORELEFT
  104. ELSEIF (<dLOCAL.DIR> == 0)
  105. REF2.SHIPTURN
  106. REF2.SHIPFORELEFT
  107. ENDIF
  108. END
  109. // SOUTH
  110. BEGIN
  111. IF (<dLOCAL.DIR> == 6)
  112. REF2.SHIPTURNLEFT
  113. ELSEIF (<dLOCAL.DIR> == 2)
  114. REF2.SHIPTURNRIGHT
  115. ELSEIF (<dLOCAL.DIR> == 0)
  116. REF2.SHIPTURN
  117. ENDIF
  118. REF2.SHIPFORE
  119. END
  120. // SOUTH WEST
  121. BEGIN
  122. IF (<dLOCAL.DIR> == 6)
  123. REF2.SHIPFORELEFT
  124. ELSEIF (<dLOCAL.DIR> == 2)
  125. REF2.SHIPTURNRIGHT
  126. REF2.SHIPFORERIGHT
  127. ELSEIF (<dLOCAL.DIR> == 4)
  128. REF2.SHIPFORERIGHT
  129. ELSEIF (<dLOCAL.DIR> == 0)
  130. REF2.SHIPTURN
  131. REF2.SHIPFORERIGHT
  132. ENDIF
  133. END
  134. // WEST
  135. BEGIN
  136. IF (<dLOCAL.DIR> == 4)
  137. REF2.SHIPTURNRIGHT
  138. ELSEIF (<dLOCAL.DIR> == 2)
  139. REF2.SHIPTURN
  140. ELSEIF (<dLOCAL.DIR> == 0)
  141. REF2.SHIPTURNLEFT
  142. ENDIF
  143. REF2.SHIPFORE
  144. END
  145. // NORTH WEST
  146. BEGIN
  147. IF (<dLOCAL.DIR> == 6)
  148. REF2.SHIPFORERIGHT
  149. ELSEIF (<dLOCAL.DIR> == 2)
  150. REF2.SHIPTURN
  151. REF2.SHIPFORERIGHT
  152. ELSEIF (<dLOCAL.DIR> == 4)
  153. REF2.SHIPTURNRIGHT
  154. REF2.SHIPFORERIGHT
  155. ELSEIF (<dLOCAL.DIR> == 0)
  156. REF2.SHIPFORELEFT
  157. ENDIF
  158. END
  159. ENDDO
  160. REF1.DIR <dLOCAL.9>
  161. REF1.UPDATE
  162. ENDIF
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement