func.pwn 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. forward OnModelViewUpdate();
  2. DefaultModelViewData(playerid) {
  3. g_ModelViewData[playerid][MODELVIEW_DATA_TOGGLE] = false;
  4. g_ModelViewData[playerid][MODELVIEW_DATA_MODELID] = INVALID_MODEL_ID;
  5. g_ModelViewData[playerid][MODELVIEW_DATA_RX] = 0.0;
  6. g_ModelViewData[playerid][MODELVIEW_DATA_RY] = 0.0;
  7. g_ModelViewData[playerid][MODELVIEW_DATA_RZ] = 0.0;
  8. g_ModelViewData[playerid][MODELVIEW_DATA_ZM] = 1.0;
  9. g_ModelViewData[playerid][MODELVIEW_DATA_RXS] = 0.0;
  10. g_ModelViewData[playerid][MODELVIEW_DATA_RYS] = 0.0;
  11. g_ModelViewData[playerid][MODELVIEW_DATA_RZS] = 0.0;
  12. g_ModelViewData[playerid][MODELVIEW_DATA_VC1] = 0;
  13. g_ModelViewData[playerid][MODELVIEW_DATA_VC2] = 0;
  14. }
  15. CreateGenericModelView() {
  16. g_ModelViewGTD[MODELVIEW_GTD_BG] =
  17. TextDrawCreate (236.0, 21.0, "_");
  18. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_BG], 0.0, 20.9);
  19. TextDrawUseBox (g_ModelViewGTD[MODELVIEW_GTD_BG], 1);
  20. TextDrawBoxColor (g_ModelViewGTD[MODELVIEW_GTD_BG], 100);
  21. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_BG], 639.0, 0.0);
  22. g_ModelViewGTD[MODELVIEW_GTD_CLOSE] =
  23. TextDrawCreate (629.0, 21.0, "X");
  24. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 2);
  25. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 255);
  26. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 1);
  27. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 0.3, 1.0);
  28. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], RGBA_WHITE);
  29. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 1);
  30. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 1);
  31. TextDrawUseBox (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 1);
  32. TextDrawBoxColor (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 0xFF000064);
  33. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 10.0, 20.0);
  34. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_CLOSE], 1);
  35. g_ModelViewGTD[MODELVIEW_GTD_CAPTION] =
  36. TextDrawCreate (240.0, 9.0, "Model View");
  37. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_CAPTION], 255);
  38. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_CAPTION], 0);
  39. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_CAPTION], 0.5, 2.0);
  40. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_CAPTION], RGBA_WHITE);
  41. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_CAPTION], 1);
  42. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_CAPTION], 1);
  43. for(new mod, Float:x, str[2+1]; mod < MAX_MODELVIEW_MODS; mod ++) {
  44. switch( mod ) {
  45. case MODELVIEW_MOD_S2: {
  46. x = 319.0, str = "<<";
  47. }
  48. case MODELVIEW_MOD_S1: {
  49. x = 342.0, str = "<";
  50. }
  51. case MODELVIEW_MOD_R: {
  52. x = 365.0, str = "R";
  53. }
  54. case MODELVIEW_MOD_A1: {
  55. x = 388.0, str = ">";
  56. }
  57. case MODELVIEW_MOD_A2: {
  58. x = 411.0, str = ">>";
  59. }
  60. default: {
  61. continue;
  62. }
  63. }
  64. // RX
  65. g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod] =
  66. TextDrawCreate (x, 40.0, str);
  67. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 2);
  68. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 255);
  69. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 1);
  70. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 0.2, 1.0);
  71. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], RGBA_WHITE);
  72. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 1);
  73. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 1);
  74. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 10.0, 20.0);
  75. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_RX_MOD][mod], 1);
  76. // RY
  77. g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod] =
  78. TextDrawCreate (x, 60.0, str);
  79. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 2);
  80. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 255);
  81. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 1);
  82. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 0.2, 1.0);
  83. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], RGBA_WHITE);
  84. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 1);
  85. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 1);
  86. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 10.0, 20.0);
  87. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_RY_MOD][mod], 1);
  88. // RZ
  89. g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod] =
  90. TextDrawCreate (x, 80.0, str);
  91. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 2);
  92. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 255);
  93. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 1);
  94. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 0.2, 1.0);
  95. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], RGBA_WHITE);
  96. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 1);
  97. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 1);
  98. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 10.0, 20.0);
  99. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_RZ_MOD][mod], 1);
  100. // Zoom
  101. g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod] =
  102. TextDrawCreate (x, 100.0, str);
  103. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 2);
  104. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 255);
  105. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 1);
  106. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 0.2, 1.0);
  107. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], RGBA_WHITE);
  108. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 1);
  109. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 1);
  110. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 10.0, 20.0);
  111. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_ZM_MOD][mod], 1);
  112. // RX Speed
  113. g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod] =
  114. TextDrawCreate (x, 120.0, str);
  115. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 2);
  116. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 255);
  117. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 1);
  118. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 0.2, 1.0);
  119. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], RGBA_WHITE);
  120. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 1);
  121. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 1);
  122. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 10.0, 20.0);
  123. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_RXS_MOD][mod], 1);
  124. // RY Speed
  125. g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod] =
  126. TextDrawCreate (x, 140.0, str);
  127. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 2);
  128. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 255);
  129. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 1);
  130. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 0.2, 1.0);
  131. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], RGBA_WHITE);
  132. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 1);
  133. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 1);
  134. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 10.0, 20.0);
  135. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_RYS_MOD][mod], 1);
  136. // RZ Speed
  137. g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod] =
  138. TextDrawCreate (x, 160.0, str);
  139. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 2);
  140. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 255);
  141. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 1);
  142. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 0.2, 1.0);
  143. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], RGBA_WHITE);
  144. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 1);
  145. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 1);
  146. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 10.0, 20.0);
  147. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_RZS_MOD][mod], 1);
  148. // Vehicle Color 1
  149. g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod] =
  150. TextDrawCreate (x, 180.0, str);
  151. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 2);
  152. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 255);
  153. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 1);
  154. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 0.2, 1.0);
  155. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], RGBA_WHITE);
  156. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 1);
  157. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 1);
  158. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 10.0, 20.0);
  159. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_VC1_MOD][mod], 1);
  160. // Vehicle Color 2
  161. g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod] =
  162. TextDrawCreate (x, 200.0, str);
  163. TextDrawAlignment (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 2);
  164. TextDrawBackgroundColor (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 255);
  165. TextDrawFont (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 1);
  166. TextDrawLetterSize (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 0.2, 1.0);
  167. TextDrawColor (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], RGBA_WHITE);
  168. TextDrawSetOutline (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 1);
  169. TextDrawSetProportional (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 1);
  170. TextDrawTextSize (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 10.0, 20.0);
  171. TextDrawSetSelectable (g_ModelViewGTD[MODELVIEW_GTD_VC2_MOD][mod], 1);
  172. }
  173. }
  174. DestroyGenericModelView() {
  175. for(new gtd; gtd < MAX_MODELVIEW_GTDS; gtd ++) {
  176. TextDrawDestroy( g_ModelViewGTD[gtd] );
  177. g_ModelViewGTD[gtd] = Text: INVALID_TEXT_DRAW;
  178. }
  179. }
  180. CreatePlayerModelView(playerid) {
  181. g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL] =
  182. CreatePlayerTextDraw (playerid, 424.0, 20.0, "model");
  183. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 0);
  184. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 5);
  185. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 0.5, 1.0);
  186. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], -1);
  187. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 0);
  188. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 1);
  189. PlayerTextDrawUseBox (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 1);
  190. PlayerTextDrawBoxColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 0);
  191. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], 190.0, 190.0);
  192. g_ModelViewPTD[playerid][MODELVIEW_PTD_RX] =
  193. CreatePlayerTextDraw (playerid, 271.0, 40.0, "RX");
  194. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 2);
  195. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 255);
  196. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 1);
  197. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 0.2, 1.0);
  198. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], RGBA_WHITE);
  199. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 1);
  200. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 1);
  201. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], 10.0, 70.0);
  202. g_ModelViewPTD[playerid][MODELVIEW_PTD_RY] =
  203. CreatePlayerTextDraw (playerid, 271.0, 60.0, "RY");
  204. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 2);
  205. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 255);
  206. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 1);
  207. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 0.2, 1.0);
  208. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], RGBA_WHITE);
  209. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 1);
  210. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 1);
  211. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], 10.0, 70.0);
  212. g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ] =
  213. CreatePlayerTextDraw (playerid, 271.0, 80.0, "RZ");
  214. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 2);
  215. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 255);
  216. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 1);
  217. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 0.2, 1.0);
  218. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], RGBA_WHITE);
  219. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 1);
  220. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 1);
  221. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], 10.0, 70.0);
  222. g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM] =
  223. CreatePlayerTextDraw (playerid, 271.0, 100.0, "Zoom");
  224. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 2);
  225. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 255);
  226. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 1);
  227. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 0.2, 1.0);
  228. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], RGBA_WHITE);
  229. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 1);
  230. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 1);
  231. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], 10.0, 70.0);
  232. g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS] =
  233. CreatePlayerTextDraw (playerid, 271.0, 120.0, "RX S");
  234. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 2);
  235. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 255);
  236. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 1);
  237. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 0.2, 1.0);
  238. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], RGBA_WHITE);
  239. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 1);
  240. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 1);
  241. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], 10.0, 70.0);
  242. g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS] =
  243. CreatePlayerTextDraw (playerid, 271.0, 140.0, "RY S");
  244. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 2);
  245. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 255);
  246. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 1);
  247. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 0.2, 1.0);
  248. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], RGBA_WHITE);
  249. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 1);
  250. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 1);
  251. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], 10.0, 70.0);
  252. g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS] =
  253. CreatePlayerTextDraw (playerid, 271.0, 160.0, "RZ S");
  254. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 2);
  255. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 255);
  256. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 1);
  257. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 0.2, 1.0);
  258. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], RGBA_WHITE);
  259. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 1);
  260. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 1);
  261. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], 10.0, 70.0);
  262. g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1] =
  263. CreatePlayerTextDraw (playerid, 271.0, 180.0, "VC1");
  264. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 2);
  265. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 255);
  266. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 1);
  267. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 0.2, 1.0);
  268. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], RGBA_WHITE);
  269. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 1);
  270. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 1);
  271. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], 10.0, 70.0);
  272. g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2] =
  273. CreatePlayerTextDraw (playerid, 271.0, 200.0, "VC2");
  274. PlayerTextDrawAlignment (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 2);
  275. PlayerTextDrawBackgroundColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 255);
  276. PlayerTextDrawFont (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 1);
  277. PlayerTextDrawLetterSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 0.2, 1.0);
  278. PlayerTextDrawColor (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], RGBA_WHITE);
  279. PlayerTextDrawSetOutline (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 1);
  280. PlayerTextDrawSetProportional (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 1);
  281. PlayerTextDrawTextSize (playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], 10.0, 70.0);
  282. }
  283. DestroyPlayerModelView(playerid) {
  284. for(new ptd; ptd < MAX_MODELVIEW_PTDS; ptd ++) {
  285. PlayerTextDrawDestroy(playerid, g_ModelViewPTD[playerid][ptd]);
  286. g_ModelViewPTD[playerid][ptd] = PlayerText: INVALID_TEXT_DRAW;
  287. }
  288. }
  289. ShowModelView(playerid) {
  290. if( g_ModelViewData[playerid][MODELVIEW_DATA_TOGGLE] ) {
  291. return 0;
  292. }
  293. CreatePlayerModelView(playerid);
  294. for(new gtd; gtd < MAX_MODELVIEW_GTDS; gtd ++) {
  295. TextDrawShowForPlayer(playerid, g_ModelViewGTD[gtd]);
  296. }
  297. new view_modelid = g_ModelViewData[playerid][MODELVIEW_DATA_MODELID];
  298. if( view_modelid != INVALID_MODEL_ID ) {
  299. ApplyModelViewModel(playerid, .showtd = false);
  300. ApplyModelViewRot(playerid, .showtd = true);
  301. }
  302. ApplyModelViewRX(playerid);
  303. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX]);
  304. ApplyModelViewRY(playerid);
  305. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY]);
  306. ApplyModelViewRZ(playerid);
  307. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ]);
  308. ApplyModelViewZoom(playerid);
  309. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM]);
  310. ApplyModelViewRXSpeed(playerid);
  311. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS]);
  312. ApplyModelViewRYSpeed(playerid);
  313. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS]);
  314. ApplyModelViewRZSpeed(playerid);
  315. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS]);
  316. ApplyModelViewVehCol1(playerid);
  317. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1]);
  318. ApplyModelViewVehCol2(playerid);
  319. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2]);
  320. g_ModelViewData[playerid][MODELVIEW_DATA_TOGGLE] = true;
  321. return 1;
  322. }
  323. HideModelView(playerid) {
  324. if( !g_ModelViewData[playerid][MODELVIEW_DATA_TOGGLE] ) {
  325. return 0;
  326. }
  327. DestroyPlayerModelView(playerid);
  328. for(new gtd; gtd < MAX_MODELVIEW_GTDS; gtd ++) {
  329. TextDrawHideForPlayer(playerid, g_ModelViewGTD[gtd]);
  330. }
  331. g_ModelViewData[playerid][MODELVIEW_DATA_TOGGLE] = false;
  332. return 1;
  333. }
  334. ApplyModelViewModel(playerid, bool:showtd) {
  335. PlayerTextDrawSetPreviewModel(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL], g_ModelViewData[playerid][MODELVIEW_DATA_MODELID]);
  336. if( IsValidVehicleModel(g_ModelViewData[playerid][MODELVIEW_DATA_MODELID]) ) {
  337. ApplyModelViewVehCol(playerid, .showtd = false);
  338. }
  339. if( showtd ) {
  340. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL]);
  341. }
  342. }
  343. ApplyModelViewRot(playerid, bool:showtd) {
  344. PlayerTextDrawSetPreviewRot(playerid,
  345. g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL],
  346. g_ModelViewData[playerid][MODELVIEW_DATA_RX],
  347. g_ModelViewData[playerid][MODELVIEW_DATA_RY],
  348. g_ModelViewData[playerid][MODELVIEW_DATA_RZ],
  349. g_ModelViewData[playerid][MODELVIEW_DATA_ZM]
  350. );
  351. if( showtd ) {
  352. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL]);
  353. }
  354. }
  355. ApplyModelViewVehCol(playerid, bool:showtd) {
  356. PlayerTextDrawSetPreviewVehCol(playerid,
  357. g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL],
  358. g_ModelViewData[playerid][MODELVIEW_DATA_VC1],
  359. g_ModelViewData[playerid][MODELVIEW_DATA_VC2]
  360. );
  361. if( showtd ) {
  362. PlayerTextDrawShow(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_MODEL]);
  363. }
  364. }
  365. ApplyModelViewRX(playerid) {
  366. format(g_TextdrawString, sizeof g_TextdrawString, "RX: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_RX]);
  367. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RX], g_TextdrawString);
  368. }
  369. ApplyModelViewRY(playerid) {
  370. format(g_TextdrawString, sizeof g_TextdrawString, "RY: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_RY]);
  371. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RY], g_TextdrawString);
  372. }
  373. ApplyModelViewRZ(playerid) {
  374. format(g_TextdrawString, sizeof g_TextdrawString, "RZ: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_RZ]);
  375. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZ], g_TextdrawString);
  376. }
  377. ApplyModelViewZoom(playerid) {
  378. format(g_TextdrawString, sizeof g_TextdrawString, "Zoom: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_ZM]);
  379. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_ZM], g_TextdrawString);
  380. }
  381. ApplyModelViewRXSpeed(playerid) {
  382. format(g_TextdrawString, sizeof g_TextdrawString, "RX Speed: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_RXS]);
  383. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RXS], g_TextdrawString);
  384. }
  385. ApplyModelViewRYSpeed(playerid) {
  386. format(g_TextdrawString, sizeof g_TextdrawString, "RY Speed: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_RYS]);
  387. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RYS], g_TextdrawString);
  388. }
  389. ApplyModelViewRZSpeed(playerid) {
  390. format(g_TextdrawString, sizeof g_TextdrawString, "RZ Speed: %.2f", g_ModelViewData[playerid][MODELVIEW_DATA_RZS]);
  391. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_RZS], g_TextdrawString);
  392. }
  393. ApplyModelViewVehCol1(playerid) {
  394. format(g_TextdrawString, sizeof g_TextdrawString, "Veh Col 1: %i", g_ModelViewData[playerid][MODELVIEW_DATA_VC1]);
  395. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC1], g_TextdrawString);
  396. }
  397. ApplyModelViewVehCol2(playerid) {
  398. format(g_TextdrawString, sizeof g_TextdrawString, "Veh Col 2: %i", g_ModelViewData[playerid][MODELVIEW_DATA_VC2]);
  399. PlayerTextDrawSetString(playerid, g_ModelViewPTD[playerid][MODELVIEW_PTD_VC2], g_TextdrawString);
  400. }