Guest User

Untitled

a guest
May 3rd, 2010
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.53 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.  
  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 (dini_Exists(udb_encode(playername)))
  64. {
  65. ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,"Login","Enter your password below:","Login","Cancel");
  66. logged[playerid] = 0;
  67. }
  68. if (!dini_Exists(udb_encode(playername)))
  69. {
  70. ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Register","Enter a password below to register:","Register","Cancel");
  71. {
  72. return 1;
  73. }
  74. }
  75. }
  76. public OnPlayerDisconnect(playerid, reason)
  77. {
  78. GetPlayerName(playerid, playername, sizeof(playername));
  79. money[playerid] = GetPlayerMoney(playerid);
  80. score[playerid] = GetPlayerScore(playerid);
  81. dini_IntSet(udb_encode(playername), "money", money[playerid]);
  82. dini_IntSet(udb_encode(playername), "score", score[playerid]);
  83. dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
  84. logged[playerid] = 0;
  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 inputtext2[MAX_PLAYERS];
  117. GetPlayerName(playerid, playername, sizeof(playername));
  118.  
  119. if(dialogid == 2)
  120. {
  121. if(!response)
  122. {
  123. SendClientMessage(playerid, COLOR_RED, "If you want to play you need to register!");
  124. Kick(playerid);
  125. }
  126. if(response)
  127. {
  128. if (!dini_Exists(udb_encode(playername)))
  129. {
  130. logged[playerid] = 1;
  131. dini_Create(udb_encode(playername));
  132. dini_IntSet(udb_encode(playername), "password", udb_hash(inputtext));
  133. dini_IntSet(udb_encode(playername), "adminlevel", 0);
  134. dini_IntSet(udb_encode(playername), "money", 0);
  135. dini_IntSet(udb_encode(playername), "score", 0);
  136. format(string, sizeof(string), "Account %s has been made!", playername, inputtext);
  137. SendClientMessage(playerid, COLOR_GREEN, string);
  138. printf("%s has registered",playername);
  139. }
  140. return 1;
  141. }
  142. }
  143.  
  144.  
  145. if(dialogid == 1)
  146. {
  147. if(!response)
  148. {
  149. SendClientMessage(playerid, COLOR_RED, "If you want to play you need to login!");
  150. Kick(playerid);
  151. }
  152. if(response)
  153. {
  154. if (dini_Exists(udb_encode(playername)))
  155. {
  156. inputtext2 = dini_Get(udb_encode(playername), "password");
  157. if (udb_hash(inputtext) != strval(inputtext2))
  158. {
  159. SendClientMessage(playerid, COLOR_RED, "Wrong password !");
  160. Kick(playerid);
  161. SendClientMessage(playerid, COLOR_RED, " If you want to play you need to enter the good password");
  162. }
  163. else
  164. {
  165. money[playerid] = dini_Int(udb_encode(playername), "money");
  166. score[playerid] = dini_Int(udb_encode(playername), "score");
  167. adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
  168. 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]);
  169. SendClientMessage(playerid, COLOR_GREEN, string);
  170. GivePlayerMoney(playerid, money[playerid]);
  171. SetPlayerScore(playerid, score[playerid]);
  172. printf("%s has logged in",playername);
  173. logged[playerid] = 1;
  174. return 1;
  175. }
  176. }
  177. return 1;
  178. }
  179. }
  180. }
  181.  
  182.  
  183. public OnPlayerCommandText(playerid, cmdtext[])
  184. {
  185. new tmp[256];
  186. new tmp2[256];
  187. new string[256];
  188. new cmd[256];
  189. #pragma unused tmp2
  190. #pragma unused tmp
  191. #pragma unused cmd
  192. new idx;
  193. cmd = strtok(cmdtext, idx);
  194. GetPlayerName(playerid, playername, sizeof(playername));
  195.  
  196. if(strcmp(cmd,"/bug",true,4)==0)
  197. {
  198. if(strlen(cmdtext) < 6) return SendClientMessage(playerid,COLOR_RED,"Usage: /bug [details]");
  199. new bug[256];
  200. new name[30];
  201. GetPlayerName(playerid,name,30);
  202. strmid(bug,cmdtext,5,strlen(cmdtext));
  203. format(string,256,"Bug Report - Author: %s - Details: %s",name,bug);
  204. SendClientMessage(playerid,COLOR_GREEN,"Your bug report said:");
  205. SendClientMessage(playerid,COLOR_GREEN,string);
  206. SendClientMessage(playerid,COLOR_GREEN,"Thank you for submitting the bug report and making this gamemode better.");
  207. printf("%s",string);
  208. new File:bugs;
  209. bugs = fopen("bugs.txt",io_append);
  210. format(string,256,"%s\r\n",string);
  211. fwrite(bugs,string);
  212. fclose(bugs);
  213. return 1;//close command
  214. }
  215.  
  216. if(strcmp(cmd,"/kill",true)==0)
  217. {
  218. SetPlayerHealth(playerid, 0);
  219. printf("%s has killed himself",playername);
  220. return 1;
  221. }
  222.  
  223. if(strcmp(cmdtext,"/suicide",true)==0)
  224. {
  225. SetPlayerHealth(playerid, 0);
  226. printf("%s has killed himself",playername);
  227. return 1;
  228. }
  229.  
  230. if(strcmp(cmdtext,"/clearchat",true)==0)
  231. {
  232. SendClientMessage(playerid,COLOR_GREY," ");
  233. SendClientMessage(playerid,COLOR_GREY," ");
  234. SendClientMessage(playerid,COLOR_GREY," ");
  235. SendClientMessage(playerid,COLOR_GREY," ");
  236. SendClientMessage(playerid,COLOR_GREY," ");
  237. SendClientMessage(playerid,COLOR_GREY," ");
  238. SendClientMessage(playerid,COLOR_GREY," ");
  239. SendClientMessage(playerid,COLOR_GREY," ");
  240. SendClientMessage(playerid,COLOR_GREY," ");
  241. SendClientMessage(playerid,COLOR_GREY," ");
  242. return 1;
  243. }
  244.  
  245. if (strcmp(cmd, "/pbanana", true) == 0)
  246. {
  247. if(IsPlayerConnected(playerid))
  248. {
  249. GivePlayerWeapon(playerid, 10, 1);
  250. SendClientMessage(playerid, 0xB013ECFF, "You now have a purple banana! Yummy!");
  251. return 1;
  252. }
  253. }
  254.  
  255. if(strcmp(cmd, "/setscore", true) == 0)
  256. {
  257. if(adminlevel[playerid] >= 4)
  258. {
  259. if(logged[playerid] == 1)
  260. {
  261. tmp = strtok(cmdtext,idx), tmp2 = strtok(cmdtext,idx);
  262. new player1, setscore;
  263. player1 = strval(tmp);
  264. setscore = strval(tmp2);
  265. if(!strlen(tmp) && !strlen(tmp2))
  266. {
  267. SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /setscore [playerid] [score]");
  268. }
  269. else
  270. {
  271. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  272. format(string,sizeof(string),"You have set %s his/her score to %d ", playername, setscore);
  273. SendClientMessage(playerid, COLOR_GREEN, string);
  274. format(string,sizeof(string),"Administrator %s has set %s his/her score to %d",adminname, playername, setscore);
  275. SendClientMessageToAll(COLOR_GREEN, string);
  276. printf("%s has set %s his score to %d",adminname, playername, setscore);
  277. SetPlayerScore(player1, setscore);
  278. }
  279. }
  280. }
  281. return 1;
  282. }
  283.  
  284. if(strcmp(cmd, "/setmoney", true) == 0)
  285. {
  286. if(adminlevel[playerid] >= 4)
  287. {
  288. if(logged[playerid] == 1)
  289. {
  290. tmp = strtok(cmdtext,idx), tmp2 = strtok(cmdtext,idx);
  291. new player1, setmoney;
  292. player1 = strval(tmp);
  293. setmoney = strval(tmp2);
  294. if(!strlen(tmp) && !strlen(tmp2))
  295. {
  296. SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /setmoney [playerid] [money]");
  297. }
  298. else
  299. {
  300. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  301. format(string,sizeof(string),"You have set %s his/her money to %d ", playername, setmoney);
  302. SendClientMessage(playerid, COLOR_GREEN, string);
  303. format(string,sizeof(string),"Administrator %s has set %s his/her money to %d",adminname, playername, setmoney);
  304. SendClientMessageToAll(COLOR_GREEN, string);
  305. printf("%s has set %s his score to %d",adminname, playername, setmoney);
  306. SetPlayerMoney(player1, setmoney);
  307. }
  308. }
  309. }
  310. return 1;
  311. }
  312.  
  313. if(strcmp(cmdtext,"/aclearchat",true)==0)
  314. {
  315. if(adminlevel[playerid] == 7)
  316. {
  317. GetPlayerName(playerid, playername, sizeof(playername));
  318. SendClientMessageToAll(COLOR_GREY," ");
  319. SendClientMessageToAll(COLOR_GREY," ");
  320. SendClientMessageToAll(COLOR_GREY," ");
  321. SendClientMessageToAll(COLOR_GREY," ");
  322. SendClientMessageToAll(COLOR_GREY," ");
  323. SendClientMessageToAll(COLOR_GREY," ");
  324. SendClientMessageToAll(COLOR_GREY," ");
  325. SendClientMessageToAll(COLOR_GREY," ");
  326. SendClientMessageToAll(COLOR_GREY," ");
  327. SendClientMessageToAll(COLOR_GREY," ");
  328. format(string,sizeof(string),"Admin %s has cleared the chat", playername);
  329. SendClientMessageToAll(COLOR_GREEN, string);
  330. printf("admin %s has cleared the chat",playername);
  331. }
  332. return 1;
  333. }
  334. if(strcmp(cmd, "/makeadmin", true) == 0)
  335. {
  336. if(adminlevel[playerid] == 7)
  337. {
  338. if(logged[playerid] == 1)
  339. {
  340. tmp = strtok(cmdtext,idx), tmp2 = strtok(cmdtext,idx);
  341. new player1, level;
  342. player1 = strval(tmp);
  343. level = strval(tmp2);
  344. if(!strlen(tmp) && !strlen(tmp2))
  345. {
  346. SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /makeadmin [playerid] [level]");
  347. }
  348. else
  349. {
  350. GetPlayerName(player1, playername, sizeof(playername)); GetPlayerName(playerid, adminname, sizeof(adminname));
  351. format(string,sizeof(string),"You have promoted %s to adminlevel %d ", playername, level);
  352. SendClientMessage(playerid, COLOR_GREEN, string);
  353. format(string,sizeof(string),"Administrator %s has promoted %s to adminlevel %d",adminname, playername, level);
  354. SendClientMessageToAll(COLOR_GREEN, string);
  355. printf("%s has promoted %s to adminlevel %d",adminname, playername, level);
  356. adminlevel[playerid] = level;
  357. }
  358. }
  359. }
  360. return 1;
  361. }
  362.  
  363. if( !strcmp(cmd, "/changename", true))
  364. {
  365. if(!logged[playerid]) return SendClientMessage(playerid, COLOR_RED, "SERVER: You Are Not Logged In");
  366. tmp = strtok(cmdtext,idx);
  367. if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /changename [newname]");
  368. GetPlayerName(playerid, playername, sizeof(playername));
  369. if(fexist(udb_encode(playername))) {
  370. if(!fexist(udb_encode(tmp))) {
  371. SetPlayerName(playerid, tmp);
  372. frename(udb_encode(playername),udb_encode(tmp));
  373. format(string, sizeof(string), "%s has changed his/her name to %s.",playername, tmp);
  374. SendClientMessageToAll(COLOR_YELLOW, string);
  375. format(string, sizeof(string), "You have succesfully changed your name to %s.", tmp);
  376. SendClientMessage(playerid, COLOR_GREEN, string);
  377. }else SendClientMessage(playerid, COLOR_GREEN, "This name is already in use");
  378. }//else SendClientMessage(playerid, COLOR_GREEN, "You dont have account");
  379. return 1;
  380. }
  381.  
  382. if( !strcmp ( cmd, "/changepass", true ) )
  383. {
  384. if(logged[playerid] == 0)
  385. {
  386. SendClientMessage(playerid, COLOR_RED, "SERVER: You Are Not Logged In");
  387. return 1;
  388. }
  389. tmp = strtok(cmdtext,idx);
  390. if(!strlen(tmp))
  391. {
  392. SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /changepass [password]");
  393. return 1;
  394. }
  395. if(logged[playerid] == 1)
  396. {
  397. dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
  398. format(string, sizeof(string), "You have successfully changed your password to %s. Dont forget it!", tmp);
  399. SendClientMessage(playerid, COLOR_GREEN, string);
  400. }
  401. return 1;
  402. }
  403.  
  404. if ( !strcmp ( cmdtext, "/mystats", true ) )
  405. {
  406. SendClientMessage ( playerid, COLOR_LIGHTBLUE, "====*[Playerstats]*====" );
  407. format(string, sizeof(string), "Score: %d", score[playerid]);
  408. SendClientMessage(playerid, COLOR_GREEN, string);
  409. format(string, sizeof(string), "Money: %d dollar", money[playerid]);
  410. SendClientMessage(playerid, COLOR_GREEN, string);
  411. format(string, sizeof(string), "Adminlevel: %d", adminlevel[playerid]);
  412. SendClientMessage(playerid, COLOR_GREEN, string);
  413. return 1;
  414. }
  415. if(strcmp(cmd, "/makemeadmin", true) == 0)
  416. {
  417. if(IsPlayerAdmin(playerid))
  418. {
  419. if(logged[playerid] == 1)
  420. {
  421. if(adminlevel[playerid] >= 0)
  422. {
  423. adminlevel[playerid] = 7;
  424. SendClientMessage(playerid, COLOR_GREEN, "You are now HeadAdmin, Congratulations!");
  425. printf("%s has made himself HeadAdmin",playername);
  426. }
  427. else
  428. {
  429. SendClientMessage(playerid, COLOR_RED, "You are already a Headadmin!");
  430. }
  431. }
  432. else
  433. {
  434. SendClientMessage(playerid, COLOR_RED, "You are not logged in yet, USAGE: /login password");
  435. }
  436. }
  437. else
  438. {
  439. SendClientMessage(playerid, COLOR_RED, "You are not a rcon admin!");
  440. }
  441. return 1;
  442. }
  443. return 0;
  444. }
Advertisement
Add Comment
Please, Sign In to add comment