Advertisement
Guest User

Untitled

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