Advertisement
Guest User

Untitled

a guest
Mar 14th, 2011
711
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.66 KB | None | 0 0
  1. /**************************************************************
  2. * RULE SYSTEM *
  3. * ^^ *
  4. * (o )o) (o )o) *
  5. * <-- | --> .: By Iron Smith :. <-- | --> *
  6. * / \ / \ *
  7. ***************************************************************/
  8.  
  9. //====================================INCLUDES==================================
  10. //=========================INCLUDES=============================================
  11. #include <a_samp>
  12. #include <zcmd>
  13. #include <colors>
  14. #include <sscanf2>
  15. //====================================DEFINES===================================
  16. //=========================DEFINES==============================================
  17. #define COLOR_GRAD1 0xB4B5B7FF
  18. #define COLOR_LIGHTRED 0xFF6347AA
  19. #define RED 0xF20606FF
  20. //=====================================FORWARDS=================================
  21. //=========================FORWARDS=============================================
  22. forward ShowRules(playerid);
  23. forward HideRules(playerid);
  24. forward ABroadCast(color,const string[],level);
  25. forward Messages();
  26. //=====================================TEXT NEWS================================
  27. //=========================TEXT NEWS============================================
  28. new Text:Rules1;
  29. new Text:Rules2;
  30. new Text:Rules3;
  31. new Text:Rules4;
  32. new Text:Rules5;
  33. new Text:Rules6;
  34. new Text:Rules7;
  35. new Text:Rules8;
  36. new Text:Rules9;
  37. new Text:Rules10;
  38. new Text:Rules11;
  39. new Text:Rules12;
  40. new Text:Rules13;
  41. new Text:Rules14;
  42. //=====================================RANDOM NEWS==============================
  43. //=========================RANDOM NEWS==========================================
  44. new PMessages[][] =
  45. {
  46. ".:{0000CC} We use{990066} rule system,{FF0000} more information in /rulesforme :.",
  47. ".:{0000CC} You can use{990066} /rules too ! :."
  48. };
  49. new rmessages;
  50. new bool:RandomMessages;
  51. //=====================================NEWS=====================================
  52. //=========================NEWS=================================================
  53. new ViewingRules[MAX_PLAYERS];
  54. new giveplayerid;
  55. //=====================================COMMANDS=================================
  56. //=========================COMMANDS=============================================
  57. COMMAND:rules(playerid,params[])
  58. {
  59. ShowDialog(playerid, 9980);
  60. return 1;
  61. }
  62. COMMAND:rulesforme(playerid,params[])
  63. {
  64. if(IsPlayerConnected(playerid))
  65. {
  66. ShowRules(playerid);
  67. SendClientMessage(playerid,COLOR_GREY, "{003399}Press ENTER,{339933} if you dont want see rules anymore .");
  68. ViewingRules[playerid] = 1;
  69. }
  70. return 1;
  71. }
  72. //------------------------------------------------------------------------------
  73. COMMAND:showrules(playerid, params[])
  74. {
  75. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,RED,"{FF0000}You are not in RCON admin!");
  76. if (sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREEN, "{00FF66}Usage :{003399} /showrules [ID]");
  77. if(IsPlayerConnected(giveplayerid))
  78. {
  79. if(giveplayerid != INVALID_PLAYER_ID)
  80. {
  81. if(ViewingRules[giveplayerid] == 0)
  82. {
  83. new string[256];
  84. new giveplayer[MAX_PLAYER_NAME];
  85. new sendername[MAX_PLAYER_NAME];
  86. ShowRules(giveplayerid);
  87. ViewingRules[giveplayerid] = 1;
  88. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  89. GetPlayerName(playerid, sendername, sizeof(giveplayer));
  90. format(string, sizeof(string), "[ADMIN]: %s show rules to %s (%d).", sendername, giveplayer, giveplayerid);
  91. ABroadCast(COLOR_LIGHTRED, string, 5);
  92. }
  93. else
  94. {
  95. SendClientMessage(playerid, COLOR_GRAD1, "* Player watch rules, you cant show him that.");
  96. return 1;
  97. }
  98. }
  99. }
  100. return 0;
  101. }
  102. //------------------------------------------------------------------------------
  103. COMMAND:showrulesall(playerid, params[])
  104. {
  105. new string[256];
  106. new sendername[MAX_PLAYER_NAME];
  107. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,RED,"{FF0000}You are not in RCON admin!");
  108. format(string, sizeof(string), "[ADMIN]: %s Showed the Rules to Everyone.", sendername);
  109. ABroadCast(COLOR_LIGHTRED, string, 5);
  110. SendClientMessageToAll(COLOR_GREY, "* Press ENTER, if you dont want see rules anymore .");
  111. for(new i = 0; i < MAX_PLAYERS; i++)
  112. {
  113. if(IsPlayerConnected(i))
  114. {
  115. ShowRules(i);
  116. ViewingRules[i] = 1;
  117. }
  118. }
  119. return 1;
  120. }
  121. //------------------------------------------------------------------------------
  122. COMMAND:randommessage(playerid, params[])
  123. {
  124. if(IsPlayerAdmin(playerid))
  125. {
  126. new string[64];
  127. new ime[20];
  128. GetPlayerName(playerid, ime, sizeof(ime));
  129. if(RandomMessages == true)
  130. {
  131. format(string, sizeof(string), "Random Messages turned off by an admin: %s", ime);
  132. SendClientMessageToAll(0xFF8000FF, string);
  133. RandomMessages = false;
  134. return 1;
  135. }
  136. if(RandomMessages == false)
  137. {
  138. format(string, sizeof(string), "Random Messages turned on by an admin: %s", ime);
  139. SendClientMessageToAll(0xFF8000FF, string);
  140. RandomMessages = true;
  141. return 1;
  142. }
  143. }
  144. else
  145. {
  146. SendClientMessage(playerid, 0xC0C0C0FF, " {FF0000}you don't have permission to use this command!");
  147. return 1;
  148. }
  149. return 1;
  150. }
  151. //------------------------------------------------------------------------------
  152. COMMAND:showmessage(playerid, params[])
  153. {
  154. if(IsPlayerAdmin(playerid))
  155. {
  156. Messages();
  157. }
  158. else
  159. {
  160. SendClientMessage(playerid, 0xC0C0C0FF, "{FF0000}you don't have permission to use this command!");
  161. return 1;
  162. }
  163. return 1;
  164. }
  165. //------------------------------------------------------------------------------
  166. COMMAND:ruleshelp(playerid,params[])
  167. {
  168. #pragma unused params
  169. new DialogText[768];
  170. strcat(DialogText, "{FF0000}/Rules {FFFFFF}.: It's show you dialog, where you can see {3333FF} all things :.\n");
  171. strcat(DialogText, "{FF0000}/RulesForMe {FFFFFF}.: There you can see{3333FF} rules :.\n");
  172. strcat(DialogText, "{FF0000}/ShowRules[ID]{FFFFFF}.: It's rcon command, that player see that, {3333FF}who ID you type :.\n");
  173. strcat(DialogText, "{FF0000}/ShowRulesAll {FFFFFF}.: It's rcon command and if you use that, then all {3333FF}see rules :.\n");
  174. ShowPlayerDialog(playerid, 9981, DIALOG_STYLE_MSGBOX, "Rule Commands", DialogText, "Ok", "");
  175. SendClientMessage(playerid, COLOR_GRAD1, "* {3333FF}Thanks for{FFFFFF} watching rules {FF0000}commands !");
  176. return 1;
  177. }
  178. //=====================================PUBLICS==================================
  179. //=========================PUBLICS==============================================
  180. public OnFilterScriptInit()
  181. {
  182. print("\n--------------------------------------");
  183. print(" Rule system by Iron is loaded (Y)^^");
  184. print("--------------------------------------\n");
  185. RandomMessages = true;
  186. rmessages = SetTimer("Messages", 50000, true);
  187.  
  188. Rules1 = TextDrawCreate(319.000000, 59.000000, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~");
  189. TextDrawAlignment(Rules1, 2);
  190. TextDrawBackgroundColor(Rules1, 255);
  191. TextDrawFont(Rules1, 1);
  192. TextDrawLetterSize(Rules1, 0.990000, 1.400000);
  193. TextDrawColor(Rules1, -1);
  194. TextDrawSetOutline(Rules1, 0);
  195. TextDrawSetProportional(Rules1, 1);
  196. TextDrawSetShadow(Rules1, 1);
  197. TextDrawUseBox(Rules1, 1);
  198. TextDrawBoxColor(Rules1, 50);
  199. TextDrawTextSize(Rules1, 9.000000, -452.000000);
  200.  
  201. Rules2 = TextDrawCreate(319.000000, 60.000000, "RSS RolePlay // Edit that");
  202. TextDrawAlignment(Rules2, 2);
  203. TextDrawBackgroundColor(Rules2, 255);
  204. TextDrawFont(Rules2, 0);
  205. TextDrawLetterSize(Rules2, 0.649999, 2.000000);
  206. TextDrawColor(Rules2, -1);
  207. TextDrawSetOutline(Rules2, 1);
  208. TextDrawSetProportional(Rules2, 1);
  209.  
  210. Rules3 = TextDrawCreate(315.000000, 82.000000, "~g~Welcome to our server !");
  211. TextDrawAlignment(Rules3, 2);
  212. TextDrawBackgroundColor(Rules3, 255);
  213. TextDrawFont(Rules3, 2);
  214. TextDrawLetterSize(Rules3, 0.559999, 1.800000);
  215. TextDrawColor(Rules3, -1);
  216. TextDrawSetOutline(Rules3, 1);
  217. TextDrawSetProportional(Rules3, 1);
  218.  
  219. Rules4 = TextDrawCreate(322.000000, 104.000000, "~y~You get best playing to us !");
  220. TextDrawAlignment(Rules4, 2);
  221. TextDrawBackgroundColor(Rules4, 255);
  222. TextDrawFont(Rules4, 3);
  223. TextDrawLetterSize(Rules4, 0.589999, 2.100000);
  224. TextDrawColor(Rules4, -1);
  225. TextDrawSetOutline(Rules4, 1);
  226. TextDrawSetProportional(Rules4, 1);
  227.  
  228. Rules5 = TextDrawCreate(100.000000, 178.000000, "~y~1) ~w~Everytime make RP ~n~~n~~n~~n~~y~3) ~w~CP is not allowed ~n~~n~~n~~n~~y~5) ~w~Never dont say bad in OOC!");
  229.  
  230. TextDrawBackgroundColor(Rules5, 255);
  231. TextDrawFont(Rules5, 1);
  232. TextDrawLetterSize(Rules5, 0.400000, 1.500000);
  233. TextDrawColor(Rules5, -1);
  234. TextDrawSetOutline(Rules5, 1);
  235. TextDrawSetProportional(Rules5, 1);
  236.  
  237. Rules6 = TextDrawCreate(116.000000, 197.000000, "~b~Everytime make RP, then too, when you dont want make RP ~n~Only admins can say that, you dont need to RP.");
  238. TextDrawBackgroundColor(Rules6, -65281);
  239. TextDrawFont(Rules6, 1);
  240. TextDrawLetterSize(Rules6, 0.220000, 0.899999);
  241. TextDrawColor(Rules6, -1);
  242. TextDrawSetOutline(Rules6, 0);
  243. TextDrawSetProportional(Rules6, 1);
  244. TextDrawSetShadow(Rules6, 0);
  245.  
  246. Rules7 = TextDrawCreate(137.000000, 141.000000, "Little help:");
  247. TextDrawBackgroundColor(Rules7, 255);
  248. TextDrawFont(Rules7, 1);
  249. TextDrawLetterSize(Rules7, 0.500000, 1.400000);
  250. TextDrawColor(Rules7, -1778384641);
  251. TextDrawSetOutline(Rules7, 1);
  252. TextDrawSetProportional(Rules7, 1);
  253.  
  254. Rules8 = TextDrawCreate(116.000000, 251.000000, "Like others RP servers, ~n~same there is CP ~r~NOT ALLOWED. ~n~If you drive into a people,~n~ then its not allowed.");
  255. TextDrawBackgroundColor(Rules8, -65281);
  256. TextDrawFont(Rules8, 1);
  257. TextDrawLetterSize(Rules8, 0.220000, 0.899999);
  258. TextDrawColor(Rules8, -1);
  259. TextDrawSetOutline(Rules8, 0);
  260. TextDrawSetProportional(Rules8, 1);
  261. TextDrawSetShadow(Rules8, 0);
  262.  
  263. Rules9 = TextDrawCreate(116.000000, 305.000000, "OOC saying bad is not allowed! ~n~If you wan't to say something bad, ~n~say that IC! :). OOC bad saying ~n~~r~ = ~r~Banaana!");
  264. TextDrawBackgroundColor(Rules9, -65281);
  265. TextDrawFont(Rules9, 1);
  266. TextDrawLetterSize(Rules9, 0.220000, 0.899999);
  267. TextDrawColor(Rules9, -1);
  268. TextDrawSetOutline(Rules9, 0);
  269. TextDrawSetProportional(Rules9, 1);
  270. TextDrawSetShadow(Rules9, 0);
  271.  
  272. Rules10 = TextDrawCreate(534.000000, 178.000000, "~y~2) ~w~Watch our ~r~website~w~~n~~n~~n~~n~~y~4) ~w~How to be ~r~ ADMIN?~n~~n~~n~~n~~y~ ~b~Have a ~r~best ~b~time with it!");
  273. TextDrawAlignment(Rules10, 3);
  274. TextDrawBackgroundColor(Rules10, 255);
  275. TextDrawFont(Rules10, 1);
  276. TextDrawLetterSize(Rules10, 0.400000, 1.500000);
  277. TextDrawColor(Rules10, -1);
  278. TextDrawSetOutline(Rules10, 1);
  279. TextDrawSetProportional(Rules10, 1);
  280.  
  281. Rules11 = TextDrawCreate(511.000000, 253.000000, "Never don't ask admin in game!~n~That you can make in forum~n~~y~Forumpage- ~w~ forum.sa-mp.com");
  282. TextDrawAlignment(Rules11, 3);
  283. TextDrawBackgroundColor(Rules11, -65281);
  284. TextDrawFont(Rules11, 1);
  285. TextDrawLetterSize(Rules11, 0.220000, 0.899999);
  286. TextDrawColor(Rules11, -1);
  287. TextDrawSetOutline(Rules11, 0);
  288. TextDrawSetProportional(Rules11, 1);
  289. TextDrawSetShadow(Rules11, 0);
  290.  
  291. Rules12 = TextDrawCreate(511.000000, 195.000000, "~y~~n~~w~Homepage is forum.sa-mp.com~n~~n~~r~Register now ! :)");
  292. TextDrawAlignment(Rules12, 3);
  293. TextDrawBackgroundColor(Rules12, -65281);
  294. TextDrawFont(Rules12, 1);
  295. TextDrawLetterSize(Rules12, 0.220000, 0.899999);
  296. TextDrawColor(Rules12, -1);
  297. TextDrawSetOutline(Rules12, 0);
  298. TextDrawSetProportional(Rules12, 1);
  299. TextDrawSetShadow(Rules12, 0);
  300.  
  301. Rules13 = TextDrawCreate(511.000000, 307.000000, "~n~There is SAMP forum ~n~~r~Gertin!~w~ ~w~~n~You get more information in forum.sa-mp.com!~n~Have a nice day!");
  302. TextDrawAlignment(Rules13, 3);
  303. TextDrawBackgroundColor(Rules13, -65281);
  304. TextDrawFont(Rules13, 1);
  305. TextDrawLetterSize(Rules13, 0.220000, 0.899999);
  306. TextDrawColor(Rules13, -1);
  307. TextDrawSetOutline(Rules13, 0);
  308. TextDrawSetProportional(Rules13, 1);
  309. TextDrawSetShadow(Rules13, 0);
  310.  
  311. Rules14 = TextDrawCreate(171.000000, 373.000000, "Thanks for reading! ~b~");
  312. TextDrawBackgroundColor(Rules14, 255);
  313. TextDrawFont(Rules14, 1);
  314. TextDrawLetterSize(Rules14, 0.500000, 1.000000);
  315. TextDrawColor(Rules14, -1);
  316. TextDrawSetOutline(Rules14, 1);
  317. TextDrawSetProportional(Rules14, 1);
  318. }
  319. //------------------------------------------------------------------------------
  320. public OnFilterScriptExit()
  321. {
  322. print("\n--------------------------------------");
  323. print(" Rule system by Iron is unloaded (N)");
  324. print("--------------------------------------\n");
  325. KillTimer(rmessages);
  326. return 1;
  327. }
  328. //------------------------------------------------------------------------------
  329. public OnPlayerSpawn(playerid)
  330. {
  331. SetTimerEx("ShowRules",3000,false,"i",playerid);
  332. SetTimerEx("HideRules",25000,false,"i",playerid);
  333. }
  334. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  335. {
  336. if(newkeys == KEY_SECONDARY_ATTACK)
  337. {
  338. if(IsPlayerConnected(playerid))
  339. {
  340. if(ViewingRules[playerid] == 1)
  341. {
  342. HideRules(playerid);
  343. ViewingRules[playerid] = 0;
  344. }
  345. }
  346. }
  347. }
  348. //------------------------------------------------------------------------------
  349. public ABroadCast(color,const string[],level)
  350. {
  351. for(new i = 0; i < MAX_PLAYERS; i++)
  352. {
  353. if(IsPlayerConnected(i))
  354. {
  355. SendClientMessage(i, color, string);
  356. printf("%s", string);
  357. }
  358. }
  359. return 1;
  360. }
  361. //------------------------------------------------------------------------------
  362. public Messages()
  363. {
  364. if(RandomMessages == true)
  365. {
  366. new string[128];
  367. new mess = random(sizeof(PMessages));
  368. format(string, sizeof(string), "{FF6600}[Server {99FF00}Message{FF6600}]: %s", PMessages[mess]);
  369. SetTimer("PMessages", 3000, 0);
  370. SendClientMessageToAll(0xFFFF00AA, string);
  371. }
  372. return 1;
  373. }
  374. //=====================================HIDEING AND SHOWING RULES================
  375. //=========================HIDEING AND SHOWING RULES============================
  376. public HideRules(playerid)
  377. {
  378. TextDrawHideForPlayer(playerid,Rules1);
  379. TextDrawHideForPlayer(playerid,Rules2);
  380. TextDrawHideForPlayer(playerid,Rules3);
  381. TextDrawHideForPlayer(playerid,Rules4);
  382. TextDrawHideForPlayer(playerid,Rules5);
  383. TextDrawHideForPlayer(playerid,Rules6);
  384. TextDrawHideForPlayer(playerid,Rules7);
  385. TextDrawHideForPlayer(playerid,Rules8);
  386. TextDrawHideForPlayer(playerid,Rules9);
  387. TextDrawHideForPlayer(playerid,Rules10);
  388. TextDrawHideForPlayer(playerid,Rules11);
  389. TextDrawHideForPlayer(playerid,Rules12);
  390. TextDrawHideForPlayer(playerid,Rules13);
  391. TextDrawHideForPlayer(playerid,Rules14);
  392. return 1;
  393. }
  394. //------------------------------------------------------------------------------
  395. public ShowRules(playerid)
  396. {
  397. TextDrawShowForPlayer(playerid, Rules1);
  398. TextDrawShowForPlayer(playerid, Rules2);
  399. TextDrawShowForPlayer(playerid, Rules3);
  400. TextDrawShowForPlayer(playerid, Rules4);
  401. TextDrawShowForPlayer(playerid, Rules5);
  402. TextDrawShowForPlayer(playerid, Rules6);
  403. TextDrawShowForPlayer(playerid, Rules7);
  404. TextDrawShowForPlayer(playerid, Rules8);
  405. TextDrawShowForPlayer(playerid, Rules9);
  406. TextDrawShowForPlayer(playerid, Rules10);
  407. TextDrawShowForPlayer(playerid, Rules11);
  408. TextDrawShowForPlayer(playerid, Rules12);
  409. TextDrawShowForPlayer(playerid, Rules13);
  410. TextDrawShowForPlayer(playerid, Rules14);
  411. return 1;
  412. }
  413. //===========================================DIALOGS============================
  414. //=========================DIALOGS==============================================
  415. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  416. {
  417. if(response)
  418. {
  419. if(dialogid == 9980)
  420. {
  421. if(listitem == 0)
  422. {
  423. if(IsPlayerConnected(playerid))
  424. {
  425. ShowRules(playerid);
  426. SendClientMessage(playerid,COLOR_GREY, "Press ENTER, if you dont want see rules anymore ");
  427. ViewingRules[playerid] = 1;
  428. }
  429. }
  430. if(listitem == 1)
  431. {
  432. new string[256];
  433. new sendername[MAX_PLAYER_NAME];
  434. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,RED,"{FF0000}You are not in RCON admin!");
  435. format(string, sizeof(string), "[ADMIN]: %s Showed the Rules to Everyone.", sendername);
  436. ABroadCast(COLOR_LIGHTRED, string, 5);
  437. SendClientMessageToAll(COLOR_GREY, "* {003399}Press ENTER,{339933} if you dont want see rules anymore .");
  438. for(new i = 0; i < MAX_PLAYERS; i++)
  439. {
  440. if(IsPlayerConnected(i))
  441. {
  442. ShowRules(i);
  443. ViewingRules[i] = 1;
  444. }
  445. }
  446. }
  447. if(listitem == 2)
  448. {
  449. SendClientMessage(playerid,COLOR_GREY, "{00FF66}Usage :{003399} /showrules [ID] ");
  450. }
  451. if(listitem == 3)
  452. {
  453. SendClientMessage(playerid,COLOR_GREY, "{00FF66}Usage :{003399} /ruleshelp ");
  454. }
  455. }
  456. }
  457. return 0;
  458. }
  459. //------------------------------------------------------------------------------
  460. stock ShowDialog(playerid, dialog)
  461. {
  462. switch(dialog)
  463. {
  464. case 9980: ShowPlayerDialog(playerid, dialog,DIALOG_STYLE_LIST,"{003399}R{00FF66}ules", "{6600CC}Show Me Rules\n{990033}Show All Rules\n{339933}Show Some Player Rules\n{FFCC33}See All Commands","Next", "Cancel");
  465. }
  466. return 0;
  467. }
  468. //==============================================================================
  469. //=========================END OF ALL, GOOD BYE ALL=============================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement