call.pwn 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. public OnFilterScriptInit() {
  2. CreateToolbarTextdraws();
  3. for(new playerid, max_playerid = GetPlayerPoolSize(); playerid <= max_playerid; playerid ++) {
  4. if( IsPlayerConnected(playerid) ) {
  5. CreateToolbarKeyTextdraw(playerid, .mousemode = false);
  6. }
  7. }
  8. #if defined tb_OnFilterScriptInit
  9. tb_OnFilterScriptInit();
  10. #endif
  11. }
  12. #if defined _ALS_OnFilterScriptInit
  13. #undef OnFilterScriptInit
  14. #else
  15. #define _ALS_OnFilterScriptInit
  16. #endif
  17. #define OnFilterScriptInit tb_OnFilterScriptInit
  18. #if defined tb_OnFilterScriptInit
  19. forward tb_OnFilterScriptInit();
  20. #endif
  21. public OnFilterScriptExit() {
  22. DestroyToolbarTextdraws();
  23. for(new playerid, max_playerid = GetPlayerPoolSize(); playerid <= max_playerid; playerid ++) {
  24. if( IsPlayerConnected(playerid) ) {
  25. DestroyToolbarKeyTextdraw(playerid);
  26. }
  27. }
  28. #if defined tb_OnFilterScriptExit
  29. tb_OnFilterScriptExit();
  30. #endif
  31. }
  32. #if defined _ALS_OnFilterScriptExit
  33. #undef OnFilterScriptExit
  34. #else
  35. #define _ALS_OnFilterScriptExit
  36. #endif
  37. #define OnFilterScriptExit tb_OnFilterScriptExit
  38. #if defined tb_OnFilterScriptExit
  39. forward tb_OnFilterScriptExit();
  40. #endif
  41. public OnPlayerConnect(playerid) {
  42. CreateToolbarKeyTextdraw(playerid, .mousemode = false);
  43. #if defined tb_OnPlayerConnect
  44. return tb_OnPlayerConnect(playerid);
  45. #else
  46. return 1;
  47. #endif
  48. }
  49. #if defined _ALS_OnPlayerConnect
  50. #undef OnPlayerConnect
  51. #else
  52. #define _ALS_OnPlayerConnect
  53. #endif
  54. #define OnPlayerConnect tb_OnPlayerConnect
  55. #if defined tb_OnPlayerConnect
  56. forward tb_OnPlayerConnect(playerid);
  57. #endif
  58. public OnPlayerStateChange(playerid, newstate, oldstate) {
  59. if( newstate == PLAYER_STATE_SPECTATING || oldstate == PLAYER_STATE_SPECTATING ) {
  60. CreateToolbarKeyTextdraw(playerid, .mousemode = g_PlayerData[playerid][PLAYER_DATA_SELECTTD]);
  61. }
  62. #if defined tb_OnPlayerStateChange
  63. tb_OnPlayerStateChange(playerid, newstate, oldstate);
  64. #endif
  65. }
  66. #if defined _ALS_OnPlayerStateChange
  67. #undef OnPlayerStateChange
  68. #else
  69. #define _ALS_OnPlayerStateChange
  70. #endif
  71. #define OnPlayerStateChange tb_OnPlayerStateChange
  72. #if defined tb_OnPlayerStateChange
  73. forward tb_OnPlayerStateChange(playerid, newstate, oldstate);
  74. #endif
  75. public OnPlayerClickTextDraw(playerid, Text:clickedid) {
  76. if( clickedid == Text: INVALID_TEXT_DRAW ) {
  77. CreateToolbarKeyTextdraw(playerid, .mousemode = false);
  78. for(new td; td < MAX_TOOLBAR_TEXTDRAWS; td ++) {
  79. TextDrawHideForPlayer(playerid, g_ToolbarTextdraw[td]);
  80. }
  81. }
  82. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_OBJECT_LISTSELECT] ) {
  83. ShowPlayerTextdrawMode(playerid, TDMODE_SELECTLIST_OBJECT);
  84. return 1;
  85. }
  86. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_OBJECT_NSELECT] ) {
  87. new objectid = GetPlayerNearestObject(playerid, 50.0);
  88. if( objectid == INVALID_OBJECT_ID ) {
  89. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not near any object!"), 1;
  90. }
  91. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_OBJECT;
  92. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = objectid;
  93. ShowObjectDialog(playerid, DIALOGID_OBJECT_MAIN);
  94. return 1;
  95. }
  96. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_OBJECT_LOOKSELECT] ) {
  97. new objectid = GetPlayerCameraTargetObject(playerid);
  98. if( objectid == INVALID_OBJECT_ID ) {
  99. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not looking at any object!"), 1;
  100. }
  101. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_OBJECT;
  102. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = objectid;
  103. ShowObjectDialog(playerid, DIALOGID_OBJECT_MAIN);
  104. return 1;
  105. }
  106. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_OBJECT_SSELECT] ) {
  107. new objectid = GetPlayerSurfingObjectID(playerid);
  108. if( objectid == INVALID_OBJECT_ID ) {
  109. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not surfing any object!"), 1;
  110. }
  111. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_OBJECT;
  112. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = objectid;
  113. ShowObjectDialog(playerid, DIALOGID_OBJECT_MAIN);
  114. return 1;
  115. }
  116. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_OBJECT_3DSELECT] ) {
  117. SelectObject(playerid);
  118. SendClientMessage(playerid, RGBA_ORANGE, "3D-Select Object: {FFFFFF}Hold ~k~~PED_SPRINT~ to look around and press ESC to cancel.");
  119. return 1;
  120. }
  121. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_OBJECT_CREATE] ) {
  122. ShowPlayerTextdrawMode(playerid, TDMODE_CREATELIST_OBJECT);
  123. return 1;
  124. }
  125. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_VEHICLE_LISTSELECT] ) {
  126. ShowPlayerTextdrawMode(playerid, TDMODE_SELECTLIST_VEHICLE);
  127. return 1;
  128. }
  129. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_VEHICLE_NSELECT] ) {
  130. new vehicleid = GetPlayerNearestVehicle(playerid, 50.0);
  131. if( vehicleid == INVALID_VEHICLE_ID ) {
  132. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not near any vehicle!"), 1;
  133. }
  134. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_VEHICLE;
  135. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = vehicleid;
  136. ShowVehicleDialog(playerid, DIALOGID_VEHICLE_MAIN);
  137. return 1;
  138. }
  139. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_VEHICLE_LOOKSELECT] ) {
  140. new vehicleid = GetPlayerCameraTargetVehicle(playerid);
  141. if( vehicleid == INVALID_VEHICLE_ID ) {
  142. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not looking at any vehicle!"), 1;
  143. }
  144. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_VEHICLE;
  145. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = vehicleid;
  146. ShowVehicleDialog(playerid, DIALOGID_VEHICLE_MAIN);
  147. return 1;
  148. }
  149. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_VEHICLE_SSELECT] ) {
  150. new vehicleid = GetPlayerSurfingVehicleID(playerid);
  151. if( vehicleid == INVALID_VEHICLE_ID ) {
  152. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not surfing any vehicle!"), 1;
  153. }
  154. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_VEHICLE;
  155. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = vehicleid;
  156. ShowVehicleDialog(playerid, DIALOGID_VEHICLE_MAIN);
  157. return 1;
  158. }
  159. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_VEHICLE_CREATE] ) {
  160. ShowPlayerTextdrawMode(playerid, TDMODE_CREATELIST_VEHICLE);
  161. return 1;
  162. }
  163. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_PICKUP_LISTSELECT] ) {
  164. ShowPlayerTextdrawMode(playerid, TDMODE_SELECTLIST_PICKUP);
  165. return 1;
  166. }
  167. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_PICKUP_NSELECT] ) {
  168. new pickupid = GetPlayerNearestPickup(playerid, 50.0);
  169. if( pickupid == INVALID_PICKUP_ID ) {
  170. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not near any pickup!"), 1;
  171. }
  172. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_PICKUP;
  173. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = pickupid;
  174. ShowPickupDialog(playerid, DIALOGID_PICKUP_MAIN);
  175. return 1;
  176. }
  177. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_PICKUP_CREATE] ) {
  178. ShowPlayerTextdrawMode(playerid, TDMODE_CREATELIST_PICKUP);
  179. return 1;
  180. }
  181. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_ATTACHED_MODEL] ) {
  182. ShowAttachedDialog(playerid, DIALOGID_ATTACH_INDEXLIST);
  183. return 1;
  184. }
  185. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_ACTOR_LISTSELECT] ) {
  186. ShowPlayerTextdrawMode(playerid, TDMODE_SELECTLIST_ACTOR);
  187. return 1;
  188. }
  189. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_ACTOR_NSELECT] ) {
  190. new actorid = GetPlayerNearestActor(playerid, 50.0);
  191. if( actorid == INVALID_ACTOR_ID ) {
  192. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not near any actor!"), 1;
  193. }
  194. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_ACTOR;
  195. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = actorid;
  196. ShowActorDialog(playerid, DIALOGID_ACTOR_MAIN);
  197. return 1;
  198. }
  199. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_ACTOR_LOOKSELECT] ) {
  200. new actorid = GetPlayerCameraTargetActor(playerid);
  201. if( actorid == INVALID_ACTOR_ID ) {
  202. return SendClientMessage(playerid, RGBA_RED, "ERROR: You are not looking at any actor!"), 1;
  203. }
  204. g_PlayerData[playerid][PLAYER_DATA_EDIT_IDTYPE] = ID_TYPE_ACTOR;
  205. g_PlayerData[playerid][PLAYER_DATA_EDIT_ID] = actorid;
  206. ShowActorDialog(playerid, DIALOGID_ACTOR_MAIN);
  207. return 1;
  208. }
  209. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_ACTOR_CREATE] ) {
  210. ShowPlayerTextdrawMode(playerid, TDMODE_CREATELIST_ACTOR);
  211. return 1;
  212. }
  213. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MAP_NEW] ) {
  214. ShowMapNewDialog(playerid, DIALOGID_MAP_NEW);
  215. return 1;
  216. }
  217. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MAP_SAVE] ) {
  218. ShowMapSaveDialog(playerid, DIALOGID_MAP_SAVE_CONFIRM);
  219. return 1;
  220. }
  221. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MAP_SAVEAS] ) {
  222. ShowMapSaveDialog(playerid, DIALOGID_MAP_SAVE_AS);
  223. return 1;
  224. }
  225. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MAP_LOADLIST] ) {
  226. LoadMapListData(playerid);
  227. ShowMapListDialog(playerid, DIALOGID_MAPLIST);
  228. return 1;
  229. }
  230. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MAP_LOADNAME] ) {
  231. ShowMapLoadDialog(playerid, DIALOGID_MAP_LOAD);
  232. return 1;
  233. }
  234. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_CAM_MODEL]) {
  235. ToggleCam(playerid, g_CamModeData[playerid][CAMMODE_DATA_TOGGLE] ? false : true);
  236. return 1;
  237. }
  238. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_BUILDING_MODEL] ) {
  239. return ShowPlayerTextdrawMode(playerid, TDMODE_BUILDLIST);
  240. }
  241. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MISC_CATEGORY] ) {
  242. return ShowPlayerTextdrawMode(playerid, TDMODE_CATMANAGER_MODELS), 1;
  243. }
  244. if( clickedid == g_ToolbarTextdraw[TD_TOOLBAR_MISC_INFO] ) {
  245. return ShowPlayerTextdrawMode(playerid, TDMODE_HELP_INFO), 1;
  246. }
  247. #if defined tb_OnPlayerClickTextDraw
  248. return tb_OnPlayerClickTextDraw(playerid, Text:clickedid);
  249. #else
  250. return 0;
  251. #endif
  252. }
  253. #if defined _ALS_OnPlayerClickTextDraw
  254. #undef OnPlayerClickTextDraw
  255. #else
  256. #define _ALS_OnPlayerClickTextDraw
  257. #endif
  258. #define OnPlayerClickTextDraw tb_OnPlayerClickTextDraw
  259. #if defined tb_OnPlayerClickTextDraw
  260. forward tb_OnPlayerClickTextDraw(playerid, Text:clickedid);
  261. #endif