Guest User

Account System By Bella

a guest
Oct 24th, 2011
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 36.13 KB | None | 0 0
  1. #define FILTERSCRIPT
  2.  
  3. #include <a_samp>
  4. #include <YSI\y_ini>
  5. #include <sscanf2>
  6. #include <dudb>
  7. #include <JunkBuster>
  8. #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
  9. #define SendMSG(%0,%1,%2,%3) do{new _str[128]; format(_str,128,%2,%3); SendClientMessage(%0,%1,_str);}while(FALSE) // Credits to Y_Less
  10. #include <a_zones>
  11.  
  12. #define PATH "/Admin System/Users/%s.ini"
  13.  
  14. #define PLAYER_MUST_REGISTER
  15. #define REGISTERED_MONEY 5000
  16.  
  17. #define white 0xFFFFFFA
  18. #define RED 0xE60000AA
  19. #define ABLUE 0x2641FEAA
  20. /* ** Colours ** */
  21. #define COL_WHITE "{FFFFFF}"
  22. #define COL_RED "{F81414}"
  23. #define COL_GREEN "{00FF22}"
  24. #define COL_LIGHTBLUE "{00CED1}"
  25. #define COLOR_LIGHTBLUE 0x33CCFFAA
  26. #define COLOR_GRAD2 0xBFC0C2FF
  27. #define COLOR_WHITE 0xFFFFFFAA
  28. #define color 0xDFF00
  29. #define Red 0xFF0000FF
  30. #define Grey 0xAFAFAFAA
  31. #define Green 0x33AA33AA
  32. #define Yellow 0xFFFF00AA
  33. #define White 0xFFFFFFAA
  34. #define Blue 0x0000BBAA
  35. #define Lightblue 0x33CCFFAA
  36. #define Orange 0xFF9900AA
  37. #define Lime 0x10F441AA
  38. #define Magenta 0xFF00FFF
  39. #define Navy 0x000080AA
  40. #define Aqua 0xF0F8FFAA
  41. #define Crimson 0xDC143CAA
  42. #define Black 0x000000AA
  43. #define Brown 0XA52A2AAA
  44. #define Gold 0xB8860BAA
  45. #define Limegreen 0x32CD32AA
  46. #define Purpley 0x8080FF
  47. #define red 0xFF0000AA
  48. #define lime 0x00FF00FF
  49. #define yellow 0xFFFF00FF
  50.  
  51. #define DIALOG_REGISTER 999
  52. #define DIALOG_LOGIN 998
  53.  
  54. #define FormatMSG(%0,%1,%2,%3)\
  55. do{\
  56. format( _S_T_R_, sizeof ( _S_T_R_ ), ( %2 ), %3);\
  57. SendClientMessage( ( %0 ),( %1 ), _S_T_R_);\
  58. }\
  59. while ( False )
  60.  
  61.  
  62. #pragma unused ret_memcpy
  63.  
  64. enum iDetails {
  65. Pass,
  66. Cash,
  67. Score,
  68. AdminLevel,
  69. VIPLevel,
  70. Registered,
  71. Banned,
  72. AutoLogin,
  73. HasIphone,
  74. HasSamsung,
  75. HasHTC,
  76. HasLG,
  77. HasRumor,
  78. HasHTC2,
  79. HasPhone
  80. };
  81. new pInfo[MAX_PLAYERS][iDetails];
  82.  
  83. new _S_T_R_[ 1000 ];
  84. new False=false;
  85.  
  86. new pIP[MAX_PLAYERS][16];
  87.  
  88. new pLogged[MAX_PLAYERS];
  89. new pBanned[MAX_PLAYERS];
  90. new pAFK[MAX_PLAYER_NAME];
  91. new pOnDuty[MAX_PLAYER_NAME];
  92. new pReport[MAX_PLAYER_NAME];
  93.  
  94.  
  95. stock PlayerPath(playerid) {
  96. new iStr[256],name[MAX_PLAYER_NAME];
  97. GetPlayerName(playerid,name,sizeof(name));
  98. format(iStr,sizeof(iStr),PATH,name);
  99. return iStr;
  100. }
  101.  
  102. public OnFilterScriptInit()
  103. {
  104. print("\n--------------------------------------");
  105. print("Login & Register & Admin System by Bella");
  106. print("--------------------------------------\n");
  107. return 1;
  108. }
  109.  
  110. public OnFilterScriptExit()
  111. {
  112. return 1;
  113. }
  114.  
  115. public OnGameModeExit()
  116. {
  117. return 1;
  118. }
  119.  
  120. forward UserDataLoad_data(playerid,name[],value[]);
  121.  
  122. public UserDataLoad_data(playerid,name[],value[]) {
  123. INI_Int("Pass",pInfo[playerid][Pass]);
  124. if(pInfo[playerid][AutoLogin] == 1)
  125. {
  126. INI_String("IP",pIP[playerid],16);
  127. }
  128. INI_Int("Cash",pInfo[playerid][Cash]);
  129. INI_Int("Score",pInfo[playerid][Score]);
  130. INI_Int("AdminLevel", pInfo[playerid][AdminLevel]);
  131. INI_Int("VIPLevel", pInfo[playerid][VIPLevel]);
  132. INI_Int("Registered", pInfo[playerid][Registered]);
  133. INI_Int("Banned", pInfo[playerid][Banned]);
  134. INI_Int("Auto_Login", pInfo[playerid][AutoLogin]);
  135. INI_Int("HasIphone", pInfo[playerid][HasIphone]);
  136. INI_Int("HasSamsung", pInfo[playerid][HasSamsung]);
  137. INI_Int("HasHTC", pInfo[playerid][HasHTC]);
  138. INI_Int("HasLG", pInfo[playerid][HasLG]);
  139. INI_Int("HasRumor", pInfo[playerid][HasRumor]);
  140. INI_Int("HasHTC2", pInfo[playerid][HasHTC2]);
  141. INI_Int("HasPhone", pInfo[playerid][HasPhone]);
  142. return 1;
  143. }
  144.  
  145. public OnPlayerConnect(playerid)
  146. {
  147. pLogged[playerid] = 0;
  148. pAFK[playerid] = 0;
  149. pOnDuty[playerid] = 0;
  150. if(pInfo[playerid][AutoLogin] == 1)
  151. {
  152. new tmpIP[16];
  153. GetPlayerIp(playerid,tmpIP,sizeof(tmpIP));
  154. }
  155. if(fexist(PlayerPath(playerid))) {
  156. INI_ParseFile(PlayerPath(playerid), "UserDataLoad_%s", .bExtra = true, .extra = playerid);
  157. if(pInfo[playerid][AutoLogin] == 1)
  158. {
  159. new tmpIP[16];
  160. if(strcmp(tmpIP,pIP[playerid],true) == 0) {
  161. pLogged[playerid] = 1;
  162. SetPlayerScore(playerid,pInfo[playerid][Score]);
  163. GivePlayerMoney(playerid,pInfo[playerid][Cash]);
  164. SendClientMessage(playerid,lime,"You've been auto-logged in. [set like this]");
  165. return 1;
  166. }
  167. }
  168. ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Please enter your password below.","Login","Leave");
  169. } else {
  170. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Please register by entering a password below.","Register","Leave");
  171. }
  172. if(pBanned[playerid] == 1)
  173. {
  174. SendClientMessage(playerid, RED, "You Are Currently Banned from PH Bye Bye");
  175. Kick(playerid);
  176. }
  177. if(pInfo[playerid][AdminLevel])
  178. {
  179. pOnDuty[playerid] = 1;
  180. SendClientMessage(playerid,lime,"Welcome to PH Administrator / Moderator");
  181. }
  182. return 1;
  183. }
  184.  
  185. public OnPlayerDisconnect(playerid, reason)
  186. {
  187. if(pLogged[playerid] == 1) {
  188. new INI:iFile = INI_Open(PlayerPath(playerid));
  189. INI_SetTag(iFile,"data");
  190. INI_WriteInt(iFile,"Cash",GetPlayerMoney(playerid));
  191. INI_WriteInt(iFile,"Score",GetPlayerScore(playerid));
  192. INI_WriteInt(iFile,"AdminLevel",pInfo[playerid][AdminLevel]);
  193. INI_WriteInt(iFile,"VIPLevel", pInfo[playerid][VIPLevel]);
  194. INI_WriteInt(iFile,"Auto_Login", pInfo[playerid][AutoLogin]);
  195. INI_WriteInt(iFile,"HasIphone", pInfo[playerid][HasIphone]);
  196. INI_WriteInt(iFile,"HasSamsung", pInfo[playerid][HasSamsung]);
  197. INI_WriteInt(iFile,"HasHTC", pInfo[playerid][HasHTC]);
  198. INI_WriteInt(iFile,"HasLG", pInfo[playerid][HasLG]);
  199. INI_WriteInt(iFile,"HasRumor", pInfo[playerid][HasRumor]);
  200. INI_WriteInt(iFile,"HasHTC2", pInfo[playerid][HasHTC2]);
  201. INI_WriteInt(iFile,"HasPhone", pInfo[playerid][HasPhone]);
  202. INI_Close(iFile);
  203. }
  204. pLogged[playerid] = 0;
  205. pAFK[playerid] = 0;
  206. pOnDuty[playerid] = 0;
  207. return 1;
  208. }
  209.  
  210. public OnPlayerRequestSpawn(playerid)
  211. {
  212. if(pLogged[playerid] == 0) return SendClientMessage(playerid,yellow,"You must register or login before spawning!");
  213. return 1;
  214. }
  215.  
  216. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  217. {
  218. if(dialogid == DIALOG_REGISTER) {
  219. GetPlayerIp(playerid,pIP[playerid],16);
  220. if(!response) Kick(playerid);
  221. if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Please enter a password.","Register","Leave");
  222. new INI:iFile = INI_Open(PlayerPath(playerid));
  223. INI_SetTag(iFile,"data");
  224. INI_WriteInt(iFile,"Pass",udb_hash(inputtext));
  225. if(pInfo[playerid][AutoLogin] == 1)
  226. {
  227. INI_WriteString(iFile,"IP",pIP[playerid]);
  228. }
  229. INI_WriteInt(iFile,"Cash",REGISTERED_MONEY);
  230. INI_WriteInt(iFile,"Score",0);
  231. INI_WriteInt(iFile,"AdminLevel",0);
  232. INI_WriteInt(iFile,"VIPLevel",0);
  233. INI_WriteInt(iFile,"Registered",1);
  234. INI_WriteInt(iFile,"Banned",0);
  235. INI_WriteInt(iFile,"Auto_Login",0);
  236. INI_WriteInt(iFile,"Owns_Airline",0);
  237. INI_WriteInt(iFile,"HasIphone", 0);
  238. INI_WriteInt(iFile,"HasSamsung", 0);
  239. INI_WriteInt(iFile,"HasHTC", 0);
  240. INI_WriteInt(iFile,"HasLG", 0);
  241. INI_WriteInt(iFile,"HasRumor", 0);
  242. INI_WriteInt(iFile,"HasHTC2", 0);
  243. INI_WriteInt(iFile,"HasPhone", 0);
  244. INI_Close(iFile);
  245. pLogged[playerid] = 1;
  246. new iStr[128];
  247. format(iStr,sizeof(iStr),"You've successfully registered with the password \"%s\".",inputtext);
  248. SendClientMessage(playerid,yellow,iStr);
  249. return 1;
  250. }
  251. if(dialogid == DIALOG_LOGIN) {
  252. if(!response) Kick(playerid);
  253. new iStr[128],gTries;
  254. if(gTries == 0) gTries = 1;
  255. if(gTries == 3) {
  256. new pName[30];
  257. GetPlayerName(playerid,pName,sizeof(pName));
  258. format(iStr,sizeof(iStr),"%s has been kicked for exceeding login tries.",pName);
  259. SendClientMessageToAll(red,iStr);
  260. return Kick(playerid);
  261. }
  262. if(!strlen(inputtext)) {
  263. format(iStr,sizeof(iStr),"Please enter your password. Tries: %i/3",gTries);
  264. return ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",iStr,"Login","Leave");
  265. }
  266. if(udb_hash(inputtext) == pInfo[playerid][Pass]) {
  267. pLogged[playerid] = 1;
  268. SendClientMessage(playerid,lime,"You've successfully logged in.");
  269. SetPlayerScore(playerid,pInfo[playerid][Score]);
  270. GivePlayerMoney(playerid,pInfo[playerid][Cash]);
  271. } else {
  272. format(iStr,sizeof(iStr),"Incorrect password. Tries: %i/3",gTries);
  273. ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register",iStr,"Login","Leave");
  274. gTries++;
  275. return 1;
  276. }
  277. return 1;
  278. }
  279. return 0;
  280. }
  281. //================================================================== [StandardCMDS] ==========================================================//
  282. dcmd_PM(playerid, params[])
  283. {
  284. new id, message, pmstring1[128], pmstring2[128];
  285. if(sscanf(params, "ui", id, message)) return SendClientMessage(playerid, RED,"USAGE:{FFFF00}/PM [playerid] [Message]");
  286. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED,"ERROR Player Specified is Offline");
  287. if(id == playerid) return SendClientMessage(playerid, RED,"You can't PM yourself"); // Optional
  288. {
  289. format(pmstring1, sizeof(pmstring1),"[PM Message Recived From %s] %s", PlayerName2(playerid), message);
  290. SendClientMessage(id, Yellow, pmstring1);
  291. format(pmstring2, sizeof(pmstring2),"[PM Message Sent To %s] %s", PlayerName2(id), message);
  292. SendClientMessage(playerid, Yellow, pmstring2);
  293. }
  294. return 1;
  295. }
  296. dcmd_Loc(playerid, params[])
  297. {
  298. new id;
  299. if(sscanf(params, "u", id)) return SendClientMessage(playerid, RED, "USAGE:{FFFF00}/loc [id]");
  300. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED,"ERROR Player Specified is Offline");
  301. if(id == playerid) return SendClientMessage(playerid, RED,"You can't Locate Yourself");
  302. {
  303. new r[128], zone[128];
  304. GetPlayer2DZone(id, zone, sizeof(zone));
  305. format(r, sizeof(r),"Player %s Is in %s", PlayerName2(id), zone);
  306. SendClientMessage(playerid, Yellow, r);
  307. }
  308. return 1;
  309. }
  310. dcmd_AFK(playerid, params[])
  311. {
  312. new string[128], afkreason[50];
  313. if(sscanf(params, "s[128]", afkreason)) return SendClientMessage(playerid, RED,"USAGE:{FFFF00}/afk [Reason]");
  314. if(!strlen(afkreason))
  315. if(pAFK[playerid] == 0)
  316. {
  317. format(string, sizeof(string),"%s is not AFK [No Reason Given]", PlayerName2(playerid));
  318. SendClientMessageToAll(Yellow, string);
  319. pAFK[playerid] = 1;
  320. }
  321. else
  322. {
  323. format(string, sizeof(string),"%s is now AFK [Reason: %s]", PlayerName2(playerid), afkreason);
  324. SendClientMessageToAll(Yellow, string);
  325. pAFK[playerid] = 1;
  326. }
  327. else if(pAFK[playerid] == 1)
  328. {
  329. format(string, sizeof(string),"%s is now back from %s", PlayerName2(playerid), afkreason);
  330. SendClientMessageToAll(Yellow, string);
  331. pAFK[playerid] = 0;
  332. }
  333. return 1;
  334. }
  335. dcmd_AFKList(playerid, params[])
  336. {
  337. new count = 0;
  338. new string[128];
  339. #pragma unused params
  340.  
  341. SendClientMessage(playerid, Green, " ");
  342. SendClientMessage(playerid, Green, "___________ |- Current AFK Players -| ___________");
  343. SendClientMessage(playerid, Green, " ");
  344.  
  345. for(new i = 0; i < MAX_PLAYERS; i++)
  346. {
  347. if(IsPlayerConnected(i))
  348. {
  349. if(pAFK[i] == 1)
  350. {
  351. count++;
  352. GetPlayerName(i, pAFK, sizeof(pAFK));
  353. format(string, sizeof(string), "%s\n", pAFK);
  354. SendClientMessage(playerid, Yellow, string);
  355. SendClientMessage(playerid, Green, " ");
  356. SendClientMessage(playerid, Green, "_____________________________________________");
  357. }
  358. }
  359. }
  360. if(count == 0)
  361. {
  362. SendClientMessage(playerid, Yellow,"No one is AFK here buddy.");
  363. SendClientMessage(playerid, Green, " ");
  364. SendClientMessage(playerid, Green, "_____________________________________________");
  365. SendClientMessage(playerid, Green, " ");
  366. }
  367. return 1;
  368. }
  369. dcmd_Admins(playerid, params[])
  370. {
  371. new count = 0;
  372. new string[128];
  373. #pragma unused params
  374.  
  375. SendClientMessage(playerid, Green, " ");
  376. SendClientMessage(playerid, Green, "___________ |- Current Online Admins -| ___________");
  377. SendClientMessage(playerid, Green, " ");
  378.  
  379. for(new i = 0; i < MAX_PLAYERS; i++)
  380. {
  381. if(IsPlayerConnected(i))
  382. {
  383. if(pOnDuty[i] == 1)
  384. {
  385. if(pInfo[i][AdminLevel] == 1)
  386. {
  387. count++;
  388. new name[24];
  389. GetPlayerName(i, name, sizeof(name));
  390. format(string, sizeof(string), "%s [LVL %d][Rank: Junior Modorator]\n", name, pInfo[i][AdminLevel]);
  391. SendClientMessage(playerid, Yellow, string);
  392. SendClientMessage(playerid, Green, " ");
  393. SendClientMessage(playerid, Green, "________________________________________________");
  394. }
  395. if(pInfo[i][AdminLevel] == 2)
  396. {
  397. count++;
  398. new name[24];
  399. GetPlayerName(i, name, sizeof(name));
  400. format(string, sizeof(string), "%s [LVL %d][Rank: Modorator]\n", name, pInfo[i][AdminLevel]);
  401. SendClientMessage(playerid, Yellow, string);
  402. SendClientMessage(playerid, Green, " ");
  403. SendClientMessage(playerid, Green, "________________________________________________");
  404. }
  405. if(pInfo[i][AdminLevel] == 3)
  406. {
  407. count++;
  408. new name[24];
  409. GetPlayerName(i, name, sizeof(name));
  410. format(string, sizeof(string), "%s [LVL %d][Rank: Super Moderator]\n", name, pInfo[i][AdminLevel]);
  411. SendClientMessage(playerid, Yellow, string);
  412. SendClientMessage(playerid, Green, " ");
  413. SendClientMessage(playerid, Green, "________________________________________________");
  414. }
  415. if(pInfo[i][AdminLevel] == 4)
  416. {
  417. count++;
  418. new name[24];
  419. GetPlayerName(i, name, sizeof(name));
  420. format(string, sizeof(string), "%s [LVL %d][Rank: Junior Admin]\n", name, pInfo[i][AdminLevel]);
  421. SendClientMessage(playerid, Yellow, string);
  422. SendClientMessage(playerid, Green, " ");
  423. SendClientMessage(playerid, Green, "________________________________________________");
  424. }
  425. if(pInfo[i][AdminLevel] == 5)
  426. {
  427. count++;
  428. new name[24];
  429. GetPlayerName(i, name, sizeof(name));
  430. format(string, sizeof(string), "%s [LVL %d][Rank: Super Admin]\n", name, pInfo[i][AdminLevel]);
  431. SendClientMessage(playerid, Yellow, string);
  432. SendClientMessage(playerid, Green, " ");
  433. SendClientMessage(playerid, Green, "________________________________________________");
  434. }
  435. if(pInfo[i][AdminLevel] == 6)
  436. {
  437. count++;
  438. new name[24];
  439. GetPlayerName(i, name, sizeof(name));
  440. format(string, sizeof(string), "%s [LVL %d][Rank: Head Admin]\n", name, pInfo[i][AdminLevel]);
  441. SendClientMessage(playerid, Yellow, string);
  442. SendClientMessage(playerid, Green, " ");
  443. SendClientMessage(playerid, Green, "________________________________________________");
  444. }
  445. if(pInfo[i][AdminLevel] == 1335)
  446. {
  447. count++;
  448. new name[24];
  449. GetPlayerName(i, name, sizeof(name));
  450. format(string, sizeof(string), "%s [LVL %d][Rank: Co-Co-Owner]\n", name, pInfo[i][AdminLevel]);
  451. SendClientMessage(playerid, Yellow, string);
  452. SendClientMessage(playerid, Green, " ");
  453. SendClientMessage(playerid, Green, "________________________________________________");
  454. }
  455. if(pInfo[i][AdminLevel] == 1336)
  456. {
  457. count++;
  458. new name[24];
  459. GetPlayerName(i, name, sizeof(name));
  460. format(string, sizeof(string), "%s [LVL %d][Rank: Co-Owner]\n", name, pInfo[i][AdminLevel]);
  461. SendClientMessage(playerid, Yellow, string);
  462. SendClientMessage(playerid, Green, " ");
  463. SendClientMessage(playerid, Green, "________________________________________________");
  464. }
  465. if(pInfo[i][AdminLevel] == 1337)
  466. {
  467. count++;
  468. new name[24];
  469. GetPlayerName(i, name, sizeof(name));
  470. format(string, sizeof(string), "%s [LVL %d][Rank: Owner]\n", name, pInfo[i][AdminLevel]);
  471. SendClientMessage(playerid, Yellow, string);
  472. SendClientMessage(playerid, Green, " ");
  473. SendClientMessage(playerid, Green, "________________________________________________");
  474. }
  475. }
  476. }
  477. }
  478. if(count == 0)
  479. {
  480. SendClientMessage(playerid, Yellow,"No Admins online right now buddy.");
  481. SendClientMessage(playerid, Green, " ");
  482. SendClientMessage(playerid, Green, "_______________________________________________");
  483. SendClientMessage(playerid, Green, " ");
  484. }
  485. return 1;
  486. }
  487. dcmd_Report(playerid, params[])
  488. {
  489. new Player, Reason;
  490. if(sscanf(params, "ui", Player, Reason)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/Report [PlayerID] [Reason]");
  491. if(Player == playerid) return SendClientMessage(playerid, RED,"You can't report yourself"); // Optional
  492.  
  493. if(IsPlayerConnected(Player))
  494. {
  495. for(new i = 0; i < MAX_PLAYERS; i++)
  496. {
  497. if(IsPlayerConnected(i))
  498. {
  499. if(pOnDuty[i] == 1)
  500. {
  501. FormatMSG(i, ABLUE, "You Have Been sent a report on %s by %s Reason %s", PlayerName2(Player), PlayerName2(playerid), Reason);
  502. FormatMSG(playerid, ABLUE, "You Have sent a report on %s to %s Reason %s", PlayerName2(Player), PlayerName2(i), Reason);
  503. pReport[Player] = 1;
  504. }
  505. }
  506. else return SendClientMessage(playerid, RED,"ERROR Admin Specified Not Online!");
  507. }
  508. }
  509. else return SendClientMessage(playerid, RED,"ERROR Player Specified Not Online!");
  510. return 1;
  511. }
  512. dcmd_GiveCash(playerid, params[])
  513. {
  514. new Player, Money, Reason[50];
  515. new string1[128];
  516. new string2[128];
  517. if(sscanf(params, "uis", Player, Money, Reason)) return SendClientMessage(playerid, RED, "USAGE: {FFFF00}/GiveCash [playerid][cash][reason]");
  518.  
  519. if(IsPlayerConnected(Player))
  520. {
  521. GivePlayerMoney(playerid, -Money);
  522. GivePlayerMoney(playerid, Money);
  523. format(string1, sizeof(string1), "You Have Sent %s %d, Reason: %s you now have %d", PlayerName2(Player), Money, Reason, GetPlayerMoney(playerid));
  524. SendClientMessage(playerid, Yellow, string1);
  525. format(string2, sizeof(string2), "You Have been Sent %d by %s, Reason: %s you now have %d", Money, PlayerName2(playerid), Reason, GetPlayerMoney(Player));
  526. SendClientMessage(playerid, Yellow, string2);
  527. }
  528. else return SendClientMessage(playerid, RED,"ERROR Player Specified Not Online!");
  529. return 1;
  530. }
  531. //================================================================== [AdminCMDS] ===========================================================//
  532. dcmd_SetLevel(playerid, params[])
  533. {
  534. if(!(pInfo[playerid][AdminLevel] >= 10)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  535. new Player, aLevel;
  536. if(sscanf(params, "ui", Player, aLevel)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/SetLevel [PlayerID][Admin Level]");
  537. if(aLevel < 1 || aLevel > 1337 ) return SendClientMessage(playerid, RED, "ERROR: Invalid level! Max admin level you can set is 1337 and the minimum admin u can set it 1!");
  538.  
  539. if(IsPlayerConnected(Player))
  540. {
  541. new INI:iFile = INI_Open(PlayerPath(playerid));
  542. FormatMSG(Player, ABLUE, "Welcome To The Pilots Heaven Team %s has set your Level to %d", PlayerName2(playerid), aLevel);
  543. FormatMSG(playerid, ABLUE, "You Have Set %s's Admin Level to %d", PlayerName2(Player), aLevel);
  544. INI_SetTag(iFile,"data");
  545. INI_WriteInt(iFile,"AdminLevel",strval(params[1]));
  546. INI_Close(iFile);
  547. }
  548. else return SendClientMessage(playerid, RED,"ERROR Player Specified Not Online!");
  549. return 1;
  550. }
  551. dcmd_SetVIPLevel(playerid, params[])
  552. {
  553. if(!(pInfo[playerid][AdminLevel] >= 10)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  554. new Player, vLevel;
  555. if(sscanf(params, "ui", Player, vLevel)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/SetVIPLevel [PlayerID][VIP Level]");
  556. if(vLevel < 0 || vLevel > 10 ) return SendClientMessage(playerid, RED, "ERROR: Invalid level! Max VIP level you can set is 10!");
  557.  
  558. if(IsPlayerConnected(Player))
  559. {
  560. new INI:iFile = INI_Open(PlayerPath(playerid));
  561. FormatMSG(Player, ABLUE, "%s has set you VIP Level to %d", PlayerName2(playerid), vLevel);
  562. FormatMSG(playerid, ABLUE, "You have set %s's level to %d", PlayerName2(Player), vLevel);
  563. INI_SetTag(iFile,"data");
  564. INI_WriteInt(iFile,"VIPLevel",strval(params[1]));
  565. INI_Close(iFile);
  566. }
  567. else return SendClientMessage(playerid, RED,"ERROR Player Specified Not Online!");
  568. return 1;
  569. }
  570. dcmd_SetScore(playerid, params[])
  571. {
  572. new id, score;
  573. if(!(pInfo[playerid][AdminLevel] >=10)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  574. if(sscanf(params, "us[128]", id, score)) return SendClientMessage(playerid, RED, "USAGE: {FFFF00}/SetScore [playerid] [Score]");
  575. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED,"ERROR Player Specified is Offline");
  576. {
  577. FormatMSG(id, Yellow, "You Score has been set to %d by %s", score, PlayerName2(playerid));
  578. FormatMSG(id, Yellow, "You have set %s's score to %d", PlayerName2(playerid), score);
  579. SetPlayerScore(id, score);
  580. }
  581. return 1;
  582. }
  583. dcmd_Crash(playerid, params[])
  584. {
  585. new string[128], id, reason[50];
  586. if(!(pInfo[playerid][AdminLevel] >= 4)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  587. if(sscanf(params, "us[128]", id, reason)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/Crash [playerid] [reason]");
  588. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED,"ERROR Player Specified is Offline");
  589. if(id == playerid) return SendClientMessage(playerid, RED,"You can't crash yourself"); // Optional
  590. if(!strlen(reason))
  591. {
  592. format(string, sizeof(string),"%s Has been crashed by Admin %s [no reason given]",PlayerName2(id),PlayerName2(playerid));
  593. SendClientMessageToAll(ABLUE, string);
  594. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
  595. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
  596. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
  597. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
  598. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
  599. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
  600. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
  601. }
  602. else
  603. {
  604. format(string, sizeof(string),"%s has been crashed by Admin %s [Reason: %s]",PlayerName2(id), PlayerName2(playerid), reason);
  605. SendClientMessageToAll(ABLUE, string);
  606. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
  607. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
  608. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
  609. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
  610. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
  611. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
  612. GameTextForPlayer(id, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
  613. }
  614. return 1;
  615. }
  616. dcmd_Ban(playerid, params[])
  617. {
  618. new string[128], id, reason[50];
  619. if(!(pInfo[playerid][AdminLevel] >= 4)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  620. if(sscanf(params, "us[128]", id, reason)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/ban [playerid] [reason]");
  621. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED,"ERROR Player Specified is Offline");
  622. if(id == playerid) return SendClientMessage(playerid, RED,"You can't ban yourself"); // Optional
  623. if(!strlen(reason))
  624. {
  625. new INI:iFile = INI_Open(PlayerPath(playerid));
  626. format(string, sizeof(string),"%s Has been Banned by Admin %s [no reason given]",PlayerName2(id),PlayerName2(playerid));
  627. SendClientMessageToAll(ABLUE, string);
  628. INI_SetTag(iFile,"data");
  629. INI_WriteInt(iFile,"Banned", 1);
  630. INI_Close(iFile);
  631. pBanned[id] = 1;
  632. Kick(id);
  633. }
  634. else
  635. {
  636. new INI:iFile = INI_Open(PlayerPath(playerid));
  637. format(string, sizeof(string),"%s has been Banned by Admin %s [Reason: %s]",PlayerName2(id), PlayerName2(playerid), reason);
  638. SendClientMessageToAll(ABLUE, string);
  639. INI_SetTag(iFile,"data");
  640. INI_WriteInt(iFile,"Banned", 1);
  641. INI_Close(iFile);
  642. pBanned[id] = 1;
  643. Kick(id);
  644. }
  645. return 1;
  646. }
  647. dcmd_Announce(playerid, params[])
  648. {
  649. new Message[128];
  650. if(!(pInfo[playerid][AdminLevel] >= 1)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  651. if(sscanf(params, "s[128]", Message)) return SendClientMessage( playerid, RED, "USAGE: {FFFF00}/announce [Message]" );
  652. {
  653. GameTextForAll(Message, 6000, 4);
  654. }
  655. return 1;
  656. }
  657. dcmd_JetPack(playerid, params[])
  658. {
  659. #pragma unused params
  660. if(!(pInfo[playerid][AdminLevel] >= 1)) return SendClientMessage( playerid, RED, "ERROR: You need to be administrator to use this command!" );
  661. {
  662. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK);
  663. }
  664. return 1;
  665. }
  666. dcmd_Kick(playerid, params[])
  667. {
  668. new string[128], id, reason[50];
  669. if(!(pInfo[playerid][AdminLevel] >= 4)) return SendClientMessage(playerid, RED, "ERROR: You need to be administrator to use this command!" );
  670. if(sscanf(params, "us[128]", id, reason)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/Kick [playerid] [reason]");
  671. if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, RED,"ERROR Player Specified is Offline");
  672. if(id == playerid) return SendClientMessage(playerid, RED,"You can't ban yourself"); // Optional
  673. if(!strlen(reason))
  674. {
  675. format(string, sizeof(string),"%s Has been kicked by Admin %s [no reason given]",PlayerName2(id),PlayerName2(playerid));
  676. SendClientMessageToAll(ABLUE, string);
  677. Kick(id);
  678. }
  679. else
  680. {
  681. format(string, sizeof(string),"%s Has been kicked by Admin %s [Reason: %s]",PlayerName2(id),PlayerName2(playerid), reason);
  682. SendClientMessageToAll(ABLUE, string);
  683. Kick(id);
  684. }
  685. return 1;
  686. }
  687. dcmd_Vehicle(playerid, params[])
  688. {
  689. new string[128];
  690. new Float:X, Float:Y, Float:Z, Float:A;
  691. new MODEL, COL1, COL2;
  692. new Admin_Car;
  693. if(!(pInfo[playerid][AdminLevel] >=2)) return SendClientMessage(playerid, RED, "ERROR: You need to be administrator to use this command!" );
  694. if(sscanf(params, "ddd", MODEL, COL1, COL2)) return SendClientMessage(playerid, RED,"USAGE: {FFFF00}/Vehicle [modelid] [Color1] [Color2]");
  695. {
  696. GetPlayerPos(playerid, X, Y, Z);
  697. GetPlayerFacingAngle(playerid, A);
  698. format(string, sizeof(string), "You Have Spawned a car. Model ID: %d Color 1: %d Color 2: %d", MODEL, COL1, COL2);
  699. SendClientMessage(playerid, ABLUE, string);
  700. Admin_Car = CreateVehicle(MODEL, X, Y, Z, A, COL1, COL2, 60);
  701. PutPlayerInVehicle(playerid, Admin_Car, 0);
  702. SetVehicleNumberPlate(Admin_Car, "Admin_Car");
  703. }
  704. return 1;
  705. }
  706. dcmd_Aduty(playerid, params[])
  707. {
  708. #pragma unused params
  709. new string[128];
  710. new string1[128];
  711. new Text3D:label[MAX_PLAYERS];
  712. if(!(pInfo[playerid][AdminLevel])) return SendClientMessage(playerid, RED, "ERROR: You Need to be administrator to use this command!");
  713. if(pOnDuty[playerid] == 0)
  714. {
  715. format(string, sizeof(string),"%s is now on Admin Duty DONT ATTACK!!!!!", PlayerName2(playerid));
  716. SendClientMessageToAll(ABLUE, string);
  717. format(string1, sizeof(string1),"%s [LVL %d] is on admin duty", PlayerName2(playerid), pInfo[playerid][AdminLevel]);
  718. label[playerid] = Create3DTextLabel(string1, 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
  719. Attach3DTextLabelToPlayer(label[playerid], playerid, 0.0, 0.0, 0.7);
  720. }
  721. else if(pOnDuty[playerid] == 1)
  722. {
  723. format(string, sizeof(string),"%s is now off Admin Duty And Enjoys the game", PlayerName2(playerid));
  724. SendClientMessageToAll(ABLUE, string);
  725. Delete3DTextLabel(label[playerid]);
  726. }
  727. return 1;
  728. }
  729. dcmd_Hide(playerid, params[])
  730. {
  731. #pragma unused params
  732. if(!(pInfo[playerid][AdminLevel])) return SendClientMessage(playerid, RED, "ERROR: You Need to be administrator to use this command!");
  733. {
  734. SendClientMessage(playerid,ABLUE,"You are hidden from the online admins list");
  735. pOnDuty[playerid] = 0;
  736. }
  737. return 1;
  738. }
  739. dcmd_Show(playerid, params[])
  740. {
  741. #pragma unused params
  742. if(!(pInfo[playerid][AdminLevel])) return SendClientMessage(playerid, RED, "ERROR: You Need to be administrator to use this command!");
  743. {
  744. SendClientMessage(playerid,ABLUE,"You are no longer hidden from the online admins list");
  745. pOnDuty[playerid] = 1;
  746. }
  747. return 1;
  748. }
  749. dcmd_BuyPhone(playerid, params[])
  750. {
  751. new Phone, Iphone_4S, Samsung_Galaxy, HTC_Desire, LG_Cookie, Rumor_2, HTC_Evo;
  752. if(sscanf(params, "s[128]", Phone)) return SendClientMessage(playerid, 0xFF0000FF, "|- Phone Shop -| Usage: /buyphone [phone] [Iphone-4S, Samsung Galaxy, HTC Desire, LG Cookie, Rumor 2 and HTC Evo");
  753. if(IsPlayerInRangeOfPoint(playerid, 2, 2109.38, 2161.20,10.78)) return SendClientMessage(playerid, 0xFFFFFFAA, "You Are Not Near A Phone Shop");
  754. if(Phone == Iphone_4S && GetPlayerMoney(playerid == 400)) return SendClientMessage(playerid, -1, "You Dont have $400");
  755. {
  756. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have Purchased a Ihone-4S for $400 With 4G Internet, Type /Contract to start a pay by you go Contract or type /service to get the special offer of unlimited texts and calls and net");
  757. new INI:iFile = INI_Open(PlayerPath(playerid));
  758. GivePlayerMoney(playerid, -400);
  759. INI_SetTag(iFile,"data");
  760. INI_WriteInt(iFile,"HasIphone",1);
  761. INI_WriteInt(iFile,"HasPhone",1);
  762. INI_Close(iFile);
  763. }
  764. if(Phone == Samsung_Galaxy && GetPlayerMoney(playerid == 200)) return SendClientMessage(playerid, -1, "You Dont have $200");
  765. {
  766. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have Purchased a Samsung_Galaxy for $200 With 4G Internet, Type /Contract to start a pay by you go Contract or type /service to get the special offer of unlimited texts and calls and net");
  767. new INI:iFile = INI_Open(PlayerPath(playerid));
  768. GivePlayerMoney(playerid, -200);
  769. INI_SetTag(iFile,"data");
  770. INI_WriteInt(iFile,"HasSamsung",1);
  771. INI_WriteInt(iFile,"HasPhone",1);
  772. INI_Close(iFile);
  773. }
  774. if(Phone == HTC_Desire && GetPlayerMoney(playerid == 100)) return SendClientMessage(playerid, -1, "You Dont have $100");
  775. {
  776. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have Purchased a HTC_Desire for $100 With 4G Internet, Type /Contract to start a pay by you go Contract or type /service to get the special offer of unlimited texts and calls and net");
  777. new INI:iFile = INI_Open(PlayerPath(playerid));
  778. GivePlayerMoney(playerid, -100);
  779. INI_SetTag(iFile,"data");
  780. INI_WriteInt(iFile,"HasHTC",1);
  781. INI_WriteInt(iFile,"HasPhone",1);
  782. INI_Close(iFile);
  783. }
  784. if(Phone == LG_Cookie && GetPlayerMoney(playerid == 150)) return SendClientMessage(playerid, -1, "You Dont have $150");
  785. {
  786. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have Purchased a LG_Cookie for $150 With 4G Internet, Type /Contract to start a pay by you go Contract or type /service to get the special offer of unlimited texts and calls and net");
  787. new INI:iFile = INI_Open(PlayerPath(playerid));
  788. GivePlayerMoney(playerid, -250);
  789. INI_SetTag(iFile,"data");
  790. INI_WriteInt(iFile,"HasLG",1);
  791. INI_WriteInt(iFile,"HasPhone",1);
  792. INI_Close(iFile);
  793. }
  794. if(Phone == Rumor_2 && GetPlayerMoney(playerid == 150)) return SendClientMessage(playerid, -1, "You Dont have $150");
  795. {
  796. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have Purchased a Samsung_Galaxy for $150 With 4G Internet, Type /Contract to start a pay by you go Contract or type /service to get the special offer of unlimited texts and calls and net");
  797. new INI:iFile = INI_Open(PlayerPath(playerid));
  798. GivePlayerMoney(playerid, -150);
  799. INI_SetTag(iFile,"data");
  800. INI_WriteInt(iFile,"HasRumor",1);
  801. INI_WriteInt(iFile,"HasPhone",1);
  802. INI_Close(iFile);
  803. }
  804. if(Phone == HTC_Evo && GetPlayerMoney(playerid == 50)) return SendClientMessage(playerid, -1, "You Dont have $50");
  805. {
  806. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have Purchased a HTC_Desire for $50 With 4G Internet, Type /Contract to start a pay by you go Contract or type /service to get the special offer of unlimited texts and calls and net");
  807. new INI:iFile = INI_Open(PlayerPath(playerid));
  808. GivePlayerMoney(playerid, -50);
  809. INI_SetTag(iFile,"data");
  810. INI_WriteInt(iFile,"HasHTC2",1);
  811. INI_WriteInt(iFile,"HasPhone",1);
  812. INI_Close(iFile);
  813. }
  814. if(pInfo[playerid][HasPhone] == 1)
  815. {
  816. SendClientMessage(playerid, Yellow, "|- Phone Shop -| You Have a Phone");
  817. }
  818. return 1;
  819. }
  820. dcmd_UsePhone(playerid, params[])
  821. {
  822. #pragma unused params
  823. if(!(pInfo[playerid][HasPhone] == 1)) return SendClientMessage(playerid, -1, "you dont have a phone to use");
  824. {
  825. SendClientMessage(playerid, Yellow, "**You Draw Out Your Phone and turn it on**");
  826. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  827. SetPlayerAttachedObject(playerid, 4, 330, 6); // 4 = attachment slot, 330 = cellphone model, 6 = right hand
  828. }
  829. return 1;
  830. }
  831. dcmd_StopUsingPhone(playerid, params[])
  832. {
  833. #pragma unused params
  834. if(!(pInfo[playerid][HasPhone] == 1)) return SendClientMessage(playerid, -1, "you dont have a phone to use");
  835. {
  836. SendClientMessage(playerid, Yellow, "**You Grab Your Phone and turn it off**");
  837. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  838. RemovePlayerAttachedObject(playerid, 4);
  839. }
  840. return 1;
  841. }
  842. //================================================================== [ STOCKS ] ===========================================================//
  843. stock PlayerName2( i )
  844. {
  845. new n[ 24 ];
  846. GetPlayerName( i, n, 24 );
  847. return n;
  848. }
  849. /*
  850. forward GetPlayerAVSAdmin(playerid);
  851. public GetPlayerAVSAdmin(playerid)
  852. {
  853. return pInfo[playerid][AdminLevel];
  854. }
  855. */
  856. public OnPlayerCommandText(playerid, cmdtext[])
  857. {
  858. dcmd(PM, 2, cmdtext);
  859. dcmd(Loc, 3, cmdtext);
  860. dcmd(AFK, 3, cmdtext);
  861. dcmd(AFKList, 7, cmdtext);
  862. dcmd(SetLevel, 8, cmdtext);
  863. dcmd(SetVIPLevel, 11, cmdtext);
  864. dcmd(Crash, 5, cmdtext);
  865. dcmd(Ban, 3, cmdtext);
  866. dcmd(Announce, 8, cmdtext);
  867. dcmd(Kick, 4, cmdtext);
  868. dcmd(Aduty, 5, cmdtext);
  869. dcmd(Admins, 6, cmdtext);
  870. dcmd(Vehicle, 7, cmdtext);
  871. dcmd(Hide, 4, cmdtext);
  872. dcmd(Show, 4, cmdtext);
  873. dcmd(Report, 6, cmdtext);
  874. dcmd(SetScore, 8, cmdtext);
  875. dcmd(GiveCash, 8, cmdtext);
  876. dcmd(JetPack, 7, cmdtext);
  877. dcmd(BuyPhone, 8, cmdtext);
  878. dcmd(UsePhone, 8, cmdtext);
  879. dcmd(StopUsingPhone, 14, cmdtext);
  880. return 0;
  881. }
  882. forward IsPlayerAdminCall(playerid);
  883. public IsPlayerAdminCall(playerid)
  884. {
  885. if(pInfo[playerid][AdminLevel])
  886. return 1;
  887. else
  888. return 0;
  889. }
  890.  
Advertisement
Add Comment
Please, Sign In to add comment