Guest User

Untitled

a guest
Mar 3rd, 2017
1,118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.48 KB | None | 0 0
  1.  
  2. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3.  
  4. #include <a_samp>
  5. #include <YSI\y_ini>
  6.  
  7. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8.  
  9. #define dialog_REGISTER 1
  10. #define dialog_LOGIN 2
  11. #define dialog_OSTALO 3
  12.  
  13. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  14.  
  15. #define col_server "{0282DE}"
  16. #define col_crvena "{F7344E}"
  17. #define col_bela "{FFFFFF}"
  18.  
  19. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  20.  
  21. #define SCM SendClientMessage
  22.  
  23. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  24.  
  25. #define REGISTER_KORISNICI "Korisnici/%s.ini"
  26.  
  27. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  28.  
  29. enum pPlayerInfo
  30. {
  31. pPass[129],
  32. pNovac,
  33. pLevel,
  34. pAdmin,
  35. pUbistva,
  36. pSmrti,
  37. pPlayerCuvanje
  38. }
  39. new PlayerInfo[MAX_PLAYERS][pPlayerInfo];
  40.  
  41. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  42.  
  43. forward UcitajKorisnike(playerid, name[], value[]);
  44.  
  45. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  46.  
  47. native WP_Hash(buffer[], len, const str[]);
  48.  
  49. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  50.  
  51. main()
  52. {
  53. print("\n----------------------------------");
  54. print(" Pokrecem ucitavanje celog moda...");
  55. print(" Potrajace nekoliko sekundi...");
  56. print("----------------------------------\n");
  57. }
  58.  
  59. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  60.  
  61. public OnGameModeInit()
  62. {
  63. SetGameModeText("Grand Script v0.1");
  64. SendRconCommand("language Grand RP");
  65. return 1;
  66. }
  67.  
  68. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  69.  
  70. public OnGameModeExit()
  71. {
  72. return 1;
  73. }
  74.  
  75. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  76.  
  77. public OnPlayerRequestClass(playerid, classid)
  78. {
  79. return 1;
  80. }
  81.  
  82. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  83.  
  84. public OnPlayerConnect(playerid)
  85. {
  86. SCM(playerid, -1, ""col_server"(Grand:RP) "col_bela"Dobrodosli na Grand RolePlay Server, verzija moda v0.1 by Boky!");
  87.  
  88. ResetujKorisnika(playerid);
  89.  
  90. new StrText[80];
  91. format(StrText, 80, REGISTER_KORISNICI, GetName(playerid));
  92. if(fexist(StrText))
  93. {
  94. ShowPlayerDialog(playerid, dialog_LOGIN, DIALOG_STYLE_PASSWORD, ""col_server"Login", ""col_bela"Unesite lozinku koju ste uneli na registraciji.\n\n- Ukoliko imate problema posetite nas forum "col_server"www.grand-roleplay.com"col_bela".\n- Unesite vasu validnu lozinku.", "Login", "Izlaz");
  95. }
  96. else
  97. {
  98. ShowPlayerDialog(playerid, dialog_REGISTER, DIALOG_STYLE_PASSWORD, ""col_server"Registracija", ""col_bela"Unesite lozinku koju zelite da koristite na serveru.\n\n- Mora imati najmanje "col_server"6 "col_bela"karatkera.\n- Mora imati najvise "col_server"20 "col_bela"karatkera.", "Register", "Izlaz");
  99. }
  100. return 1;
  101. }
  102.  
  103. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  104.  
  105. public OnPlayerDisconnect(playerid, reason)
  106. {
  107. return 1;
  108. }
  109.  
  110. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  111.  
  112. public OnPlayerSpawn(playerid)
  113. {
  114. return 1;
  115. }
  116.  
  117. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  118.  
  119. public OnPlayerDeath(playerid, killerid, reason)
  120. {
  121. return 1;
  122. }
  123.  
  124. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  125.  
  126. public OnVehicleSpawn(vehicleid)
  127. {
  128. return 1;
  129. }
  130.  
  131. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  132.  
  133. public OnVehicleDeath(vehicleid, killerid)
  134. {
  135. return 1;
  136. }
  137.  
  138. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  139.  
  140. public OnPlayerText(playerid, text[])
  141. {
  142. return 1;
  143. }
  144.  
  145. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  146.  
  147. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  148. {
  149. return 1;
  150. }
  151.  
  152. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  153.  
  154. public OnPlayerExitVehicle(playerid, vehicleid)
  155. {
  156. return 1;
  157. }
  158.  
  159. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  160.  
  161. public OnPlayerStateChange(playerid, newstate, oldstate)
  162. {
  163. return 1;
  164. }
  165.  
  166. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  167.  
  168. public OnPlayerEnterCheckpoint(playerid)
  169. {
  170. return 1;
  171. }
  172.  
  173. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  174.  
  175. public OnPlayerLeaveCheckpoint(playerid)
  176. {
  177. return 1;
  178. }
  179.  
  180. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  181.  
  182. public OnPlayerEnterRaceCheckpoint(playerid)
  183. {
  184. return 1;
  185. }
  186.  
  187. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188.  
  189. public OnPlayerLeaveRaceCheckpoint(playerid)
  190. {
  191. return 1;
  192. }
  193.  
  194. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  195.  
  196. public OnRconCommand(cmd[])
  197. {
  198. return 1;
  199. }
  200.  
  201. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  202.  
  203. public OnPlayerRequestSpawn(playerid)
  204. {
  205. return 1;
  206. }
  207.  
  208. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  209.  
  210. public OnObjectMoved(objectid)
  211. {
  212. return 1;
  213. }
  214.  
  215. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  216.  
  217. public OnPlayerObjectMoved(playerid, objectid)
  218. {
  219. return 1;
  220. }
  221.  
  222. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  223.  
  224. public OnPlayerPickUpPickup(playerid, pickupid)
  225. {
  226. return 1;
  227. }
  228.  
  229. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  230.  
  231. public OnVehicleMod(playerid, vehicleid, componentid)
  232. {
  233. return 1;
  234. }
  235.  
  236. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  237.  
  238. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  239. {
  240. return 1;
  241. }
  242.  
  243. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  244.  
  245. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  246. {
  247. return 1;
  248. }
  249.  
  250. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  251.  
  252. public OnPlayerSelectedMenuRow(playerid, row)
  253. {
  254. return 1;
  255. }
  256.  
  257. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  258.  
  259. public OnPlayerExitedMenu(playerid)
  260. {
  261. return 1;
  262. }
  263.  
  264. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  265.  
  266. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  267. {
  268. return 1;
  269. }
  270.  
  271. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  272.  
  273. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  274. {
  275. return 1;
  276. }
  277.  
  278. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  279.  
  280. public OnRconLoginAttempt(ip[], password[], success)
  281. {
  282. return 1;
  283. }
  284.  
  285. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  286.  
  287. public OnPlayerUpdate(playerid)
  288. {
  289. return 1;
  290. }
  291.  
  292. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  293.  
  294. public OnPlayerStreamIn(playerid, forplayerid)
  295. {
  296. return 1;
  297. }
  298.  
  299. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  300.  
  301. public OnPlayerStreamOut(playerid, forplayerid)
  302. {
  303. return 1;
  304. }
  305.  
  306. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  307.  
  308. public OnVehicleStreamIn(vehicleid, forplayerid)
  309. {
  310. return 1;
  311. }
  312.  
  313. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  314.  
  315. public OnVehicleStreamOut(vehicleid, forplayerid)
  316. {
  317. return 1;
  318. }
  319.  
  320. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  321.  
  322. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  323. {
  324. switch(dialogid)
  325. {
  326. case dialog_REGISTER:
  327. {
  328. if(!response) return Kick(playerid);
  329. if(response)
  330. {
  331. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, dialog_REGISTER, DIALOG_STYLE_PASSWORD, ""col_server"Registracija", ""col_bela"Unesite lozinku koju zelite da koristite na serveru.\n\n- Mora imati najmanje "col_server"6 "col_bela"karatkera.\n- Mora imati najvise "col_server"20 "col_bela"karatkera.", "Register", "Izlaz");
  332. Registruj_Igraca(playerid);
  333. SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  334. SpawnPlayer(playerid);
  335. }
  336. }
  337.  
  338. case dialog_LOGIN:
  339. {
  340. if(!response) return Kick(playerid);
  341. if(response)
  342. {
  343. new hashpass[129], StrText[80];
  344. WP_Hash(hashpass, 129, inputtext);
  345. if(!strcmp(hashpass, PlayerInfo[playerid][pPass], false))
  346. {
  347. format(StrText, 80, REGISTER_KORISNICI, GetName(playerid));
  348. INI_ParseFile(StrText, "UcitajKorisnike", .bExtra = true, .extra = playerid);
  349. GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
  350. SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
  351. SpawnPlayer(playerid);
  352. SCM(playerid, -1, ""col_server"(Info) "col_bela"Uspesno ste se ulogovali na server!");
  353. }
  354. else
  355. {
  356. ShowPlayerDialog(playerid, dialog_LOGIN, DIALOG_STYLE_PASSWORD, ""col_crvena"Pogresna Lozinka", ""col_bela"Unesite lozinku koju ste uneli na registraciji.\n\n- Ukoliko imate problema posetite nas forum "col_server"www.grand-roleplay.com"col_bela".\n- Unesite vasu validnu lozinku.", "Login", "Izlaz");
  357. SCM(playerid, -1, ""col_crvena"(Upozorenje) "col_bela"Pogresili ste lozinku, ugasite Caps Lock!");
  358. }
  359. return 1;
  360. }
  361. }
  362. }
  363. return 1;
  364. }
  365.  
  366. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  367.  
  368. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  369. {
  370. return 1;
  371. }
  372.  
  373. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PUBLIC
  374.  
  375. public UcitajKorisnike(playerid, name[], value[])
  376. {
  377. INI_String("Password", PlayerInfo[playerid][pPass], 129);
  378. INI_Int("Novac", PlayerInfo[playerid][pNovac]);
  379. INI_Int("Level", PlayerInfo[playerid][pLevel]);
  380. INI_Int("Admin", PlayerInfo[playerid][pAdmin]);
  381. INI_Int("Ubistva", PlayerInfo[playerid][pUbistva]);
  382. INI_Int("Smrti", PlayerInfo[playerid][pSmrti]);
  383. INI_Int("PlayerCuvanje", PlayerInfo[playerid][pPlayerCuvanje]);
  384. return 1;
  385. }
  386.  
  387. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ STOCK
  388.  
  389. stock ResetujKorisnika(playerid)
  390. {
  391. PlayerInfo[playerid][pNovac] = 0;
  392. PlayerInfo[playerid][pLevel] = 0;
  393. PlayerInfo[playerid][pAdmin] = 0;
  394. PlayerInfo[playerid][pUbistva] = 0;
  395. PlayerInfo[playerid][pSmrti] = 0;
  396. PlayerInfo[playerid][pPlayerCuvanje] = 0;
  397. }
  398.  
  399. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  400.  
  401. stock SacuvajKorisnika(playerid)
  402. {
  403. if(PlayerInfo[playerid][pSnimanjeRacuna] != 0)
  404. {
  405. new StrText[80], string[400];
  406. format(StrText, 80, REGISTER_KORISNICI, GetName(playerid));
  407. if(fexist(StrText))
  408. {
  409. new INI:PlayerFile = INI_Open(StrText);
  410. INI_WriteInt(PlayerFile, "Novac", GetPlayerMoney(playerid));
  411. INI_WriteInt(PlayerFile, "Level", PlayerInfo[playerid][pLevel]);
  412. INI_WriteInt(PlayerFile, "Admin", PlayerInfo[playerid][pAdmin]);
  413. INI_WriteInt(PlayerFile, "Ubistva", PlayerInfo[playerid][pUbistva]);
  414. INI_WriteInt(PlayerFile, "Smrti", PlayerInfo[playerid][pSmrti]);
  415. INI_WriteINT(PlayerFile, "PlayerCuvanje", PlayerInfo[playerid][pPlayerCuvanje]);
  416. INI_Close(PlayerFile);
  417. }
  418. else
  419. {
  420. format(strign, sizeof(string), "{0073AA}| Info | {FFFFFF}Vase Ime_Prezime(%s) nije pronadjeno u bazi podataka i nije ga moguce sacuvati!", GetName(playerid));
  421. SCM(playerid, -1, string);
  422. }
  423. }
  424. return 1;
  425. }
  426.  
  427. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  428.  
  429. stock Registruj_Igraca(playerid)
  430. {
  431. new StrText[80], Hash_Password[129];
  432. PlayerInfo[playerid][pNovac] = 10000;
  433. GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
  434. PlayerInfo[playerid][pLevel] = 1;
  435. PlayerInfo[playerid][pAdmin] = 0;
  436. PlayerInfo[playerid][pUbistva] = 0;
  437. PlayerInfo[playerid][pSmrti] = 0;
  438. PlayerInfo[playerid][pPlayerCuvanje] = 1;
  439. format(StrText, 80, REGISTER_KORISNICI, GetName(playerid));
  440. new INI:File = INI_Open(StrText);
  441. WP_Hash(Hash_Password, 129, PlayerInfo[playerid][pPass]);
  442. INI_WriteString(File,"Pass", Hash_Password);
  443. INI_WriteInt(File, "Novac", PlayerInfo[playerid][pNovac]);
  444. INI_WriteInt(File, "Level", PlayerInfo[playerid][pLevel]);
  445. INI_WriteInt(File, "Admin", PlayerInfo[playerid][pAdmin]);
  446. INI_WriteInt(File, "Ubistva", PlayerInfo[playerid][pUbistva]);
  447. INI_WriteInt(File, "Smrti", PlayerInfo[playerid][pSmrti]);
  448. INI_WriteInt(File, "PlayerCuvanje", PlayerInfo[playerid][pPlayerCuvanje]);
  449. INI_Close(File);
  450. }
  451.  
  452. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  453.  
  454. stock GetName(playerid)
  455. {
  456. new Ime_Igraca[MAX_PLAYER_NAME];
  457. GetPlayerName(playerid, Ime_Igraca, MAX_PLAYER_NAME);
  458. return Ime_Igraca;
  459. }
  460.  
  461. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  462.  
  463. //By Boky
  464.  
  465. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Advertisement
Add Comment
Please, Sign In to add comment