Guest User

Untitled

a guest
May 1st, 2010
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.28 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dudb>
  3. #include <dini>
  4.  
  5. #define COLOR_GRAD1 0xB4B5B7FF
  6. #define COLOR_GRAD2 0xBFC0C2FF
  7. #define COLOR_GRAD3 0xCBCCCEFF
  8. #define COLOR_GRAD4 0xD8D8D8FF
  9. #define COLOR_GRAD5 0xE3E3E3FF
  10. #define COLOR_GRAD6 0xF0F0F0FF
  11. #define COLOR_LIGHTBLUE 0x33CCFFAA
  12. #define COLOR_GREY 0xAFAFAFAA
  13. #define COLOR_PINK 0xFF008096
  14. #define COLOR_BLUE 0x0000FFFF
  15. #define COLOR_GREEN 0x00A80096
  16. #define COLOR_RED 0xFF0000AA
  17. #define COLOR_ORANGE 0xFF800096
  18. #define COLOR_CYAN 0xFF808096
  19. #define COLOR_YELLOW 0xFFFF00AA
  20. #define COLOR_WHITE 0xFFFFFFAA
  21. #define COLOR_FADE1 0xE6E6E6E6
  22. #define COLOR_FADE2 0xC8C8C8C8
  23. #define COLOR_DARKBLUE 0x0000A096
  24. #define COLOR_BLACK 0x00000096
  25. #define COLOR_DARKGOLD 0x80800096
  26. #define COLOR_FADE3 0xAAAAAAAA
  27. #define COLOR_FADE4 0x8C8C8C8C
  28. #define COLOR_FADE5 0x6E6E6E6E
  29. #define COLOR_PURPLE 0xFF00FF96
  30. #define COLOR_BROWN 0x80400096
  31. #define COLOR_DBLUE 0x2641FEAA
  32. #define COLOR_ALLDEPT 0xFF8282AA
  33. //register system
  34. new logged[MAX_PLAYERS];
  35. new adminlevel[MAX_PLAYERS];
  36. new money[MAX_PLAYERS];
  37. new playername[MAX_PLAYER_NAME];
  38. new adminname[MAX_PLAYER_NAME];
  39. new score[MAX_PLAYERS];
  40. new registered[MAX_PLAYERS];
  41.  
  42.  
  43.  
  44.  
  45. main()
  46. {
  47.  
  48. }
  49.  
  50. public OnGameModeInit()
  51. {
  52. UsePlayerPedAnims();
  53. return 1;
  54. }
  55.  
  56.  
  57. public OnPlayerRequestClass(playerid, classid)
  58. {
  59. return 1;
  60. }
  61.  
  62. public OnPlayerConnect(playerid)
  63. {
  64. if(registered[playerid] == 1)
  65. {
  66. ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","Enter your password below:","Login","Cancel");
  67. }
  68. if(registered[playerid] == 0)
  69. ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Register","Enter a password below to register:","Register","Cancel");
  70. logged[playerid] = 0;
  71. return 1;
  72. }
  73.  
  74. public OnPlayerDisconnect(playerid, reason)
  75. {
  76. GetPlayerName(playerid, playername, sizeof(playername));
  77. money[playerid] = GetPlayerMoney(playerid);
  78. score[playerid] = GetPlayerScore(playerid);
  79. dini_IntSet(udb_encode(playername), "money", money[playerid]);
  80. dini_IntSet(udb_encode(playername), "score", score[playerid]);
  81. dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
  82. dini_IntSet(udb_encode(playername), "registered", registered[playerid]);
  83. logged[playerid] = 0;
  84. registered[playerid] = 1;
  85. return 1;
  86. }
  87.  
  88.  
  89.  
  90.  
  91.  
  92. public OnPlayerSpawn(playerid)
  93. {
  94. return 1;
  95. }
  96.  
  97. public OnPlayerDeath(playerid, killerid, reason)
  98. {
  99. if(killerid == INVALID_PLAYER_ID) {
  100. SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
  101. }
  102. else
  103. {
  104. // Valid kill
  105. SendDeathMessage(killerid,playerid,reason);
  106. SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
  107. GivePlayerMoney(playerid, 100);
  108. }
  109. return 1;
  110. }
  111.  
  112. #include <a_samp>
  113. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  114. {
  115. new string[256];
  116. new tmp[256],tmp2[256];
  117. GetPlayerName(playerid, playername, sizeof(playername));
  118. switch(dialogid)
  119. {
  120. case 1:
  121. {
  122. if (dini_Exists(udb_encode(playername)))
  123. {
  124. tmp2 = dini_Get(udb_encode(playername), "password");
  125. if (udb_hash(tmp) != strval(tmp2))
  126. {
  127. SendClientMessage(playerid, COLOR_RED, "Wrong password");
  128. }
  129. else
  130. {
  131. logged[playerid] = 1;
  132. money[playerid] = dini_Int(udb_encode(playername), "money");
  133. score[playerid] = dini_Int(udb_encode(playername), "score");
  134. registered[playerid] = dini_Int(udb_encode(playername), "registerd");
  135. adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
  136. format(string, sizeof(string), "%s, You are now logged in. Your adminlevel is %d, Your money is %d, and your score is %d.", playername, adminlevel[playerid], money[playerid], score[playerid]);
  137. SendClientMessage(playerid, COLOR_GREEN, string);
  138. GivePlayerMoney(playerid, money[playerid]);
  139. SetPlayerScore(playerid, score[playerid]);
  140. printf("%s has logged in",playername);
  141. return 1;
  142. }
  143. }
  144. else
  145. {
  146. format(string, sizeof(string), "The account %s does not exist yet. Type /register [password] to make an account.", playername);
  147. SendClientMessage(playerid, COLOR_RED, string);
  148. return 1;
  149. }
  150. }
  151. case 2:
  152. {
  153. if (!dini_Exists(udb_encode(playername)))
  154. {
  155. dini_Create(udb_encode(playername));
  156. dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
  157. dini_IntSet(udb_encode(playername), "adminlevel", 0);
  158. dini_IntSet(udb_encode(playername), "money", 0);
  159. dini_IntSet(udb_encode(playername), "score", 0);
  160. dini_IntSet(udb_encode(playername), "registered", 0);
  161. format(string, sizeof(string), "Account %s has been made!", playername, tmp);
  162. SendClientMessage(playerid, COLOR_GREEN, string);
  163. printf("%s has registered",playername);
  164. registered[playerid] = 1;
  165. }
  166. return 1;
  167. }
  168. }
  169. return 0;
  170. }
  171. public OnPlayerCommandText(playerid, cmdtext[])
  172. {
  173. new tmp[256];
  174. new tmp2[256];
  175. new string[256];
  176. new cmd[256];
  177. #pragma unused tmp2
  178. #pragma unused tmp
  179. #pragma unused cmd
  180. new idx;
  181. cmd = strtok(cmdtext, idx);
  182. GetPlayerName(playerid, playername, sizeof(playername));
  183.  
  184. if(strcmp(cmd,"/bug",true,4)==0)
  185. {
  186. if(strlen(cmdtext) < 6) return SendClientMessage(playerid,COLOR_RED,"Usage: /bug [details]");
  187. new bug[256];
  188. new name[30];
  189. GetPlayerName(playerid,name,30);
  190. strmid(bug,cmdtext,5,strlen(cmdtext));
  191. format(string,256,"Bug Report - Author: %s - Details: %s",name,bug);
  192. SendClientMessage(playerid,COLOR_GREEN,"Your bug report said:");
  193. SendClientMessage(playerid,COLOR_GREEN,string);
  194. SendClientMessage(playerid,COLOR_GREEN,"Thank you for submitting the bug report and making this gamemode better.");
  195. printf("%s",string);
  196. new File:bugs;
  197. bugs = fopen("bugs.txt",io_append);
  198. format(string,256,"%s\r\n",string);
  199. fwrite(bugs,string);
  200. fclose(bugs);
  201. return 1;//close command
  202. }
  203.  
  204. if(strcmp(cmd,"/kill",true)==0)
  205. {
  206. SetPlayerHealth(playerid, 0);
  207. printf("%s has killed himself",playername);
  208. return 1;
  209. }
  210.  
  211. if(strcmp(cmdtext,"/suicide",true)==0)
  212. {
  213. SetPlayerHealth(playerid, 0);
  214. printf("%s has killed himself",playername);
  215. return 1;
  216. }
  217.  
  218. if(strcmp(cmdtext,"/clearchat",true)==0)
  219. {
  220. SendClientMessage(playerid,COLOR_GREY," ");
  221. SendClientMessage(playerid,COLOR_GREY," ");
  222. SendClientMessage(playerid,COLOR_GREY," ");
  223. SendClientMessage(playerid,COLOR_GREY," ");
  224. SendClientMessage(playerid,COLOR_GREY," ");
  225. SendClientMessage(playerid,COLOR_GREY," ");
  226. SendClientMessage(playerid,COLOR_GREY," ");
  227. SendClientMessage(playerid,COLOR_GREY," ");
  228. SendClientMessage(playerid,COLOR_GREY," ");
  229. SendClientMessage(playerid,COLOR_GREY," ");
  230. return 1;
  231. }
  232.  
  233. if (strcmp(cmd, "/pbanana", true) == 0)
  234. {
  235. if(IsPlayerConnected(playerid))
  236. {
  237. GivePlayerWeapon(playerid, 10, 1);
  238. SendClientMessage(playerid, 0xB013ECFF, "You now have a purple banana! Yummy!");
  239. return 1;
  240. }
  241. }
  242.  
  243. if(strcmp(cmdtext,"/aclearchat",true)==0)
  244. {
  245. if(adminlevel[playerid] == 7)
  246. {
  247. GetPlayerName(playerid, playername, sizeof(playername));
  248. SendClientMessageToAll(COLOR_GREY," ");
  249. SendClientMessageToAll(COLOR_GREY," ");
  250. SendClientMessageToAll(COLOR_GREY," ");
  251. SendClientMessageToAll(COLOR_GREY," ");
  252. SendClientMessageToAll(COLOR_GREY," ");
  253. SendClientMessageToAll(COLOR_GREY," ");
  254. SendClientMessageToAll(COLOR_GREY," ");
  255. SendClientMessageToAll(COLOR_GREY," ");
  256. SendClientMessageToAll(COLOR_GREY," ");
  257. SendClientMessageToAll(COLOR_GREY," ");
  258. format(string,sizeof(string),"Admin %s has cleared the chat", playername);
  259. SendClientMessageToAll(COLOR_GREEN, string);
  260. printf("admin %s has cleared the chat",playername);
  261. }
  262. return 1;
  263. }
  264. if(strcmp(cmd, "/makeadmin", true) == 0)
  265. {
  266. if(adminlevel[playerid] == 7)
  267. {
  268. if(logged[playerid] == 1)
  269. {
  270. tmp = strtok(cmdtext,idx), tmp2 = strtok(cmdtext,idx);
  271. new player1, level;
  272. player1 = strval(tmp);
  273. level = strval(tmp2);
  274. if(!strlen(tmp) && !strlen(tmp2))
  275. {
  276. SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /makeadmin [playerid] [level]");
  277. }
  278. else
  279. {
  280. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  281. format(string,sizeof(string),"You have promoted %s to adminlevel %d ", playername, level);
  282. SendClientMessage(playerid, COLOR_GREEN, string);
  283. format(string,sizeof(string),"Administrator %s has promoted %s to adminlevel %d",adminname, playername, level);
  284. SendClientMessageToAll(COLOR_GREEN, string);
  285. printf("%s has promoted %s to adminlevel %d",adminname, playername, level);
  286. adminlevel[playerid] = level;
  287. }
  288. }
  289. }
  290. return 1;
  291. }
  292.  
  293. if( !strcmp(cmd, "/changename", true))
  294. {
  295. if(!logged[playerid]) return SendClientMessage(playerid, COLOR_RED, "SERVER: You Are Not Logged In");
  296. tmp = strtok(cmdtext,idx);
  297. if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /changename [newname]");
  298. GetPlayerName(playerid, playername, sizeof(playername));
  299. if(fexist(udb_encode(playername))) {
  300. if(!fexist(udb_encode(tmp))) {
  301. SetPlayerName(playerid, tmp);
  302. frename(udb_encode(playername),udb_encode(tmp));
  303. format(string, sizeof(string), "%s has changed his/her name to %s.",playername, tmp);
  304. SendClientMessageToAll(COLOR_YELLOW, string);
  305. format(string, sizeof(string), "You have succesfully changed your name to %s.", tmp);
  306. SendClientMessage(playerid, COLOR_GREEN, string);
  307. }else SendClientMessage(playerid, COLOR_GREEN, "This name is already in use");
  308. }//else SendClientMessage(playerid, COLOR_GREEN, "You dont have account");
  309. return 1;
  310. }
  311.  
  312. if( !strcmp ( cmd, "/changepass", true ) )
  313. {
  314. if(logged[playerid] == 0)
  315. {
  316. SendClientMessage(playerid, COLOR_RED, "SERVER: You Are Not Logged In");
  317. return 1;
  318. }
  319. tmp = strtok(cmdtext,idx);
  320. if(!strlen(tmp))
  321. {
  322. SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /changepass [password]");
  323. return 1;
  324. }
  325. if(logged[playerid] == 1)
  326. {
  327. dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
  328. format(string, sizeof(string), "You have successfully changed your password to %s. Dont forget it!", tmp);
  329. SendClientMessage(playerid, COLOR_GREEN, string);
  330. }
  331. return 1;
  332. }
  333.  
  334. if ( !strcmp ( cmdtext, "/mystats", true ) )
  335. {
  336. SendClientMessage ( playerid, COLOR_LIGHTBLUE, "====*[Playerstats]*====" );
  337. format(string, sizeof(string), "Score: %d", score[playerid]);
  338. SendClientMessage(playerid, COLOR_GREEN, string);
  339. format(string, sizeof(string), "Money: %d dollar", money[playerid]);
  340. SendClientMessage(playerid, COLOR_GREEN, string);
  341. format(string, sizeof(string), "Adminlevel: %d", adminlevel[playerid]);
  342. SendClientMessage(playerid, COLOR_GREEN, string);
  343. return 1;
  344. }
  345. if(strcmp(cmd, "/makemeadmin", true) == 0)
  346. {
  347. if(IsPlayerAdmin(playerid))
  348. {
  349. if(logged[playerid] == 1)
  350. {
  351. if(adminlevel[playerid] >= 0)
  352. {
  353. adminlevel[playerid] = 7;
  354. SendClientMessage(playerid, COLOR_GREEN, "You are now HeadAdmin, Congratulations!");
  355. printf("%s has made himself HeadAdmin",playername);
  356. }
  357. else
  358. {
  359. SendClientMessage(playerid, COLOR_RED, "You are already a Headadmin!");
  360. }
  361. }
  362. else
  363. {
  364. SendClientMessage(playerid, COLOR_RED, "You are not logged in yet, USAGE: /login password");
  365. }
  366. }
  367. else
  368. {
  369. SendClientMessage(playerid, COLOR_RED, "You are not a rcon admin!");
  370. }
  371. return 1;
  372. }
  373. return 0;
  374. }
Advertisement
Add Comment
Please, Sign In to add comment