_unique.inc 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. /*
  2. Legal:
  3. Version: MPL 1.1
  4. The contents of this file are subject to the Mozilla Public License Version
  5. 1.1 the "License"; you may not use this file except in compliance with
  6. the License. You may obtain a copy of the License at
  7. http://www.mozilla.org/MPL/
  8. Software distributed under the License is distributed on an "AS IS" basis,
  9. WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  10. for the specific language governing rights and limitations under the
  11. License.
  12. The Original Code is the YSI framework.
  13. The Initial Developer of the Original Code is Alex "Y_Less" Cole.
  14. Portions created by the Initial Developer are Copyright C 2011
  15. the Initial Developer. All Rights Reserved.
  16. Contributors:
  17. Y_Less
  18. koolk
  19. JoeBullet/Google63
  20. g_aSlice/Slice
  21. Misiur
  22. samphunter
  23. tianmeta
  24. maddinat0r
  25. spacemud
  26. Crayder
  27. Dayvison
  28. Ahmad45123
  29. Zeex
  30. irinel1996
  31. Yiin-
  32. Chaprnks
  33. Konstantinos
  34. Masterchen09
  35. Southclaws
  36. PatchwerkQWER
  37. m0k1
  38. paulommu
  39. udan111
  40. Thanks:
  41. JoeBullet/Google63 - Handy arbitrary ASM jump code using SCTRL.
  42. ZeeX - Very productive conversations.
  43. koolk - IsPlayerinAreaEx code.
  44. TheAlpha - Danish translation.
  45. breadfish - German translation.
  46. Fireburn - Dutch translation.
  47. yom - French translation.
  48. 50p - Polish translation.
  49. Zamaroht - Spanish translation.
  50. Los - Portuguese translation.
  51. Dracoblue, sintax, mabako, Xtreme, other coders - Producing other modes for
  52. me to strive to better.
  53. Pixels^ - Running XScripters where the idea was born.
  54. Matite - Pestering me to release it and using it.
  55. Very special thanks to:
  56. Thiadmer - PAWN, whose limits continue to amaze me!
  57. Kye/Kalcor - SA:MP.
  58. SA:MP Team past, present and future - SA:MP.
  59. Optional plugins:
  60. Gamer_Z - GPS.
  61. Incognito - Streamer.
  62. Me - sscanf2, fixes2, Whirlpool.
  63. */
  64. #if defined _inc__unique
  65. #undef _inc__unique
  66. #endif
  67. #if _GROUP_UNIQUE_SYMBOL == 0
  68. #undef _GROUP_UNIQUE_SYMBOL
  69. #undef _GROUP_UNIQUE_FUNCTION
  70. #define _GROUP_UNIQUE_SYMBOL 1
  71. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_1
  72. #elseif _GROUP_UNIQUE_SYMBOL == 1
  73. #undef _GROUP_UNIQUE_SYMBOL
  74. #undef _GROUP_UNIQUE_FUNCTION
  75. #define _GROUP_UNIQUE_SYMBOL 2
  76. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_2
  77. #elseif _GROUP_UNIQUE_SYMBOL == 2
  78. #undef _GROUP_UNIQUE_SYMBOL
  79. #undef _GROUP_UNIQUE_FUNCTION
  80. #define _GROUP_UNIQUE_SYMBOL 3
  81. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_3
  82. #elseif _GROUP_UNIQUE_SYMBOL == 3
  83. #undef _GROUP_UNIQUE_SYMBOL
  84. #undef _GROUP_UNIQUE_FUNCTION
  85. #define _GROUP_UNIQUE_SYMBOL 4
  86. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_4
  87. #elseif _GROUP_UNIQUE_SYMBOL == 4
  88. #undef _GROUP_UNIQUE_SYMBOL
  89. #undef _GROUP_UNIQUE_FUNCTION
  90. #define _GROUP_UNIQUE_SYMBOL 5
  91. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_5
  92. #elseif _GROUP_UNIQUE_SYMBOL == 5
  93. #undef _GROUP_UNIQUE_SYMBOL
  94. #undef _GROUP_UNIQUE_FUNCTION
  95. #define _GROUP_UNIQUE_SYMBOL 6
  96. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_6
  97. #elseif _GROUP_UNIQUE_SYMBOL == 6
  98. #undef _GROUP_UNIQUE_SYMBOL
  99. #undef _GROUP_UNIQUE_FUNCTION
  100. #define _GROUP_UNIQUE_SYMBOL 7
  101. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_7
  102. #elseif _GROUP_UNIQUE_SYMBOL == 7
  103. #undef _GROUP_UNIQUE_SYMBOL
  104. #undef _GROUP_UNIQUE_FUNCTION
  105. #define _GROUP_UNIQUE_SYMBOL 8
  106. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_8
  107. #elseif _GROUP_UNIQUE_SYMBOL == 8
  108. #undef _GROUP_UNIQUE_SYMBOL
  109. #undef _GROUP_UNIQUE_FUNCTION
  110. #define _GROUP_UNIQUE_SYMBOL 9
  111. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_9
  112. #elseif _GROUP_UNIQUE_SYMBOL == 9
  113. #undef _GROUP_UNIQUE_SYMBOL
  114. #undef _GROUP_UNIQUE_FUNCTION
  115. #define _GROUP_UNIQUE_SYMBOL 10
  116. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_10
  117. #elseif _GROUP_UNIQUE_SYMBOL == 10
  118. #undef _GROUP_UNIQUE_SYMBOL
  119. #undef _GROUP_UNIQUE_FUNCTION
  120. #define _GROUP_UNIQUE_SYMBOL 11
  121. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_11
  122. #elseif _GROUP_UNIQUE_SYMBOL == 11
  123. #undef _GROUP_UNIQUE_SYMBOL
  124. #undef _GROUP_UNIQUE_FUNCTION
  125. #define _GROUP_UNIQUE_SYMBOL 12
  126. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_12
  127. #elseif _GROUP_UNIQUE_SYMBOL == 12
  128. #undef _GROUP_UNIQUE_SYMBOL
  129. #undef _GROUP_UNIQUE_FUNCTION
  130. #define _GROUP_UNIQUE_SYMBOL 13
  131. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_13
  132. #elseif _GROUP_UNIQUE_SYMBOL == 13
  133. #undef _GROUP_UNIQUE_SYMBOL
  134. #undef _GROUP_UNIQUE_FUNCTION
  135. #define _GROUP_UNIQUE_SYMBOL 14
  136. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_14
  137. #elseif _GROUP_UNIQUE_SYMBOL == 14
  138. #undef _GROUP_UNIQUE_SYMBOL
  139. #undef _GROUP_UNIQUE_FUNCTION
  140. #define _GROUP_UNIQUE_SYMBOL 15
  141. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_15
  142. #elseif _GROUP_UNIQUE_SYMBOL == 15
  143. #undef _GROUP_UNIQUE_SYMBOL
  144. #undef _GROUP_UNIQUE_FUNCTION
  145. #define _GROUP_UNIQUE_SYMBOL 16
  146. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_16
  147. #elseif _GROUP_UNIQUE_SYMBOL == 16
  148. #undef _GROUP_UNIQUE_SYMBOL
  149. #undef _GROUP_UNIQUE_FUNCTION
  150. #define _GROUP_UNIQUE_SYMBOL 17
  151. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_17
  152. #elseif _GROUP_UNIQUE_SYMBOL == 17
  153. #undef _GROUP_UNIQUE_SYMBOL
  154. #undef _GROUP_UNIQUE_FUNCTION
  155. #define _GROUP_UNIQUE_SYMBOL 18
  156. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_18
  157. #elseif _GROUP_UNIQUE_SYMBOL == 18
  158. #undef _GROUP_UNIQUE_SYMBOL
  159. #undef _GROUP_UNIQUE_FUNCTION
  160. #define _GROUP_UNIQUE_SYMBOL 19
  161. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_19
  162. #elseif _GROUP_UNIQUE_SYMBOL == 19
  163. #undef _GROUP_UNIQUE_SYMBOL
  164. #undef _GROUP_UNIQUE_FUNCTION
  165. #define _GROUP_UNIQUE_SYMBOL 20
  166. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_20
  167. #elseif _GROUP_UNIQUE_SYMBOL == 20
  168. #undef _GROUP_UNIQUE_SYMBOL
  169. #undef _GROUP_UNIQUE_FUNCTION
  170. #define _GROUP_UNIQUE_SYMBOL 21
  171. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_21
  172. #elseif _GROUP_UNIQUE_SYMBOL == 21
  173. #undef _GROUP_UNIQUE_SYMBOL
  174. #undef _GROUP_UNIQUE_FUNCTION
  175. #define _GROUP_UNIQUE_SYMBOL 22
  176. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_22
  177. #elseif _GROUP_UNIQUE_SYMBOL == 22
  178. #undef _GROUP_UNIQUE_SYMBOL
  179. #undef _GROUP_UNIQUE_FUNCTION
  180. #define _GROUP_UNIQUE_SYMBOL 23
  181. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_23
  182. #elseif _GROUP_UNIQUE_SYMBOL == 23
  183. #undef _GROUP_UNIQUE_SYMBOL
  184. #undef _GROUP_UNIQUE_FUNCTION
  185. #define _GROUP_UNIQUE_SYMBOL 24
  186. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_24
  187. #elseif _GROUP_UNIQUE_SYMBOL == 24
  188. #undef _GROUP_UNIQUE_SYMBOL
  189. #undef _GROUP_UNIQUE_FUNCTION
  190. #define _GROUP_UNIQUE_SYMBOL 25
  191. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_25
  192. #elseif _GROUP_UNIQUE_SYMBOL == 25
  193. #undef _GROUP_UNIQUE_SYMBOL
  194. #undef _GROUP_UNIQUE_FUNCTION
  195. #define _GROUP_UNIQUE_SYMBOL 26
  196. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_26
  197. #elseif _GROUP_UNIQUE_SYMBOL == 26
  198. #undef _GROUP_UNIQUE_SYMBOL
  199. #undef _GROUP_UNIQUE_FUNCTION
  200. #define _GROUP_UNIQUE_SYMBOL 27
  201. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_27
  202. #elseif _GROUP_UNIQUE_SYMBOL == 27
  203. #undef _GROUP_UNIQUE_SYMBOL
  204. #undef _GROUP_UNIQUE_FUNCTION
  205. #define _GROUP_UNIQUE_SYMBOL 28
  206. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_28
  207. #elseif _GROUP_UNIQUE_SYMBOL == 28
  208. #undef _GROUP_UNIQUE_SYMBOL
  209. #undef _GROUP_UNIQUE_FUNCTION
  210. #define _GROUP_UNIQUE_SYMBOL 29
  211. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_29
  212. #elseif _GROUP_UNIQUE_SYMBOL == 29
  213. #undef _GROUP_UNIQUE_SYMBOL
  214. #undef _GROUP_UNIQUE_FUNCTION
  215. #define _GROUP_UNIQUE_SYMBOL 30
  216. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_30
  217. #elseif _GROUP_UNIQUE_SYMBOL == 30
  218. #undef _GROUP_UNIQUE_SYMBOL
  219. #undef _GROUP_UNIQUE_FUNCTION
  220. #define _GROUP_UNIQUE_SYMBOL 31
  221. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_31
  222. #elseif _GROUP_UNIQUE_SYMBOL == 31
  223. #undef _GROUP_UNIQUE_SYMBOL
  224. #undef _GROUP_UNIQUE_FUNCTION
  225. #define _GROUP_UNIQUE_SYMBOL 32
  226. #define _GROUP_UNIQUE_FUNCTION _Group_IncludeAll_32
  227. #else
  228. #error y_groups\_unique.inc range expired!
  229. #endif