commands.inc 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. CMD:help(playerid, params[])
  2. {
  3. if(isnull(params)) return SendSyntaxMessage(playerid, "/help (general, vehicle, property, admin)");
  4. if(!strcmp(params, "general", false))
  5. {
  6. SendClientMessage(playerid, 0xb380ffff, "> General commands:");
  7. SendClientMessage(playerid, 0xeeeeeeff, "Chat: /me /do /ame /(l)ow /(s)hout /(w)hisper /(cw)hisper /b /(o)oc /pm");
  8. SendClientMessage(playerid, 0xb3b3b3ff, "General: /talkstyle /pay /job /animations /corpse /clear /skin /id");
  9. SendClientMessage(playerid, 0xeeeeeeff, "General: /givekey /dropkey /giveweapon /dropweapon /admins /helpers");
  10. SendClientMessage(playerid, 0xb3b3b3ff, "Vehicle: /engine /lights /lock /trunk /windows");
  11. }
  12. else if(!strcmp(params, "admin", false))
  13. {
  14. ShowAdminHelpCommands(playerid);
  15. }
  16. else if(!strcmp(params, "vehicle", false))
  17. {
  18. SendClientMessage(playerid, 0xb380ffff, "> Vehicle commands:");
  19. SendClientMessage(playerid, 0xeeeeeeff, "Vehicle: /engine /lights /lock /trunk /windows");
  20. }
  21. else if(!strcmp(params, "property", false))
  22. {
  23. SendClientMessage(playerid, 0xb380ffff, "> Property commands:");
  24. SendClientMessage(playerid, 0xeeeeeeff, "Property: /enter /exit /buyproperty /sellproperty");
  25. }
  26. else SendSyntaxMessage(playerid, "/help (general, admin, vehicle, property)");
  27. return 1;
  28. }
  29. CMD:me(playerid, params[])
  30. {
  31. if(isnull(params)) return SendSyntaxMessage(playerid, "/me (action)");
  32. new string[128];
  33. if(strlen(params) > 84)
  34. {
  35. format(string, sizeof(string), "* %s %.84s ...", ReturnPlayerRPName(playerid), params);
  36. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  37. format(string, sizeof(string), "* ... %s (( %s ))", params[84], ReturnPlayerRPName(playerid));
  38. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  39. }
  40. else
  41. {
  42. format(string, sizeof(string), "* %s %s", ReturnPlayerRPName(playerid), params);
  43. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  44. }
  45. return 1;
  46. }
  47. CMD:do(playerid, params[])
  48. {
  49. if(isnull(params)) return SendSyntaxMessage(playerid, "/do (action)");
  50. new string[128];
  51. if(strlen(params) > 84)
  52. {
  53. format(string, sizeof(string), "* %.84s ...", params);
  54. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  55. format(string, sizeof(string), "* ... %s (( %s ))", params[84], ReturnPlayerRPName(playerid));
  56. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  57. }
  58. else
  59. {
  60. format(string, sizeof(string), "* %s (( %s ))", params, ReturnPlayerRPName(playerid));
  61. ProxDetector(20.0, playerid, string, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF, 0xD0AEEBFF);
  62. }
  63. return 1;
  64. }
  65. CMD:ame(playerid, params[])
  66. {
  67. if(isnull(params)) return SendSyntaxMessage(playerid, "/ame (action)");
  68. new string[144];
  69. format(string, sizeof(string), "> %s %s", ReturnPlayerRPName(playerid), params);
  70. SetPlayerChatBubble(playerid, string, 0xD0AEEBFF, 12.0, 10000);
  71. if(strlen(params) > 84)
  72. {
  73. va_SendClientMessage(playerid, 0xD0AEEBFF, "> %s %.84s ...", ReturnPlayerRPName(playerid), params);
  74. va_SendClientMessage(playerid, 0xD0AEEBFF, "> ... %s (( %s ))", params[84], ReturnPlayerRPName(playerid));
  75. }
  76. else va_SendClientMessage(playerid, 0xD0AEEBFF, "> %s %s", ReturnPlayerRPName(playerid), params);
  77. return 1;
  78. }
  79. YCMD:w(playerid, params[], help) = whisper;
  80. YCMD:whisper(playerid, params[], help)
  81. {
  82. new targetid, text[128];
  83. if(sscanf(params, "us[128]", targetid, text)) return SendSyntaxMessage(playerid, "/(w)hisper (playerid) (text)");
  84. if(targetid == playerid) return SendErrorMessage(playerid, "You can't do this.");
  85. if(!IsPlayerConnected(playerid)) return SendErrorMessage(playerid, "You specified an invalid player.");
  86. if(!IsPlayerNearPlayer(playerid, targetid, 2)) return SendErrorMessage(playerid, "You aren't near that player.");
  87. if(strlen(text) > 84)
  88. {
  89. va_SendClientMessage(playerid, 0xffff00ff, "You whispered to %s: %.84s ...", ReturnPlayerRPName(targetid), text);
  90. va_SendClientMessage(targetid, 0xffff00ff, "%s whispered to you: %.84s ...", ReturnPlayerRPName(playerid), text);
  91. va_SendClientMessage(playerid, 0xffff00ff, "You whispered to %s: ... %s", ReturnPlayerRPName(targetid), text[84]);
  92. va_SendClientMessage(targetid, 0xffff00ff, "%s whispered to you: ... %s", ReturnPlayerRPName(playerid), text[84]);
  93. }
  94. else
  95. {
  96. va_SendClientMessage(playerid, 0xffff00ff, "You whispered to %s: %s", ReturnPlayerRPName(targetid), text);
  97. va_SendClientMessage(targetid, 0xffff00ff, "%s whispered to you: %s", ReturnPlayerRPName(playerid), text);
  98. }
  99. StartChatting(playerid, strlen(text) * 100);
  100. format(text, sizeof(text), "> %s whispered something to %s.", ReturnPlayerRPName(playerid), ReturnPlayerRPName(targetid));
  101. SetPlayerChatBubble(playerid, text, 0xD0AEEBFF, 12.0, 10000);
  102. return 1;
  103. }
  104. YCMD:cw(playerid, params[], help) = cwhisper;
  105. YCMD:cwhisper(playerid, params[], help)
  106. {
  107. if(isnull(params)) return SendSyntaxMessage(playerid, "/(cw)hisper (text)");
  108. if(!IsPlayerInAnyVehicle(playerid)) return SendErrorMessage(playerid, "You're not in a vehicle.");
  109. if(strlen(params) > 84)
  110. {
  111. foreach(new i : Player)
  112. {
  113. if(GetPlayerVehicleID(i) == GetPlayerVehicleID(playerid))
  114. {
  115. va_SendClientMessage(i, 0xffff00ff, "%s %s says: %.84s ...", (GetPlayerState(playerid) == PLAYER_STATE_DRIVER) ? ("Driver"): ("Passenger"), ReturnPlayerRPName(playerid), params);
  116. va_SendClientMessage(i, 0xffff00ff, "%s %s says: ... %s", (GetPlayerState(playerid) == PLAYER_STATE_DRIVER) ? ("Driver"): ("Passenger"), ReturnPlayerRPName(playerid), params[84]);
  117. }
  118. }
  119. }
  120. else foreach(new i : Player) if(IsPlayerInAnyVehicle(i) && GetPlayerVehicleID(i) == GetPlayerVehicleID(playerid))
  121. {
  122. va_SendClientMessage(i, 0xffff00ff, "%s %s says: %s", (GetPlayerState(playerid) == PLAYER_STATE_DRIVER) ? ("Driver"): ("Passenger"), ReturnPlayerRPName(playerid), params);
  123. }
  124. return 1;
  125. }
  126. YCMD:s(playerid, params[], help) = shout;
  127. YCMD:shout(playerid, params[], help)
  128. {
  129. if(isnull(params)) return SendSyntaxMessage(playerid, "/(s)hout (text)");
  130. if(IsPlayerWounded(playerid)) return SendErrorMessage(playerid, "You can't use this command while wounded.");
  131. new string[128];
  132. if(strlen(params) > 84)
  133. {
  134. format(string, sizeof(string), "%s shouts: %.84s ...", ReturnPlayerRPName(playerid), params);
  135. ProxDetector(40.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  136. format(string, sizeof(string), "%s shouts: ... %s", ReturnPlayerRPName(playerid), params[84]);
  137. ProxDetector(40.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  138. }
  139. else
  140. {
  141. format(string, sizeof(string), "%s shouts: %s", ReturnPlayerRPName(playerid), params);
  142. ProxDetector(40.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  143. }
  144. StartChatting(playerid, strlen(params) * 100);
  145. return 1;
  146. }
  147. YCMD:l(playerid, params[], help) = low;
  148. YCMD:low(playerid, params[], help)
  149. {
  150. if(isnull(params)) return SendSyntaxMessage(playerid, "/(l)ow (text)");
  151. new string[128];
  152. if(strlen(params) > 84)
  153. {
  154. format(string, sizeof(string), "%s says (low): %.84s ...", ReturnPlayerRPName(playerid), params);
  155. ProxDetector(5.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  156. format(string, sizeof(string), "%s says (low): ... %s", ReturnPlayerRPName(playerid), params[84]);
  157. ProxDetector(5.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  158. }
  159. else
  160. {
  161. format(string, sizeof(string), "%s says (low): %s", ReturnPlayerRPName(playerid), params);
  162. ProxDetector(5.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
  163. }
  164. StartChatting(playerid, strlen(params) * 100);
  165. return 1;
  166. }
  167. CMD:b(playerid, params[])
  168. {
  169. if(isnull(params)) return SendSyntaxMessage(playerid, "/b (text)");
  170. new string[128];
  171. if(strlen(params) > 84)
  172. {
  173. format(string, sizeof(string), "(( %s [%d]: %.84s ... ))", ReturnPlayerRPName(playerid), playerid, params);
  174. ProxDetector(40.0, playerid, string, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1);
  175. format(string, sizeof(string), "(( %s [%d]: ... %s ))", ReturnPlayerRPName(playerid), playerid, params[84]);
  176. ProxDetector(40.0, playerid, string, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1);
  177. }
  178. else
  179. {
  180. format(string, sizeof(string), "(( %s [%d]: %s ))", ReturnPlayerRPName(playerid), playerid, params);
  181. ProxDetector(40.0, playerid, string, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1, COLOR_FADE1);
  182. }
  183. return 1;
  184. }
  185. CMD:o(playerid, params[])
  186. {
  187. if(isnull(params)) return SendSyntaxMessage(playerid, "/o (text)");
  188. if(strlen(params) > 84)
  189. {
  190. va_SendClientMessageToAll(0xb3d9ffff, "(( [%d] %s (%s): %.84s ... ))", playerid, ReturnPlayerRPName(playerid), Account_GetName(playerid), params);
  191. va_SendClientMessageToAll(0xb3d9ffff, "(( [%d] %s (%s): ... %s ))", playerid, ReturnPlayerRPName(playerid), Account_GetName(playerid), params[84]);
  192. }
  193. else
  194. {
  195. va_SendClientMessageToAll(0xb3d9ffff, "(( [%d] %s (%s): %s ))", playerid, ReturnPlayerRPName(playerid), Account_GetName(playerid), params);
  196. }
  197. return 1;
  198. }
  199. CMD:pm(playerid, params[])
  200. {
  201. new targetid, text[128];
  202. if(sscanf(params, "us[128]", targetid, text)) return SendSyntaxMessage(playerid, "/pm (playerid) (text)");
  203. if(targetid == playerid) return SendErrorMessage(playerid, "You can't PM yourself.");
  204. if(!IsPlayerConnected(targetid)) return SendErrorMessage(playerid, "You specified an invalid player.");
  205. if(strlen(text) > 84)
  206. {
  207. va_SendClientMessage(playerid, 0xFFFF99FF, "(( PM sent to %s (%d): %.84s ... ))", ReturnPlayerRPName(targetid), targetid, text);
  208. va_SendClientMessage(targetid, 0xFFFF1AFF, "(( PM from %s (%d): %.84s ... ))", ReturnPlayerRPName(playerid), playerid, text);
  209. va_SendClientMessage(playerid, 0xFFFF99FF, "(( PM sent to %s (%d): ... %s ))", ReturnPlayerRPName(targetid), targetid, text[84]);
  210. va_SendClientMessage(targetid, 0xFFFF1AFF, "(( PM from %s (%d): ... %s ))", ReturnPlayerRPName(playerid), playerid, text[84]);
  211. }
  212. else
  213. {
  214. va_SendClientMessage(playerid, 0xFFFF99FF, "(( PM sent to %s (%d): %s ))", ReturnPlayerRPName(targetid), targetid, text);
  215. va_SendClientMessage(targetid, 0xFFFF1AFF, "(( PM from %s (%d): %s ))", ReturnPlayerRPName(playerid), playerid, text);
  216. }
  217. return 1;
  218. }
  219. CMD:clear(playerid, params[])
  220. {
  221. ClearChat(playerid);
  222. return 1;
  223. }
  224. CMD:id(playerid, params[])
  225. {
  226. if(!isnull(params))
  227. {
  228. if(IsNumeric(params))
  229. {
  230. if(strval(params) >= 0 && strval(params) < MAX_PLAYERS)
  231. {
  232. if(IsPlayerConnected(strval(params))) va_SendClientMessage(playerid, 0xc3c3c3ff, "(ID: %d) %s - %s", strval(params), ReturnPlayerRPName(strval(params)), Account_GetName(strval(params)));
  233. else SendErrorMessage(playerid, "Player not found.");
  234. }
  235. }
  236. else
  237. {
  238. new playername[MAX_PLAYER_NAME], found = 0;
  239. foreach(new i : Player)
  240. {
  241. GetPlayerName(i, playername, MAX_PLAYER_NAME);
  242. if(strfind(playername, params, true) != -1)
  243. {
  244. va_SendClientMessage(playerid, 0xc3c3c3ff, "(ID: %d) %s - %s", i, ReturnPlayerRPName(i), Account_GetName(playerid));
  245. found++;
  246. }
  247. }
  248. if(found == 0) SendErrorMessage(playerid, "Player not found.");
  249. }
  250. }
  251. else
  252. {
  253. SendSyntaxMessage(playerid, "/id (playerid)");
  254. }
  255. return 1;
  256. }