Guest User

Untitled

a guest
Jan 22nd, 2018
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.25 KB | None | 0 0
  1.  
  2. #include <a_samp>
  3. #include <dini>
  4.  
  5. #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 // Top of Script put this
  6. new Text:R_1[MAX_PLAYERS],Text:Stats[MAX_PLAYERS];
  7.  
  8. #define COLOR_YELLOW 0xFFFF00AA
  9. #define COLOR_PINK 0xFF66FFAA
  10. #define COLOR_AQUA 0x7CFC00AA
  11. #define COLOR_WHITE 0xFFFFFFAA
  12. #define Ranks 353
  13. new Kills[MAX_PLAYERS],Deaths[MAX_PLAYERS];
  14.  
  15. public OnFilterScriptInit()
  16. {
  17.  
  18.  
  19. if(!dini_Exists("Deaths.cfg"))
  20. {
  21. dini_Create("Deaths.cfg");
  22. }
  23.  
  24. if(!dini_Exists("Kills.cfg"))
  25. {
  26. dini_Create("Kills.cfg");
  27. }
  28.  
  29.  
  30. return 1;
  31. }
  32.  
  33. public OnFilterScriptExit()
  34. {
  35. printf("*** Rank System Unloaded *** ");
  36.  
  37. return 1;
  38. }
  39.  
  40.  
  41.  
  42.  
  43. public OnPlayerRequestClass(playerid, classid)
  44. {
  45. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  46. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  47. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  48. return 1;
  49. }
  50.  
  51. public OnPlayerConnect(playerid)
  52. {
  53.  
  54. new Pname[MAX_PLAYER_NAME];
  55. GetPlayerName(playerid, Pname, MAX_PLAYER_NAME);
  56. Deaths[playerid] = dini_Int("Deaths.cfg", Pname);
  57. Kills[playerid] = dini_Int("Kills.cfg", Pname);
  58. new Name[MAX_PLAYER_NAME];
  59. GetPlayerName(playerid,Name,sizeof(Name));
  60. new str[256];
  61. format(str,sizeof(str),"-> Welcome %s to the Server ! Enjoy Your Stay !!!",Name);
  62. // SendClientMessage(playerid,COLOR_AQUA,"This Server Using Rank System V.1 By Sufyan");
  63. SendClientMessage(playerid,COLOR_YELLOW,str);
  64. R_1[playerid] = TextDrawCreate(498.000000, 100.000000, " ");
  65. TextDrawBackgroundColor(R_1[playerid], 255);
  66. TextDrawFont(R_1[playerid], 2);
  67. TextDrawLetterSize(R_1[playerid], 0.250000, 0.899999);
  68. TextDrawColor(R_1[playerid], -1);
  69. TextDrawSetOutline(R_1[playerid], 0);
  70. TextDrawSetProportional(R_1[playerid], 1);
  71. TextDrawSetShadow(R_1[playerid], 1);
  72.  
  73. Stats[playerid] = TextDrawCreate(499.000000, 110.000000, "~r~Kills: ~w~0 ~g~Deaths: ~w~0");
  74. TextDrawBackgroundColor(Stats[playerid], 255);
  75. TextDrawFont(Stats[playerid], 2);
  76. TextDrawLetterSize(Stats[playerid], 0.159999, 1.000000);
  77. TextDrawColor(Stats[playerid], -1);
  78. TextDrawSetOutline(Stats[playerid], 0);
  79. TextDrawSetProportional(Stats[playerid], 1);
  80. TextDrawSetShadow(Stats[playerid], 1);
  81.  
  82.  
  83.  
  84. return 1;
  85. }
  86.  
  87. public OnPlayerDisconnect(playerid, reason)
  88. {
  89.  
  90. new Pname[MAX_PLAYER_NAME];
  91. GetPlayerName(playerid, Pname, MAX_PLAYER_NAME);
  92. dini_IntSet("Deaths.cfg", Pname, Deaths[playerid]);
  93. dini_IntSet("Kills.cfg", Pname, Kills[playerid]);
  94. return 1;
  95. }
  96.  
  97. public OnPlayerSpawn(playerid)
  98. {
  99. TextDrawShowForPlayer(playerid,Text:Stats[playerid]);
  100. TextDrawShowForPlayer(playerid,Text:R_1[playerid]);
  101. SetCameraBehindPlayer(playerid);
  102.  
  103.  
  104. return 1;
  105. }
  106.  
  107. public OnPlayerDeath(playerid, killerid, reason)
  108. {
  109. Kills[killerid]++;
  110. Deaths[playerid]++;
  111.  
  112.  
  113. return 1;
  114. }
  115.  
  116. dcmd_rank( playerid, params[] )
  117. {
  118. new id;
  119. if (strlen(params))
  120. {
  121. id = strval(params);
  122. if(IsPlayerConnected(id))
  123. {
  124. new str[256];
  125.  
  126. SendClientMessage(playerid,COLOR_YELLOW,"Current Rank:");
  127. GetPlayerRank(id);
  128. format(str,sizeof(str)," Kills: %d Deaths: %d ",GetPlayerKills(playerid),GetPlayerDeaths(playerid));
  129. SendClientMessage(playerid,0x00FF00AA,str);
  130.  
  131.  
  132. }
  133. else
  134. {
  135. SendClientMessage(playerid,0x00FF00AA, "Player Not Found !");
  136. }
  137. }
  138. else
  139. {
  140. SendClientMessage(playerid,0x00FF00AA, "Usage: \"/rank <playerid>\"");
  141.  
  142. }
  143. return 1;
  144. }
  145. dcmd_ranks( playerid, params[])
  146. {
  147. #pragma unused params
  148. ShowPlayerDialog(playerid,Ranks,DIALOG_STYLE_MSGBOX,"Ranks By Sufyan","0-10 Newbie Shooter\n10-75 Killer Shooter\n25-75 Master Shooter\n150-300 Pro Shooter\n300-450 Striker Shooter\n450-675 Freekill Shooter\n675-1000 Psycho Shooter\n\
  149. 1000-1500 Fatal Shooter\n1500-2250 Havoc Shooter\n2250-3375 Extreme Shooter\n3375-5100 Wild Shooter\n5100-7650 Hazardous Shooter\n7650-11475 IGI Shooter\n11475-17500 Tactical Shooter\n17500-26250 Dedicated Shooter\n26250-39375 Insane Shooter",">>","Close");
  150. return 1;
  151. }
  152. public OnPlayerText(playerid, text[])
  153. {
  154. return 1;
  155. }
  156.  
  157. public OnPlayerCommandText(playerid, cmdtext[])
  158. {
  159. dcmd(rank,4,cmdtext);
  160. dcmd(ranks,5,cmdtext);
  161.  
  162. return 0;
  163. }
  164.  
  165.  
  166. stock GetPlayerRank(playerid)
  167. {
  168.  
  169. if(Kills[playerid]<10)
  170. {
  171. SendClientMessage(playerid,COLOR_WHITE,"Newbie Shooter");
  172. }
  173. else if(Kills[playerid]<25 && Kills[playerid]>=10)
  174. {
  175. SendClientMessage(playerid,COLOR_WHITE,"Killer Shooter");
  176. }
  177. else if(Kills[playerid]<75 && Kills[playerid]>=25)
  178. {
  179. SendClientMessage(playerid,COLOR_WHITE,"Master Shooter");
  180. }
  181. else if(Kills[playerid]<150 && Kills[playerid]>=300)
  182. {
  183. SendClientMessage(playerid,COLOR_WHITE,"Pro Shooter");
  184. }
  185. else if(Kills[playerid]<300 && Kills[playerid]>=450)
  186. {
  187. SendClientMessage(playerid,COLOR_WHITE,"Striker Shooter");
  188. }
  189. else if(Kills[playerid]<450 && Kills[playerid]>= 675)
  190. {
  191. SendClientMessage(playerid,COLOR_WHITE,"Freekill Shooter");
  192. }
  193. else if(Kills[playerid]<675 && Kills[playerid]>= 1000)
  194. {
  195. SendClientMessage(playerid,COLOR_WHITE,"Psycho Shooter");
  196. }
  197. else if(Kills[playerid]<1000 && Kills[playerid]>= 1500)
  198. {
  199. SendClientMessage(playerid,COLOR_WHITE,"Fatal Shooter");
  200. }
  201. else if(Kills[playerid]<1500 && Kills[playerid]>= 2250)
  202. {
  203. SendClientMessage(playerid,COLOR_WHITE,"Havoc Shooter");
  204. }
  205. else if(Kills[playerid]<2250 && Kills[playerid]>= 3375)
  206. {
  207. SendClientMessage(playerid,COLOR_WHITE,"Extreme Shooter");
  208. }
  209. else if(Kills[playerid]<3375 && Kills[playerid]>= 5100)
  210. {
  211. SendClientMessage(playerid,COLOR_WHITE,"Wild Shooter");
  212. }
  213. else if(Kills[playerid]<5100 && Kills[playerid]>= 7650)
  214. {
  215. SendClientMessage(playerid,COLOR_WHITE,"Hazardous Shooter");
  216. }
  217. else if(Kills[playerid]<7650 && Kills[playerid]>= 11475)
  218. {
  219. SendClientMessage(playerid,COLOR_WHITE,"IGI Shooter");
  220. }
  221. else if(Kills[playerid]<11475 && Kills[playerid]>= 17500)
  222. {
  223. SendClientMessage(playerid,COLOR_WHITE,"Tactical Shooter");
  224. }
  225. else if(Kills[playerid]<17500 && Kills[playerid]>= 26250)
  226. {
  227. SendClientMessage(playerid,COLOR_WHITE,"Dedicated Shooter");
  228. }
  229. else if(Kills[playerid]<26250 && Kills[playerid]>= 39375)
  230. {
  231. SendClientMessage(playerid,COLOR_WHITE,"Insane Shooter");
  232. }
  233. else if(Kills[playerid]<39375 && Kills[playerid]>= 60000)
  234. {
  235. SendClientMessage(playerid,COLOR_WHITE,"The Real Shooter");
  236. }
  237. else if(Kills[playerid]<60000 && Kills[playerid]>= 100000)
  238. {
  239. SendClientMessage(playerid,COLOR_WHITE,"Professional Shooter");
  240. }
  241. else if(Kills[playerid]> 100000)
  242. {
  243. SendClientMessage(playerid,COLOR_WHITE,"Rockstar Shooter");
  244. }
  245. return 1;
  246. }
  247. stock GetPlayerKills(playerid)
  248. {
  249. return Kills[playerid];
  250. }
  251. stock GetPlayerDeaths(playerid)
  252. {
  253. return Deaths[playerid];
  254. }
  255. public OnPlayerUpdate(playerid)
  256. {
  257. new str[256];
  258. format(str,sizeof(str),"~r~Kills: ~w~%d ~g~Deaths: ~w~%d",Kills[playerid],Deaths[playerid]);
  259. TextDrawSetString(Text:Stats[playerid],str);
  260. if(Kills[playerid]<10)
  261. {
  262. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Newbie Shooter");
  263. }
  264. else if(Kills[playerid]<25 && Kills[playerid]>=10)
  265. {
  266. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Killer Shooter");
  267. }
  268. else if(Kills[playerid]<75 && Kills[playerid]>=25)
  269. {
  270. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Master Shooter");
  271. }
  272. else if(Kills[playerid]<150 && Kills[playerid]>=75)
  273. {
  274. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Pro Shooter");
  275. }
  276. else if(Kills[playerid]<300 && Kills[playerid]>=150)
  277. {
  278. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Striker Shooter");
  279. }
  280. else if(Kills[playerid]<450 && Kills[playerid]>= 300)
  281. {
  282. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Freekill Shooter");
  283. }
  284. else if(Kills[playerid]<675 && Kills[playerid]>= 1000)
  285. {
  286. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Psycho Shooter");
  287. }
  288. else if(Kills[playerid]<1000 && Kills[playerid]>= 1500)
  289. {
  290. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Fatal Shooter");
  291. }
  292. else if(Kills[playerid]<1500 && Kills[playerid]>= 2250)
  293. {
  294. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Havoc Shooter");
  295. }
  296. else if(Kills[playerid]<2250 && Kills[playerid]>= 3375)
  297. {
  298. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Extreme Shooter");
  299. }
  300. else if(Kills[playerid]<3375 && Kills[playerid]>= 5100)
  301. {
  302. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Wild Shooter");
  303. }
  304. else if(Kills[playerid]<5100 && Kills[playerid]>= 7650)
  305. {
  306. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Hazardous Shooter");
  307. }
  308. else if(Kills[playerid]<7650 && Kills[playerid]>= 11475)
  309. {
  310. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~IGI Shooter"); /*Scripted By Sufyan*/
  311. }
  312. else if(Kills[playerid]<11475 && Kills[playerid]>= 17500)
  313. {
  314. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Tactical Shooter");
  315. }
  316. else if(Kills[playerid]<17500 && Kills[playerid]>= 26250)
  317. {
  318. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Dedicated Shooter");
  319. }
  320. else if(Kills[playerid]<26250 && Kills[playerid]>= 39375)
  321. {
  322. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Insane Shooter");
  323. }
  324. else if(Kills[playerid]<39375 && Kills[playerid]>= 60000)
  325. {
  326. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~The Real Shooter");
  327. }
  328. else if(Kills[playerid]<60000 && Kills[playerid]>= 100000)
  329. {
  330. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Professional Shooter");
  331. }
  332. else if(Kills[playerid]> 100000)
  333. {
  334. TextDrawSetString(Text:R_1[playerid],"~r~RANK:~w~Rockstar Shooter");
  335. }
  336.  
  337.  
  338. /* if(Kills[playerid] == 11)
  339. {
  340. new str2[256];
  341. new name[MAX_PLAYER_NAME];
  342. GetPlayerName(playerid,name,sizeof(name));
  343. format(str2,sizeof(str2),">> %s is Now Killer Shooter ",name);
  344. SendClientMessageToAll(COLOR_YELLOW,str2);
  345. }
  346. else if(Kills[playerid] == 26)
  347. {
  348.  
  349.  
  350. }*/
  351. return 1;
  352. }
  353.  
  354.  
  355.  
  356. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  357. {
  358. if(dialogid == Ranks)
  359. {
  360. if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "You canceled!");
  361. ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Ranks","33975-60000 The Real Shooter\n60000-100000 Professional Shooter\n100000 + Rockstar Shooter","Close","");
  362. }
  363. return 1;
  364. }
Add Comment
Please, Sign In to add comment