Advertisement
Guest User

YOUR_NAME Role Play - Boolean

a guest
Feb 20th, 2013
1,562
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 25.41 KB | None | 0 0
  1. /*
  2. * YOUR_NAME Role Play
  3. *
  4. * @version : 0.0.1 (Alpha Stage)
  5. * @author : Boolean
  6. * @date : 20th of February 2013
  7. *
  8. *
  9. *
  10. * @updatelog
  11. *
  12. * YOUR_NAME:RP v0.0.1 (Rev 1)
  13. * ________________________________
  14. *
  15. * # Initialized source for development
  16. * # Login & Register system created
  17. * # (COMMAND:help & COMMAND:setadmin) created
  18. * # (COMMAND:mute & COMMAND:gmx) created
  19. * # Couple of stocks added
  20. * # Advanced report system added (COMMAND:report & COMMAND:arp & COMMAND:drp & COMMAND:srp)
  21. * # Basic Role Play commands added (COMMAND:b & COMMAND:s & COMMAND:do)
  22. * # Added a Phone system (COMMAND:phone & COMMAND:pickup & COMMAND:hangup)
  23. *
  24. *
  25. *
  26.  
  27.  
  28. */
  29.  
  30.  
  31.  
  32.  
  33. //******************************************************************************
  34. // INCLUDES
  35. //******************************************************************************
  36. #include <a_samp>
  37. #include <sscanf2>
  38. #include <streamer>
  39. #include <YSI\y_ini>
  40. #include <YSI\y_commands>
  41. #include <YSI\y_master>
  42. #include <foreach>
  43. native WP_Hash(buffer[],len,const str[]);
  44. //******************************************************************************
  45. // COLOURS
  46. //******************************************************************************
  47. #define WHITE 0xFFFFFFFF
  48. #define PLAYERCOLOR 0xFFFFFF00
  49. #define GREY 0xAFAFAFAA
  50. #define GREEN 0x33AA33FF
  51. #define ORANGE 0xFFA100FF
  52. #define RED 0xFF6347AA
  53. #define RRED 0xDABB3E00
  54. #define DRED 0xff000000
  55. #define YELLOW 0xFFFF00AA
  56. #define LIME 0x00FF00FF
  57. #define FADE1 0xE6E6E6E6
  58. #define FADE2 0xC8C8C8C8
  59. #define FADE3 0xAAAAAAAA
  60. #define FADE4 0x8C8C8C8C
  61. #define FADE5 0x6E6E6E6E
  62. #define PURPLE 0x6E6E6E6E
  63.  
  64. //******************************************************************************
  65. // DEFINES
  66. //******************************************************************************
  67. #define S SendClientMessage
  68. #define NOADMIN "WARNING: You do not have access to this command."
  69. #define LOG_DIALOG 1
  70. #define REG_DIALOG 2
  71. #define PHONE_MAIN 3
  72. #define PHONE_CALL 4
  73. #define PHONE_TEXT 5
  74. #define PHONE_TEXT_TWO 5
  75. #define UserPath "Users/%s.ini"
  76. #define MAX_ORGANIZATIONS 15
  77. //******************************************************************************
  78. // FORWARD
  79. //******************************************************************************
  80. forward PhoneRing(playerid);
  81. //******************************************************************************
  82. // NEW
  83. //******************************************************************************
  84.  
  85. new
  86. AcceptedReport[MAX_PLAYERS],
  87. DidReport[MAX_PLAYERS],
  88. aDuty[MAX_PLAYERS],
  89. TempVar[MAX_PLAYERS],
  90. sscanfinput[128];
  91.  
  92.  
  93. //******************************************************************************
  94. // ENUM
  95. //******************************************************************************
  96. enum UserVariables
  97. {
  98. Password,
  99. Admin,
  100. Supporter,
  101. Cash,
  102. Muted,
  103. Banned,
  104. PhoneNumb
  105. }
  106. new USER_VAR[MAX_PLAYERS][UserVariables];
  107.  
  108. enum callinfo
  109. {
  110. Caller,
  111. bool:Calling,
  112. bool:inCall
  113. }
  114. new CallInfo[MAX_PLAYERS][callinfo];
  115.  
  116.  
  117. forward loadaccount_account(playerid, name[], value[]);
  118. public loadaccount_account(playerid, name[], value[])
  119. {
  120. INI_Int("Password", USER_VAR[playerid][Password]);
  121. INI_Int("Admin", USER_VAR[playerid][Admin]);
  122. INI_Int("Supporter", USER_VAR[playerid][Supporter]);
  123. INI_Int("Cash", USER_VAR[playerid][Cash]);
  124. INI_Int("Muted", USER_VAR[playerid][Muted]);
  125. INI_Int("Banned", USER_VAR[playerid][Banned]);
  126. INI_Int("PhoneNumb", USER_VAR[playerid][PhoneNumb]);
  127. return 1;
  128. }
  129. stock ClearVariables(playerid)
  130. {
  131. // CUSTOM VARS
  132. DidReport[playerid] = false;
  133. AcceptedReport[playerid] = false;
  134.  
  135. CallInfo[playerid][Caller] = -1;
  136. CallInfo[playerid][Calling] = false;
  137. CallInfo[playerid][inCall] = false;
  138. return true;
  139. }
  140.  
  141.  
  142.  
  143. main()
  144. {
  145. print("\n----------------------------------");
  146. print("");
  147. print("----------------------------------\n");
  148. }
  149.  
  150. public OnGameModeInit()
  151. {
  152. SetGameModeText("YOUR_NAME:RP (v0.0.1)");
  153. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  154. return 1;
  155. }
  156.  
  157. public OnGameModeExit()
  158. {
  159. return 1;
  160. }
  161.  
  162. public OnPlayerRequestClass(playerid, classid)
  163. {
  164. return 1;
  165. }
  166.  
  167. public OnPlayerConnect(playerid)
  168. {
  169. ClearVariables(playerid);
  170. SetPlayerVirtualWorld(playerid, 0);
  171. SetPlayerInterior(playerid, 0);
  172. Streamer_UpdateEx(playerid,1325.6697,320.3597,19.4067);
  173. SetPlayerPos(playerid, 1348.6836,334.1202,28.5264);
  174. SetPlayerCameraPos(playerid, 1348.6836,334.1202,28.5264);
  175. SetPlayerCameraLookAt(playerid, 1325.6697,320.3597,19.4067);
  176. if(fexist(Path(playerid)))
  177. {
  178. INI_ParseFile(Path(playerid),"loadaccount_%s", .bExtra = true, .extra = playerid);
  179. ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Login", "Welcome back to YOUR_NAME Role Play,\nYou can log in by filling in your password below.", "Enter", "Quit");
  180. } else {
  181. ShowPlayerDialog(playerid, REG_DIALOG, DIALOG_STYLE_INPUT, "Register", "Welcome to YOUR_NAME Role Play,\nYou can register by filling in your desired password below.", "Register", "Quit");
  182. return true;
  183. }
  184. return true;
  185. }
  186.  
  187. public OnPlayerDisconnect(playerid, reason)
  188. {
  189. if(fexist(Path(playerid)))
  190. {
  191. new INI:file = INI_Open(Path(playerid));
  192. INI_WriteInt(file, "Admin", USER_VAR[playerid][Admin]);
  193. INI_WriteInt(file, "Supporter", USER_VAR[playerid][Supporter]);
  194. INI_WriteInt(file, "Cash", USER_VAR[playerid][Supporter]);
  195. INI_WriteInt(file, "Muted", USER_VAR[playerid][Cash]);
  196. INI_WriteInt(file, "Banned", USER_VAR[playerid][Banned]);
  197. INI_WriteInt(file, "PhoneNumb", USER_VAR[playerid][PhoneNumb]);
  198. INI_Close(file);
  199. return true;
  200. }
  201. return true;
  202. }
  203.  
  204. public OnPlayerSpawn(playerid)
  205. {
  206. return 1;
  207. }
  208.  
  209. public OnPlayerDeath(playerid, killerid, reason)
  210. {
  211. return 1;
  212. }
  213.  
  214. public OnVehicleSpawn(vehicleid)
  215. {
  216. return 1;
  217. }
  218.  
  219. public OnVehicleDeath(vehicleid, killerid)
  220. {
  221. return 1;
  222. }
  223.  
  224. public OnPlayerText(playerid, text[])
  225. {
  226. new
  227. string[250];
  228.  
  229. if(USER_VAR[playerid][Muted]) return S(playerid, RED, "WARNING: You are muted therefore you can't talk.");
  230. if(CallInfo[playerid][inCall] == true) {
  231. format(string, sizeof(string), "[Phone]: %s says: %s", GN(playerid), text);
  232. SNM(playerid, 20.0, string, WHITE, GREY, GREY, GREY, GREY);
  233. SendClientMessage(CallInfo[playerid][Caller], WHITE, string);
  234. }
  235. format(string, sizeof(string), "%s says: %s", GN(playerid), text);
  236. SNM(playerid, 20.0, string, FADE1, FADE2, FADE3, FADE4, FADE5);
  237. return false;
  238. }
  239. public PhoneRing(playerid)
  240. {
  241. new
  242. string[250];
  243.  
  244. format(string, sizeof(string), "* %s's phone rings..", GN(playerid));
  245. SNM(playerid, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  246. }
  247.  
  248. public OnPlayerCommandText(playerid, cmdtext[])
  249. {
  250. return 0;
  251. }
  252.  
  253. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  254. {
  255. return 1;
  256. }
  257.  
  258. public OnPlayerExitVehicle(playerid, vehicleid)
  259. {
  260. return 1;
  261. }
  262.  
  263. public OnPlayerStateChange(playerid, newstate, oldstate)
  264. {
  265. return 1;
  266. }
  267.  
  268. public OnPlayerEnterCheckpoint(playerid)
  269. {
  270. return 1;
  271. }
  272.  
  273. public OnPlayerLeaveCheckpoint(playerid)
  274. {
  275. return 1;
  276. }
  277.  
  278. public OnPlayerEnterRaceCheckpoint(playerid)
  279. {
  280. return 1;
  281. }
  282.  
  283. public OnPlayerLeaveRaceCheckpoint(playerid)
  284. {
  285. return 1;
  286. }
  287.  
  288. public OnRconCommand(cmd[])
  289. {
  290. return 1;
  291. }
  292.  
  293. public OnPlayerRequestSpawn(playerid)
  294. {
  295. return 1;
  296. }
  297.  
  298. public OnObjectMoved(objectid)
  299. {
  300. return 1;
  301. }
  302.  
  303. public OnPlayerObjectMoved(playerid, objectid)
  304. {
  305. return 1;
  306. }
  307.  
  308. public OnPlayerPickUpPickup(playerid, pickupid)
  309. {
  310. return 1;
  311. }
  312.  
  313. public OnVehicleMod(playerid, vehicleid, componentid)
  314. {
  315. return 1;
  316. }
  317.  
  318. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  319. {
  320. return 1;
  321. }
  322.  
  323. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  324. {
  325. return 1;
  326. }
  327.  
  328. public OnPlayerSelectedMenuRow(playerid, row)
  329. {
  330. return 1;
  331. }
  332.  
  333. public OnPlayerExitedMenu(playerid)
  334. {
  335. return 1;
  336. }
  337.  
  338. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  339. {
  340. return 1;
  341. }
  342.  
  343. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  344. {
  345. return 1;
  346. }
  347.  
  348. public OnRconLoginAttempt(ip[], password[], success)
  349. {
  350. return 1;
  351. }
  352.  
  353. public OnPlayerUpdate(playerid)
  354. {
  355. return 1;
  356. }
  357.  
  358. public OnPlayerStreamIn(playerid, forplayerid)
  359. {
  360. return 1;
  361. }
  362.  
  363. public OnPlayerStreamOut(playerid, forplayerid)
  364. {
  365. return 1;
  366. }
  367.  
  368. public OnVehicleStreamIn(vehicleid, forplayerid)
  369. {
  370. return 1;
  371. }
  372.  
  373. public OnVehicleStreamOut(vehicleid, forplayerid)
  374. {
  375. return 1;
  376. }
  377.  
  378. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  379. {
  380. if(dialogid == LOG_DIALOG)
  381. {
  382. if(!response) return Kick(playerid);
  383. if(response)
  384. {
  385. new
  386. hashpass[250];
  387. WP_Hash(hashpass, sizeof(hashpass), inputtext);
  388. if(!strcmp(hashpass, USER_VAR[playerid][Password]))
  389. {
  390. INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
  391. ResetPlayerMoney(playerid);
  392. GivePlayerMoney(playerid, USER_VAR[playerid][Cash]);
  393. S(playerid, GREY, "You have logged in onto YOUR_NAME Role Play.");
  394. } else {
  395. ShowPlayerDialog(playerid, LOG_DIALOG, DIALOG_STYLE_INPUT, "Login (Error)", "You have filled in a incorrect password,\nPlease make sure you enter your password correctly.", "Enter", "Quit");
  396. return true;
  397. }
  398. }
  399. }
  400. if(dialogid == REG_DIALOG)
  401. {
  402. if(!response) return Kick(playerid);
  403. if(response)
  404. {
  405. new
  406. hashpass[250];
  407. WP_Hash(hashpass, sizeof(hashpass), inputtext);
  408. new INI:file = INI_Open(Path(playerid));
  409. INI_SetTag(file, "User Variables");
  410. INI_WriteString(file, "Password", hashpass);
  411. INI_WriteInt(file, "Admin", 0);
  412. INI_WriteInt(file, "Supporter", 0);
  413. INI_WriteInt(file, "Cash", 0);
  414. INI_WriteInt(file, "Muted", 0);
  415. INI_WriteInt(file, "Banned", 0);
  416. new number = 111111 + random(999999);
  417. INI_WriteInt(file, "PhoneNumb", number);
  418. INI_Close(file);
  419. S(playerid, GREY, "Your account has been stored in our database, thank you for registering.");
  420. }
  421. }
  422. if(dialogid == PHONE_MAIN && response)
  423. {
  424. switch(listitem) {
  425. case 0: {
  426. ShowPlayerDialog(playerid, PHONE_CALL, DIALOG_STYLE_INPUT, "Phone", "Please enter the phone-number of the person you wish to call.", "Call", "Cancel");
  427. }
  428. case 1: {
  429. ShowPlayerDialog(playerid, PHONE_TEXT, DIALOG_STYLE_INPUT, "Phone", "Please enter the phone-number of the person you wish to text.", "Text", "Cancel");
  430. }
  431. }
  432. }
  433. if(dialogid == PHONE_CALL && response)
  434. {
  435. new
  436. sscanfid[10], string[250];
  437.  
  438. sscanfid[2] = strval(inputtext);
  439. for(new i = 0; i < MAX_PLAYERS; i ++ ) {
  440. if(sscanfid[2] == USER_VAR[i][PhoneNumb]) {
  441. if(CallInfo[i][inCall] == true) return S(playerid, GREY, "They're in a call already.");
  442. format(string, sizeof(string), "* %s takes out their cellphone, and dials a number.", GN(playerid));
  443. SNM(playerid, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  444. PhoneRing(i);
  445. format(string, sizeof(string), "* %s's phone rings..", GN(i));
  446. SNM(i, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  447. CallInfo[i][Caller] = playerid;
  448. CallInfo[i][Calling] = true;
  449. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  450. }
  451. }
  452. }
  453. if(dialogid == PHONE_TEXT && response)
  454. {
  455. new
  456. sscanfid[10];
  457.  
  458. sscanfid[2] = strval(inputtext);
  459. if(sscanfid[2] == USER_VAR[playerid][PhoneNumb]) return true;
  460. for(new i = 0; i < MAX_PLAYERS; i ++ ) {
  461. TempVar[playerid] = i;
  462. ShowPlayerDialog(playerid, PHONE_TEXT_TWO, DIALOG_STYLE_INPUT, "Phone", "Type in the message you wish to send.", "Send", "Cancel");
  463. }
  464. }
  465. if(dialogid == PHONE_TEXT_TWO && response)
  466. {
  467. new
  468. string[250];
  469.  
  470. format(string, sizeof(string), "* %s takes out their cellphone, and dials some numbers.", GN(playerid));
  471. SNM(playerid, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  472. format(string, sizeof(string), "[SMS]: %i: %s", USER_VAR[playerid][PhoneNumb], sscanfinput);
  473. SendClientMessage(TempVar[playerid], YELLOW, string);
  474. }
  475. return true;
  476. }
  477.  
  478. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  479. {
  480. return 1;
  481. }
  482. stock Path(playerid)
  483. {
  484. new string[250], playername[MAX_PLAYER_NAME];
  485. GetPlayerName(playerid, playername, sizeof(playername));
  486. format(string, sizeof(string), UserPath, playername);
  487. return string;
  488. }
  489. stock GAR(playerid){
  490. new rank[32];
  491. if(USER_VAR[playerid][Admin] == 1) format(rank, sizeof(rank), "Moderator");
  492. else if(USER_VAR[playerid][Admin] == 2) format(rank, sizeof(rank), "Basic Administrator");
  493. else if(USER_VAR[playerid][Admin] == 3) format(rank, sizeof(rank), "General Administrator");
  494. else if(USER_VAR[playerid][Admin] == 4) format(rank, sizeof(rank), "Head Administrator");
  495. else if(USER_VAR[playerid][Admin] == 5) format(rank, sizeof(rank), "Director");
  496. return rank;
  497. }
  498. stock SNM(playerid, Float:radius, string[], col1, col2, col3, col4, col5){
  499. new Float:x, Float:y, Float:z;
  500. GetPlayerPos(playerid, x, y, z);
  501. new Float:ix, Float:iy, Float:iz;
  502. new Float:cx, Float:cy, Float:cz;
  503. foreach(Player, i){
  504. if(GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)){
  505. GetPlayerPos(i, ix, iy, iz);
  506. cx = (x - ix);
  507. cy = (y - iy);
  508. cz = (z - iz);
  509. if(((cx < radius/16) && (cx > -radius/16)) && ((cy < radius/16) && (cy > -radius/16)) && ((cz < radius/16) && (cz > -radius/16))){
  510. S(i, col1, string);}
  511. else if(((cx < radius/8) && (cx > -radius/8)) && ((cy < radius/8) && (cy > -radius/8)) && ((cz < radius/8) && (cz > -radius/8))){
  512. S(i, col2, string);}
  513. else if(((cx < radius/4) && (cx > -radius/4)) && ((cy < radius/4) && (cy > -radius/4)) && ((cz < radius/4) && (cz > -radius/4))){
  514. S(i, col3, string);}
  515. else if(((cx < radius/2) && (cx > -radius/2)) && ((cy < radius/2) && (cy > -radius/2)) && ((cz < radius/2) && (cz > -radius/2))){
  516. S(i, col4, string);}
  517. else if(((cx < radius) && (cx > -radius)) && ((cy < radius) && (cy > -radius)) && ((cz < radius) && (cz > -radius))){
  518. S(i, col5, string);}
  519. }
  520. }
  521. return 1;
  522. }
  523. stock GN(playerid)
  524. {
  525. new name[MAX_PLAYER_NAME];
  526. GetPlayerName(playerid,name,sizeof(name));
  527. for(new i = 0; i < MAX_PLAYER_NAME; i++)
  528. {
  529. if(name[i] == '_') name[i] = ' ';
  530. }
  531. return name;
  532. }
  533. stock SAM(color, admlvl, string[])
  534. {
  535. foreach(Player, i)
  536. {
  537. if(USER_VAR[i][Admin] >= admlvl)
  538. {
  539. SendClientMessage(i, color, string);
  540. }
  541. }
  542. return 1;
  543. }
  544. stock SA(col, string[]){
  545. new end1[256], end2[256], end3[256];
  546. if(strlen(string) > 90){
  547. format(end1, sizeof(end1), string);
  548. format(end2, sizeof(end2), string);
  549. strdel(end1, 90, 256);
  550. strdel(end2, 0, 90);
  551. format(end3, sizeof(end3), "%s ...", end1);
  552. SendClientMessageToAll(col, end3);
  553. format(end3, sizeof(end3), "... %s", end2);
  554. SendClientMessageToAll(col, end3);
  555. return 1;}
  556. else{
  557. SendClientMessageToAll(col, string);}
  558. return 1;
  559. }
  560. stock split(const strsrc[], strdest[][], delimiter = '|')
  561. {
  562. new i, li, aNum, len, srclen = strlen(strsrc);
  563. while(i <= srclen) {
  564. if (strsrc[i] == delimiter || i == srclen) {
  565. len = strmid(strdest[aNum], strsrc, li, i, 128);
  566. strdest[aNum][len] = 0;
  567. li = i + 1;
  568. aNum++;
  569. }
  570. i++;
  571. }
  572. }
  573.  
  574.  
  575.  
  576.  
  577. COMMAND:help(playerid, params[]) {
  578. S(playerid, WHITE, "____________________________________________________________________");
  579. S(playerid, GREY, " Help Commands: ");
  580. S(playerid, GREY, "Basic commands: /help");
  581. S(playerid, GREY, "Chat commands: /b, /s, /do");
  582. return true;
  583. }
  584. COMMAND:setadmin(playerid, params[]) {
  585. new
  586. aLevel, target, string[250];
  587.  
  588. if(!IsPlayerAdmin(playerid)) return S(playerid, RED, NOADMIN);
  589. if(sscanf(params, "ud", target, aLevel)) return S(playerid, WHITE, "[Parameters]: /setadmin (playerid) (admin-level)");
  590. if(USER_VAR[target][Admin] != aLevel) {
  591. if(USER_VAR[target][Admin] < aLevel) {
  592. format(string, sizeof(string), "AdmWarn: %s has promoted %s to a level %d administrator.", GN(playerid), GN(target), aLevel);
  593. }
  594. else if(USER_VAR[target][Admin] > aLevel) {
  595. format(string, sizeof(string), "AdmWarn: %s has demoted %s to a level %d administrator.", GN(playerid), GN(target), aLevel);
  596. }
  597. USER_VAR[target][Admin] = aLevel;
  598. SAM(RRED, 1, string);
  599. }
  600. else S(playerid, GREY, "ERROR: Player is already on the same admin-level.");
  601. return true;
  602. }
  603. COMMAND:mute(playerid, params[]) {
  604. new
  605. string[250], target;
  606.  
  607. if(USER_VAR[playerid][Admin] < 1) return S(playerid, RED, NOADMIN);
  608. if(sscanf(params, "us[128]", target, params)) return S(playerid, WHITE, "[Parameters]: /mute (playerid) (reason)");
  609. USER_VAR[target][Muted] = 1;
  610. format(string, sizeof(string), "WARNING: %s %s has muted you, reason: %s", GAR(playerid), GN(playerid), params);
  611. S(target, RED, string);
  612. format(string, sizeof(string), "AdmNote: %s has muted %s, reason: %s", GN(playerid), GN(target), params);
  613. SAM(RRED, 1, string);
  614. return true;
  615. }
  616. COMMAND:gmx(playerid, params[]) {
  617. if(USER_VAR[playerid][Admin] < 4) return S(playerid, RED, NOADMIN);
  618. new string[128];
  619. format(string, sizeof(string), "Server action: %s %s has issued an instant server restart.", GAR(playerid), GN(playerid));
  620. SA(0xff000000, string);
  621. SetTimer("GameModeInitExitFunc", 5000, false);
  622. return true;
  623. }
  624. COMMAND:report(playerid, params[]) {
  625. new
  626. string[250], target, D, M, Y;
  627.  
  628. getdate(D, M, Y);
  629. if(sscanf(params, "us[128]", target, params)) return S(playerid, WHITE, "[Parameters]: /report (playerid) (reason)");
  630. format(string, sizeof(string), "INCOMING-REPORT: [ID:%d] %s has filed a report against %s [ID:%d]. (%d/%d/%d)", playerid, GN(playerid), GN(target), target, D, M, Y);
  631. SAM(RRED, 1, string);
  632. format(string, sizeof(string), "INCOMING-REPORT: Reason: %s.", params);
  633. SAM(RRED, 1, string);
  634. format(string, sizeof(string), "REPORT-INFO: You have filed a report against %s. (%d/%d/%d)", GN(target), Y, M, D);
  635. S(target, GREEN, string);
  636. format(string, sizeof(string), "REPORT-INFO: (( %s. )) ", params);
  637. S(target, GREEN, string);
  638. DidReport[playerid] = 1;
  639. return true;
  640. }
  641. COMMAND:arp(playerid, params[]) {
  642. new
  643. string[250], target;
  644.  
  645. if(USER_VAR[playerid][Admin] < 1) return S(playerid, RED, NOADMIN);
  646. if(sscanf(params, "u", target)) return S(playerid, WHITE, "[Parameters]: /(a)ccept(r)e(p)ort (playerid)");
  647. if(DidReport[target]) {
  648. if(!AcceptedReport[target]) {
  649. AcceptedReport[target] = 1;
  650. format(string, sizeof(string), "AdmWarn: %s %s has accepted %s's report message.", GAR(playerid), GN(playerid), GN(target));
  651. SAM(RRED, 1, string);
  652. format(string, sizeof(string), "REPORT-INFO: %s %s has accepted your report and is reviewing it, please wait.", GAR(playerid), GN(playerid));
  653. S(target, GREEN, string);
  654. } else return S(playerid, GREY, "ERROR: This player is already being helped by another admin.");
  655. } else return S(playerid, GREY, "ERROR: This player did not file a report message.");
  656. return true;
  657. }
  658. COMMAND:drp(playerid, params[]) {
  659. new
  660. string[250], target;
  661.  
  662. if(USER_VAR[playerid][Admin] < 1) return S(playerid, RED, NOADMIN);
  663. if(sscanf(params, "u", target)) return S(playerid, WHITE, "[Parameters]: /(d)eny(r)e(p)ort (playerid)");
  664. if(DidReport[target]) {
  665. if(!AcceptedReport[target]) {
  666. AcceptedReport[target] = -1;
  667. format(string, sizeof(string), "AdmWarn: %s %s has denied %s's report message.", GAR(playerid), GN(playerid), GN(target));
  668. SAM(RRED, 1, string);
  669. format(string, sizeof(string), "REPORT-INFO: %s %s has denied your report, if you think this is wrong then report it on the forums.", GAR(playerid), GN(playerid));
  670. S(target, GREEN, string);
  671. } else return S(playerid, GREY, "ERROR: This player is already being helped by another admin.");
  672. } else return S(playerid, GREY, "ERROR: This player did not file a report message.");
  673. return true;
  674. }
  675. COMMAND:srp(playerid, params[]) {
  676. new
  677. string[250], target;
  678.  
  679. if(USER_VAR[playerid][Admin] < 1) return S(playerid, RED, NOADMIN);
  680. if(sscanf(params, "u", target)) return S(playerid, WHITE, "[Parameters]: /(s)olve(r)e(p)ort (playerid)");
  681. if(DidReport[target]) {
  682. DidReport[target] = 0;
  683. AcceptedReport[target] = -1;
  684. format(string, sizeof(string), "AdmWarn: %s %s has solved %s's report message.", GAR(playerid), GN(playerid), GN(target));
  685. SAM(RRED, 1, string);
  686. format(string, sizeof(string), "REPORT-INFO: %s %s has marked your report as solved.", GAR(playerid), GN(playerid));
  687. S(target, GREEN, string);
  688. } else return S(playerid, GREY, "ERROR: This player did not file a report message.");
  689. return true;
  690. }
  691. COMMAND:kick(playerid, params[]) {
  692. new
  693. string[250], target, D, M, Y;
  694.  
  695. getdate(D, M, Y);
  696. if(USER_VAR[playerid][Admin] < 1) return S(playerid, RED, NOADMIN);
  697. if(sscanf(params, "us[128]", target, params)) return S(playerid, WHITE, "[Parameters]: /kick (playerid) (reason)");
  698. format(string, sizeof(string), "Server action: %s has been kicked by %s, reason: %s (%d/%d/%d)", GN(target), GN(playerid), params, D, M, Y);
  699. SA(0xff000000, string);
  700. Kick(target);
  701. return true;
  702. }
  703. COMMAND:ban(playerid, params[]) {
  704. new
  705. string[250], target, D, M, Y;
  706.  
  707. getdate(D, M, Y);
  708. if(USER_VAR[playerid][Admin] < 1) return S(playerid, RED, NOADMIN);
  709. if(sscanf(params, "us[128]", target, params)) return S(playerid, WHITE, "[Parameters]: /ban (playerid) (reason)");
  710. format(string, sizeof(string), "Server action: %s has been banned by %s, reason: %s (%d/%d/%d)", GN(target), GN(playerid), params, D, M, Y);
  711. SA(0xff000000, string);
  712. Ban(target);
  713. return true;
  714. }
  715. COMMAND:b(playerid, params[]) {
  716. new
  717. string[250];
  718.  
  719. if(USER_VAR[playerid][Muted]) return S(playerid, RED, "You are muted therefore you can't talk.");
  720. if(sscanf(params, "s[250]", params)) return S(playerid, WHITE, "[Parameters]: /b (text)");
  721. format(string, sizeof(string), "* %s %s", GN(playerid), params);
  722. SNM(playerid, 20.0, string, GREY, GREY, GREY, GREY, GREY);
  723. return true;
  724. }
  725. COMMAND:s(playerid, params[]) {
  726. new
  727. string[250];
  728.  
  729. if(USER_VAR[playerid][Muted]) return S(playerid, RED, "You are muted therefore you can't talk.");
  730. if(sscanf(params, "s[250]", params)) return S(playerid, WHITE, "[Parameters]: /s (text)");
  731. format(string, sizeof(string), "* %s %s", GN(playerid), params);
  732. SNM(playerid, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  733. return true;
  734. }
  735. COMMAND:do(playerid, params[]) {
  736. new
  737. string[250];
  738.  
  739. if(USER_VAR[playerid][Muted]) return S(playerid, RED, "You are muted therefore you can't talk.");
  740. if(sscanf(params, "s[250]", params)) return S(playerid, WHITE, "[Parameters]: /do (action)");
  741. format(string, sizeof(string), "%s (( %s ))", params, GN(playerid));
  742. SNM(playerid, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  743. return true;
  744. }
  745. COMMAND:adminduty(playerid, params[]) {
  746. new
  747. string[250];
  748.  
  749. if(!aDuty[playerid]) {
  750. aDuty[playerid] = true;
  751. SendClientMessage(playerid, GREY, "[Information]: You have went on-duty.");
  752. format(string, sizeof(string), "AdmNote: %s is now ON admin duty.", GN(playerid));
  753. }
  754. else if(aDuty[playerid]) {
  755. aDuty[playerid] = false;
  756. SendClientMessage(playerid, GREY, "[Information]: You have went off-duty.");
  757. format(string, sizeof(string), "AdmNote: %s is now OFF admin duty.", GN(playerid));
  758. }
  759. SAM(RRED, 1, string);
  760. return true;
  761. }
  762. COMMAND:phone(playerid, params[]) {
  763. ShowPlayerDialog(playerid, PHONE_MAIN, DIALOG_STYLE_LIST, "Phone", "Call\nText", "Next", "Cancel");
  764. return true;
  765. }
  766. COMMAND:pickup(playerid, params[]) {
  767. new
  768. string[250];
  769.  
  770. if(CallInfo[playerid][Calling] == true) {
  771. CallInfo[playerid][inCall] = true;
  772. CallInfo[playerid][Calling] = false;
  773. S(CallInfo[playerid][Caller], GREY, "[Information]: They picked up.");
  774. format(string, 128, "%s takes out their cellphone.", GN(playerid));
  775. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
  776. SNM(playerid, 20.0, string, PURPLE, PURPLE, PURPLE, PURPLE, PURPLE);
  777. CallInfo[CallInfo[playerid][Caller]][Caller] = playerid;
  778. CallInfo[CallInfo[playerid][Caller]][inCall] = true;
  779. }
  780. else return S(playerid, GREY, "[Error]: No one is calling you.");
  781. return true;
  782. }
  783. COMMAND:hangup(playerid, params[]) {
  784. SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
  785. if(CallInfo[playerid][inCall] == false) return 1;
  786. S(CallInfo[playerid][Caller], GREY, "[Information]: They hung up.");
  787. S(playerid, GREY, "[Information]: You hung up.");
  788. CallInfo[playerid][inCall] = false;
  789. CallInfo[playerid][Caller] = -1;
  790. return true;
  791. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement