1
0

famed.pwn 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430
  1. /*
  2. /$$ /$$ /$$$$$$ /$$$$$$$ /$$$$$$$
  3. | $$$ | $$ /$$__ $$ | $$__ $$| $$__ $$
  4. | $$$$| $$| $$ \__/ | $$ \ $$| $$ \ $$
  5. | $$ $$ $$| $$ /$$$$ /$$$$$$| $$$$$$$/| $$$$$$$/
  6. | $$ $$$$| $$|_ $$|______/| $$__ $$| $$____/
  7. | $$\ $$$| $$ \ $$ | $$ \ $$| $$
  8. | $$ \ $$| $$$$$$/ | $$ | $$| $$
  9. |__/ \__/ \______/ |__/ |__/|__/
  10. Famed System
  11. Next Generation Gaming, LLC
  12. (created by Next Generation Gaming Development Team)
  13. * Copyright (c) 2016, Next Generation Gaming, LLC
  14. *
  15. * All rights reserved.
  16. *
  17. * Redistribution and use in source and binary forms, with or without modification,
  18. * are not permitted in any case.
  19. *
  20. *
  21. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  22. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  23. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  24. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  25. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  26. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  27. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  28. * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  29. * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  30. * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  31. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  32. */
  33. stock IsFamedVeh(carid)
  34. {
  35. for(new i = 0; i < sizeof(FamedVehicles); i++)
  36. {
  37. if(carid == FamedVehicles[i]) return 1;
  38. }
  39. return 0;
  40. }
  41. stock IsOSModel(carid)
  42. {
  43. new Cars[] = {461, 559, 579, 426, 468};
  44. for(new i = 0; i < sizeof(Cars); i++)
  45. {
  46. if(GetVehicleModel(carid) == Cars[i]) return 1;
  47. }
  48. return 0;
  49. }
  50. stock IsCOSModel(carid)
  51. {
  52. new Cars[] = {560, 506, 411};
  53. for(new i = 0; i < sizeof(Cars); i++)
  54. {
  55. if(GetVehicleModel(carid) == Cars[i]) return 1;
  56. }
  57. return 0;
  58. }
  59. stock IsFamedModel(carid)
  60. {
  61. new Cars[] = {415, 522, 480, 541, 429, 558};
  62. for(new i = 0; i < sizeof(Cars); i++)
  63. {
  64. if(GetVehicleModel(carid) == Cars[i]) return 1;
  65. }
  66. return 0;
  67. }
  68. stock GetFamedRankName(i)
  69. {
  70. new string[128];
  71. switch(i)
  72. {
  73. case 1:
  74. {
  75. format(string, sizeof(string), "Old-School");
  76. }
  77. case 2:
  78. {
  79. format(string, sizeof(string), "Chartered Old-School");
  80. }
  81. case 3:
  82. {
  83. format(string, sizeof(string), "Famed");
  84. }
  85. case 4:
  86. {
  87. format(string, sizeof(string), "Famed Commissioner");
  88. }
  89. case 5:
  90. {
  91. format(string, sizeof(string), "Famed Moderator");
  92. }
  93. case 6:
  94. {
  95. format(string, sizeof(string), "Vice Famed Chairman");
  96. }
  97. case 7:
  98. {
  99. format(string, sizeof(string), "Famed Chairman");
  100. }
  101. default:
  102. {
  103. format(string, sizeof(string), "Unknown");
  104. }
  105. }
  106. return string;
  107. }
  108. stock SendFamedMessage(color, string[])
  109. {
  110. foreach(new i: Player)
  111. {
  112. if((PlayerInfo[i][pFamed] >= 1 || PlayerInfo[i][pAdmin] >= 4) && PlayerInfo[i][pToggledChats][8] == 0) {
  113. ChatTrafficProcess(i, color, string, 8);
  114. }
  115. }
  116. }
  117. //======[Start of Famed Commands]=======
  118. CMD:fc(playerid, params[]) {
  119. if(PlayerInfo[playerid][pFamed] >= 1 || PlayerInfo[playerid][pAdmin] >= 2) {
  120. if(PlayerInfo[playerid][pJailTime] && strfind(PlayerInfo[playerid][pPrisonReason], "[OOC]", true) != -1) return SendClientMessageEx(playerid, COLOR_GREY, "OOC prisoners are restricted to only speak in /b");
  121. if(isnull(params)) {
  122. SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /fc [message]");
  123. }
  124. else if(gettime() < GetPVarInt(playerid, "timeFamed")) {
  125. new
  126. szMessage[64];
  127. format(szMessage, sizeof(szMessage), "You must wait %d seconds before speaking again in this channel.", GetPVarInt(playerid, "timeFamed") - gettime());
  128. SendClientMessageEx(playerid, COLOR_GREY, szMessage);
  129. }
  130. else if(PlayerInfo[playerid][pToggledChats][8] == 1) {
  131. SendClientMessageEx(playerid, COLOR_GREY, "You have the famed chat toggled - /togfamed to enable it.");
  132. }
  133. else if(PlayerInfo[playerid][pFMuted] != 0) {
  134. SendClientMessageEx(playerid, COLOR_GREY, "You are muted from the famed chat channel.");
  135. }
  136. else {
  137. new
  138. szMessage[128];
  139. if(PlayerInfo[playerid][pAdmin] > 2 && GetPVarInt(playerid, "Undercover") == 0)
  140. {
  141. format(szMessage, sizeof(szMessage), "** %s %s: %s", GetAdminRankName(PlayerInfo[playerid][pAdmin]), GetPlayerNameEx(playerid), params);
  142. }
  143. else if(GetPVarType(playerid, "Undercover") || PlayerInfo[playerid][pFamed] > 0)
  144. {
  145. format(szMessage, sizeof(szMessage), "** %s %s: %s", GetFamedRankName(PlayerInfo[playerid][pFamed]), GetPlayerNameEx(playerid), params);
  146. }
  147. SendFamedMessage(COLOR_FAMED, szMessage);
  148. }
  149. }
  150. else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not a famed member!");
  151. return 1;
  152. }
  153. CMD:fmute(playerid, params[])
  154. {
  155. if(PlayerInfo[playerid][pFamed] >= 4 || PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1)
  156. {
  157. new string[128], targetid, reason[64];
  158. if(sscanf(params, "us[64]", targetid, reason))
  159. return SendClientMessageEx(playerid, COLOR_GRAD1, "Usage: /fmute [player] [reason]");
  160. if(IsPlayerConnected(targetid))
  161. {
  162. if(PlayerInfo[targetid][pFMuted] == 0)
  163. {
  164. if(targetid != INVALID_PLAYER_ID)
  165. {
  166. if((PlayerInfo[targetid][pFamed] > PlayerInfo[playerid][pFamed] && PlayerInfo[playerid][pAdmin] < 2) || PlayerInfo[targetid][pAdmin] > 1)
  167. return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot use this command on this person!");
  168. PlayerInfo[targetid][pFMuted] = 1;
  169. format(string, sizeof(string), "You were muted from the famed channel by %s, reason: %s. You may appeal this mute at www.ng-gaming.net/forums", GetPlayerNameEx(playerid), reason);
  170. SendClientMessageEx(targetid, COLOR_GRAD2, string);
  171. format(string, sizeof(string), "AdmCmd: %s has muted %s from the Famed Channel, reason: %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid), reason);
  172. ABroadCast(COLOR_LIGHTRED, string, 2);
  173. SendClientMessageEx(playerid, COLOR_LIGHTRED, string);
  174. format(string, sizeof(string), "AdmCmd: %s has muted %s(%d) from the Famed Channel, reason: %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid), GetPlayerSQLId(targetid), reason);
  175. Log("logs/admin.log", string);
  176. }
  177. }
  178. else return SendClientMessageEx(playerid, COLOR_GRAD1, "This person is already muted from the famed channel!");
  179. }
  180. else return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
  181. }
  182. else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not authorized to use this command!");
  183. return 1;
  184. }
  185. CMD:funmute(playerid, params[])
  186. {
  187. if(PlayerInfo[playerid][pFamed] >= 4 || PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1)
  188. {
  189. new string[128], targetid, reason[64];
  190. if(sscanf(params, "us[64]", targetid, reason))
  191. return SendClientMessageEx(playerid, COLOR_GRAD1, "Usage: /funmute [player] [reason]");
  192. if(IsPlayerConnected(targetid))
  193. {
  194. if(PlayerInfo[targetid][pFMuted] == 1)
  195. {
  196. if(targetid != INVALID_PLAYER_ID)
  197. {
  198. if(PlayerInfo[targetid][pFamed] > PlayerInfo[playerid][pFamed] || PlayerInfo[targetid][pAdmin] > PlayerInfo[playerid][pAdmin])
  199. return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot use this command on this person!");
  200. PlayerInfo[targetid][pFMuted] = 0;
  201. format(string, sizeof(string), "You were unmuted from the famed channel by %s, reason: %s.", GetPlayerNameEx(playerid), reason);
  202. SendClientMessageEx(targetid, COLOR_GRAD2, string);
  203. format(string, sizeof(string), "AdmCmd: %s has unmuted %s from the Famed Channel, reason: %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid), reason);
  204. ABroadCast(COLOR_LIGHTRED, string, 2);
  205. SendClientMessageEx(playerid, COLOR_LIGHTRED, string);
  206. format(string, sizeof(string), "AdmCmd: %s has unmuted %s(%d) from the Famed Channel, reason: %s.", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid), GetPlayerSQLId(targetid), reason);
  207. Log("logs/admin.log", string);
  208. }
  209. }
  210. else return SendClientMessageEx(playerid, COLOR_GRAD1, "This person is not muted from the famed channel!");
  211. }
  212. else return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
  213. }
  214. else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not authorized to use this command!");
  215. return 1;
  216. }
  217. CMD:setfamed(playerid, params[])
  218. {
  219. if(PlayerInfo[playerid][pFamed] >= 6 || PlayerInfo[playerid][pAdmin] >= 1337)
  220. {
  221. new string[128], targetid, level;
  222. if(sscanf(params, "ui", targetid, level)) {
  223. SendClientMessageEx(playerid, COLOR_GRAD1, "Usage: /setfamed [player] [level]");
  224. SendClientMessageEx(playerid, COLOR_GRAD2, "(1) Old-School - (2) Chartered Old-School - (3) Famed - (4) Famed Commissioner");
  225. SendClientMessageEx(playerid, COLOR_GRAD2, "(5) Famed Moderator - (6) Vice-Chairman - (7) Chairman");
  226. return 1;
  227. }
  228. if(level > 7) return SendClientMessageEx(playerid, COLOR_GRAD2, "Valid Famed levels are 1-7.");
  229. if(IsPlayerConnected(targetid))
  230. {
  231. if(targetid != INVALID_PLAYER_ID)
  232. {
  233. if(PlayerInfo[targetid][pFamed] > PlayerInfo[playerid][pFamed])
  234. return SendClientMessageEx(playerid, COLOR_GRAD1, "You cannot use this command on this person!");
  235. PlayerInfo[targetid][pFamed] = level;
  236. format(string, sizeof(string), "AdmCmd: %s has set %s famed level to %d.", GetPlayerNameEx(playerid), GetPlayerNameEx(targetid), level);
  237. ABroadCast(COLOR_LIGHTRED, string, 2);
  238. SendFamedMessage(COLOR_LIGHTRED, string);
  239. format(string, sizeof(string), "AdmCmd: %s(%d) has set %s(%d) famed level to %d.", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), GetPlayerNameEx(targetid), GetPlayerSQLId(targetid), level);
  240. Log("logs/setfamed.log", string);
  241. if(level == 0) format(string, sizeof(string), "Your famed level has been removed by %s.", GetPlayerNameEx(playerid));
  242. else format(string, sizeof(string), "Your famed level has been set to %s (%d) by %s.", GetFamedRankName(PlayerInfo[targetid][pFamed]), level, GetPlayerNameEx(playerid));
  243. SendClientMessageEx(targetid, COLOR_LIGHTBLUE, string);
  244. }
  245. }
  246. else return SendClientMessageEx(playerid, COLOR_GRAD1, "Invalid player specified.");
  247. }
  248. else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not authorized to use this command!");
  249. return 1;
  250. }
  251. CMD:osetfamed(playerid, params[])
  252. {
  253. if(PlayerInfo[playerid][pFamed] >= 6 || PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1)
  254. {
  255. new string[128], pname[MAX_PLAYER_NAME], level;
  256. if(sscanf(params, "s[32]i", pname, level))
  257. return SendClientMessageEx(playerid, COLOR_WHITE, "Usage: /osetfamed [player] [level]");
  258. new targetid = ReturnUser(pname);
  259. if(IsPlayerConnected(targetid))
  260. {
  261. return SendClientMessageEx(playerid, COLOR_WHITE, "This player is connected, please use /setfamed");
  262. }
  263. else {
  264. new
  265. szQuery[128],
  266. szPlayerName[MAX_PLAYER_NAME];
  267. mysql_escape_string(pname, szPlayerName);
  268. SetPVarInt(playerid, "Offline_Famed", level);
  269. SetPVarString(playerid, "Offline_Name", szPlayerName);
  270. mysql_format(MainPipeline, szQuery, sizeof(szQuery), "SELECT `Famed` FROM `accounts` WHERE `Username` = '%s'", szPlayerName);
  271. mysql_tquery(MainPipeline, szQuery, "OnQueryFinish", "iii", OFFLINE_FAMED_THREAD, playerid, g_arrQueryHandle{playerid});
  272. format(string, sizeof(string), "Attempting to offline set %s account to level %d famed.", szPlayerName, level);
  273. SendClientMessageEx(playerid, COLOR_WHITE, string);
  274. SendClientMessageEx(playerid, COLOR_YELLOW, "Please wait...");
  275. }
  276. }
  277. else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not authorized to use this command!");
  278. return 1;
  279. }
  280. CMD:flocker(playerid, params[]) {
  281. return cmd_famedlocker(playerid, params);
  282. }
  283. CMD:famedlocker(playerid, params[]) {
  284. #if defined zombiemode
  285. if(zombieevent == 1 && GetPVarType(playerid, "pIsZombie")) return SendClientMessageEx(playerid, COLOR_GREY, "Zombies can't use this.");
  286. #endif
  287. if(IsPlayerInRangeOfPoint(playerid, 4.0, 900.5656, 1429.6812, -82.3250))
  288. {
  289. switch(PlayerInfo[playerid][pFamed])
  290. {
  291. case 0: SendClientMessageEx(playerid, COLOR_GRAD2, "You're not part of famed!");
  292. case 1: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_OS, DIALOG_STYLE_LIST, "Old-School Locker", "First Aid Kit (Free)\nKevlar Vest ($10000)\nChange Skin ($3,000)\nJob Center", "Select", "Cancel");
  293. case 2: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_COS, DIALOG_STYLE_LIST, "Chartered Old-School Locker", "First Aid Kit (Free)\nKevlar Vest ($5000)\nChange Skin ($1,500)\nJob Center", "Select", "Cancel");
  294. case 3: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_FAMED, DIALOG_STYLE_LIST, "Famed Locker", "First Aid Kit (Free)\nKevlar Vest (Free)\nWeapons (Free)\nChange Skin (Free)\nJob Center\nFamed Color", "Select", "Cancel");
  295. case 4: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_FAMED, DIALOG_STYLE_LIST, "Famed Commissioner Locker", "First Aid Kit (Free)\nKevlar Vest (Free)\nWeapons (Free)\nChange Skin (Free)\nJob Center\nFamed Color", "Select", "Cancel");
  296. case 5: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_FAMED, DIALOG_STYLE_LIST, "Famed Moderator Locker", "First Aid Kit (Free)\nKevlar Vest (Free)\nWeapons (Free)\nChange Skin (Free)\nJob Center\nFamed Color", "Select", "Cancel");
  297. case 6: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_FAMED, DIALOG_STYLE_LIST, "Famed Vice-Chairman Locker", "First Aid Kit (Free)\nKevlar Vest (Free)\nWeapons (Free)\nChange Skin (Free)\nJob Center\nFamed Color", "Select", "Cancel");
  298. case 7: ShowPlayerDialogEx(playerid, DIALOG_LOCKER_FAMED, DIALOG_STYLE_LIST, "Famed Chairman Locker", "First Aid Kit (Free)\nKevlar Vest (Free)\nWeapons (Free)\nChange Skin (Free)\nJob Center\nFamed Color", "Select", "Cancel");
  299. }
  300. }
  301. else return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not at the famed locker!");
  302. return 1;
  303. }
  304. CMD:famedplate(playerid, params[])
  305. {
  306. if(PlayerInfo[playerid][pFamed] < 1)
  307. return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not part of famed!");
  308. new string[128], Float: vHealth, inpveh;
  309. if(IsPlayerConnected(playerid))
  310. {
  311. if(isnull(params))
  312. return SendClientMessageEx(playerid, COLOR_GREY, "Usage: /famedplate [os/cos/famed/remove]");
  313. inpveh = false;
  314. for(new d = 0 ; d < MAX_PLAYERVEHICLES; d++)
  315. {
  316. if(IsPlayerInVehicle(playerid, PlayerVehicleInfo[playerid][d][pvId]))
  317. {
  318. GetVehicleHealth(PlayerVehicleInfo[playerid][d][pvId], vHealth);
  319. inpveh = 1;
  320. if(vHealth < 800)
  321. return SendClientMessageEx(playerid, COLOR_LIGHTRED, "Please repair your vehicle before replacing your plate.");
  322. if(strcmp(params, "os", true) == 0)
  323. {
  324. format(string, sizeof(string), "{29942B}OLD-SCHOOL");
  325. format(PlayerVehicleInfo[playerid][d][pvPlate], 32, "%s", string);
  326. SendClientMessageEx(playerid, COLOR_FAMED, "Your vehicle will now appear with the Old-School Plate, parking your vehicle momentarily...");
  327. cmd_park(playerid, params); //Save a few lines of code here xD
  328. }
  329. else if(strcmp(params, "cos", true) == 0)
  330. {
  331. if(PlayerInfo[playerid][pFamed] < 2) return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not a high enough famed member for this plate, sorry.");
  332. format(string, sizeof(string), "{F2B602}COS");
  333. format(PlayerVehicleInfo[playerid][d][pvPlate], 32, "%s", string);
  334. SendClientMessageEx(playerid, COLOR_FAMED, "Your vehicle will now appear with the Chartered Old-School Plate, parking your vehicle momentarily...");
  335. cmd_park(playerid, params); //Save a few lines of code here xD
  336. }
  337. else if(strcmp(params, "famed", true) == 0)
  338. {
  339. if(PlayerInfo[playerid][pFamed] < 3) return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not a high enough famed member for this plate, sorry.");
  340. format(string, sizeof(string), "{99FF00}FAMED");
  341. format(PlayerVehicleInfo[playerid][d][pvPlate], 32, "%s", string);
  342. SendClientMessageEx(playerid, COLOR_FAMED, "Your vehicle will now appear with the Famed Plate, parking your vehicle momentarily...");
  343. cmd_park(playerid, params); //Save a few lines of code here xD
  344. }
  345. else if(strcmp(params, "remove", true) == 0)
  346. {
  347. PlayerVehicleInfo[playerid][d][pvPlate] = 0;
  348. SendClientMessageEx(playerid, COLOR_FAMED, "Your vehicle will now appear with the default plate, parking your vehicle momentarily...");
  349. cmd_park(playerid, params); //Save a few lines of code here xD
  350. }
  351. else
  352. return SendClientMessageEx(playerid, COLOR_GREY, "Usage: /famedplate [os/cos/famed/remove]");
  353. }
  354. }
  355. if(inpveh == 0)
  356. return SendClientMessageEx(playerid, COLOR_GRAD2, "You're not inside a vehicle that you own!");
  357. }
  358. return 1;
  359. }
  360. CMD:fmembers(playerid, params[])
  361. {
  362. if(PlayerInfo[playerid][pAdmin] >= 4 || PlayerInfo[playerid][pASM] >= 1 || PlayerInfo[playerid][pFamed] >= 1)
  363. {
  364. new string[2048];
  365. strcat(string, "Name\tRank", sizeof(string));
  366. foreach(new i: Player)
  367. {
  368. if(PlayerInfo[i][pFamed] >= 1 && PlayerInfo[i][pTogReports] == 0)
  369. {
  370. new famedrank[64];
  371. switch(PlayerInfo[i][pFamed])
  372. {
  373. case 1: famedrank = "{228B22}Old-School\n";
  374. case 2: famedrank = "{FF7F00}Chartered Old-School\n";
  375. case 3: famedrank = "{ADFF2F}Famed\n";
  376. case 4: famedrank = "{8F00FF}Famed Commissioner\n";
  377. case 5: famedrank = "{8F00FF}Famed Moderator\n";
  378. case 6: famedrank = "{8F00FF}Famed Vice-Chairman\n";
  379. case 7: famedrank = "{8F00FF}Famed Chairman\n";
  380. default: famedrank = "Unknown";
  381. }
  382. format(string, sizeof(string), "%s\n{FFFFFF}%s\t%s", string, GetPlayerNameEx(i), famedrank);
  383. }
  384. }
  385. ShowPlayerDialogEx(playerid, 0, DIALOG_STYLE_TABLIST_HEADERS, "Online Famed Members", string, "Close", "");
  386. }
  387. else
  388. return SendClientMessageEx(playerid, COLOR_GRAD1, "You're not authorized to use this command!");
  389. return 1;
  390. }