Advertisement
Guest User

Cappsy számára by: Raidon™

a guest
Feb 26th, 2013
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 44.96 KB | None | 0 0
  1.  
  2. /*
  3. This Source Code Form is subject to the terms of the Mozilla Public
  4. License, v. 2.0. If a copy of the MPL was not distributed with this file,
  5. You can obtain one at http://mozilla.org/MPL/2.0/
  6. */
  7.  
  8. /*============================================================================*/
  9. // Includék
  10.  
  11. #include <a_samp> //Thanks to the SA-MP Team.
  12. #include <ZCMD> //Thanks to Zeex.
  13. #include <sscanf2> //Thanks to Y_Less.
  14. #include <DOF2> //Thanks to Double-O-Seven.
  15.  
  16. /*============================================================================*/
  17. // Definációk
  18.  
  19. #define PROFILE "{00A6FF}[PROFILE]{737373} "
  20.  
  21. #define USER_DIRECTORY "/Profiles/%s.ini"
  22.  
  23. #define LOOP(%0,%1) for(new %0 = 0; %0 < %1; %0++)
  24. #define LOOP_s(%0,%1) for(new %0 = 0; %0 < sizeof(%1); %0++)
  25. #define ExceedsIndex(%0,%1) (%0 < 0 || %0 >= sizeof %1)
  26.  
  27. #define BG_key "Backgroundid"
  28. #define AV_key "Avatarid"
  29. #define INFO_key "Info"
  30. #define REGDATE_key "Registration"
  31. #define LASTACTIVE_key "Lastactive"
  32. #define REP_key "Reputation"
  33. #define VIP_key "Viplevel"
  34. #define LVL_key "Adminlevel"
  35. #define VIPTEXT_key "Vipstatustext"
  36. #define LVLTEXT_key "Levelstatustext"
  37. #define TRUSTED_key "Trusted"
  38. #define FEATURED_key "Featured"
  39. #define PRO_key "Professional"
  40.  
  41. #define EDITMODE_BACKGROUND 1
  42. #define EDITMODE_AVATAR 2
  43.  
  44. /*============================================================================*/
  45. // VARIABLES
  46.  
  47. new
  48. DAY, MONTH, YEAR,
  49. PROFILE_STRING [256],
  50. PROFILE_ERROR [128],
  51.  
  52. bool:Profile_ENABLED [MAX_PLAYERS],
  53. Profile_EditMode [MAX_PLAYERS],
  54.  
  55. bool:Profile_New [MAX_PLAYERS],
  56. Profile_Name [MAX_PLAYERS][MAX_PLAYER_NAME],
  57. Profile_Background [MAX_PLAYERS],
  58. Profile_Avatar [MAX_PLAYERS],
  59. Profile_Reputation [MAX_PLAYERS],
  60. Profile_Viplevel [MAX_PLAYERS],
  61. Profile_Adminlevel [MAX_PLAYERS],
  62. Profile_Info [MAX_PLAYERS][256],
  63. Profile_Registerdate [MAX_PLAYERS][20],
  64. Profile_Lastactive [MAX_PLAYERS][20],
  65. Profile_Viptext [MAX_PLAYERS][20],
  66. Profile_Admintext [MAX_PLAYERS][20],
  67. bool:Profile_Trusted [MAX_PLAYERS],
  68. bool:Profile_Featured [MAX_PLAYERS],
  69. bool:Profile_Pro [MAX_PLAYERS],
  70. Profile_Currentuser [MAX_PLAYERS][MAX_PLAYER_NAME],
  71. Profile_CmdTimer [MAX_PLAYERS],
  72. Profile_Cooldown [MAX_PLAYERS],
  73.  
  74. Text:CopyrightP,
  75. Text:ProfileBase [3],
  76. Text:Status [2],
  77. Text:Elements [9],
  78. Text:RepBars [5],
  79. Text:VipBars [5],
  80. Text:LevelBars [5],
  81. Text:Awards [3][2],
  82. Text:EditArrows [4],
  83. Text:DynProfile [MAX_PLAYERS][7],
  84.  
  85. Avatar_Icons[][] =
  86. {
  87. "none", "LD_TATT:9homby", "LD_TATT:9gun2",
  88. "LD_TATT:9gun", "LD_TATT:9crown", "LD_TATT:9bullt",
  89. "LD_TATT:8westsd", "LD_TATT:8santos", "LD_TATT:8sa3",
  90. "LD_TATT:8sa2", "LD_TATT:8sa", "LD_TATT:8poker",
  91. "LD_TATT:8gun", "LD_TATT:7mary", "LD_TATT:7cross3",
  92. "LD_TATT:7cross2", "LD_TATT:7cross", "LD_TATT:6crown",
  93. "LD_TATT:6aztec", "LD_TATT:6africa", "ld_shtr:ufo",
  94. "LD_TATT:5gun", "LD_TATT:5cross3", "LD_TATT:5cross2",
  95. "LD_TATT:5cross", "LD_TATT:4weed", "LD_TATT:4spider",
  96. "LD_TATT:4rip", "LD_TATT:12myfac", "LD_TATT:12maybr",
  97. "LD_TATT:12dager", "LD_TATT:12cross", "LD_TATT:12bndit",
  98. "LD_TATT:12angel", "LD_TATT:11jail", "LD_TATT:11grove",
  99. "LD_TATT:11grov3", "LD_TATT:11grov2", "LD_TATT:11ggift",
  100. "LD_TATT:11dice2", "LD_TATT:11dice", "LD_TATT:10weed",
  101. "LD_TATT:10og", "LD_TATT:10ls5", "LD_TATT:10ls4",
  102. "LD_TATT:10ls3", "LD_TATT:10ls2", "LD_TATT:10ls",
  103. "ld_bum:bum1", "ld_bum:bum2", "ld_grav:bee1",
  104. "ld_otb:hrs8", "ld_shtr:kami", "ld_shtr:ship"
  105. },
  106. Text:Avatars[sizeof Avatar_Icons],
  107.  
  108. Background_Images[][] =
  109. {
  110. "none", "LOADSUK:loadsc9", "LOADSUK:loadsc8",
  111. "LOADSUK:loadsc7", "LOADSUK:loadsc6", "LOADSUK:loadsc5",
  112. "LOADSUK:loadsc4", "LOADSUK:loadsc3", "LOADSUK:loadsc2",
  113. "LOADSUK:loadsc14", "LOADSUK:loadsc13", "LOADSUK:loadsc12",
  114. "LOADSUK:loadsc11", "LOADSUK:loadsc10", "LOADSUK:loadsc1",
  115. "loadsc12:loadsc12","loadsc13:loadsc13","loadsc9:loadsc9",
  116. "splash1:splash1", "splash2:splash2"
  117.  
  118. },
  119. Text:Backgrounds[sizeof Background_Images]
  120. ;
  121.  
  122. /*============================================================================*/
  123. // FILTERSCRIPT FUNCTIONS
  124.  
  125. stock Text:TextDrawCreateSafe(Float:X, Float:Y, textstring[])
  126. {
  127. if(!strlen(textstring)) strcat(textstring, "_", 2);
  128. return TextDrawCreate(X, Y, textstring);
  129. }
  130.  
  131. stock CreateTextdraws()
  132. {
  133. ProfileBase[0] =
  134. TextDrawCreate (320.000000, 279.000000, "-");
  135. TextDrawAlignment (ProfileBase[0], 2);
  136. TextDrawBackgroundColor (ProfileBase[0], 255);
  137. TextDrawFont (ProfileBase[0], 2);
  138. TextDrawLetterSize (ProfileBase[0], 32.689998, 10.000000);
  139. TextDrawColor (ProfileBase[0], 120);
  140. TextDrawSetOutline (ProfileBase[0], 0);
  141. TextDrawSetProportional (ProfileBase[0], 1);
  142. TextDrawSetShadow (ProfileBase[0], 0);
  143.  
  144. ProfileBase[1] =
  145. TextDrawCreate (320.000000, 92.000000, "-");
  146. TextDrawAlignment (ProfileBase[1], 2);
  147. TextDrawBackgroundColor (ProfileBase[1], 255);
  148. TextDrawFont (ProfileBase[1], 2);
  149. TextDrawLetterSize (ProfileBase[1], 32.689998, 10.000000);
  150. TextDrawColor (ProfileBase[1], 120);
  151. TextDrawSetOutline (ProfileBase[1], 0);
  152. TextDrawSetProportional (ProfileBase[1], 1);
  153. TextDrawSetShadow (ProfileBase[1], 0);
  154.  
  155. ProfileBase[2] =
  156. TextDrawCreateSafe (485.000000, 140.000000, "_");
  157. TextDrawBackgroundColor (ProfileBase[2], 255);
  158. TextDrawFont (ProfileBase[2], 1);
  159. TextDrawLetterSize (ProfileBase[2], 0.500000, 21.200000);
  160. TextDrawColor (ProfileBase[2], -1);
  161. TextDrawSetOutline (ProfileBase[2], 0);
  162. TextDrawSetProportional (ProfileBase[2], 1);
  163. TextDrawSetShadow (ProfileBase[2], 1);
  164. TextDrawUseBox (ProfileBase[2], 1);
  165. TextDrawBoxColor (ProfileBase[2], 255);
  166. TextDrawTextSize (ProfileBase[2], 160.000000, 0.000000);
  167.  
  168. new Profile_Int = 0;
  169. for ( new BTD = 1; BTD < sizeof Background_Images; BTD++ )
  170. {
  171. Backgrounds[BTD] =
  172. TextDrawCreateSafe (163.000, 140.500, Background_Images[BTD]);
  173. TextDrawFont (Backgrounds[BTD], 4);
  174. TextDrawTextSize (Backgrounds[BTD], 319.000, 190.000);
  175. TextDrawColor (Backgrounds[BTD], -140);
  176.  
  177. Profile_Int++;
  178. }
  179. printf("[Profile System] Created %i Background(s)", Profile_Int);
  180.  
  181. Awards[0][0] =
  182. TextDrawCreate (350.000000, 218.000000, "-");
  183. TextDrawBackgroundColor (Awards[0][0], 255);
  184. TextDrawFont (Awards[0][0], 3);
  185. TextDrawLetterSize (Awards[0][0], 3.169997, 8.799997);
  186. TextDrawColor (Awards[0][0], -176);
  187. TextDrawSetOutline (Awards[0][0], 0);
  188. TextDrawSetProportional (Awards[0][0], 1);
  189. TextDrawSetShadow (Awards[0][0], 0);
  190.  
  191. Awards[0][1] =
  192. TextDrawCreate (358.000000, 261.000000, "MEGBÍZHATÓ~n~TAG");
  193. TextDrawBackgroundColor (Awards[0][1], 255);
  194. TextDrawFont (Awards[0][1], 1);
  195. TextDrawLetterSize (Awards[0][1], 0.219999, 0.799998);
  196. TextDrawColor (Awards[0][1], 16747775);
  197. TextDrawSetOutline (Awards[0][1], 0);
  198. TextDrawSetProportional (Awards[0][1], 1);
  199. TextDrawSetShadow (Awards[0][1], 0);
  200.  
  201. Awards[1][0] =
  202. TextDrawCreate (394.000000, 218.000000, "-");
  203. TextDrawBackgroundColor (Awards[1][0], 255);
  204. TextDrawFont (Awards[1][0], 3);
  205. TextDrawLetterSize (Awards[1][0], 3.169997, 8.799997);
  206. TextDrawColor (Awards[1][0], -176);
  207. TextDrawSetOutline (Awards[1][0], 0);
  208. TextDrawSetProportional (Awards[1][0], 1);
  209. TextDrawSetShadow (Awards[1][0], 0);
  210.  
  211. Awards[1][1] =
  212. TextDrawCreate (416.000000, 261.000000, "KIEMELT~n~TAG");
  213. TextDrawAlignment (Awards[1][1], 2);
  214. TextDrawBackgroundColor (Awards[1][1], 255);
  215. TextDrawFont (Awards[1][1], 1);
  216. TextDrawLetterSize (Awards[1][1], 0.200000, 0.799998);
  217. TextDrawColor (Awards[1][1], -3669761);
  218. TextDrawSetOutline (Awards[1][1], 0);
  219. TextDrawSetProportional (Awards[1][1], 1);
  220. TextDrawSetShadow (Awards[1][1], 0);
  221.  
  222. Awards[2][0] =
  223. TextDrawCreate (438.000000, 218.000000, "-");
  224. TextDrawBackgroundColor (Awards[2][0], 255);
  225. TextDrawFont (Awards[2][0], 3);
  226. TextDrawLetterSize (Awards[2][0], 3.169997, 8.799997);
  227. TextDrawColor (Awards[2][0], -176);
  228. TextDrawSetOutline (Awards[2][0], 0);
  229. TextDrawSetProportional (Awards[2][0], 1);
  230. TextDrawSetShadow (Awards[2][0], 0);
  231.  
  232. Awards[2][1] =
  233. TextDrawCreate (461.000000, 261.000000, "PRO");
  234. TextDrawAlignment (Awards[2][1], 2);
  235. TextDrawBackgroundColor (Awards[2][1], -16776961);
  236. TextDrawFont (Awards[2][1], 2);
  237. TextDrawLetterSize (Awards[2][1], 0.340000, 1.499999);
  238. TextDrawColor (Awards[2][1], 255);
  239. TextDrawSetOutline (Awards[2][1], 1);
  240. TextDrawSetProportional (Awards[2][1], 1);
  241.  
  242. printf("[Profile System] Created Award Icons.");
  243.  
  244. Status[0] =
  245. TextDrawCreateSafe (234.000000, 151.000000, "0");
  246. TextDrawAlignment (Status[0], 2);
  247. TextDrawBackgroundColor (Status[0], -1275068161);
  248. TextDrawFont (Status[0], 2);
  249. TextDrawLetterSize (Status[0], 2.679999, 10.599998);
  250. TextDrawColor (Status[0], -16776961);
  251. TextDrawSetOutline (Status[0], 1);
  252. TextDrawSetProportional (Status[0], 1);
  253.  
  254. Status[1] =
  255. TextDrawCreateSafe (234.000000, 151.000000, "0");
  256. TextDrawAlignment (Status[1], 2);
  257. TextDrawBackgroundColor (Status[1], 0x00AA00FF);
  258. TextDrawFont (Status[1], 2);
  259. TextDrawLetterSize (Status[1], 2.679999, 10.599998);
  260. TextDrawColor (Status[1], 0x00FF00FF);
  261. TextDrawSetOutline (Status[1], 1);
  262. TextDrawSetProportional (Status[1], 1);
  263.  
  264. CopyrightP =
  265. TextDrawCreateSafe (383.000000, 322.000000, "Profil Rendszer (c) iPLEOMAX");
  266. TextDrawBackgroundColor (CopyrightP, 255);
  267. TextDrawFont (CopyrightP, 1);
  268. TextDrawLetterSize (CopyrightP, 0.209999, 0.899999);
  269. TextDrawColor (CopyrightP, -226);
  270. TextDrawSetOutline (CopyrightP, 0);
  271. TextDrawSetProportional (CopyrightP, 1);
  272. TextDrawSetShadow (CopyrightP, 0);
  273.  
  274. Elements[0] =
  275. TextDrawCreateSafe (185.000000, 147.000000, "Profil kép");
  276. TextDrawBackgroundColor (Elements[0], -1);
  277. TextDrawFont (Elements[0], 1);
  278. TextDrawLetterSize (Elements[0], 0.319999, 1.100000);
  279. TextDrawColor (Elements[0], -1);
  280. TextDrawSetOutline (Elements[0], 0);
  281. TextDrawSetProportional (Elements[0], 1);
  282. TextDrawSetShadow (Elements[0], 0);
  283.  
  284. Elements[1] =
  285. TextDrawCreateSafe (351.000000, 147.000000, "Információ);
  286. TextDrawBackgroundColor (Elements[1], -1);
  287. TextDrawFont (Elements[1], 1);
  288. TextDrawLetterSize (Elements[1], 0.319999, 1.100000);
  289. TextDrawColor (Elements[1], -1);
  290. TextDrawSetOutline (Elements[1], 0);
  291. TextDrawSetProportional (Elements[1], 1);
  292. TextDrawSetShadow (Elements[1], 0);
  293.  
  294. Elements[2] =
  295. TextDrawCreateSafe (297.000000, 198.000000, "Személyes szöveg:");
  296. TextDrawBackgroundColor (Elements[2], 255);
  297. TextDrawFont (Elements[2], 2);
  298. TextDrawLetterSize (Elements[2], 0.200000, 1.000000);
  299. TextDrawColor (Elements[2], -1);
  300. TextDrawSetOutline (Elements[2], 0);
  301. TextDrawSetProportional (Elements[2], 1);
  302. TextDrawSetShadow (Elements[2], 0);
  303.  
  304. Elements[3] =
  305. TextDrawCreateSafe (297.000000, 285.000000, "Regisztráció időpontja:");
  306. TextDrawBackgroundColor (Elements[3], 255);
  307. TextDrawFont (Elements[3], 2);
  308. TextDrawLetterSize (Elements[3], 0.200000, 1.000000);
  309. TextDrawColor (Elements[3], -1);
  310. TextDrawSetOutline (Elements[3], 0);
  311. TextDrawSetProportional (Elements[3], 1);
  312. TextDrawSetShadow (Elements[3], 0);
  313.  
  314. Elements[4] =
  315. TextDrawCreateSafe (297.000000, 171.000000, "Felhasználónév:");
  316. TextDrawBackgroundColor (Elements[4], 255);
  317. TextDrawFont (Elements[4], 2);
  318. TextDrawLetterSize (Elements[4], 0.200000, 1.000000);
  319. TextDrawColor (Elements[4], -1);
  320. TextDrawSetOutline (Elements[4], 0);
  321. TextDrawSetProportional (Elements[4], 1);
  322. TextDrawSetShadow (Elements[4], 0);
  323.  
  324. Elements[5] =
  325. TextDrawCreateSafe (297.000000, 303.000000, "Utoljára aktív:");
  326. TextDrawBackgroundColor (Elements[5], 255);
  327. TextDrawFont (Elements[5], 2);
  328. TextDrawLetterSize (Elements[5], 0.200000, 1.000000);
  329. TextDrawColor (Elements[5], -1);
  330. TextDrawSetOutline (Elements[5], 0);
  331. TextDrawSetProportional (Elements[5], 1);
  332. TextDrawSetShadow (Elements[5], 0);
  333.  
  334. Elements[6] =
  335. TextDrawCreateSafe (291.000000, 77.000000, "l");
  336. TextDrawBackgroundColor (Elements[6], -1);
  337. TextDrawFont (Elements[6], 1);
  338. TextDrawLetterSize (Elements[6], 0.140000, 32.600021);
  339. TextDrawColor (Elements[6], -1);
  340. TextDrawSetOutline (Elements[6], 0);
  341. TextDrawSetProportional (Elements[6], 1);
  342. TextDrawSetShadow (Elements[6], 0);
  343.  
  344. Elements[7] =
  345. TextDrawCreateSafe (484.000000, 143.000000, "BG~n~SHINE");
  346. TextDrawBackgroundColor (Elements[7], 255);
  347. TextDrawFont (Elements[7], 1);
  348. TextDrawLetterSize (Elements[7], 0.000000, 1.000000);
  349. TextDrawColor (Elements[7], -1);
  350. TextDrawSetOutline (Elements[7], 0);
  351. TextDrawSetProportional (Elements[7], 1);
  352. TextDrawSetShadow (Elements[7], 1);
  353. TextDrawUseBox (Elements[7], 1);
  354. TextDrawBoxColor (Elements[7], -230);
  355. TextDrawTextSize (Elements[7], 161.000000, -1.000000);
  356.  
  357. Elements[8] =
  358. TextDrawCreate (296.000000, 266.000000, "Díjak:");
  359. TextDrawBackgroundColor (Elements[8], 255);
  360. TextDrawFont (Elements[8], 2);
  361. TextDrawLetterSize (Elements[8], 0.219999, 1.000000);
  362. TextDrawColor (Elements[8], -1);
  363. TextDrawSetOutline (Elements[8], 0);
  364. TextDrawSetProportional (Elements[8], 1);
  365. TextDrawSetShadow (Elements[8], 0);
  366.  
  367. printf("[Profile System] Created all the elements.");
  368.  
  369. Profile_Int = 0;
  370. for ( new ATD = 1; ATD < sizeof Avatar_Icons; ATD++ )
  371. {
  372. Avatars[ATD] =
  373. TextDrawCreateSafe (203.000, 182.500, Avatar_Icons[ATD]);
  374. TextDrawFont (Avatars[ATD], 4);
  375. TextDrawTextSize (Avatars[ATD], 50.000, 45.000);
  376. TextDrawColor (Avatars[ATD], -1);
  377.  
  378. Profile_Int++;
  379. }
  380. printf("[Profile System] Created %i Avatar(s)", Profile_Int);
  381.  
  382. Profile_Int = 192;
  383. for ( new RTD = 0; RTD < sizeof RepBars; RTD++ )
  384. {
  385. RepBars[RTD] =
  386. TextDrawCreateSafe (Profile_Int, 241.000000, "l");
  387. TextDrawBackgroundColor (RepBars[RTD], 255);
  388. TextDrawFont (RepBars[RTD], 1);
  389. TextDrawLetterSize (RepBars[RTD], 1.820000, 1.900000);
  390. TextDrawColor (RepBars[RTD], 0x00FF00FF);
  391. TextDrawSetOutline (RepBars[RTD], 0);
  392. TextDrawSetProportional (RepBars[RTD], 1);
  393. TextDrawSetShadow (RepBars[RTD], 0);
  394. Profile_Int += 14;
  395. }
  396.  
  397. Profile_Int = 192;
  398. for ( new VTD = 0; VTD < sizeof VipBars; VTD++ )
  399. {
  400. VipBars[VTD] =
  401. TextDrawCreateSafe (Profile_Int, 269.000000, "l");
  402. TextDrawBackgroundColor (VipBars[VTD], 255);
  403. TextDrawFont (VipBars[VTD], 1);
  404. TextDrawLetterSize (VipBars[VTD], 1.820000, 1.900000);
  405. TextDrawColor (VipBars[VTD], 0x00FFFBFF);
  406. TextDrawSetOutline (VipBars[VTD], 0);
  407. TextDrawSetProportional (VipBars[VTD], 1);
  408. TextDrawSetShadow (VipBars[VTD], 0);
  409. Profile_Int += 14;
  410. }
  411.  
  412. Profile_Int = 192;
  413. for ( new LTD = 0; LTD < sizeof LevelBars; LTD++ )
  414. {
  415. LevelBars[LTD] =
  416. TextDrawCreateSafe (Profile_Int, 296.000000, "l");
  417. TextDrawBackgroundColor (LevelBars[LTD], 255);
  418. TextDrawFont (LevelBars[LTD], 1);
  419. TextDrawLetterSize (LevelBars[LTD], 1.820000, 1.900000);
  420. TextDrawColor (LevelBars[LTD], -16711681);
  421. TextDrawSetOutline (LevelBars[LTD], 0);
  422. TextDrawSetProportional (LevelBars[LTD], 1);
  423. TextDrawSetShadow (LevelBars[LTD], 0);
  424. Profile_Int += 14;
  425. }
  426. printf("[Profile Rendszer] Created Reputation/Vip/Level bars.", Profile_Int);
  427.  
  428. EditArrows[0] =
  429. TextDrawCreate (171.000000, 195.000000, "ld_beat:balra");
  430. TextDrawBackgroundColor (EditArrows[0], 255);
  431. TextDrawFont (EditArrows[0], 4);
  432. TextDrawLetterSize (EditArrows[0], 0.500000, 1.000000);
  433. TextDrawColor (EditArrows[0], -1);
  434. TextDrawSetOutline (EditArrows[0], 0);
  435. TextDrawSetProportional (EditArrows[0], 1);
  436. TextDrawSetShadow (EditArrows[0], 1);
  437. TextDrawUseBox (EditArrows[0], 1);
  438. TextDrawBoxColor (EditArrows[0], 255);
  439. TextDrawTextSize (EditArrows[0], 18.000000, 22.000000);
  440.  
  441. EditArrows[1] =
  442. TextDrawCreate (283.000000, 195.000000, "ld_beat:balra");
  443. TextDrawBackgroundColor (EditArrows[1], 255);
  444. TextDrawFont (EditArrows[1], 4);
  445. TextDrawLetterSize (EditArrows[1], 0.500000, 1.000000);
  446. TextDrawColor (EditArrows[1], -1);
  447. TextDrawSetOutline (EditArrows[1], 0);
  448. TextDrawSetProportional (EditArrows[1], 1);
  449. TextDrawSetShadow (EditArrows[1], 1);
  450. TextDrawUseBox (EditArrows[1], 1);
  451. TextDrawBoxColor (EditArrows[1], 255);
  452. TextDrawTextSize (EditArrows[1], -19.000000, 22.000000);
  453.  
  454. EditArrows[2] =
  455. TextDrawCreate (138.000000, 224.000000, "ld_beat:balra");
  456. TextDrawBackgroundColor (EditArrows[2], 255);
  457. TextDrawFont (EditArrows[2], 4);
  458. TextDrawLetterSize (EditArrows[2], 0.500000, 1.000000);
  459. TextDrawColor (EditArrows[2], -1);
  460. TextDrawSetOutline (EditArrows[2], 0);
  461. TextDrawSetProportional (EditArrows[2], 1);
  462. TextDrawSetShadow (EditArrows[2], 1);
  463. TextDrawUseBox (EditArrows[2], 1);
  464. TextDrawBoxColor (EditArrows[2], 255);
  465. TextDrawTextSize (EditArrows[2], 18.000000, 22.000000);
  466.  
  467. EditArrows[3] =
  468. TextDrawCreate (508.000000, 224.000000, "ld_beat:balra");
  469. TextDrawBackgroundColor (EditArrows[3], 255);
  470. TextDrawFont (EditArrows[3], 4);
  471. TextDrawLetterSize (EditArrows[3], 0.500000, 1.000000);
  472. TextDrawColor (EditArrows[3], -1);
  473. TextDrawSetOutline (EditArrows[3], 0);
  474. TextDrawSetProportional (EditArrows[3], 1);
  475. TextDrawSetShadow (EditArrows[3], 1);
  476. TextDrawUseBox (EditArrows[3], 1);
  477. TextDrawBoxColor (EditArrows[3], 255);
  478. TextDrawTextSize (EditArrows[3], -19.000000, 22.000000);
  479.  
  480. return true;
  481. }
  482.  
  483. stock DynamicTextdraws(playerid, name[], info[], reg[], act[], rep, vip[], lvl[])
  484. {
  485. DynProfile[playerid][0] =
  486. TextDrawCreateSafe (297.000000, 184.000000, name);
  487. TextDrawBackgroundColor (DynProfile[playerid][0], 255);
  488. TextDrawFont (DynProfile[playerid][0], 1);
  489. TextDrawLetterSize (DynProfile[playerid][0], 0.290000, 1.000000);
  490. TextDrawColor (DynProfile[playerid][0], -1);
  491. TextDrawSetOutline (DynProfile[playerid][0], 0);
  492. TextDrawSetProportional (DynProfile[playerid][0], 1);
  493. TextDrawSetShadow (DynProfile[playerid][0], 0);
  494.  
  495. DynProfile[playerid][1] =
  496. TextDrawCreateSafe (297.000000, 210.000000, info);
  497. TextDrawBackgroundColor (DynProfile[playerid][1], 255);
  498. TextDrawFont (DynProfile[playerid][1], 1);
  499. TextDrawLetterSize (DynProfile[playerid][1], 0.290000, 1.000000);
  500. TextDrawColor (DynProfile[playerid][1], -1);
  501. TextDrawSetOutline (DynProfile[playerid][1], 0);
  502. TextDrawSetProportional (DynProfile[playerid][1], 1);
  503. TextDrawSetShadow (DynProfile[playerid][1], 0);
  504.  
  505. DynProfile[playerid][2] =
  506. TextDrawCreateSafe (478.000000, 278.000000, reg);
  507. TextDrawAlignment (DynProfile[playerid][2], 3);
  508. TextDrawBackgroundColor (DynProfile[playerid][2], 255);
  509. TextDrawFont (DynProfile[playerid][2], 3);
  510. TextDrawLetterSize (DynProfile[playerid][2], 0.480000, 1.600000);
  511. TextDrawColor (DynProfile[playerid][2], -1);
  512. TextDrawSetOutline (DynProfile[playerid][2], 0);
  513. TextDrawSetProportional (DynProfile[playerid][2], 1);
  514. TextDrawSetShadow (DynProfile[playerid][2], 0);
  515.  
  516. DynProfile[playerid][3] =
  517. TextDrawCreateSafe (478.000000, 300.000000, act);
  518. TextDrawAlignment (DynProfile[playerid][3], 3);
  519. TextDrawBackgroundColor (DynProfile[playerid][3], 255);
  520. TextDrawFont (DynProfile[playerid][3], 3);
  521. TextDrawLetterSize (DynProfile[playerid][3], 0.490000, 1.599999);
  522. TextDrawColor (DynProfile[playerid][3], -1);
  523. TextDrawSetOutline (DynProfile[playerid][3], 0);
  524. TextDrawSetProportional (DynProfile[playerid][3], 1);
  525. TextDrawSetShadow (DynProfile[playerid][3], 0);
  526.  
  527. new reptext[20];
  528. format (reptext, 24, "REPUTATION: %i", rep);
  529.  
  530. DynProfile[playerid][4] =
  531. TextDrawCreateSafe (229.000000, 257.000000, reptext);
  532. TextDrawAlignment (DynProfile[playerid][4], 2);
  533. TextDrawBackgroundColor (DynProfile[playerid][4], 255);
  534. TextDrawFont (DynProfile[playerid][4], 2);
  535. TextDrawLetterSize (DynProfile[playerid][4], 0.190000, 0.899999);
  536. TextDrawColor (DynProfile[playerid][4], 16711935);
  537. TextDrawSetOutline (DynProfile[playerid][4], 0);
  538. TextDrawSetProportional (DynProfile[playerid][4], 1);
  539. TextDrawSetShadow (DynProfile[playerid][4], 0);
  540.  
  541. DynProfile[playerid][5] =
  542. TextDrawCreateSafe (229.000000, 284.000000, vip);
  543. TextDrawAlignment (DynProfile[playerid][5], 2);
  544. TextDrawBackgroundColor (DynProfile[playerid][5], 255);
  545. TextDrawFont (DynProfile[playerid][5], 2);
  546. TextDrawLetterSize (DynProfile[playerid][5], 0.190000, 0.899999);
  547. TextDrawColor (DynProfile[playerid][5], 16777215);
  548. TextDrawSetOutline (DynProfile[playerid][5], 0);
  549. TextDrawSetProportional (DynProfile[playerid][5], 1);
  550. TextDrawSetShadow (DynProfile[playerid][5], 0);
  551.  
  552. DynProfile[playerid][6] =
  553. TextDrawCreateSafe (229.000000, 311.000000, lvl);
  554. TextDrawAlignment (DynProfile[playerid][6], 2);
  555. TextDrawBackgroundColor (DynProfile[playerid][6], 255);
  556. TextDrawFont (DynProfile[playerid][6], 2);
  557. TextDrawLetterSize (DynProfile[playerid][6], 0.190000, 0.899999);
  558. TextDrawColor (DynProfile[playerid][6], -16711681);
  559. TextDrawSetOutline (DynProfile[playerid][6], 0);
  560. TextDrawSetProportional (DynProfile[playerid][6], 1);
  561. TextDrawSetShadow (DynProfile[playerid][6], 0);
  562.  
  563. LOOP(DTD, 7) TextDrawShowForPlayer(playerid, DynProfile[playerid][DTD]);
  564.  
  565. return true;
  566. }
  567.  
  568. stock DestroyDynamicTextdraws(playerid)
  569. {
  570. LOOP(DTD, 7) if(_:DynProfile[playerid][DTD]) TextDrawDestroy(DynProfile[playerid][DTD]);
  571. return true;
  572. }
  573.  
  574. stock ShowOnlineProfileToUser(playerid, targetid, bool:ex = false)
  575. {
  576. if(!Profile_ENABLED[targetid]) return SendClientMessage(playerid, -1, #PROFILE"Nem sikerült betölteni a profilt, Kérjük próbálkozzon később ..");
  577.  
  578. if(Profile_New[playerid])
  579. {
  580. Profile_Background[playerid] = random((sizeof Backgrounds)-1);
  581. Profile_Avatar[playerid] = random((sizeof Avatars)-1);
  582. if(playerid == targetid)
  583. {
  584. SendClientMessage(playerid, -1, #PROFILE"Az ön {FFFFFF}új profilja{737373},\
  585. alkalmaztuk véletlenszerű avatárt & háttért is hozzá.");
  586. Profile_New[playerid] = false;
  587. }
  588. }
  589.  
  590. Profile_Currentuser[targetid] = Profile_Name[targetid];
  591.  
  592. HideAllProfileTextDraws (playerid);
  593. DestroyDynamicTextdraws (playerid);
  594.  
  595. LOOP_s(BTD, ProfileBase) TextDrawShowForPlayer(playerid, ProfileBase[BTD]);
  596. TextDrawShowForPlayer (playerid, CopyrightP);
  597. TextDrawShowForPlayer (playerid, Backgrounds[Profile_Background[targetid]]);
  598. if(IsPlayerConnected(targetid))
  599. TextDrawShowForPlayer (playerid, Status[1]);
  600. else TextDrawShowForPlayer (playerid, Status[0]);
  601. TextDrawShowForPlayer (playerid, Avatars[Profile_Avatar[targetid]]);
  602.  
  603. LOOP_s(ETD,Elements) TextDrawShowForPlayer(playerid, Elements[ETD]);
  604. ShowRepBars (playerid, Profile_Reputation[targetid]);
  605. ShowVipBars (playerid, Profile_Viplevel[targetid]);
  606. ShowAdminBars (playerid, Profile_Adminlevel[targetid]);
  607.  
  608. if(Profile_Trusted[targetid])
  609. {
  610. TextDrawShowForPlayer(playerid,Awards[0][0]);
  611. TextDrawShowForPlayer(playerid,Awards[0][1]);
  612. }
  613.  
  614. if(Profile_Featured[targetid])
  615. {
  616. TextDrawShowForPlayer(playerid,Awards[1][0]);
  617. TextDrawShowForPlayer(playerid,Awards[1][1]);
  618. }
  619.  
  620. if(Profile_Pro[targetid])
  621. {
  622. TextDrawShowForPlayer(playerid,Awards[2][0]);
  623. TextDrawShowForPlayer(playerid,Awards[2][1]);
  624. }
  625.  
  626. DynamicTextdraws
  627. (
  628. playerid,
  629. Profile_Name[targetid],
  630. Profile_Info[targetid],
  631. Profile_Registerdate[targetid],
  632. "Online Now",
  633. Profile_Reputation[targetid],
  634. Profile_Viptext[targetid],
  635. Profile_Admintext[targetid]
  636. );
  637.  
  638. if(ex) return true;
  639. if(playerid == targetid)
  640. {
  641. SendClientMessage(playerid, -1, #PROFILE "Ön most saját profilját nézi");
  642. SendClientMessage(playerid, -1, "{737373}> Módosítás: háttér -{FFFFFF}/Profil Háttér{737373} és a avatár - {FFFFFF}/profileAV");
  643. return true;
  644. }
  645.  
  646. format(PROFILE_STRING, sizeof PROFILE_STRING, #PROFILE "You are currently viewing {FFFFFF}%s{737373}'s Profil",
  647. Profile_Name[targetid]); SendClientMessage(playerid, -1, PROFILE_STRING);
  648. return true;
  649. }
  650.  
  651. stock ShowOfflineProfileToUser(playerid, targetname[])
  652. {
  653. format(PROFILE_STRING, sizeof PROFILE_STRING, USER_DIRECTORY, targetname);
  654. if(!DOF2_FileExists(PROFILE_STRING)) return SendClientMessage(playerid, -1,
  655. "[PROFILE ERROR] User profile doesn't exist");
  656.  
  657. new BG, AV, RP, VP, LV, TR, FT, PR,
  658. VIPTEXT[20], ADMINTEXT[20], INFO[256], REGDATE[20], LASTACTIVE[20];
  659.  
  660. DOF2_GetStringEx(PROFILE_STRING, INFO_key, INFO, 256);
  661. DOF2_GetStringEx(PROFILE_STRING, VIPTEXT_key, VIPTEXT, 20);
  662. DOF2_GetStringEx(PROFILE_STRING, LVLTEXT_key, ADMINTEXT, 20);
  663. DOF2_GetStringEx(PROFILE_STRING, REGDATE_key, REGDATE, 20);
  664. DOF2_GetStringEx(PROFILE_STRING, LASTACTIVE_key,LASTACTIVE, 20);
  665.  
  666. BG = DOF2_GetInt(PROFILE_STRING, BG_key);
  667. AV = DOF2_GetInt(PROFILE_STRING, AV_key);
  668. RP = DOF2_GetInt(PROFILE_STRING, REP_key);
  669. VP = DOF2_GetInt(PROFILE_STRING, VIP_key);
  670. LV = DOF2_GetInt(PROFILE_STRING, LVL_key);
  671. TR = DOF2_GetBool(PROFILE_STRING, TRUSTED_key);
  672. FT = DOF2_GetBool(PROFILE_STRING, FEATURED_key);
  673. PR = DOF2_GetBool(PROFILE_STRING, PRO_key);
  674.  
  675. if(ExceedsIndex(BG, Backgrounds))
  676. {
  677. SendClientMessage(playerid, -1, #PROFILE" Nem sikerült betölteni a profilt. (Érvénytelen háttér)");
  678. printf("[Profile Rendszer] User %s Úgy tűnik, hogy nem jo háttér id-t írt be próbálja meg mégegyszer!", targetname);
  679. return false;
  680. }
  681.  
  682. if(ExceedsIndex(AV, Avatars))
  683. {
  684. SendClientMessage(playerid, -1, #PROFILE" Nem sikerült betölteni a profilt. (Érvénytelen háttér)");
  685. printf("[Profile Rendszer] User %s Úgy tűnik, nem létezik ilyen avatár id!", targetname);
  686. return false;
  687. }
  688.  
  689. HideAllProfileTextDraws (playerid);
  690. DestroyDynamicTextdraws (playerid);
  691.  
  692. LOOP_s(BTD, ProfileBase) TextDrawShowForPlayer(playerid, ProfileBase[BTD]);
  693. TextDrawShowForPlayer (playerid, CopyrightP);
  694. TextDrawShowForPlayer (playerid, Backgrounds[BG]);
  695. TextDrawShowForPlayer (playerid, Status[0]);
  696. TextDrawShowForPlayer (playerid, Avatars[AV]);
  697.  
  698. LOOP_s(ETD,Elements) TextDrawShowForPlayer(playerid, Elements[ETD]);
  699. ShowRepBars (playerid, RP);
  700. ShowVipBars (playerid, VP);
  701. ShowAdminBars (playerid, LV);
  702.  
  703. if(TR)
  704. {
  705. TextDrawShowForPlayer(playerid,Awards[0][0]);
  706. TextDrawShowForPlayer(playerid,Awards[0][1]);
  707. }
  708.  
  709. if(FT)
  710. {
  711. TextDrawShowForPlayer(playerid,Awards[1][0]);
  712. TextDrawShowForPlayer(playerid,Awards[1][1]);
  713. }
  714.  
  715. if(PR)
  716. {
  717. TextDrawShowForPlayer(playerid,Awards[2][0]);
  718. TextDrawShowForPlayer(playerid,Awards[2][1]);
  719. }
  720.  
  721. DynamicTextdraws
  722. (
  723. playerid,
  724. targetname,
  725. INFO,
  726. REGDATE,
  727. LASTACTIVE,
  728. RP,
  729. VIPTEXT,
  730. ADMINTEXT
  731. );
  732.  
  733. format(PROFILE_STRING, sizeof PROFILE_STRING, #PROFILE "You are currently viewing {FFFFFF}%s{737373}'s Profil.",
  734. targetname); SendClientMessage(playerid, -1, PROFILE_STRING);
  735.  
  736. printf("[Profile Rendszer] User %s Többet offline a profilja '%s'", Profile_Name[playerid], targetname);
  737.  
  738. return true;
  739. }
  740.  
  741. stock RefreshProfile(playerid)
  742. {
  743. if(strlen(Profile_Currentuser[playerid]) && !strcmp(Profile_Currentuser[playerid], Profile_Name[playerid], true))
  744. ShowOnlineProfileToUser(playerid, playerid, true);
  745. return true;
  746. }
  747.  
  748. stock HideProfile(playerid)
  749. {
  750. DestroyDynamicTextdraws(playerid);
  751. HideAllProfileTextDraws(playerid);
  752. format(Profile_Currentuser[playerid], MAX_PLAYER_NAME, "\0");
  753. return true;
  754. }
  755.  
  756. stock LoadUserProfile(playerid)
  757. {
  758. GetPlayerName(playerid, Profile_Name[playerid], sizeof Profile_Name[]);
  759. format(PROFILE_STRING, sizeof PROFILE_STRING, USER_DIRECTORY, Profile_Name[playerid]);
  760.  
  761. if(DOF2_FileExists(PROFILE_STRING))
  762. {
  763. DOF2_GetStringEx(PROFILE_STRING, INFO_key, Profile_Info[playerid], 256);
  764. DOF2_GetStringEx(PROFILE_STRING, VIPTEXT_key, Profile_Viptext[playerid], 20);
  765. DOF2_GetStringEx(PROFILE_STRING, LVLTEXT_key, Profile_Admintext[playerid], 20);
  766. DOF2_GetStringEx(PROFILE_STRING, REGDATE_key, Profile_Registerdate[playerid], 20);
  767. DOF2_GetStringEx(PROFILE_STRING, LASTACTIVE_key,Profile_Lastactive[playerid], 20);
  768.  
  769. Profile_Background[playerid] = DOF2_GetInt(PROFILE_STRING, BG_key);
  770. Profile_Avatar[playerid] = DOF2_GetInt(PROFILE_STRING, AV_key);
  771. Profile_Reputation[playerid] = DOF2_GetInt(PROFILE_STRING, REP_key);
  772. Profile_Viplevel[playerid] = DOF2_GetInt(PROFILE_STRING, VIP_key);
  773. Profile_Adminlevel[playerid] = DOF2_GetInt(PROFILE_STRING, LVL_key);
  774. Profile_Trusted[playerid] = DOF2_GetBool(PROFILE_STRING, TRUSTED_key);
  775. Profile_Featured[playerid] = DOF2_GetBool(PROFILE_STRING, FEATURED_key);
  776. Profile_Pro[playerid] = DOF2_GetBool(PROFILE_STRING, PRO_key);
  777.  
  778. printf("[Profile Rendszer] Betöltött a profil adatok! %s", Profile_Name[playerid]);
  779.  
  780. } else {
  781. printf("[Profile Renszer] %s nincs felhasználói fájlok", Profile_Name[playerid]);
  782. Profile_New[playerid] = true;
  783. }
  784. return true;
  785. }
  786.  
  787. stock SaveUserProfile(playerid, reason[])
  788. {
  789. if(Profile_New[playerid]) return true;
  790. format(PROFILE_STRING, sizeof PROFILE_STRING, USER_DIRECTORY, Profile_Name[playerid]);
  791.  
  792. getdate(YEAR, MONTH, DAY);
  793. format(Profile_Lastactive[playerid], sizeof Profile_Lastactive[], "%i/%i/%i", DAY, MONTH, YEAR);
  794.  
  795. DOF2_CreateFile (PROFILE_STRING);
  796. DOF2_SetString (PROFILE_STRING, INFO_key, Profile_Info[playerid]);
  797. DOF2_SetString (PROFILE_STRING, REGDATE_key, Profile_Registerdate[playerid]);
  798. DOF2_SetString (PROFILE_STRING, LASTACTIVE_key,Profile_Lastactive[playerid]);
  799. DOF2_SetInt (PROFILE_STRING, BG_key, Profile_Background[playerid]);
  800. DOF2_SetInt (PROFILE_STRING, AV_key, Profile_Avatar[playerid]);
  801. DOF2_SetInt (PROFILE_STRING, REP_key, Profile_Reputation[playerid]);
  802. DOF2_SetInt (PROFILE_STRING, VIP_key, Profile_Viplevel[playerid]);
  803. DOF2_SetInt (PROFILE_STRING, LVL_key, Profile_Adminlevel[playerid]);
  804. DOF2_SetString (PROFILE_STRING, VIPTEXT_key, Profile_Viptext[playerid]);
  805. DOF2_SetString (PROFILE_STRING, LVLTEXT_key, Profile_Admintext[playerid]);
  806. DOF2_SetBool (PROFILE_STRING, TRUSTED_key, Profile_Trusted[playerid]);
  807. DOF2_SetBool (PROFILE_STRING, FEATURED_key, Profile_Featured[playerid]);
  808. DOF2_SetBool (PROFILE_STRING, PRO_key, Profile_Pro[playerid]);
  809. DOF2_SaveFile ();
  810.  
  811. printf("[Profile Rendszer] Mentett profil adatok %s (%s)", Profile_Name[playerid], reason);
  812. return true;
  813. }
  814.  
  815. stock ClearProfile(playerid)
  816. {
  817. format(Profile_Info[playerid], 256, "\0");
  818. format(Profile_Registerdate[playerid], 20, "\0");
  819. format(Profile_Lastactive[playerid], 20, "\0");
  820. format(Profile_Viptext[playerid], 20, "\0");
  821. format(Profile_Admintext[playerid], 20, "\0");
  822.  
  823. Profile_Background[playerid] = 0;
  824. Profile_Avatar[playerid] = 0;
  825. Profile_Reputation[playerid] = 0;
  826. Profile_Viplevel[playerid] = 0;
  827. Profile_Adminlevel[playerid] = 0;
  828. Profile_Trusted[playerid] = false;
  829. Profile_Featured[playerid] = false;
  830. Profile_Pro[playerid] = false;
  831. Profile_EditMode[playerid] = 0;
  832. Profile_ENABLED[playerid] = false;
  833. Profile_Cooldown[playerid] = 0;
  834.  
  835. KillTimer(Profile_CmdTimer[playerid]);
  836. return true;
  837. }
  838.  
  839. stock HideAllProfileTextDraws(playerid)
  840. {
  841. LOOP_s(ATD,Avatars) TextDrawHideForPlayer(playerid, Avatars[ATD]);
  842. LOOP_s(BTD,Backgrounds) TextDrawHideForPlayer(playerid, Backgrounds[BTD]);
  843. LOOP_s(STD,Status) TextDrawHideForPlayer(playerid, Status[STD]);
  844. LOOP_s(ETD,Elements) TextDrawHideForPlayer(playerid, Elements[ETD]);
  845. LOOP_s(RTD,RepBars) TextDrawHideForPlayer(playerid, RepBars[RTD]);
  846. LOOP_s(VTD,VipBars) TextDrawHideForPlayer(playerid, VipBars[VTD]);
  847. LOOP_s(LTD,LevelBars) TextDrawHideForPlayer(playerid, LevelBars[LTD]);
  848. LOOP_s(BTD,ProfileBase) TextDrawHideForPlayer(playerid, ProfileBase[BTD]);
  849. LOOP_s(ETD, EditArrows) TextDrawHideForPlayer(playerid, EditArrows[ETD]);
  850. LOOP_s(ATD, Awards)
  851. {
  852. TextDrawHideForPlayer(playerid,Awards[ATD][0]);
  853. TextDrawHideForPlayer(playerid,Awards[ATD][1]);
  854. }
  855. TextDrawHideForPlayer (playerid, CopyrightP);
  856. return true;
  857. }
  858.  
  859. stock DestroyAllProfileTextDraws()
  860. {
  861. LOOP_s(ATD,Avatars) TextDrawDestroy(Avatars[ATD]);
  862. LOOP_s(BTD,Backgrounds) TextDrawDestroy(Backgrounds[BTD]);
  863. LOOP_s(STD,Status) TextDrawDestroy(Status[STD]);
  864. LOOP_s(ETD,Elements) TextDrawDestroy(Elements[ETD]);
  865. LOOP_s(RTD,RepBars) TextDrawDestroy(RepBars[RTD]);
  866. LOOP_s(VTD,VipBars) TextDrawDestroy(VipBars[VTD]);
  867. LOOP_s(LTD,LevelBars) TextDrawDestroy(LevelBars[LTD]);
  868. LOOP (PTD,MAX_PLAYERS) DestroyDynamicTextdraws(PTD);
  869. LOOP_s(BTD,ProfileBase) TextDrawDestroy(ProfileBase[BTD]);
  870. LOOP_s(ETD,EditArrows) TextDrawDestroy(EditArrows[ETD]);
  871. LOOP_s(ATD,Awards)
  872. {
  873. TextDrawDestroy(Awards[ATD][0]);
  874. TextDrawDestroy(Awards[ATD][1]);
  875. }
  876. TextDrawDestroy (CopyrightP);
  877. return true;
  878. }
  879.  
  880. stock AvatarEditArrows(playerid)
  881. {
  882. TextDrawShowForPlayer(playerid, EditArrows[0]);
  883. TextDrawShowForPlayer(playerid, EditArrows[1]);
  884.  
  885. if(Profile_Avatar[playerid] == 1)
  886. TextDrawHideForPlayer(playerid, EditArrows[0]);
  887.  
  888. if(Profile_Avatar[playerid] == (sizeof Avatars)-1)
  889. TextDrawHideForPlayer(playerid, EditArrows[1]);
  890. return true;
  891. }
  892.  
  893. stock BackgroundEditArrows(playerid)
  894. {
  895. TextDrawShowForPlayer(playerid, EditArrows[2]);
  896. TextDrawShowForPlayer(playerid, EditArrows[3]);
  897.  
  898. if(Profile_Background[playerid] == 1)
  899. TextDrawHideForPlayer(playerid, EditArrows[2]);
  900.  
  901. if(Profile_Background[playerid] == (sizeof Backgrounds)-1)
  902. TextDrawHideForPlayer(playerid, EditArrows[3]);
  903. return true;
  904. }
  905.  
  906. /*============================================================================*/
  907. // FILTERSCRIPT CALLBACKS
  908.  
  909.  
  910. forward Profile_SetTrusted(playerid, bool:set);
  911. public Profile_SetTrusted(playerid, bool:set)
  912. {
  913. if(set)
  914. SendClientMessage(playerid, -1, #PROFILE"Ön megkapta a : {111111}[{00FFAA}megbízható rangot!{111111}]");
  915. else
  916. SendClientMessage(playerid, -1, #PROFILE"\"{FFFFFF}Megkaptad a megbízható rangot!{737373}\" a rang el lett távolítva a profilról!");
  917. PlayerPlaySound(playerid, 1057, 0, 0, 0);
  918. Profile_Trusted[playerid] = set;
  919. RefreshProfile(playerid);
  920. return true;
  921. }
  922.  
  923. forward Profile_SetFeatured(playerid, bool:set);
  924. public Profile_SetFeatured(playerid, bool:set)
  925. {
  926. if(set)
  927. SendClientMessage(playerid, -1, #PROFILE"YÖn megkapta a: {111111}[{FFBB00}Kiemelt tag államot!{111111}]");
  928. else
  929. SendClientMessage(playerid, -1, #PROFILE"\"{FFFFFF}Megkaptad a kiemelt tag rangot{737373}\" a rang el lett távolítva a profilról!);
  930. PlayerPlaySound(playerid, 1057, 0, 0, 0);
  931. Profile_Featured[playerid] = set;
  932. RefreshProfile(playerid);
  933. return true;
  934. }
  935.  
  936. forward Profile_SetPro(playerid, bool:set);
  937. public Profile_SetPro(playerid, bool:set)
  938. {
  939. if(set)
  940. SendClientMessage(playerid, -1, #PROFILE"Ön megkapta a {111111}[{FF0000}PRO rangot!{111111}]");
  941. else
  942. SendClientMessage(playerid, -1, #PROFILE"\"{FFFFFF}Megkaptad a PRO rangot!{737373}\" a rang el lett távolítva a profilról!");
  943. PlayerPlaySound(playerid, 1057, 0, 0, 0);
  944. Profile_Pro[playerid] = set;
  945. RefreshProfile(playerid);
  946. return true;
  947. }
  948.  
  949. forward Profile_GiveRep(playerid, value);
  950. public Profile_GiveRep(playerid, value)
  951. {
  952. Profile_Reputation[playerid] += value;
  953. RefreshProfile(playerid);
  954. return true;
  955. }
  956.  
  957. forward Profile_GetRep(playerid);
  958. public Profile_GetRep(playerid)
  959. {
  960. return Profile_Reputation[playerid];
  961. }
  962.  
  963. forward Profile_SetVip(playerid, bars, status[]);
  964. public Profile_SetVip(playerid, bars, status[])
  965. {
  966. Profile_Viplevel[playerid] = bars;
  967. format(Profile_Viptext[playerid], 20, status);
  968. RefreshProfile(playerid);
  969. return true;
  970. }
  971.  
  972. forward Profile_SetAdminLevel(playerid, bars, status[]);
  973. public Profile_SetAdminLevel(playerid, bars, status[])
  974. {
  975. Profile_Adminlevel[playerid] = bars;
  976. format(Profile_Admintext[playerid], 20, status);
  977. RefreshProfile(playerid);
  978. return true;
  979. }
  980.  
  981. forward Profile_SetRegisterDate(playerid, date[]);
  982. public Profile_SetRegisterDate(playerid, date[])
  983. {
  984. format(Profile_Registerdate[playerid], 20, date);
  985. RefreshProfile(playerid);
  986. return true;
  987. }
  988.  
  989. forward Profile_SetInfo(playerid, text[]);
  990. public Profile_SetInfo(playerid, text[])
  991. {
  992. InfoFormat(text);
  993. format(Profile_Info[playerid], 256, text);
  994. RefreshProfile(playerid);
  995. return true;
  996. }
  997.  
  998. /*============================================================================*/
  999. // NATIVE CALLBACKS
  1000.  
  1001. public OnFilterScriptInit()
  1002. {
  1003. CreateTextdraws();
  1004.  
  1005. LOOP(PID,MAX_PLAYERS) if(IsPlayerConnected(PID))
  1006. {
  1007. if(GetPlayerState(PID))
  1008. {
  1009. LoadUserProfile(PID);
  1010. if(GetPlayerState(PID)) if(!Profile_New[PID]) Profile_ENABLED[PID] = true;
  1011. }
  1012. }
  1013.  
  1014. printf("[Profile System] > LOADED < (c) iPLEOMAX");
  1015.  
  1016. return true;
  1017. }
  1018.  
  1019. public OnFilterScriptExit()
  1020. {
  1021. LOOP(PID,MAX_PLAYERS) if(Profile_ENABLED[PID]) SaveUserProfile(PID, "Unloadfs");
  1022.  
  1023. DOF2_Exit();
  1024. if(DestroyAllProfileTextDraws())
  1025. printf("[Profile Rendszer] Sikeresen megsemmisítették az összes textdrawot.");
  1026. printf("[Profile Rendszer] > EXITED <");
  1027. return true;
  1028. }
  1029.  
  1030. public OnPlayerConnect(playerid)
  1031. {
  1032. GetPlayerName(playerid, Profile_Name[playerid], MAX_PLAYER_NAME);
  1033. return true;
  1034. }
  1035.  
  1036. public OnPlayerSpawn(playerid)
  1037. {
  1038. if(!Profile_ENABLED[playerid])
  1039. {
  1040. Profile_ENABLED[playerid] = true;
  1041. LoadUserProfile(playerid);
  1042. }
  1043. return true;
  1044. }
  1045.  
  1046. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  1047. {
  1048. switch(Profile_EditMode[playerid])
  1049. {
  1050. case EDITMODE_AVATAR:
  1051. {
  1052. AvatarEditArrows(playerid);
  1053.  
  1054. if(newkeys & 8192)
  1055. {
  1056. LOOP_s(ATD,Avatars) if(_:Avatars[ATD] != 0)
  1057. TextDrawHideForPlayer(playerid, Avatars[ATD]);
  1058.  
  1059. if((Profile_Avatar[playerid]-1) > 0)
  1060. Profile_Avatar[playerid] -= 1;
  1061.  
  1062. TextDrawShowForPlayer(playerid, Avatars[Profile_Avatar[playerid]]);
  1063.  
  1064. } else
  1065.  
  1066. if(newkeys & 16384)
  1067. {
  1068. LOOP_s(ATD,Avatars) if(_:Avatars[ATD] != 0)
  1069. TextDrawHideForPlayer(playerid, Avatars[ATD]);
  1070.  
  1071. if((Profile_Avatar[playerid]+1) < sizeof Avatars)
  1072. Profile_Avatar[playerid] += 1;
  1073.  
  1074. TextDrawShowForPlayer(playerid, Avatars[Profile_Avatar[playerid]]);
  1075. }
  1076. if(!Profile_EditMode[playerid]) HideProfile(playerid);
  1077. }
  1078. case EDITMODE_BACKGROUND:
  1079. {
  1080. BackgroundEditArrows(playerid);
  1081.  
  1082. if(newkeys & 8192)
  1083. {
  1084. LOOP_s(BTD,Backgrounds) if(_:Backgrounds[BTD] != 0)
  1085. TextDrawHideForPlayer(playerid, Backgrounds[BTD]);
  1086.  
  1087. if((Profile_Background[playerid]-1) > 0)
  1088. Profile_Background[playerid] -= 1;
  1089.  
  1090. TextDrawShowForPlayer(playerid, Backgrounds[Profile_Background[playerid]]);
  1091.  
  1092. } else
  1093.  
  1094. if(newkeys & 16384)
  1095. {
  1096. LOOP_s(BTD,Backgrounds) if(_:Backgrounds[BTD] != 0)
  1097. TextDrawHideForPlayer(playerid, Backgrounds[BTD]);
  1098.  
  1099. if((Profile_Background[playerid]+1) < sizeof Backgrounds)
  1100. Profile_Background[playerid] += 1;
  1101.  
  1102. TextDrawShowForPlayer(playerid, Backgrounds[Profile_Background[playerid]]);
  1103. }
  1104. if(!Profile_EditMode[playerid]) HideProfile(playerid);
  1105. }
  1106. }
  1107. return true;
  1108. }
  1109.  
  1110. public OnPlayerDisconnect(playerid, reason)
  1111. {
  1112. SaveUserProfile(playerid, "Lement");
  1113. HideProfile(playerid);
  1114. ClearProfile(playerid);
  1115. return true;
  1116. }
  1117.  
  1118. stock CommandSpamCheck(playerid)
  1119. {
  1120. if(Profile_Cooldown[playerid] >= 6)
  1121. {
  1122. KillTimer(Profile_CmdTimer[playerid]);
  1123. Profile_Cooldown[playerid] = 6;
  1124. SendClientMessage(playerid, -1, #PROFILE"Profile parancsok le vannak tiltva az ön számára. (Indok: Spam)");
  1125. return false;
  1126. }
  1127. Profile_Cooldown[playerid] += 1;
  1128. if(Profile_Cooldown[playerid] >= 2)
  1129. {
  1130. SendClientMessage(playerid, -1, #PROFILE"Ne próbálgasd a parancsot metr több időre lesz letíltva, várj egy picit aztán próbáld meg!");
  1131. return false;
  1132. }
  1133. KillTimer(Profile_CmdTimer[playerid]);
  1134. Profile_CmdTimer[playerid] = SetTimerEx("Reset_Cooldown", 2000, false, "d", playerid);
  1135. return true;
  1136. }
  1137.  
  1138. forward Reset_Cooldown(playerid);
  1139. public Reset_Cooldown(playerid)
  1140. {
  1141. Profile_Cooldown[playerid] = 0;
  1142. return true;
  1143. }
  1144.  
  1145. /*============================================================================*/
  1146. // USER COMMANDS
  1147.  
  1148. CMD:showprofile(playerid, params[]) return cmd_profile(playerid, params);
  1149. CMD:myprofile(playerid, params[]) return cmd_profile(playerid, "");
  1150. CMD:profile(playerid, params[])
  1151. {
  1152. if(!CommandSpamCheck(playerid)) return true;
  1153.  
  1154. if(isnull(params)) return ShowOnlineProfileToUser(playerid, playerid);
  1155.  
  1156. new bool:res;
  1157. for(new user; user < MAX_PLAYERS; user++)
  1158. {
  1159. if(!IsPlayerConnected(user)) continue;
  1160. if(strfind(Profile_Name[user], params, true) != -1)
  1161. {
  1162. ShowOnlineProfileToUser(playerid, user);
  1163. res = true;
  1164. break;
  1165. }
  1166. }
  1167. if(!res) ShowOfflineProfileToUser(playerid, params);
  1168. return true;
  1169. }
  1170.  
  1171. CMD:profilec(playerid, params[]) return cmd_cprofile(playerid, params);
  1172. CMD:closeprofile(playerid, params[]) return cmd_cprofile(playerid, params);
  1173. CMD:cprofile(playerid, params[])
  1174. {
  1175. if(!CommandSpamCheck(playerid)) return true;
  1176.  
  1177. Profile_EditMode[playerid] = false;
  1178. HideProfile(playerid);
  1179. return true;
  1180. }
  1181.  
  1182. CMD:profilebackground(playerid, params[]) return cmd_profilebg(playerid, params);
  1183. CMD:profilebg(playerid, params[])
  1184. {
  1185. if(!CommandSpamCheck(playerid)) return true;
  1186.  
  1187. Profile_EditMode[playerid] = EDITMODE_BACKGROUND;
  1188. ShowOnlineProfileToUser(playerid, playerid, true);
  1189. BackgroundEditArrows(playerid);
  1190. SendClientMessage(playerid, -1, #PROFILE"Most már meg lehet változtatni a {FFFFFF}háttért{737373} Használat: Num 4 vagy Num 6");
  1191. return true;
  1192. }
  1193.  
  1194. CMD:profileavatar(playerid, params[]) return cmd_profileav(playerid, params);
  1195. CMD:profileav(playerid, params[])
  1196. {
  1197. if(!CommandSpamCheck(playerid)) return true;
  1198.  
  1199. Profile_EditMode[playerid] = EDITMODE_AVATAR;
  1200. ShowOnlineProfileToUser(playerid, playerid, true);
  1201. AvatarEditArrows(playerid);
  1202. SendClientMessage(playerid, -1, #PROFILE"Most már meg lehet változtatni a {FFFFFF}avatárt{737373} Használat Num 4 vagy Num 6.");
  1203. return true;
  1204. }
  1205.  
  1206. CMD:sprofile(playerid, params[]) return cmd_profilesave(playerid, params);
  1207. CMD:saveprofile(playerid, params[]) return cmd_profilesave(playerid, params);
  1208. CMD:profilesave(playerid, params[])
  1209. {
  1210. if(!CommandSpamCheck(playerid)) return true;
  1211.  
  1212. SaveUserProfile(playerid, "User command");
  1213. SendClientMessage(playerid, -1, #PROFILE"A profil mentése megtörtént. (Profiles autosave on disconnect)");
  1214. return true;
  1215. }
  1216.  
  1217. CMD:myinfo(playerid, params[])
  1218. {
  1219. if(!CommandSpamCheck(playerid)) return true;
  1220.  
  1221. if(!Profile_SetInfo(playerid, params)) SendClientMessage(playerid, -1, PROFILE_ERROR);
  1222. else SendClientMessage(playerid, -1, #PROFILE"Ön új adatai frissítve lett.");
  1223. return true;
  1224. }
  1225.  
  1226. /*============================================================================*/
  1227. // *NOOBISH* STOCKS
  1228.  
  1229. stock ShowAdminBars(playerid, input)
  1230. {
  1231. if(input >= 1) TextDrawShowForPlayer(playerid, LevelBars[0]);
  1232. if(input >= 2) TextDrawShowForPlayer(playerid, LevelBars[1]);
  1233. if(input >= 3) TextDrawShowForPlayer(playerid, LevelBars[2]);
  1234. if(input >= 4) TextDrawShowForPlayer(playerid, LevelBars[3]);
  1235. if(input >= 5) TextDrawShowForPlayer(playerid, LevelBars[4]);
  1236. return true;
  1237. }
  1238.  
  1239. stock ShowVipBars(playerid, input)
  1240. {
  1241. if(input >= 1) TextDrawShowForPlayer(playerid, VipBars[0]);
  1242. if(input >= 2) TextDrawShowForPlayer(playerid, VipBars[1]);
  1243. if(input >= 3) TextDrawShowForPlayer(playerid, VipBars[2]);
  1244. if(input >= 4) TextDrawShowForPlayer(playerid, VipBars[3]);
  1245. if(input >= 5) TextDrawShowForPlayer(playerid, VipBars[4]);
  1246. return true;
  1247. }
  1248.  
  1249. stock ShowRepBars(playerid, input)
  1250. {
  1251. if(input >= 10) TextDrawShowForPlayer(playerid, RepBars[0]);
  1252. if(input >= 150) TextDrawShowForPlayer(playerid, RepBars[1]);
  1253. if(input >= 350) TextDrawShowForPlayer(playerid, RepBars[2]);
  1254. if(input >= 650) TextDrawShowForPlayer(playerid, RepBars[3]);
  1255. if(input >= 1000) TextDrawShowForPlayer(playerid, RepBars[4]);
  1256. return true;
  1257. }
  1258.  
  1259. stock InfoFormat(string[])
  1260. {
  1261. format(PROFILE_STRING, sizeof PROFILE_STRING, string);
  1262.  
  1263. for(new pos=0; pos < strlen(PROFILE_STRING); pos++)
  1264. if(PROFILE_STRING[pos] == '~') PROFILE_STRING[pos] = '_';
  1265.  
  1266. new line_c = -3;
  1267. for(new pos=0; pos < strlen(PROFILE_STRING); pos++)
  1268. {
  1269. if(PROFILE_STRING[pos] >= 'A' && PROFILE_STRING[pos] <= 'Z') line_c++;
  1270. if(line_c >= 30) { strins(PROFILE_STRING, "~n~", pos); line_c = 0; }
  1271. line_c++;
  1272. }
  1273.  
  1274. format(string, 256, PROFILE_STRING);
  1275. }
  1276.  
  1277. /*============================================================================*/
  1278. // END OF FILE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement