Advertisement
Guest User

Untitled

a guest
Oct 21st, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 150.79 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dfile>
  3. #include <kolory>
  4. #include <streamer>
  5. #include <zcmd>
  6. #include <mapandreas>
  7. #include <zones>
  8. #include <sscanf>
  9.  
  10.  
  11. native WP_Hash(buffer[], len, const str[]);
  12.  
  13. //Ustawienia serwera
  14. #define NAZWA_SERWERA "Polski Super Serwer by Banan"
  15. #define WERSJA_SERWERA "1.0"
  16.  
  17. //Parametry Serwera
  18. #define PUNKTY_NA_START 10
  19. #define KASA_NA_START 10500
  20. #define KOLOR_MYSZKI COLOR_RED
  21. #define MAX_POSTACIE 311
  22.  
  23. //Kolory
  24. #define KOLOR_INFO "{F3F856}"
  25.  
  26. //Wiadomosci
  27. #define RANGA_ERROR KOLOR_INFO"Info: {FF0000}Nie jestes uprawiony(a) by uzywac ta komende!"
  28.  
  29. //Rangi
  30. #define RANGA_GRACZ 0
  31. #define RANGA_SUPPORT 1
  32. #define RANGA_MODERATOR 2
  33. #define RANGA_JADMIN 3
  34. #define RANGA_ADMIN 4
  35. #define RANGA_WLASCICIEL 5
  36.  
  37. //System Pozaru
  38. #define MAX_POZARY 10
  39. #define MIN_OGNIE 8
  40. #define MAX_OGNIE 30
  41. #define MIN_OGNIE_ZYCIE 50
  42. #define MAX_OGNIE_ZYCIE 120
  43. #define MAX_OGNIE_ODLEGLOSC 15
  44. #define MAX_ODLEGLOSC_WID_ZYCIA 50
  45. #define PIENIADZE_ZA_OGIEN_GASNICA 250
  46. #define PIENIADZE_ZA_OGIEN_WSTRAZACKI 150
  47.  
  48. #define CZAS_AUTOMAT_POZARU 10 //W Minutach
  49. #define CZAS_AUTOMAT_ZNISZCZENIE_POZARU 5 //W Minutach
  50.  
  51. //Dialogi
  52. #define DIALOG_REJESTRACJA 0
  53. #define DIALOG_LOGOWANIE 1
  54. #define DIALOG_ZMIENRANGE 2
  55. #define DIALOG_ADMINS 3
  56.  
  57. //Sciezki folderow
  58. #define FOLDER_KONT "/Konta/"
  59.  
  60. //TextDrawy
  61. new Text:WP_Naglowek;
  62. new Text:WP_Lewo;
  63. new Text:WP_Prawo;
  64. new Text:WP_Wybierz;
  65. new Text:CzasData;
  66.  
  67. new PlayerText:WP_IDSkina[MAX_PLAYERS];
  68. new PlayerText:Predkosciomierz[MAX_PLAYERS];
  69.  
  70. new Text:NazwaSerwera;
  71.  
  72. main(){}
  73.  
  74. //Enumy
  75. enum Dgracza
  76. {
  77. bool:Zalogowany,
  78. bool:UzywaGasnice,
  79. bool:JestWWozieStr,
  80. bool:Zespawnowany,
  81. bool:Zbanowany,
  82. bool:Podglada,
  83. bool:GodWlaczony,
  84. Float:PrevLocX,
  85. Float:PrevLocY,
  86. Float:PrevLocZ,
  87. Float:PrevLocAngle,
  88. PrevLocInt,
  89. PrevLocVW,
  90. IsSpecPlayer,
  91. SkinID,
  92. WybranaPostac,
  93. MyszkaTimer,
  94. haslogracza[130],
  95. IPGracza[18],
  96. PodpalonyIndex,
  97. PodpalonyTimer,
  98. Ranga,
  99. WybranyGracz,
  100. UwiezionyCzas,
  101. WyciszonyCzas,
  102. GodTimer
  103. };
  104. new DaneGracza[MAX_PLAYERS][Dgracza];
  105.  
  106. enum Dpozaru
  107. {
  108. bool:stworzony,
  109. Float:ogX,
  110. Float:ogY,
  111. Float:ogZ,
  112. ogZycie,
  113. ogObjekt,
  114. Text3D:ogtdt
  115. };
  116. new Pozar[MAX_POZARY][MAX_OGNIE][Dpozaru];
  117.  
  118. enum Dpostaci
  119. {
  120. bool:Uzywane,
  121. pmodelid,
  122. Float:pspawnx,
  123. Float:pspawny,
  124. Float:pspawnz,
  125. Float:pspawna,
  126. pspawnint,
  127. pspawnvw,
  128. pweapon1,
  129. pammo1,
  130. pweapon2,
  131. pammo2,
  132. pweapon3,
  133. pammo3
  134. };
  135. new Postacie[MAX_POSTACIE][Dpostaci];
  136. new IloscPostaci;
  137.  
  138. //Zmienne Globalne
  139. new bool:PozarAktywny[MAX_POZARY];
  140. new PozarTimer[MAX_POZARY];
  141. new bool:RealnyCzas = true;
  142.  
  143.  
  144. //Tablice
  145. new Ognia[][] =
  146. {
  147. 18691, 18690, 18689, 18688, 18692
  148. };
  149.  
  150. new Float:Wiezienia[][] =
  151. {
  152. {193.6328,174.0766,1003.0234,0.0, 3.0},
  153. {197.7229,174.9687,1003.0234,0.0, 3.0},
  154. {198.5081,162.2763,1003.0300,180.0, 3.0}
  155. };
  156.  
  157. //Naprawa Kolorow
  158. new PlayerColors[] = {
  159. 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,
  160. 0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,
  161. 0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,
  162. 0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,
  163. 0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,
  164. 0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,
  165. 0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,
  166. 0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,
  167. 0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
  168. 0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,0x3FE65CFF
  169. };
  170.  
  171. new Nazwapojazdu[][] = {
  172. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Straz pozarna", "Trashmaster", "Limuzyna", "Manana",
  173. "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat",
  174. "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
  175. "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo",
  176. "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
  177. "Berkley's RC Van", "Skimmer", "PCJ-600", "Skuter", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
  178. "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito",
  179. "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring",
  180. "Sandking", "Blista Compact", "Policyjny Helikopter", "Boxvillde", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
  181. "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Rower", "Rower Gorski", "Beagle", "Cropduster","Stunt", "Baker",
  182. "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Betoniarka", "Tow Truck", "Fortune",
  183. "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Fel tzer", "Remington", "Slamvan", "BLADe", "Freight", "Streak",
  184. "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Straz Pozarna LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit",
  185. "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance",
  186. "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway",
  187. "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
  188. "Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Woz policyjny (LSPD)", "Woz policyjny (SFPD)",
  189. "Woz policyjny (LVPD)", "Policyjny Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
  190. "Luggage Trailer B", "Schody", "Boxville", "Tiller", "Utility Trailer" };
  191.  
  192. new Float:LokalizacjePozarow[][] =
  193. {
  194. {1199.5704,-918.9775,42.6762},
  195. {926.3015,-1336.3226,13.1091},
  196. {-78.4284,-1583.3805,2.1853},
  197. {-584.7283,-1056.6511,23.1250},
  198. {-603.9949,-500.5743,25.0908},
  199. {254.1703,-221.2956,1.1346}
  200. };
  201.  
  202. public OnGameModeInit()
  203. {
  204. //Stocki i Pluginy
  205. MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
  206. UsePlayerPedAnims();
  207. StworzTextDrawy();
  208.  
  209. //Timery
  210. SetTimer("AktualizujOgnie", 1000, true);
  211. SetTimer("StworzPrzypPozar", CZAS_AUTOMAT_POZARU * 1000 * 60, true);
  212. SetTimer("SekundowaAktualizacja", 1000, true);
  213.  
  214. //Pojazdy
  215. AddStaticVehicle(562,1330.6879,-1390.5624,13.1629,90.0536,35,1); // P1
  216. AddStaticVehicle(432,1322.0795,-1390.0562,13.4835,88.3199,43,0); // p2
  217. AddStaticVehicle(407,1280.6907,-1372.0385,14.0338,3.6074,0,0); // p3
  218. AddStaticVehicle(522,1299.5216,-1387.8540,13.0545,219.3891,6,25); // p4
  219. AddStaticVehicle(401,1294.1825,-1390.6641,13.1319,268.7355,47,47); // p5
  220.  
  221. //Postacie
  222.  
  223. //DodajPostac(MODELID, SPAWNX, SPAWNY, SPAWNZ, SPAWNROTACJA, INTERIOR, VW, BRON1, BRON1AMMU, BRON2, BRON2AMMU, BRON3, BRON3AMMU);
  224. DodajPostac(15, 0.0, 0.0, 0.0, 0.0, 0, 0, WEAPON_DEAGLE, 150, WEAPON_SHOTGUN, 50, WEAPON_MP5, 350);
  225. DodajPostac(20, 0.0, 0.0, 0.0, 0.0);
  226. DodajPostac(26, 0.0, 0.0, 0.0, 0.0, 0, 0, WEAPON_ROCKETLAUNCHER, 3, WEAPON_M4, 500, WEAPON_GRENADE, 5);
  227. DodajPostac(302, 0.0, 0.0, 0.0, 0.0);
  228. DodajPostac(303, 363.8534, 183.6116, 1008.3828, 208.0, 3, 0, WEAPON_M4, 500, WEAPON_MP5, 350, WEAPON_DEAGLE, 150);
  229. DodajPostac(251, 0.0, 0.0, 0.0, 0.0);
  230. DodajPostac(115, 0.0, 0.0, 0.0, 0.0);
  231.  
  232. /*for(new idskina=0; idskina < 311; idskina++)
  233. {
  234. DodajPostac(idskina, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
  235. }*/
  236.  
  237. //Inne
  238. if(!dfile_FileExists(FOLDER_KONT))
  239. return printf("BLAD: Folder %s nie istnieje w folderze Scriptfiles! Stworz ja!", FOLDER_KONT);
  240.  
  241. printf("\nGamemode %s wersja %s by Nickk888 zostal pomyslnie wlaczony!\n", NAZWA_SERWERA, WERSJA_SERWERA);
  242.  
  243. //TextDrawy
  244. NazwaSerwera = TextDrawCreate(576.000000, 0.000000, "~r~POL~w~SKI ~y~SUPER ~g~SERWER");
  245. TextDrawFont(NazwaSerwera, 2);
  246. TextDrawLetterSize(NazwaSerwera, 0.258333, 2.750000);
  247. TextDrawTextSize(NazwaSerwera, 636.500000, 123.000000);
  248. TextDrawSetOutline(NazwaSerwera, 1);
  249. TextDrawSetShadow(NazwaSerwera, 0);
  250. TextDrawAlignment(NazwaSerwera, 2);
  251. TextDrawColor(NazwaSerwera, -1378294017);
  252. TextDrawBackgroundColor(NazwaSerwera, 255);
  253. TextDrawBoxColor(NazwaSerwera, 78);
  254. TextDrawUseBox(NazwaSerwera, 1);
  255. TextDrawSetProportional(NazwaSerwera, 1);
  256. TextDrawSetSelectable(NazwaSerwera, 0);
  257.  
  258. CzasData = TextDrawCreate(86.000000, 313.000000, "00:00~n~00.00.0000");
  259. TextDrawFont(CzasData, 2);
  260. TextDrawLetterSize(CzasData, 0.266665, 1.299998);
  261. TextDrawTextSize(CzasData, 400.000000, 17.000000);
  262. TextDrawSetOutline(CzasData, 2);
  263. TextDrawSetShadow(CzasData, 0);
  264. TextDrawAlignment(CzasData, 2);
  265. TextDrawColor(CzasData, -1);
  266. TextDrawBackgroundColor(CzasData, 255);
  267. TextDrawBoxColor(CzasData, 50);
  268. TextDrawUseBox(CzasData, 0);
  269. TextDrawSetProportional(CzasData, 1);
  270. TextDrawSetSelectable(CzasData, 0);
  271.  
  272. return 1;
  273. }
  274.  
  275. public OnPlayerText(playerid, text[])
  276. {
  277. new wiadomosc[350];
  278. if(DaneGracza[playerid][WyciszonyCzas] != -1)
  279. {
  280. //Gracz jest wyciszony
  281. format(wiadomosc, sizeof wiadomosc, "{EBAD2C}Jestes wyciszony/a na %i sekundy (>%i minut)", DaneGracza[playerid][WyciszonyCzas], (DaneGracza[playerid][WyciszonyCzas] / 60));
  282. SendClientMessage(playerid, -1, wiadomosc);
  283. return 0;
  284. }
  285. //Gracz nie jest wyciszony
  286. new nazwarangi[80];
  287. new hexc[10];
  288. new rangaid = DaneGracza[playerid][Ranga];
  289. nazwarangi = NazwaRangi(rangaid);
  290. hexc = GetPlayerHexStringColor(playerid);
  291.  
  292. if(rangaid == RANGA_WLASCICIEL)
  293. format(wiadomosc, sizeof wiadomosc, "{FF0000}%s {FFFFFF}[{FF0000}%s{FFFFFF}] [%i]: %s", NazwaGracza(playerid), nazwarangi, playerid, text);
  294. else if(rangaid == RANGA_ADMIN)
  295. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{FF8040}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  296. else if(rangaid == RANGA_JADMIN)
  297. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{FFC082}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  298. else if(rangaid == RANGA_MODERATOR)
  299. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{0080FF}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  300. else if(rangaid == RANGA_SUPPORT)
  301. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{FFFF00}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  302. else
  303. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[%i]: %s", hexc, NazwaGracza(playerid), playerid, text);
  304.  
  305. SendClientMessageToAll(-1, wiadomosc);
  306. return 0;
  307. }
  308.  
  309. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  310. {
  311. if(clickedid == WP_Lewo)
  312. {
  313. ZmienPostac(playerid, false);
  314. }
  315. if(clickedid == WP_Prawo)
  316. {
  317. ZmienPostac(playerid, true);
  318. }
  319. if(clickedid == WP_Wybierz)
  320. {
  321. DaneGracza[playerid][Zespawnowany] = true;
  322. WybierzTextDraw(playerid, false);
  323. TextDrawHideForPlayer(playerid, WP_Naglowek);
  324. TextDrawHideForPlayer(playerid, WP_Lewo);
  325. TextDrawHideForPlayer(playerid, WP_Prawo);
  326. TextDrawHideForPlayer(playerid, WP_Wybierz);
  327. PlayerTextDrawHide(playerid, WP_IDSkina[playerid]);
  328. SpawnPlayer(playerid);
  329. }
  330. return 0;
  331. }
  332.  
  333. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  334. {
  335. new string[300];
  336. if(dialogid == DIALOG_ZMIENRANGE)
  337. {
  338. if(response)
  339. {
  340. new id = DaneGracza[playerid][WybranyGracz];
  341. DaneGracza[id][Ranga] = listitem;
  342. format(string, sizeof string, KOLOR_INFO"Info: {FFFFFF}Zmieniles range gracza %s(ID: %i) na range %s", NazwaGracza(id), id, NazwaRangi(listitem));
  343. SendClientMessage(playerid, -1, string);
  344. format(string, sizeof string, KOLOR_INFO"Info: {FFFFFF}Administrator %s(ID: %i) zmienil(a) tobie range na %s", NazwaGracza(playerid), playerid, NazwaRangi(listitem));
  345. SendClientMessage(id, -1, string);
  346. }
  347. }
  348. if(dialogid == DIALOG_LOGOWANIE)
  349. {
  350. if(response)
  351. {
  352. new hasloex[130];
  353. WP_Hash(hasloex, sizeof hasloex, inputtext);
  354. if(strcmp(hasloex, DaneGracza[playerid][haslogracza], false) == 0)
  355. {
  356. WczytajKonto(playerid);
  357. DaneGracza[playerid][Zalogowany] = true;
  358. TogglePlayerSpectating(playerid, false);
  359. SendClientMessage(playerid, COLOR_GREEN, "Serwer: Haslo sie zgadza! Zostales(as) pomyslnie zalogowany(a)!");
  360. }
  361. else
  362. {
  363. OknoLogowania(playerid);
  364. SendClientMessage(playerid, COLOR_RED, "Serwer: Haslo sie nie zgadza!");
  365. }
  366. }
  367. else Kick(playerid);
  368. }
  369. if(dialogid == DIALOG_REJESTRACJA)
  370. {
  371. if(response)
  372. {
  373. if(strlen(inputtext) >= 6)
  374. {
  375. StworzKonto(playerid, inputtext);
  376. PobierzHaslo(playerid);
  377. OknoLogowania(playerid);
  378. SendClientMessage(playerid, COLOR_GREEN, "Serwer: Konto zostalo pomyslnie zalozone! Mozesz sie teraz zalogowac!");
  379. }
  380. else
  381. {
  382. OknoRejestracji(playerid);
  383. SendClientMessage(playerid, COLOR_RED, "Serwer: Haslo musi posiadac 6 lub wiecej znakow!");
  384. }
  385. }
  386. else Kick(playerid);
  387. }
  388. return 0;
  389. }
  390.  
  391. public OnPlayerConnect(playerid)
  392. {
  393. SetPlayerColor(playerid, PlayerColors[random(sizeof PlayerColors)]);
  394. ResetujDaneGracza(playerid);
  395. StworzTextDrawyGracza(playerid);
  396.  
  397. //TextDrawy
  398. TextDrawShowForPlayer(playerid, NazwaSerwera);
  399.  
  400. return 1;
  401. }
  402.  
  403. public OnPlayerDisconnect(playerid, reason)
  404. {
  405. if(DaneGracza[playerid][Zalogowany] == true)
  406. {
  407. ZapiszKonto(playerid);
  408. }
  409. ResetujDaneGracza(playerid);
  410. ZniszczTextDrawyGracza(playerid);
  411. return 1;
  412. }
  413.  
  414. public OnPlayerSpawn(playerid)
  415. {
  416. if(DaneGracza[playerid][Zalogowany] == false)
  417. {
  418. TogglePlayerSpectating(playerid, true);
  419. if(!dfile_FileExists(SciezkaKontaGracza(playerid)))
  420. {
  421. OknoRejestracji(playerid);
  422. }
  423. else
  424. {
  425. PobierzHaslo(playerid);
  426. OknoLogowania(playerid);
  427. }
  428. }
  429. else
  430. {
  431. if(DaneGracza[playerid][Zespawnowany] == true)
  432. {
  433. new wpostac = DaneGracza[playerid][WybranaPostac];
  434. SetPlayerSkin(playerid, DaneGracza[playerid][SkinID]);
  435. TogglePlayerControllable(playerid, true);
  436. ResetPlayerWeapons(playerid);
  437. if(DaneGracza[playerid][UwiezionyCzas] != -1)
  438. {
  439. new rand = random(sizeof Wiezienia);
  440. SetPlayerPos(playerid, Wiezienia[rand][0], Wiezienia[rand][1], Wiezienia[rand][2]);
  441. SetPlayerFacingAngle(playerid, Wiezienia[rand][3]);
  442. SetPlayerInterior(playerid, floatround(Wiezienia[rand][4]));
  443. SetCameraBehindPlayer(playerid);
  444. SetPlayerVirtualWorld(playerid, 1);
  445. SprawdzSpec(playerid);
  446. DaneGracza[playerid][Podglada] = false;
  447. return 1;
  448. }
  449. if(Postacie[wpostac][pspawnx] != 0.0 || Postacie[wpostac][pspawny] != 0.0 || Postacie[wpostac][pspawnz] != 0.0)
  450. {
  451. SetPlayerPos(playerid, Postacie[wpostac][pspawnx], Postacie[wpostac][pspawny], Postacie[wpostac][pspawnz]);
  452. SetPlayerFacingAngle(playerid, Postacie[wpostac][pspawna]);
  453. SetCameraBehindPlayer(playerid);
  454. SetPlayerInterior(playerid, Postacie[wpostac][pspawnint]);
  455. SetPlayerVirtualWorld(playerid, Postacie[wpostac][pspawnvw]);
  456. }
  457. else
  458. {
  459. SetPlayerPos(playerid, 1310.3093,-1368.5123,13.5503);
  460. SetPlayerFacingAngle(playerid, 181.1590);
  461. SetCameraBehindPlayer(playerid);
  462. SetPlayerInterior(playerid, 0);
  463. SetPlayerVirtualWorld(playerid, 0);
  464. }
  465. if(Postacie[wpostac][pweapon1] > 0)
  466. GivePlayerWeapon(playerid, Postacie[wpostac][pweapon1], Postacie[wpostac][pammo1]);
  467. if(Postacie[wpostac][pweapon2] > 0)
  468. GivePlayerWeapon(playerid, Postacie[wpostac][pweapon2], Postacie[wpostac][pammo2]);
  469. if(Postacie[wpostac][pweapon3] > 0)
  470. GivePlayerWeapon(playerid, Postacie[wpostac][pweapon3], Postacie[wpostac][pammo3]);
  471.  
  472. //Podgladanie
  473. if(DaneGracza[playerid][Podglada] == true)
  474. {
  475. SetPlayerPos(playerid, DaneGracza[playerid][PrevLocX], DaneGracza[playerid][PrevLocY], DaneGracza[playerid][PrevLocZ]);
  476. SetPlayerFacingAngle(playerid, DaneGracza[playerid][PrevLocAngle]);
  477. SetPlayerVirtualWorld(playerid, DaneGracza[playerid][PrevLocVW]);
  478. SetPlayerInterior(playerid, DaneGracza[playerid][PrevLocInt]);
  479. DaneGracza[playerid][Podglada] = false;
  480. }
  481. SprawdzSpec(playerid);
  482.  
  483. //Niesmiertelnosc
  484. if(DaneGracza[playerid][GodWlaczony] == true)
  485. SetPlayerHealth(playerid, 999);
  486. }
  487. else
  488. {
  489. WyborPostaci(playerid);
  490. }
  491. }
  492. return 1;
  493. }
  494.  
  495. public OnPlayerRequestClass(playerid, classid)
  496. {
  497. SetTimerEx("SpawnujGracza", 150, false, "i", playerid);
  498.  
  499. return 1;
  500. }
  501.  
  502. public OnPlayerDeath(playerid, killerid, reason)
  503. {
  504. if(DaneGracza[playerid][PodpalonyIndex] > 0)
  505. {
  506. KillTimer(DaneGracza[playerid][PodpalonyTimer]);
  507. RemovePlayerAttachedObject(playerid, 9);
  508. }
  509. return 1;
  510. }
  511.  
  512. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  513. {
  514. SetTimerEx("SprawdzSpec", 3000, false, "i", playerid);
  515. return 1;
  516. }
  517.  
  518. public OnPlayerCommandReceived(playerid, cmdtext[])
  519. {
  520. if(DaneGracza[playerid][UwiezionyCzas] != -1 && !JestRanga(playerid, 1) && !IsPlayerAdmin(playerid))
  521. {
  522. SendClientMessage(playerid, -1, "Nie mozesz uzywac komendy bedac w wiezieniu!");
  523. return 0;
  524. }
  525. return 1;
  526. }
  527.  
  528. public OnPlayerStateChange(playerid, newstate, oldstate)
  529. {
  530. SprawdzSpec(playerid);
  531. return 1;
  532. }
  533.  
  534. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  535. {
  536. new vehicleid = GetPlayerVehicleID(playerid);
  537. if(newkeys & KEY_FIRE && GetPlayerWeapon(playerid) == WEAPON_FIREEXTINGUISHER)
  538. DaneGracza[playerid][UzywaGasnice] = true;
  539. else
  540. DaneGracza[playerid][UzywaGasnice] = false;
  541.  
  542. if((newkeys & KEY_FIRE || newkeys & KEY_ACTION) && GetVehicleModel(vehicleid) == 407 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  543. DaneGracza[playerid][JestWWozieStr] = true;
  544. else
  545. DaneGracza[playerid][JestWWozieStr] = false;
  546. return 1;
  547. }
  548.  
  549. forward ZniszczPozar(pozarid);
  550. public ZniszczPozar(pozarid)
  551. {
  552. PozarAktywny[pozarid] = false;
  553. for(new i; i < MAX_OGNIE; i++)
  554. {
  555. if(Pozar[pozarid][i][stworzony] == true)
  556. {
  557. Pozar[pozarid][i][stworzony] = false;
  558. DestroyDynamicObject(Pozar[pozarid][i][ogObjekt]);
  559. DestroyDynamic3DTextLabel(Pozar[pozarid][i][ogtdt]);
  560. }
  561. }
  562. return 1;
  563. }
  564.  
  565. forward StworzPozar(Float:x, Float:y, Float:z);
  566. public StworzPozar(Float:x, Float:y, Float:z)
  567. {
  568. new string[300], zone[64];
  569. for(new i; i < MAX_POZARY; i++)
  570. {
  571. if(PozarAktywny[i] == false)
  572. {
  573.  
  574. PozarAktywny[i] = true;
  575. new ilosc = ExRandom(MIN_OGNIE, MAX_OGNIE);
  576. for(new io; io < ilosc; io++)
  577. {
  578. new Float:TempCords[3];
  579. TempCords[0] = x;
  580. TempCords[1] = y;
  581. TempCords[2] = z;
  582. GetXYInFrontOfPoint(TempCords[0], TempCords[1], random(360), random(MAX_OGNIE_ODLEGLOSC));
  583. MapAndreas_FindZ_For2DCoord(TempCords[0], TempCords[1], TempCords[2]);
  584. Pozar[i][io][stworzony] = true;
  585. Pozar[i][io][ogX] = TempCords[0];
  586. Pozar[i][io][ogY] = TempCords[1];
  587. Pozar[i][io][ogZ] = TempCords[2];
  588. Pozar[i][io][ogZycie] = ExRandom(MIN_OGNIE_ZYCIE, MAX_OGNIE_ZYCIE);
  589. Pozar[i][io][ogObjekt] = CreateDynamicObject(Ognia[random(sizeof Ognia)][0], TempCords[0], TempCords[1], TempCords[2] - 1.0, 0.0, 0.0, 0.0);
  590. Pozar[i][io][ogtdt] = CreateDynamic3DTextLabel("_", -1, TempCords[0], TempCords[1], TempCords[2] + 1.0, MAX_ODLEGLOSC_WID_ZYCIA);
  591. CreateExplosion(TempCords[0], TempCords[1], TempCords[2] -1.0, 11, 1.0);
  592. for(new idd; idd <= GetPlayerPoolSize(); idd++)
  593. Streamer_Update(idd, 0);
  594. }
  595. GetPos2DZone(x, y, zone, sizeof zone);
  596. format(string, sizeof string, "{FF8040}Pozar: {FFFFFF}Wybuchl pozar o ID: %i w okolicy %s", i, zone);
  597. SendClientMessageToAll(-1, string);
  598. PozarTimer[i] = SetTimerEx("ZniszczPozar", CZAS_AUTOMAT_ZNISZCZENIE_POZARU * 1000 * 60, false, "i", i);
  599. return i;
  600. }
  601. }
  602. return 1;
  603. }
  604.  
  605. //Komendy
  606. CMD:realtime(playerid, params[])
  607. {
  608. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  609. if(RealnyCzas == true)
  610. {
  611. RealnyCzas = false;
  612. SendClientMessage(playerid, -1, "{FF0000}Realny czas zostal wylaczony!");
  613. }
  614. else
  615. {
  616. RealnyCzas = true;
  617. SendClientMessage(playerid, -1, "{00FF00}Realny czas zostal wlaczony!");
  618. }
  619. return 1;
  620. }
  621.  
  622. CMD:admins(playerid, params[])
  623. {
  624. new string[128], longstring[2000];
  625. new j = GetPlayerPoolSize();
  626. strcat(longstring, "{FF0000}Wlasciciele\n");
  627. for(new i; i <= j; i++)
  628. {
  629. if(DaneGracza[i][Ranga] == RANGA_WLASCICIEL)
  630. {
  631. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  632. strcat(longstring, string);
  633. }
  634. }
  635.  
  636. strcat(longstring, "\n{FF8040}Admini\n");
  637. for(new i; i <= j; i++)
  638. {
  639. if(DaneGracza[i][Ranga] == RANGA_ADMIN)
  640. {
  641. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  642. strcat(longstring, string);
  643. }
  644. }
  645.  
  646. strcat(longstring, "\n{FFC082}Junior Admini\n");
  647. for(new i; i <= j; i++)
  648. {
  649. if(DaneGracza[i][Ranga] == RANGA_JADMIN)
  650. {
  651. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  652. strcat(longstring, string);
  653. }
  654. }
  655.  
  656. strcat(longstring, "\n{0080FF}Moderatorzy\n");
  657. for(new i; i <= j; i++)
  658. {
  659. if(DaneGracza[i][Ranga] == RANGA_MODERATOR)
  660. {
  661. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  662. strcat(longstring, string);
  663. }
  664. }
  665.  
  666. strcat(longstring, "\n{FFFF00}Support\n");
  667. for(new i; i <= j; i++)
  668. {
  669. if(DaneGracza[i][Ranga] == RANGA_SUPPORT)
  670. {
  671. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  672. strcat(longstring, string);
  673. }
  674. }
  675. ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Ekipa Serwera", longstring, "OK", #);
  676. return 1;
  677. }
  678.  
  679. CMD:ungod(playerid, params[])
  680. {
  681. new id, string[328];
  682. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  683. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /UnGod [ID]");
  684. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  685. else if(DaneGracza[id][GodWlaczony] == false) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz aktualnie nie ma goda!");
  686. else
  687. {
  688. format(string, sizeof string, "{FF0000}Zabrales/as graczowi %s(ID: %i) goda", NazwaGracza(id), id);
  689. SendClientMessage(playerid, -1, string);
  690. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zabral/a tobie goda", NazwaGracza(playerid), playerid);
  691. SendClientMessage(id, -1, string);
  692. DaneGracza[id][GodWlaczony] = false;
  693. SetPlayerHealth(id, 100);
  694. if(DaneGracza[id][GodTimer] != -1)
  695. {
  696. KillTimer(DaneGracza[id][GodTimer]);
  697. DaneGracza[id][GodTimer] = -1;
  698. }
  699. }
  700. return 1;
  701. }
  702.  
  703. CMD:god(playerid, params[])
  704. {
  705. new id, string[328];
  706. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  707. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /God [ID]");
  708. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  709. else if(DaneGracza[id][GodWlaczony] == true) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz aktualnie ma goda!");
  710. else
  711. {
  712. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) goda", NazwaGracza(id), id);
  713. SendClientMessage(playerid, -1, string);
  714. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie goda", NazwaGracza(playerid), playerid);
  715. SendClientMessage(id, -1, string);
  716. DaneGracza[id][GodWlaczony] = true;
  717. if(GetPlayerState(id) == PLAYER_STATE_DRIVER || GetPlayerState(id) == PLAYER_STATE_PASSENGER)
  718. {
  719. DajCarGod(id);
  720. }
  721. SetPlayerHealth(id, 999);
  722. }
  723. return 1;
  724. }
  725.  
  726. CMD:unspec(playerid, params[])
  727. {
  728. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  729. if(DaneGracza[playerid][Podglada] == true)
  730. {
  731. TogglePlayerSpectating(playerid, false);
  732. SendClientMessage(playerid, -1, "{FF0000}Zakonczyles/as podglad");
  733. }
  734. return 1;
  735. }
  736.  
  737. CMD:spec(playerid, params[])
  738. {
  739. new id, string[128];
  740. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  741. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Spec [ID]");
  742. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  743. else if(id == playerid) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Nie mozesz siebie podgladac!");
  744. else if(DaneGracza[playerid][Podglada] == true) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Aktualnie kogos podlagasz! Uzyj /UnSpec");
  745. else if(DaneGracza[id][Podglada] == true) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz aktualnie kogos podglada!");
  746. else
  747. {
  748. GetPlayerPos(playerid, DaneGracza[playerid][PrevLocX], DaneGracza[playerid][PrevLocY], DaneGracza[playerid][PrevLocZ]);
  749. GetPlayerFacingAngle(playerid, DaneGracza[playerid][PrevLocAngle]);
  750. DaneGracza[playerid][PrevLocVW] = GetPlayerVirtualWorld(playerid);
  751. DaneGracza[playerid][PrevLocInt] = GetPlayerInterior(playerid);
  752. DaneGracza[playerid][Podglada] = true;
  753. DaneGracza[playerid][IsSpecPlayer] = id;
  754. format(string, sizeof string, "{FF0000}Podgladasz gracza %s(ID: %i)", NazwaGracza(id), id);
  755. SendClientMessage(playerid, -1, string);
  756. TogglePlayerSpectating(playerid, true);
  757. SprawdzSpec(id);
  758. }
  759. return 1;
  760. }
  761.  
  762. CMD:unjail(playerid, params[])
  763. {
  764. new id, string[328];
  765. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  766. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /UnJail [ID]");
  767. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  768. else if(DaneGracza[id][UwiezionyCzas] == -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest uwieziony!");
  769. else
  770. {
  771. format(string, sizeof string, "{FF0000}Wypuszczono gracza %s(ID: %i) z wiezienia", NazwaGracza(id), id);
  772. SendClientMessage(playerid, -1, string);
  773. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wypuscil/a cie z wiezienia", NazwaGracza(playerid), playerid);
  774. SendClientMessage(id, -1, string);
  775. DaneGracza[id][UwiezionyCzas] = -1;
  776. SpawnPlayer(id);
  777. }
  778. return 1;
  779. }
  780.  
  781. CMD:jail(playerid, params[])
  782. {
  783. new id, czas, string[328];
  784. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  785. if(sscanf(params, "ui", id, czas)) SendClientMessage(playerid, -1, "UZYJ: /Jail [ID] [CZAS W MINUTACH]");
  786. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  787. else if(DaneGracza[id][UwiezionyCzas] != -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz jest juz uwieziony!");
  788. else if(czas < 1 || czas > 525948) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Czas musi byc w obrebiu 1-525948 minut!");
  789. else
  790. {
  791. format(string, sizeof string, "{FF0000}Wsadzono gracza %s(ID: %i) do wiezienia na %i minut.", NazwaGracza(id), id, czas);
  792. SendClientMessage(playerid, -1, string);
  793. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wsadzil/a cie do wiezienia na %i minut.", NazwaGracza(playerid), playerid, czas);
  794. SendClientMessage(id, -1, string);
  795. DaneGracza[id][UwiezionyCzas] = (czas * 60);
  796. SetPlayerPos(id, 0.0, 0.0, 0.0);
  797. SpawnPlayer(id);
  798. }
  799. return 1;
  800. }
  801.  
  802. CMD:clearall(playerid, params[])
  803. {
  804. new string[300];
  805. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  806. for(new i; i < 125; i++)
  807. SendClientMessageToAll(-1, " ");
  808. format(string, sizeof string, "Admin %s(ID: %i) wyczyscil/a wszystkim czat!", NazwaGracza(playerid), playerid);
  809. SendClientMessageToAll(-1, string);
  810. for(new i; i < 9; i++)
  811. SendClientMessageToAll(-1, " ");
  812. return 1;
  813. }
  814.  
  815. CMD:ann(playerid, params[])
  816. {
  817. new wiadomosc[128], string[328];
  818. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  819. if(sscanf(params, "s", wiadomosc)) SendClientMessage(playerid, -1, "UZYJ: /ANN [WIADOMOSC]");
  820. else
  821. {
  822. format(string, sizeof string, "~w~%s", wiadomosc);
  823. GameTextForAll(string, 10000, 3);
  824. }
  825. return 1;
  826. }
  827.  
  828. CMD:setweather(playerid, params[])
  829. {
  830. new pogoda, string[328];
  831. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  832. if(sscanf(params, "i", pogoda)) SendClientMessage(playerid, -1, "UZYJ: /SetWeather [ID POGODY]");
  833. else
  834. {
  835. format(string, sizeof string, "{FF0000}Ustawiles/as globalna pogode gry na godzine id %i", pogoda);
  836. SendClientMessage(playerid, -1, string);
  837. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) ustawil/a globalna pogode gry na godzine id %i", NazwaGracza(playerid), playerid, pogoda);
  838. SendClientMessageToAll(-1, string);
  839. SetWeather(pogoda);
  840. }
  841. return 1;
  842. }
  843.  
  844. CMD:settime(playerid, params[])
  845. {
  846. new godzina, string[328];
  847. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  848. if(sscanf(params, "i", godzina)) SendClientMessage(playerid, -1, "UZYJ: /SetTime [Godzina]");
  849. else if(godzina < 0 || godzina > 24) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Format godziny musi byc w obrebiu 0-24 godzin!");
  850. else
  851. {
  852. format(string, sizeof string, "{FF0000}Ustawiles/as globalny czas gry na godzine %02d:00", godzina);
  853. SendClientMessage(playerid, -1, string);
  854. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) ustawil/a globalny czas gry na godzine %02d:00", NazwaGracza(playerid), playerid, godzina);
  855. SendClientMessageToAll(-1, string);
  856. SetWorldTime(godzina);
  857. }
  858. return 1;
  859. }
  860.  
  861. CMD:explode(playerid, params[])
  862. {
  863. new id, string[328];
  864. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  865. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Explode [ID]");
  866. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  867. else
  868. {
  869. format(string, sizeof string, "{FF0000}Wysadziles/as gracza %s(ID: %i).", NazwaGracza(id), id);
  870. SendClientMessage(playerid, -1, string);
  871. format(string, sizeof string, "{FF0000}Zostales/as wysadzony przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  872. SendClientMessage(id, -1, string);
  873. new Float:x, Float:y, Float:z;
  874. GetPlayerPos(id, x, y, z);
  875. CreateExplosionForPlayer(id, x, y, z, 11, 10.0);
  876. }
  877. return 1;
  878. }
  879.  
  880. CMD:disarm(playerid, params[])
  881. {
  882. new id, string[328];
  883. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  884. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Disarm [ID]");
  885. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  886. else
  887. {
  888. format(string, sizeof string, "{FF0000}Zresetowales/as graczowi %s(ID: %i) bronie.", NazwaGracza(id), id);
  889. SendClientMessage(playerid, -1, string);
  890. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zresetowal/a zobie bronie.", NazwaGracza(playerid), playerid);
  891. SendClientMessage(id, -1, string);
  892. ResetPlayerWeapons(id);
  893. }
  894. return 1;
  895. }
  896.  
  897. CMD:slap(playerid, params[])
  898. {
  899. new id, string[328];
  900. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  901. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Slap [ID]");
  902. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  903. else
  904. {
  905. format(string, sizeof string, "{FF0000}Dales/as klapsa graczowi %s(ID: %i)", NazwaGracza(id), id);
  906. SendClientMessage(playerid, -1, string);
  907. format(string, sizeof string, "{FF0000}Otrzymales/as klapsa od admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  908. SendClientMessage(id, -1, string);
  909. new Float:zycie, Float:x, Float:y, Float:z;
  910. GetPlayerHealth(id, zycie);
  911. SetPlayerHealth(id, zycie - 30);
  912. GetPlayerPos(id, x, y, z);
  913. SetPlayerPos(id, x, y, z + 10);
  914. }
  915. return 1;
  916. }
  917.  
  918. CMD:killp(playerid, params[])
  919. {
  920. new id, string[328];
  921. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  922. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /KillP [ID]");
  923. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  924. else
  925. {
  926. format(string, sizeof string, "{FF0000}Zabiles/as gracza %s(ID: %i)", NazwaGracza(id), id);
  927. SendClientMessage(playerid, -1, string);
  928. format(string, sizeof string, "{FF0000}Zostales/as zabity/a przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  929. SendClientMessage(id, -1, string);
  930. SetPlayerHealth(id, 0);
  931. }
  932. return 1;
  933. }
  934.  
  935. CMD:unban(playerid, params[])
  936. {
  937. new nazwa[MAX_PLAYER_NAME], string[328];
  938. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  939. if(sscanf(params, "s", nazwa)) SendClientMessage(playerid, -1, "UZYJ: /UnBan [NAZWAGRACZA]");
  940. else
  941. {
  942. new sciezka[128];
  943. format(sciezka, sizeof sciezka, FOLDER_KONT"%s.ini", nazwa);
  944. if(dfile_FileExists(sciezka))
  945. {
  946. dfile_Open(sciezka);
  947. if(dfile_ReadBool("Zbanowany") == true)
  948. {
  949. format(string, sizeof string, "unbanip %s", dfile_ReadString("IP"));
  950. SendRconCommand(string);
  951. format(string, sizeof string, "{FF0000}Gracz %s zostal/a pomyslnie odbanowany/a", nazwa);
  952. SendClientMessage(playerid, -1, string);
  953. dfile_WriteBool("Zbanowany", false);
  954. dfile_SaveFile();
  955. }
  956. else SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest zbanowany!");
  957. dfile_CloseFile();
  958. }
  959. else SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Taki gracz nie istnieje w bazie danych!");
  960. }
  961. return 1;
  962. }
  963.  
  964. CMD:ban(playerid, params[])
  965. {
  966. new id, powod[128], string[328];
  967. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  968. if(sscanf(params, "us", id, powod)) SendClientMessage(playerid, -1, "UZYJ: /Ban [ID] [POWOD]");
  969. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  970. else
  971. {
  972. format(string, sizeof string, "{FF0000}Zbanowales/as gracza %s(ID: %i) z serwera z powodem: %s", NazwaGracza(id), id, powod);
  973. SendClientMessage(playerid, -1, string);
  974. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) Zbanowal/a gracza %s(ID: %i) z serwera. Powod: %s", NazwaGracza(playerid), playerid, NazwaGracza(id), id, powod);
  975. SendClientMessageToAll(-1, string);
  976. DaneGracza[id][Zbanowany] = true;
  977. OpoznionyBan(id, 1000);
  978. }
  979. return 1;
  980. }
  981.  
  982. CMD:kick(playerid, params[])
  983. {
  984. new id, powod[128], string[328];
  985. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  986. if(sscanf(params, "us", id, powod)) SendClientMessage(playerid, -1, "UZYJ: /Kick [ID] [POWOD]");
  987. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  988. else
  989. {
  990. format(string, sizeof string, "{FF0000}Wyrzuciles/as gracza %s(ID: %i) z serwera z powodem: %s", NazwaGracza(id), id, powod);
  991. SendClientMessage(playerid, -1, string);
  992. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wyrzucil/a gracza %s(ID: %i) z serwera. Powod: %s", NazwaGracza(playerid), playerid, NazwaGracza(id), id, powod);
  993. SendClientMessageToAll(-1, string);
  994. OpoznionyKick(id, 1000);
  995. }
  996. return 1;
  997. }
  998.  
  999. CMD:tp(playerid, params[])
  1000. {
  1001. new idA, idB, string[328];
  1002. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1003. if(sscanf(params, "uu", idA, idB)) SendClientMessage(playerid, -1, "UZYJ: /TP [ID1] [ID2]");
  1004. else if(!IsPlayerConnected(idA)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Gracz A nie istnieje!");
  1005. else if(!IsPlayerConnected(idB)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Gracz B nie istnieje!");
  1006. else
  1007. {
  1008. format(string, sizeof string, "{FF0000}Przeteleportowales/as gracza %s(ID: %i) do gracza %s(ID: %i)", NazwaGracza(idA), idA, NazwaGracza(idB), idB);
  1009. SendClientMessage(playerid, -1, string);
  1010. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) przeteleportowal/a cie do gracza %s(ID: %i)", NazwaGracza(playerid), playerid, NazwaGracza(idB), idB);
  1011. SendClientMessage(idA, -1, string);
  1012. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) przeteleportowal/a do ciebie gracza %s(ID: %i)", NazwaGracza(playerid), playerid, NazwaGracza(idA), idA);
  1013. SendClientMessage(idB, -1, string);
  1014. new Float:x, Float:y, Float:z;
  1015. GetPlayerPos(idB, x, y, z);
  1016. SetPlayerPos(idA, x, y + 1, z);
  1017. SetPlayerInterior(idA, GetPlayerInterior(idB));
  1018. SetPlayerVirtualWorld(idA, GetPlayerVirtualWorld(idB));
  1019. }
  1020. return 1;
  1021. }
  1022.  
  1023. CMD:unmute(playerid, params[])
  1024. {
  1025. new id, string[328];
  1026. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1027. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /UnMute [ID]");
  1028. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1029. else if(DaneGracza[id][WyciszonyCzas] == -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest wyciszony!");
  1030. else
  1031. {
  1032. format(string, sizeof string, "{FF0000}Odciszono gracza %s(ID: %i)", NazwaGracza(id), id);
  1033. SendClientMessage(playerid, -1, string);
  1034. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) odciszyl/a cie", NazwaGracza(playerid), playerid);
  1035. SendClientMessage(id, -1, string);
  1036. DaneGracza[id][WyciszonyCzas] = -1;
  1037. }
  1038. return 1;
  1039. }
  1040.  
  1041. CMD:mute(playerid, params[])
  1042. {
  1043. new id, czas, string[328];
  1044. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1045. if(sscanf(params, "ui", id, czas)) SendClientMessage(playerid, -1, "UZYJ: /Mute [ID] [CZAS W MINUTACH]");
  1046. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1047. else if(DaneGracza[id][WyciszonyCzas] != -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz jest juz uciszony!");
  1048. else if(czas < 1 || czas > 525948) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Czas musi byc w obrebiu 1-525948 minut!");
  1049. else
  1050. {
  1051. format(string, sizeof string, "{FF0000}Wyciszono gracza %s(ID: %i) na %i minut.", NazwaGracza(id), id, czas);
  1052. SendClientMessage(playerid, -1, string);
  1053. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wyciszyl/a cie na %i minut.", NazwaGracza(playerid), playerid, czas);
  1054. SendClientMessage(id, -1, string);
  1055. DaneGracza[id][WyciszonyCzas] = (czas * 60);
  1056. }
  1057. return 1;
  1058. }
  1059.  
  1060. CMD:freeze(playerid, params[])
  1061. {
  1062. new id, string[328];
  1063. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1064. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Freeze [ID]");
  1065. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1066. else
  1067. {
  1068. format(string, sizeof string, "{FF0000}Zamroziles/as gracza %s(ID: %i)", NazwaGracza(id), id);
  1069. SendClientMessage(playerid, -1, string);
  1070. format(string, sizeof string, "{FF0000}Zostales/as zamrozony/a przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  1071. SendClientMessage(id, -1, string);
  1072. TogglePlayerControllable(id, false);
  1073. }
  1074. return 1;
  1075. }
  1076.  
  1077. CMD:unfreeze(playerid, params[])
  1078. {
  1079. new id, string[328];
  1080. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1081. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Unfreeze [ID]");
  1082. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1083. else
  1084. {
  1085. format(string, sizeof string, "{FF0000}Odmroziles/as gracza %s(ID: %i)", NazwaGracza(id), id);
  1086. SendClientMessage(playerid, -1, string);
  1087. format(string, sizeof string, "{FF0000}Zostales/as odmrozony/a przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  1088. SendClientMessage(id, -1, string);
  1089. TogglePlayerControllable(id, true);
  1090. }
  1091. return 1;
  1092. }
  1093.  
  1094. CMD:givegun(playerid, params[])
  1095. {
  1096. new id, gunid, ammo, string[328];
  1097. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1098. if(sscanf(params, "uii", id, gunid, ammo)) SendClientMessage(playerid, -1, "UZYJ: /GiveGun [IDGRACZA] [IDBRONI] [ILOSC]");
  1099. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1100. else if(gunid < 1 || gunid == 19 || gunid == 21 || gunid > 46) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Taka bron nie istnieje!");
  1101. else
  1102. {
  1103. new nazwabroni[30];
  1104. GetWeaponName(gunid, nazwabroni, sizeof nazwabroni);
  1105. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) bron %s z %i amunicja.", NazwaGracza(id), id, nazwabroni, ammo);
  1106. SendClientMessage(playerid, -1, string);
  1107. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie bron %s z %i amunicja.", NazwaGracza(playerid), playerid, nazwabroni, ammo);
  1108. SendClientMessage(id, -1, string);
  1109. GivePlayerWeapon(id, gunid, ammo);
  1110. }
  1111. return 1;
  1112. }
  1113.  
  1114. CMD:setmoney(playerid, params[])
  1115. {
  1116. new id, kasa, string[328];
  1117. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1118. if(sscanf(params, "ui", id, kasa)) SendClientMessage(playerid, -1, "UZYJ: /SetMoney [ID] [ILOSC]");
  1119. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1120. else if(kasa > 99999999) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ta kwota jest za wielka!");
  1121. else
  1122. {
  1123. format(string, sizeof string, "{FF0000}Ustawiles/as graczowi %s(ID: %i) $%i.", NazwaGracza(id), id, kasa);
  1124. SendClientMessage(playerid, -1, string);
  1125. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) Ustawil/a tobie $%i.", NazwaGracza(playerid), playerid, kasa);
  1126. SendClientMessage(id, -1, string);
  1127. ResetPlayerMoney(id);
  1128. GivePlayerMoney(id, kasa);
  1129. }
  1130. return 1;
  1131. }
  1132.  
  1133. CMD:givemoneyall(playerid, params[])
  1134. {
  1135. new kasa, string[328];
  1136. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1137. if(sscanf(params, "i", kasa)) SendClientMessage(playerid, -1, "UZYJ: /GiveMoneyAll [ILOSC]");
  1138. else if(kasa > 99999999) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ta kwota jest za wielka!");
  1139. else
  1140. {
  1141. format(string, sizeof string, "{FF0000}Dales/as wszystkim graczom $%i.", kasa);
  1142. SendClientMessage(playerid, -1, string);
  1143. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a wszystkim $%i.", NazwaGracza(playerid), playerid, kasa);
  1144. SendClientMessageToAll(-1, string);
  1145. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  1146. {
  1147. if(IsPlayerConnected(i))
  1148. {
  1149. GivePlayerMoney(i, kasa);
  1150. }
  1151. }
  1152.  
  1153.  
  1154. }
  1155. return 1;
  1156. }
  1157.  
  1158. CMD:givemoney(playerid, params[])
  1159. {
  1160. new id, kasa, string[328];
  1161. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1162. if(sscanf(params, "ui", id, kasa)) SendClientMessage(playerid, -1, "UZYJ: /GiveMoney [ID] [ILOSC]");
  1163. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1164. else if(kasa > 99999999) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ta kwota jest za wielka!");
  1165. else
  1166. {
  1167. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) $%i.", NazwaGracza(id), id, kasa);
  1168. SendClientMessage(playerid, -1, string);
  1169. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie $%i.", NazwaGracza(playerid), playerid, kasa);
  1170. SendClientMessage(id, -1, string);
  1171. GivePlayerMoney(id, kasa);
  1172. }
  1173. return 1;
  1174. }
  1175.  
  1176. CMD:resetscore(playerid, params[])
  1177. {
  1178. new id, string[328];
  1179. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1180. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /ResetScore [ID]");
  1181. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1182. else
  1183. {
  1184. format(string, sizeof string, "{FF0000}Resetowales/as graczowi %s(ID: %i) score.", NazwaGracza(id), id);
  1185. SendClientMessage(playerid, -1, string);
  1186. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zresetowal/a tobie score.", NazwaGracza(playerid), playerid);
  1187. SendClientMessage(id, -1, string);
  1188. SetPlayerScore(id, 0);
  1189. }
  1190. return 1;
  1191. }
  1192.  
  1193. CMD:tppos(playerid, params[])
  1194. {
  1195. new Float:x, Float:y, Float:z, int, string[328];
  1196. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1197. if(sscanf(params, "fffi", x, y, z, int)) SendClientMessage(playerid, -1, "UZYJ: /TPPos [X] [Y] [Z] [INTERIOR ID]");
  1198. else
  1199. {
  1200. SetPlayerPos(playerid, x, y, z);
  1201. SetPlayerInterior(playerid, int);
  1202. SetCameraBehindPlayer(playerid);
  1203. format(string, sizeof string, "{FF0000}Przeteleportowales/as sie na pozycje X: %f Y: %f Z: %f Interior: %i", x, y, z, int);
  1204. SendClientMessage(playerid, -1, string);
  1205. }
  1206. return 1;
  1207. }
  1208.  
  1209. CMD:resetmoney(playerid, params[])
  1210. {
  1211. new id, string[328];
  1212. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1213. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /ResetMoney [ID]");
  1214. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1215. else
  1216. {
  1217. format(string, sizeof string, "{FF0000}Resetowales/as graczowi %s(ID: %i) pieniadze.", NazwaGracza(id), id);
  1218. SendClientMessage(playerid, -1, string);
  1219. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zresetowal/a tobie pieniadze.", NazwaGracza(playerid), playerid);
  1220. SendClientMessage(id, -1, string);
  1221. ResetPlayerMoney(id);
  1222. }
  1223. return 1;
  1224. }
  1225.  
  1226. CMD:givescore(playerid, params[])
  1227. {
  1228. new id, score, string[328];
  1229. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1230. if(sscanf(params, "ui", id, score)) SendClientMessage(playerid, -1, "UZYJ: /GiveScore [ID] [SCORE]");
  1231. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1232. else
  1233. {
  1234. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) %i score.", NazwaGracza(id), id, score);
  1235. SendClientMessage(playerid, -1, string);
  1236. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie %i score.", NazwaGracza(playerid), playerid, score);
  1237. SendClientMessage(id, -1, string);
  1238. SetPlayerScore(id, GetPlayerScore(id) + score);
  1239. }
  1240. return 1;
  1241. }
  1242.  
  1243. CMD:setscore(playerid, params[])
  1244. {
  1245. new id, score, string[328];
  1246. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1247. if(sscanf(params, "ui", id, score)) SendClientMessage(playerid, -1, "UZYJ: /SetScore [ID] [SCORE]");
  1248. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1249. else
  1250. {
  1251. format(string, sizeof string, "{FF0000}Ustawiles/as graczowi %s(ID: %i) %i score.", NazwaGracza(id), id, score);
  1252. SendClientMessage(playerid, -1, string);
  1253. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) ustawil/a tobie %i score.", NazwaGracza(playerid), playerid, score);
  1254. SendClientMessage(id, -1, string);
  1255. SetPlayerScore(id, score);
  1256. }
  1257. return 1;
  1258. }
  1259.  
  1260. CMD:setarmor(playerid, params[])
  1261. {
  1262. new id, armor, string[328];
  1263. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1264. if(sscanf(params, "ui", id, armor)) SendClientMessage(playerid, -1, "UZYJ: /SetArmor [ID] [ILOSC]");
  1265. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1266. else
  1267. {
  1268. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) %i kamizelke.", NazwaGracza(id), id, armor);
  1269. SendClientMessage(playerid, -1, string);
  1270. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie %i kamizelke.", NazwaGracza(playerid), playerid, armor);
  1271. SendClientMessage(id, -1, string);
  1272. SetPlayerArmour(id, armor);
  1273. }
  1274. return 1;
  1275. }
  1276.  
  1277. CMD:sethealth(playerid, params[])
  1278. {
  1279. new id, health, string[328];
  1280. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  1281. if(sscanf(params, "ui", id, health)) SendClientMessage(playerid, -1, "UZYJ: /SetHealth [ID] [ILOSC]");
  1282. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1283. else
  1284. {
  1285. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) %i zycia.", NazwaGracza(id), id, health);
  1286. SendClientMessage(playerid, -1, string);
  1287. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie %i zycia.", NazwaGracza(playerid), playerid, health);
  1288. SendClientMessage(id, -1, string);
  1289. SetPlayerHealth(id, health);
  1290. }
  1291. return 1;
  1292. }
  1293.  
  1294. CMD:zglos(playerid, params[])
  1295. {
  1296. new id, powod[128], string[328];
  1297. if(sscanf(params, "us", id, powod)) SendClientMessage(playerid, -1, "UZYJ: /Zglosc [ID GRACZA DO ZGLOSZENIA] [POWOD]");
  1298. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1299. else if(id == playerid) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Nie mozesz siebie samego zglaszac!");
  1300. else
  1301. {
  1302. format(string, sizeof string, "{FF0000}Zglosiles/as gracza %s(ID: %i) do administracji z powodem: %s", NazwaGracza(id), id, powod);
  1303. SendClientMessage(playerid, -1, string);
  1304. format(string, sizeof string, "{FFFF00}>>>RAPORT<<<: Gracz %s(ID: %i) zglasza gracza %s(ID: %i) z powodem %s.", NazwaGracza(playerid), playerid, NazwaGracza(id), id, powod);
  1305. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  1306. {
  1307. if(JestRanga(i, RANGA_MODERATOR))
  1308. {
  1309. SendClientMessage(i, -1, string);
  1310. }
  1311. }
  1312. }
  1313. return 1;
  1314. }
  1315.  
  1316. CMD:zmienrange(playerid, params[])
  1317. {
  1318. new id, string[500], naglowek[250];
  1319. if(JestRanga(playerid, RANGA_WLASCICIEL) || IsPlayerAdmin(playerid))
  1320. {
  1321. if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FFFFFF}Uzyj: /ZmienRanga [IDGRACZA]");
  1322. else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  1323. else if(!DaneGracza[id][Zalogowany]) return SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest zalogowany!");
  1324. else
  1325. {
  1326. DaneGracza[playerid][WybranyGracz] = id;
  1327. strcat(string, "Gracz\n");
  1328. strcat(string, "Support\n");
  1329. strcat(string, "Moderator\n");
  1330. strcat(string, "Junior Admin\n");
  1331. strcat(string, "Administrator\n");
  1332. strcat(string, "Wlasciciel");
  1333.  
  1334. format(naglowek, sizeof naglowek, "{FFFFFF}Zmiana Rangi gracza {00FF55}%s(ID: %i)", NazwaGracza(id), id);
  1335. ShowPlayerDialog(playerid, DIALOG_ZMIENRANGE, DIALOG_STYLE_LIST, naglowek, string, "Ustaw", "Wyjdz");
  1336.  
  1337. }
  1338. }
  1339. else SendClientMessage(playerid, -1, RANGA_ERROR);
  1340. return 1;
  1341. }
  1342.  
  1343. CMD:wybierzpostac(playerid, params[])
  1344. {
  1345. if(DaneGracza[playerid][Zespawnowany] == true)
  1346. {
  1347. DaneGracza[playerid][Zespawnowany] = false;
  1348. SpawnPlayer(playerid);
  1349. }
  1350. return 1;
  1351. }
  1352.  
  1353. CMD:stworzpozar(playerid, params[])
  1354. {
  1355. new Float:x, Float:y, Float:z;
  1356. GetPlayerPos(playerid, x, y, z);
  1357. SetTimerEx("StworzPozar", 5000, false, "fff", x, y, z);
  1358. SendClientMessage(playerid, -1, "{FF9900}Pozar: {FFFFFF}Pozar zostanie stworzony na pozycji gracza za 5 sekund!");
  1359. GivePlayerWeapon(playerid, WEAPON_FIREEXTINGUISHER, 9999);
  1360. return 1;
  1361. }
  1362.  
  1363. CMD:zniszczpozar(playerid, params[])
  1364. {
  1365. new pozarid = strval(params);
  1366. if(PozarAktywny[pozarid] == true)
  1367. {
  1368. SendClientMessage(playerid, -1, "{FF9900}Pozar: {FFFFFF}Pozar zostanie usuniety!");
  1369. ZniszczPozar(pozarid);
  1370. KillTimer(PozarTimer[pozarid]);
  1371. }
  1372. else SendClientMessage(playerid, -1, "{FF9900}Pozar: {FFFFFF}Pozar nie jest aktywny!");
  1373. return 1;
  1374. }
  1375.  
  1376. //Stocki
  1377. stock DajCarGod(playerid)
  1378. {
  1379. if(DaneGracza[playerid][GodTimer] != -1)
  1380. KillTimer(DaneGracza[playerid][GodTimer]);
  1381.  
  1382. DaneGracza[playerid][GodTimer] = SetTimerEx("CarGodMode", 100, true, "i", playerid);
  1383. return 1;
  1384. }
  1385.  
  1386. forward SprawdzSpec(playerid);
  1387. public SprawdzSpec(playerid)
  1388. {
  1389. new stan = GetPlayerState(playerid);
  1390. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  1391. {
  1392. if(DaneGracza[i][Podglada] && DaneGracza[i][IsSpecPlayer] == playerid)
  1393. {
  1394. SetPlayerInterior(i, GetPlayerInterior(playerid));
  1395. SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(playerid));
  1396. if(stan == PLAYER_STATE_DRIVER || stan == PLAYER_STATE_PASSENGER)
  1397. {
  1398. PlayerSpectateVehicle(i, GetPlayerVehicleID(playerid));
  1399. }
  1400. else if(stan == PLAYER_STATE_ONFOOT)
  1401. {
  1402. PlayerSpectatePlayer(i, playerid);
  1403. }
  1404. }
  1405. }
  1406. return 1;
  1407. }
  1408.  
  1409. stock OpoznionyBan(playerid, czasopoznienia)
  1410. {
  1411. SetTimerEx("BanPlayer", czasopoznienia, false, "i", playerid);
  1412. return 1;
  1413. }
  1414.  
  1415. stock OpoznionyKick(playerid, czasopoznienia)
  1416. {
  1417. SetTimerEx("KickPlayer", czasopoznienia, false, "i", playerid);
  1418. return 1;
  1419. }
  1420.  
  1421. stock GetPlayerHexStringColor(playerid)
  1422. {
  1423. new hex[10];
  1424. format(hex, 10, "%06x", GetPlayerColor(playerid) >>> 8);
  1425. return hex;
  1426. }
  1427.  
  1428. stock NazwaRangi(rangaid)
  1429. {
  1430. new nazwa[15];
  1431. if(rangaid == RANGA_GRACZ) nazwa = "Gracz";
  1432. else if(rangaid == RANGA_SUPPORT) nazwa = "Support";
  1433. else if(rangaid == RANGA_MODERATOR) nazwa = "Moderator";
  1434. else if(rangaid == RANGA_JADMIN) nazwa = "Junior Admin";
  1435. else if(rangaid == RANGA_ADMIN) nazwa = "Administrator";
  1436. else if(rangaid == RANGA_WLASCICIEL) nazwa = "Wlasciciel";
  1437. return nazwa;
  1438. }
  1439.  
  1440. stock JestRanga(playerid, ranga)
  1441. {
  1442. if(DaneGracza[playerid][Ranga] >= ranga) return 1;
  1443. else return 0;
  1444. }
  1445.  
  1446. stock ZmienPostac(playerid, bool:strona)
  1447. {
  1448. new string[80];
  1449. if(strona == true) //Prawo
  1450. {
  1451. DaneGracza[playerid][WybranaPostac]++;
  1452. if(DaneGracza[playerid][WybranaPostac] > (IloscPostaci - 1))
  1453. DaneGracza[playerid][WybranaPostac] = 0;
  1454. }
  1455. else if(strona == false) //Lewo
  1456. {
  1457. DaneGracza[playerid][WybranaPostac]--;
  1458. if(DaneGracza[playerid][WybranaPostac] < 0)
  1459. DaneGracza[playerid][WybranaPostac] = (IloscPostaci - 1);
  1460. }
  1461. new wpostac = DaneGracza[playerid][WybranaPostac];
  1462. SetPlayerSkin(playerid, Postacie[wpostac][pmodelid]);
  1463. format(string, sizeof string, "ID_SKINA:%i", Postacie[wpostac][pmodelid]);
  1464. PlayerTextDrawSetString(playerid, WP_IDSkina[playerid], string);
  1465. PlayerTextDrawShow(playerid, WP_IDSkina[playerid]);
  1466. DaneGracza[playerid][SkinID] = Postacie[wpostac][pmodelid];
  1467. return 1;
  1468. }
  1469.  
  1470. stock DodajPostac(modelid, Float:sx, Float:sy, Float:sz, Float:sa, sint = 0, svw = 0, w1 = 0, w1a = 0, w2 = 0, w2a = 0, w3 = 0, w3a = 0)
  1471. {
  1472. for(new i; i < MAX_POSTACIE; i++)
  1473. {
  1474. if(Postacie[i][Uzywane] == false)
  1475. {
  1476. Postacie[i][Uzywane] = true;
  1477. Postacie[i][pmodelid] = modelid;
  1478. Postacie[i][pspawnx] = sx;
  1479. Postacie[i][pspawny] = sy;
  1480. Postacie[i][pspawnz] = sz;
  1481. Postacie[i][pspawna] = sa;
  1482. Postacie[i][pspawnint] = sint;
  1483. Postacie[i][pspawnvw] = svw;
  1484. Postacie[i][pweapon1] = w1;
  1485. Postacie[i][pammo1] = w1a;
  1486. Postacie[i][pweapon2] = w2;
  1487. Postacie[i][pammo2] = w2a;
  1488. Postacie[i][pweapon3] = w3;
  1489. Postacie[i][pammo3] = w3a;
  1490. IloscPostaci++;
  1491. return 1;
  1492. }
  1493. }
  1494. return 0;
  1495. }
  1496.  
  1497. forward WybierzTextDraw(playerid, bool:stan);
  1498. public WybierzTextDraw(playerid, bool:stan)
  1499. {
  1500. if(stan == true)
  1501. {
  1502. SelectTextDraw(playerid, KOLOR_MYSZKI);
  1503. if(DaneGracza[playerid][MyszkaTimer] == -1)
  1504. DaneGracza[playerid][MyszkaTimer] = SetTimerEx("WybierzTextDraw", 1000, true, "ib", playerid, true);
  1505. }
  1506. else if(stan == false)
  1507. {
  1508. CancelSelectTextDraw(playerid);
  1509. if(DaneGracza[playerid][MyszkaTimer] != -1)
  1510. KillTimer(DaneGracza[playerid][MyszkaTimer]);
  1511. DaneGracza[playerid][MyszkaTimer] = -1;
  1512. }
  1513. return 1;
  1514. }
  1515.  
  1516. stock ZniszczTextDrawyGracza(playerid)
  1517. {
  1518. PlayerTextDrawDestroy(playerid, WP_IDSkina[playerid]);
  1519. PlayerTextDrawDestroy(playerid, Predkosciomierz[playerid]);
  1520. return 1;
  1521. }
  1522.  
  1523. stock WyborPostaci(playerid)
  1524. {
  1525. new string[80];
  1526. DaneGracza[playerid][WybranaPostac] = 0;
  1527. TogglePlayerControllable(playerid, false);
  1528. SetPlayerPos(playerid, 253.6126,-56.2277,1.5703);
  1529. SetPlayerFacingAngle(playerid, 196.1720);
  1530. SetPlayerCameraPos(playerid, 254.6295,-61.4094,1.5703);
  1531. SetPlayerCameraLookAt(playerid, 253.6126,-56.2277,1.5703);
  1532. SetPlayerVirtualWorld(playerid, playerid + 50);
  1533. SetPlayerInterior(playerid, 0);
  1534. TextDrawShowForPlayer(playerid, WP_Naglowek);
  1535. TextDrawShowForPlayer(playerid, WP_Lewo);
  1536. TextDrawShowForPlayer(playerid, WP_Prawo);
  1537. TextDrawShowForPlayer(playerid, WP_Wybierz);
  1538. format(string, sizeof string, "ID_SKINA:%i", Postacie[0][pmodelid]);
  1539. PlayerTextDrawSetString(playerid, WP_IDSkina[playerid], string);
  1540. PlayerTextDrawShow(playerid, WP_IDSkina[playerid]);
  1541. WybierzTextDraw(playerid, true);
  1542. DaneGracza[playerid][SkinID] = Postacie[0][pmodelid];
  1543. SetPlayerSkin(playerid, DaneGracza[playerid][SkinID]);
  1544. return 1;
  1545. }
  1546.  
  1547. stock PobierzHaslo(playerid)
  1548. {
  1549. dfile_Open(SciezkaKontaGracza(playerid));
  1550. format(DaneGracza[playerid][haslogracza], 130, dfile_ReadString("Haslo"));
  1551. dfile_CloseFile();
  1552. return 1;
  1553. }
  1554.  
  1555. stock Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ, Float:ObjX, Float:ObjY, Float:ObjZ, Float:FrX, Float:FrY, Float:FrZ) {
  1556.  
  1557. new Float:TGTDistance;
  1558.  
  1559. TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));
  1560.  
  1561. new Float:tmpX, Float:tmpY, Float:tmpZ;
  1562.  
  1563. tmpX = FrX * TGTDistance + CamX;
  1564. tmpY = FrY * TGTDistance + CamY;
  1565. tmpZ = FrZ * TGTDistance + CamZ;
  1566.  
  1567. return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
  1568. }
  1569.  
  1570. stock Float:GetPointAngleToPoint(Float:x2, Float:y2, Float:X, Float:Y) {
  1571.  
  1572. new Float:DX, Float:DY;
  1573. new Float:angle;
  1574.  
  1575. DX = floatabs(floatsub(x2,X));
  1576. DY = floatabs(floatsub(y2,Y));
  1577.  
  1578. if (DY == 0.0 || DX == 0.0) {
  1579. if(DY == 0 && DX > 0) angle = 0.0;
  1580. else if(DY == 0 && DX < 0) angle = 180.0;
  1581. else if(DY > 0 && DX == 0) angle = 90.0;
  1582. else if(DY < 0 && DX == 0) angle = 270.0;
  1583. else if(DY == 0 && DX == 0) angle = 0.0;
  1584. }
  1585. else {
  1586. angle = atan(DX/DY);
  1587.  
  1588. if(X > x2 && Y <= y2) angle += 90.0;
  1589. else if(X <= x2 && Y < y2) angle = floatsub(90.0, angle);
  1590. else if(X < x2 && Y >= y2) angle -= 90.0;
  1591. else if(X >= x2 && Y > y2) angle = floatsub(270.0, angle);
  1592. }
  1593.  
  1594. return floatadd(angle, 90.0);
  1595. }
  1596.  
  1597. stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius)
  1598. {
  1599. new Float:camera_x,Float:camera_y,Float:camera_z,Float:vector_x,Float:vector_y,Float:vector_z;
  1600. GetPlayerCameraPos(playerid, camera_x, camera_y, camera_z);
  1601. GetPlayerCameraFrontVector(playerid, vector_x, vector_y, vector_z);
  1602.  
  1603. new Float:vertical, Float:horizontal;
  1604.  
  1605. switch (GetPlayerWeapon(playerid)) {
  1606. case 34,35,36: {
  1607. if (DistanceCameraTargetToLocation(camera_x, camera_y, camera_z, x, y, z, vector_x, vector_y, vector_z) < radius) return true;
  1608. return false;
  1609. }
  1610. case 30,31: {vertical = 4.0; horizontal = -1.6;}
  1611. case 33: {vertical = 2.7; horizontal = -1.0;}
  1612. default: {vertical = 6.0; horizontal = -2.2;}
  1613. }
  1614.  
  1615. new Float:angle = GetPointAngleToPoint(0, 0, floatsqroot(vector_x*vector_x+vector_y*vector_y), vector_z) - 270.0;
  1616. new Float:resize_x, Float:resize_y, Float:resize_z = floatsin(angle+vertical, degrees);
  1617. GetXYInFrontOfPoint(resize_x, resize_y, GetPointAngleToPoint(0, 0, vector_x, vector_y)+horizontal, floatcos(angle+vertical, degrees));
  1618.  
  1619. if (DistanceCameraTargetToLocation(camera_x, camera_y, camera_z, x, y, z, resize_x, resize_y, resize_z) < radius) return true;
  1620. return false;
  1621. }
  1622.  
  1623. stock GetXYInFrontOfPoint(&Float:x, &Float:y, Float:angle, Float:distance)
  1624. {
  1625. x += (distance * floatsin(-angle, degrees));
  1626. y += (distance * floatcos(-angle, degrees));
  1627. }
  1628.  
  1629. stock ExRandom(min, max) //By y_less
  1630. {
  1631. new rand = random(max-min)+min;
  1632. return rand;
  1633. }
  1634.  
  1635. stock ResetujDaneGracza(playerid)
  1636. {
  1637. if(DaneGracza[playerid][GodTimer] != -1)
  1638. KillTimer(DaneGracza[playerid][GodTimer]);
  1639.  
  1640. DaneGracza[playerid][Zalogowany] = false;
  1641. DaneGracza[playerid][Zespawnowany] = false;
  1642. DaneGracza[playerid][GodWlaczony] = false;
  1643. DaneGracza[playerid][MyszkaTimer] = -1;
  1644. DaneGracza[playerid][UwiezionyCzas] = -1;
  1645. DaneGracza[playerid][GodTimer] = -1;
  1646. return 1;
  1647. }
  1648.  
  1649. stock ZapiszKonto(playerid)
  1650. {
  1651. dfile_Create(SciezkaKontaGracza(playerid));
  1652. dfile_Open(SciezkaKontaGracza(playerid));
  1653.  
  1654. dfile_WriteInt("Punkty", GetPlayerScore(playerid));
  1655. dfile_WriteInt("Kasa", GetPlayerMoney(playerid));
  1656. dfile_WriteInt("Ranga", DaneGracza[playerid][Ranga]);
  1657. dfile_WriteBool("Zbanowany", DaneGracza[playerid][Zbanowany]);
  1658. dfile_WriteString("IP", DaneGracza[playerid][IPGracza]);
  1659. dfile_WriteInt("UwiezionyCzas", DaneGracza[playerid][UwiezionyCzas]);
  1660. dfile_WriteInt("WyciszonyCzas", DaneGracza[playerid][WyciszonyCzas]);
  1661. //dfile_WriteInt("Level", 1);
  1662.  
  1663. dfile_SaveFile();
  1664. dfile_CloseFile();
  1665. return 1;
  1666. }
  1667.  
  1668. stock WczytajKonto(playerid)
  1669. {
  1670. ResetPlayerMoney(playerid);
  1671.  
  1672. dfile_Open(SciezkaKontaGracza(playerid));
  1673.  
  1674. SetPlayerScore(playerid, dfile_ReadInt("Punkty"));
  1675. GivePlayerMoney(playerid, dfile_ReadInt("Kasa"));
  1676. DaneGracza[playerid][Ranga] = dfile_ReadInt("Ranga");
  1677. DaneGracza[playerid][UwiezionyCzas] = dfile_ReadInt("UwiezionyCzas");
  1678. DaneGracza[playerid][WyciszonyCzas] = dfile_ReadInt("WyciszonyCzas");
  1679.  
  1680. GetPlayerIp(playerid, DaneGracza[playerid][IPGracza], 18);
  1681. dfile_CloseFile();
  1682. return 1;
  1683. }
  1684.  
  1685. stock StworzKonto(playerid, haslo[])
  1686. {
  1687. new hasloex[130];
  1688. WP_Hash(hasloex, sizeof hasloex, haslo);
  1689.  
  1690. dfile_Create(SciezkaKontaGracza(playerid));
  1691. dfile_Open(SciezkaKontaGracza(playerid));
  1692.  
  1693. dfile_WriteString("Haslo", hasloex);
  1694. dfile_WriteInt("Punkty", PUNKTY_NA_START);
  1695. dfile_WriteInt("Kasa", KASA_NA_START);
  1696. dfile_WriteInt("Level", 1);
  1697. dfile_WriteInt("Ranga", 0);
  1698. dfile_WriteBool("Zbanowany", false);
  1699. dfile_WriteString("IP", "0.0.0.0");
  1700. dfile_WriteInt("UwiezionyCzas", -1);
  1701. dfile_WriteInt("WyciszonyCzas", -1);
  1702.  
  1703. dfile_SaveFile();
  1704. dfile_CloseFile();
  1705. return 1;
  1706. }
  1707.  
  1708. stock SciezkaKontaGracza(playerid)
  1709. {
  1710. new sciezka[128];
  1711. format(sciezka, sizeof sciezka, FOLDER_KONT"%s.ini", NazwaGracza(playerid));
  1712. return sciezka;
  1713. }
  1714.  
  1715. stock OknoRejestracji(playerid)
  1716. {
  1717. ShowPlayerDialog(playerid, DIALOG_REJESTRACJA, DIALOG_STYLE_PASSWORD, "Rejestracja", "Witaj na serwerze!\nNie posiadasz konta, prosze sie zarejestrowac!", "Zarejestruj", "Wyjdz");
  1718. return 1;
  1719. }
  1720.  
  1721. stock OknoLogowania(playerid)
  1722. {
  1723. ShowPlayerDialog(playerid, DIALOG_LOGOWANIE, DIALOG_STYLE_PASSWORD, "Logowanie", "Witaj na serwerze!\nTwoje konto zostalo znalezione! Prosze sie zalogowac!", "Zaloguj", "Wyjdz");
  1724. return 1;
  1725. }
  1726.  
  1727. stock NazwaGracza(playerid)
  1728. {
  1729. new nazwa[MAX_PLAYER_NAME];
  1730. GetPlayerName(playerid, nazwa, sizeof nazwa);
  1731. return nazwa;
  1732. }
  1733.  
  1734. stock StworzDym(Float:x, Float:y, Float:z)
  1735. {
  1736. new dymid = CreateDynamicObject(18716, x, y, z - 1.0, 0.0, 0.0, 0.0);
  1737. for(new idd; idd <= GetPlayerPoolSize(); idd++)
  1738. Streamer_Update(idd, 0);
  1739. SetTimerEx("UsunDym", 300, false, "i", dymid);
  1740. return 1;
  1741. }
  1742.  
  1743. stock GetVehicleIDModelName(vehicleid) //By Nickk888
  1744. {
  1745. new vname[100];
  1746. format(vname,sizeof(vname),"%s",Nazwapojazdu[GetVehicleModel(vehicleid) - 400][0]);
  1747. return vname;
  1748. }
  1749.  
  1750. stock StworzTextDrawy()
  1751. {
  1752. WP_Naglowek = TextDrawCreate(73.000000, 215.000000, "WYBIERZ SKIN~n~~n~~n~~n~~n~");
  1753. TextDrawFont(WP_Naglowek, 2);
  1754. TextDrawLetterSize(WP_Naglowek, 0.324999, 2.699999);
  1755. TextDrawTextSize(WP_Naglowek, 400.000000, 112.500000);
  1756. TextDrawSetOutline(WP_Naglowek, 1);
  1757. TextDrawSetShadow(WP_Naglowek, 0);
  1758. TextDrawAlignment(WP_Naglowek, 2);
  1759. TextDrawColor(WP_Naglowek, -8388353);
  1760. TextDrawBackgroundColor(WP_Naglowek, 255);
  1761. TextDrawBoxColor(WP_Naglowek, 100);
  1762. TextDrawUseBox(WP_Naglowek, 1);
  1763. TextDrawSetProportional(WP_Naglowek, 1);
  1764. TextDrawSetSelectable(WP_Naglowek, 0);
  1765.  
  1766. WP_Lewo = TextDrawCreate(47.000000, 274.000000, "<<<");
  1767. TextDrawFont(WP_Lewo, 1);
  1768. TextDrawLetterSize(WP_Lewo, 0.449999, 2.399998);
  1769. TextDrawTextSize(WP_Lewo, 20.000000, 40.000000);
  1770. TextDrawSetOutline(WP_Lewo, 1);
  1771. TextDrawSetShadow(WP_Lewo, 0);
  1772. TextDrawAlignment(WP_Lewo, 2);
  1773. TextDrawColor(WP_Lewo, -1);
  1774. TextDrawBackgroundColor(WP_Lewo, 255);
  1775. TextDrawBoxColor(WP_Lewo, 100);
  1776. TextDrawUseBox(WP_Lewo, 1);
  1777. TextDrawSetProportional(WP_Lewo, 1);
  1778. TextDrawSetSelectable(WP_Lewo, 1);
  1779.  
  1780. WP_Prawo = TextDrawCreate(98.000000, 274.000000, ">>>");
  1781. TextDrawFont(WP_Prawo, 1);
  1782. TextDrawLetterSize(WP_Prawo, 0.449999, 2.399998);
  1783. TextDrawTextSize(WP_Prawo, 20.000000, 40.000000);
  1784. TextDrawSetOutline(WP_Prawo, 1);
  1785. TextDrawSetShadow(WP_Prawo, 0);
  1786. TextDrawAlignment(WP_Prawo, 2);
  1787. TextDrawColor(WP_Prawo, -1);
  1788. TextDrawBackgroundColor(WP_Prawo, 255);
  1789. TextDrawBoxColor(WP_Prawo, 100);
  1790. TextDrawUseBox(WP_Prawo, 1);
  1791. TextDrawSetProportional(WP_Prawo, 1);
  1792. TextDrawSetSelectable(WP_Prawo, 1);
  1793.  
  1794. WP_Wybierz = TextDrawCreate(71.000000, 309.000000, "WYBIERZ");
  1795. TextDrawFont(WP_Wybierz, 1);
  1796. TextDrawLetterSize(WP_Wybierz, 0.449999, 2.399998);
  1797. TextDrawTextSize(WP_Wybierz, 20.000000, 64.500000);
  1798. TextDrawSetOutline(WP_Wybierz, 1);
  1799. TextDrawSetShadow(WP_Wybierz, 0);
  1800. TextDrawAlignment(WP_Wybierz, 2);
  1801. TextDrawColor(WP_Wybierz, -1);
  1802. TextDrawBackgroundColor(WP_Wybierz, 255);
  1803. TextDrawBoxColor(WP_Wybierz, 100);
  1804. TextDrawUseBox(WP_Wybierz, 1);
  1805. TextDrawSetProportional(WP_Wybierz, 1);
  1806. TextDrawSetSelectable(WP_Wybierz, 1);
  1807. return 1;
  1808. }
  1809.  
  1810. stock StworzTextDrawyGracza(playerid)
  1811. {
  1812. WP_IDSkina[playerid] = CreatePlayerTextDraw(playerid, 71.000000, 242.000000, "ID_SKINA:125");
  1813. PlayerTextDrawFont(playerid, WP_IDSkina[playerid], 2);
  1814. PlayerTextDrawLetterSize(playerid, WP_IDSkina[playerid], 0.320832, 2.649998);
  1815. PlayerTextDrawTextSize(playerid, WP_IDSkina[playerid], 20.000000, 64.500000);
  1816. PlayerTextDrawSetOutline(playerid, WP_IDSkina[playerid], 1);
  1817. PlayerTextDrawSetShadow(playerid, WP_IDSkina[playerid], 0);
  1818. PlayerTextDrawAlignment(playerid, WP_IDSkina[playerid], 2);
  1819. PlayerTextDrawColor(playerid, WP_IDSkina[playerid], -1);
  1820. PlayerTextDrawBackgroundColor(playerid, WP_IDSkina[playerid], 255);
  1821. PlayerTextDrawBoxColor(playerid, WP_IDSkina[playerid], 100);
  1822. PlayerTextDrawUseBox(playerid, WP_IDSkina[playerid], 0);
  1823. PlayerTextDrawSetProportional(playerid, WP_IDSkina[playerid], 1);
  1824. PlayerTextDrawSetSelectable(playerid, WP_IDSkina[playerid], 0);
  1825. PlayerTextDrawSetPreviewVehCol(playerid, WP_IDSkina[playerid], 1, 1);
  1826.  
  1827. Predkosciomierz[playerid] = CreatePlayerTextDraw(playerid, 490.000000, 344.000000, "~y~NAME:_~g~INFERNUS~n~~y~SPEED:_~b~100KM/h~n~~y~HEALTH:_~r~100~n~~y~FUEL:_~w~64L");
  1828. PlayerTextDrawFont(playerid, Predkosciomierz[playerid], 2);
  1829. PlayerTextDrawLetterSize(playerid, Predkosciomierz[playerid], 0.229166, 1.950000);
  1830. PlayerTextDrawTextSize(playerid, Predkosciomierz[playerid], 610.500000, 17.000000);
  1831. PlayerTextDrawSetOutline(playerid, Predkosciomierz[playerid], 1);
  1832. PlayerTextDrawSetShadow(playerid, Predkosciomierz[playerid], 0);
  1833. PlayerTextDrawAlignment(playerid, Predkosciomierz[playerid], 1);
  1834. PlayerTextDrawColor(playerid, Predkosciomierz[playerid], -1);
  1835. PlayerTextDrawBackgroundColor(playerid, Predkosciomierz[playerid], 255);
  1836. PlayerTextDrawBoxColor(playerid, Predkosciomierz[playerid], 100);
  1837. PlayerTextDrawUseBox(playerid, Predkosciomierz[playerid], 1);
  1838. PlayerTextDrawSetProportional(playerid, Predkosciomierz[playerid], 1);
  1839. PlayerTextDrawSetSelectable(playerid, Predkosciomierz[playerid], 0);
  1840. return 1;
  1841. }
  1842.  
  1843. stock GetVehicleSpeed(vehicleid) //By Nickk888
  1844. {
  1845. new Float:predx;
  1846. new Float:predy;
  1847. new Float:predz;
  1848. new Float:pred_a;
  1849. new pred_b;
  1850. GetVehicleVelocity(vehicleid, predx, predy, predz);
  1851. pred_a = floatsqroot(((predx*predx)+(predy*predy))+(predz*predz)) * 195.199999;
  1852. pred_b = floatround(pred_a);
  1853. return pred_b;
  1854. }
  1855.  
  1856. //Timery
  1857.  
  1858. forward CarGodMode(playerid);
  1859. public CarGodMode(playerid)
  1860. {
  1861. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  1862. {
  1863. new vid = GetPlayerVehicleID(playerid);
  1864. new Float:zycie;
  1865. GetVehicleHealth(vid, zycie);
  1866. if(zycie < 1000)
  1867. {
  1868. SetVehicleHealth(vid, 1000);
  1869. RepairVehicle(vid);
  1870. }
  1871. }
  1872.  
  1873. return 1;
  1874. }
  1875.  
  1876. forward SekundowaAktualizacja();
  1877. public SekundowaAktualizacja()
  1878. {
  1879. new string[358];
  1880. //Czas i Data
  1881. new dzien, miesiac, rok, sekunda, minuta, godzina;
  1882. getdate(rok, miesiac, dzien);
  1883. gettime(godzina, minuta, sekunda);
  1884. format(string, sizeof string, "%02d:%02d~n~%02d.%02d.%i", godzina, minuta, dzien, miesiac,rok);
  1885. TextDrawSetString(CzasData, string);
  1886. if(RealnyCzas == true)
  1887. SetWorldTime(godzina);
  1888. //
  1889.  
  1890. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  1891. {
  1892. if(DaneGracza[i][Zalogowany] == true) //Zalogowany
  1893. {
  1894. if(DaneGracza[i][Zespawnowany] == true) //Zespawnowany
  1895. {
  1896. new vehicleid = GetPlayerVehicleID(i);
  1897. //Wiezienie
  1898. if(DaneGracza[i][UwiezionyCzas] > 0)
  1899. {
  1900. DaneGracza[i][UwiezionyCzas]--;
  1901. if(DaneGracza[i][UwiezionyCzas] < 60)
  1902. format(string, sizeof string, "~y~Wiezienie~n~~w~%i ~y~sek", DaneGracza[i][UwiezionyCzas]);
  1903. else if(DaneGracza[i][UwiezionyCzas] >= 60 && DaneGracza[i][UwiezionyCzas] < (60 * 60))
  1904. format(string, sizeof string, "~y~Wiezienie~n~~w~>%i ~y~min", (DaneGracza[i][UwiezionyCzas] / 60));
  1905. else if(DaneGracza[i][UwiezionyCzas] >= (60 * 60) && DaneGracza[i][UwiezionyCzas] < ((60 * 60) * 24))
  1906. format(string, sizeof string, "~y~Wiezienie~n~~w~>%i ~y~godz", (DaneGracza[i][UwiezionyCzas] / (60 * 60)));
  1907. else if(DaneGracza[i][UwiezionyCzas] >= ((60 * 60) * 24))
  1908. format(string, sizeof string, "~y~Wiezienie~n~~w~>%i ~y~Dni", (DaneGracza[i][UwiezionyCzas] / ((60 * 60) * 24)));
  1909. GameTextForPlayer(i, string, 2000, 6);
  1910. }
  1911. else if(DaneGracza[i][UwiezionyCzas] == 0)
  1912. {
  1913. DaneGracza[i][UwiezionyCzas] = -1;
  1914. SendClientMessage(i, -1, "{FFFF00}Zostales/as wypuszczony z wiezienia.");
  1915. SpawnPlayer(i);
  1916. }
  1917.  
  1918. //Wyciszenie
  1919. if(DaneGracza[i][WyciszonyCzas] > 0)
  1920. {
  1921. DaneGracza[i][WyciszonyCzas]--;
  1922. }
  1923. else if(DaneGracza[i][WyciszonyCzas] == 0)
  1924. {
  1925. DaneGracza[i][WyciszonyCzas] = -1;
  1926. SendClientMessage(i, -1, "{FFFF00}Zostales/as Odciszony.");
  1927. }
  1928.  
  1929. //Predkosciomierz
  1930. if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
  1931. {
  1932. new Float:zyciepojazdu, zyciep;
  1933. GetVehicleHealth(vehicleid, zyciepojazdu);
  1934. zyciep = ((floatround(zyciepojazdu, floatround_round) - 250) * 100) / 750;
  1935. format(string, sizeof string, "~y~NAZWA: ~r~%s~n~~y~PREDKOSC: ~g~%i ~w~KM/H~n~~y~ZYCIE: ~g~%i~w~%%", GetVehicleIDModelName(vehicleid), GetVehicleSpeed(vehicleid), zyciep);
  1936. PlayerTextDrawSetString(i, Predkosciomierz[i], string);
  1937. PlayerTextDrawShow(i, Predkosciomierz[i]);
  1938. }
  1939. else PlayerTextDrawHide(i, Predkosciomierz[i]);
  1940.  
  1941. TextDrawShowForPlayer(i, CzasData);
  1942. }
  1943. else
  1944. {
  1945. TextDrawHideForPlayer(i, CzasData);
  1946. }
  1947. }
  1948. }
  1949. return 1;
  1950. }
  1951.  
  1952. forward BanPlayer(playerid);
  1953. public BanPlayer(playerid)
  1954. {
  1955. Ban(playerid);
  1956. return 1;
  1957. }
  1958.  
  1959. forward KickPlayer(playerid);
  1960. public KickPlayer(playerid)
  1961. {
  1962. Kick(playerid);
  1963. return 1;
  1964. }
  1965.  
  1966. forward StworzPrzypPozar();
  1967. public StworzPrzypPozar()
  1968. {
  1969. new rand = random(sizeof LokalizacjePozarow);
  1970. StworzPozar(LokalizacjePozarow[rand][0], LokalizacjePozarow[rand][1], LokalizacjePozarow[rand][2]);
  1971. return 1;
  1972. }
  1973.  
  1974. forward UsunDym(dymid);
  1975. public UsunDym(dymid)
  1976. {
  1977. DestroyDynamicObject(dymid);
  1978. return 1;
  1979. }
  1980.  
  1981. forward AktualizujOgnie();
  1982. public AktualizujOgnie()
  1983. {
  1984. new string[80];
  1985. for(new i; i < MAX_POZARY; i++)
  1986. {
  1987. if(PozarAktywny[i] == true)
  1988. {
  1989. for(new il; il < MAX_OGNIE; il++)
  1990. {
  1991. if(Pozar[i][il][stworzony] == true)
  1992. {
  1993. format(string, sizeof string, "{FFFF00}Zycie: {FF0000}%i", Pozar[i][il][ogZycie]);
  1994. UpdateDynamic3DTextLabelText(Pozar[i][il][ogtdt], -1, string);
  1995. }
  1996. }
  1997. }
  1998. }
  1999. for(new id; id <= GetPlayerPoolSize(); id++)
  2000. {
  2001. for(new i; i < MAX_POZARY; i++)
  2002. {
  2003. if(PozarAktywny[i] == true)
  2004. {
  2005. new PozarIndex;
  2006. for(new il; il < MAX_OGNIE; il++)
  2007. {
  2008. if(Pozar[i][il][stworzony] == true)
  2009. {
  2010. PozarIndex++;
  2011. if(!IsPlayerInAnyVehicle(id) && DaneGracza[id][UzywaGasnice]) //Gasnica
  2012. {
  2013. if(IsPlayerInRangeOfPoint(id, 5.0, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]))
  2014. {
  2015. if(IsPlayerAimingAt(id, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ], 2.0))
  2016. {
  2017. if(Pozar[i][il][ogZycie] > 0)
  2018. {
  2019. StworzDym(Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]);
  2020. Pozar[i][il][ogZycie] = Pozar[i][il][ogZycie] - 11;
  2021. if(Pozar[i][il][ogZycie] <= 0) goto zgasogiengasnica;
  2022. }
  2023. else
  2024. {
  2025. zgasogiengasnica:
  2026. Pozar[i][il][stworzony] = false;
  2027. DestroyDynamicObject(Pozar[i][il][ogObjekt]);
  2028. DestroyDynamic3DTextLabel(Pozar[i][il][ogtdt]);
  2029. GivePlayerMoney(id, PIENIADZE_ZA_OGIEN_GASNICA);
  2030. format(string, sizeof string, "~g~+$%i ~w~za zgaszenie", PIENIADZE_ZA_OGIEN_GASNICA);
  2031. GameTextForPlayer(id, string, 1000, 1);
  2032. PlayerPlaySound(id, 1138, 0.0, 0.0, 0.0);
  2033. }
  2034. }
  2035. }
  2036. }
  2037. else if(IsPlayerInAnyVehicle(id) && DaneGracza[id][JestWWozieStr]) //Woz strazacki
  2038. {
  2039. if(IsPlayerInRangeOfPoint(id, 35.0, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]))
  2040. {
  2041. if(IsPlayerAimingAt(id, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ], 3.5))
  2042. {
  2043. if(Pozar[i][il][ogZycie] > 0)
  2044. {
  2045. StworzDym(Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]);
  2046. Pozar[i][il][ogZycie] = Pozar[i][il][ogZycie] - 15;
  2047. if(Pozar[i][il][ogZycie] <= 0) goto zgasogienwstr;
  2048. }
  2049. else
  2050. {
  2051. zgasogienwstr:
  2052. Pozar[i][il][stworzony] = false;
  2053. DestroyDynamicObject(Pozar[i][il][ogObjekt]);
  2054. DestroyDynamic3DTextLabel(Pozar[i][il][ogtdt]);
  2055. GivePlayerMoney(id, PIENIADZE_ZA_OGIEN_WSTRAZACKI);
  2056. format(string, sizeof string, "~g~+$%i ~w~za zgaszenie", PIENIADZE_ZA_OGIEN_WSTRAZACKI);
  2057. GameTextForPlayer(id, string, 1000, 1);
  2058. PlayerPlaySound(id, 1138, 0.0, 0.0, 0.0);
  2059. }
  2060. }
  2061. }
  2062. }
  2063.  
  2064. if(!IsPlayerInAnyVehicle(id))
  2065. {
  2066. if(IsPlayerInRangeOfPoint(id, 2.0, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]))
  2067. {
  2068. if(!IsPlayerAttachedObjectSlotUsed(id, 9))
  2069. {
  2070. SetPlayerAttachedObject(id, 9, 18688, 17, -1.0, 0.2, -1.8);
  2071. SendClientMessage(id, -1, "{FF9900}Pozar: {FF0000}Nie wchodz w ogien! Podpaliles sie!");
  2072. DaneGracza[id][PodpalonyIndex] = 5;
  2073. DaneGracza[id][PodpalonyTimer] = SetTimerEx("GraczPodpalony", 1000, true, "i", id);
  2074. }
  2075. }
  2076. }
  2077. }
  2078. }
  2079. if(PozarIndex == 0)
  2080. {
  2081. new zone[64];
  2082. PozarAktywny[i] = false;
  2083. GetPos2DZone(Pozar[i][0][ogX], Pozar[i][0][ogY], zone, sizeof zone);
  2084. format(string, sizeof string, "{FF8040}Pozar: {FFFFFF}Pozar o ID: %i w okolicy %s zostal ugaszony!", i, zone);
  2085. SendClientMessageToAll(-1, string);
  2086. }
  2087. }
  2088. }
  2089. }
  2090. return 1;
  2091. }
  2092.  
  2093. forward GraczPodpalony(playerid);
  2094. public GraczPodpalony(playerid)
  2095. {
  2096. if(DaneGracza[playerid][PodpalonyIndex] > 0)
  2097. {
  2098. new Float:zycie;
  2099. DaneGracza[playerid][PodpalonyIndex]--;
  2100. GetPlayerHealth(playerid, zycie);
  2101. SetPlayerHealth(playerid, zycie - 8);
  2102. }
  2103. else
  2104. {
  2105. KillTimer(DaneGracza[playerid][PodpalonyTimer]);
  2106. RemovePlayerAttachedObject(playerid, 9);
  2107. }
  2108. return 1;
  2109. }
  2110.  
  2111. forward SpawnujGracza(playerid);
  2112. public SpawnujGracza(playerid)
  2113. {
  2114. SpawnPlayer(playerid);
  2115. return 1;
  2116. }
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123. native WP_Hash(buffer[], len, const str[]);
  2124.  
  2125. //Ustawienia serwera
  2126. #define NAZWA_SERWERA "Polski Super Serwer by Banan"
  2127. #define WERSJA_SERWERA "1.0"
  2128.  
  2129. //Parametry Serwera
  2130. #define PUNKTY_NA_START 10
  2131. #define KASA_NA_START 10500
  2132. #define KOLOR_MYSZKI COLOR_RED
  2133. #define MAX_POSTACIE 311
  2134.  
  2135. //Kolory
  2136. #define KOLOR_INFO "{F3F856}"
  2137.  
  2138. //Wiadomosci
  2139. #define RANGA_ERROR KOLOR_INFO"Info: {FF0000}Nie jestes uprawiony(a) by uzywac ta komende!"
  2140.  
  2141. //Rangi
  2142. #define RANGA_GRACZ 0
  2143. #define RANGA_SUPPORT 1
  2144. #define RANGA_MODERATOR 2
  2145. #define RANGA_JADMIN 3
  2146. #define RANGA_ADMIN 4
  2147. #define RANGA_WLASCICIEL 5
  2148.  
  2149. //System Pozaru
  2150. #define MAX_POZARY 10
  2151. #define MIN_OGNIE 8
  2152. #define MAX_OGNIE 30
  2153. #define MIN_OGNIE_ZYCIE 50
  2154. #define MAX_OGNIE_ZYCIE 120
  2155. #define MAX_OGNIE_ODLEGLOSC 15
  2156. #define MAX_ODLEGLOSC_WID_ZYCIA 50
  2157. #define PIENIADZE_ZA_OGIEN_GASNICA 250
  2158. #define PIENIADZE_ZA_OGIEN_WSTRAZACKI 150
  2159.  
  2160. #define CZAS_AUTOMAT_POZARU 10 //W Minutach
  2161. #define CZAS_AUTOMAT_ZNISZCZENIE_POZARU 5 //W Minutach
  2162.  
  2163. //Dialogi
  2164. #define DIALOG_REJESTRACJA 0
  2165. #define DIALOG_LOGOWANIE 1
  2166. #define DIALOG_ZMIENRANGE 2
  2167. #define DIALOG_ADMINS 3
  2168.  
  2169. //Sciezki folderow
  2170. #define FOLDER_KONT "/Konta/"
  2171.  
  2172. //TextDrawy
  2173. new Text:WP_Naglowek;
  2174. new Text:WP_Lewo;
  2175. new Text:WP_Prawo;
  2176. new Text:WP_Wybierz;
  2177. new Text:CzasData;
  2178.  
  2179. new PlayerText:WP_IDSkina[MAX_PLAYERS];
  2180. new PlayerText:Predkosciomierz[MAX_PLAYERS];
  2181.  
  2182. new Text:NazwaSerwera;
  2183.  
  2184. main(){}
  2185.  
  2186. //Enumy
  2187. enum Dgracza
  2188. {
  2189. bool:Zalogowany,
  2190. bool:UzywaGasnice,
  2191. bool:JestWWozieStr,
  2192. bool:Zespawnowany,
  2193. bool:Zbanowany,
  2194. bool:Podglada,
  2195. bool:GodWlaczony,
  2196. Float:PrevLocX,
  2197. Float:PrevLocY,
  2198. Float:PrevLocZ,
  2199. Float:PrevLocAngle,
  2200. PrevLocInt,
  2201. PrevLocVW,
  2202. IsSpecPlayer,
  2203. SkinID,
  2204. WybranaPostac,
  2205. MyszkaTimer,
  2206. haslogracza[130],
  2207. IPGracza[18],
  2208. PodpalonyIndex,
  2209. PodpalonyTimer,
  2210. Ranga,
  2211. WybranyGracz,
  2212. UwiezionyCzas,
  2213. WyciszonyCzas,
  2214. GodTimer
  2215. };
  2216. new DaneGracza[MAX_PLAYERS][Dgracza];
  2217.  
  2218. enum Dpozaru
  2219. {
  2220. bool:stworzony,
  2221. Float:ogX,
  2222. Float:ogY,
  2223. Float:ogZ,
  2224. ogZycie,
  2225. ogObjekt,
  2226. Text3D:ogtdt
  2227. };
  2228. new Pozar[MAX_POZARY][MAX_OGNIE][Dpozaru];
  2229.  
  2230. enum Dpostaci
  2231. {
  2232. bool:Uzywane,
  2233. pmodelid,
  2234. Float:pspawnx,
  2235. Float:pspawny,
  2236. Float:pspawnz,
  2237. Float:pspawna,
  2238. pspawnint,
  2239. pspawnvw,
  2240. pweapon1,
  2241. pammo1,
  2242. pweapon2,
  2243. pammo2,
  2244. pweapon3,
  2245. pammo3
  2246. };
  2247. new Postacie[MAX_POSTACIE][Dpostaci];
  2248. new IloscPostaci;
  2249.  
  2250. //Zmienne Globalne
  2251. new bool:PozarAktywny[MAX_POZARY];
  2252. new PozarTimer[MAX_POZARY];
  2253. new bool:RealnyCzas = true;
  2254.  
  2255.  
  2256. //Tablice
  2257. new Ognia[][] =
  2258. {
  2259. 18691, 18690, 18689, 18688, 18692
  2260. };
  2261.  
  2262. new Float:Wiezienia[][] =
  2263. {
  2264. {193.6328,174.0766,1003.0234,0.0, 3.0},
  2265. {197.7229,174.9687,1003.0234,0.0, 3.0},
  2266. {198.5081,162.2763,1003.0300,180.0, 3.0}
  2267. };
  2268.  
  2269. //Naprawa Kolorow
  2270. new PlayerColors[] = {
  2271. 0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,
  2272. 0xFFD720FF,0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,
  2273. 0xEF6CE8FF,0xBD34DAFF,0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,
  2274. 0x7B39AAFF,0x53EB10FF,0x54137DFF,0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,
  2275. 0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,
  2276. 0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,
  2277. 0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,
  2278. 0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,
  2279. 0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,0x9F945CFF,0xDCDE3DFF,
  2280. 0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,0x3FE65CFF
  2281. };
  2282.  
  2283. new Nazwapojazdu[][] = {
  2284. "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Straz pozarna", "Trashmaster", "Limuzyna", "Manana",
  2285. "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat",
  2286. "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
  2287. "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo",
  2288. "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
  2289. "Berkley's RC Van", "Skimmer", "PCJ-600", "Skuter", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
  2290. "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito",
  2291. "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring",
  2292. "Sandking", "Blista Compact", "Policyjny Helikopter", "Boxvillde", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
  2293. "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Rower", "Rower Gorski", "Beagle", "Cropduster","Stunt", "Baker",
  2294. "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Betoniarka", "Tow Truck", "Fortune",
  2295. "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Fel tzer", "Remington", "Slamvan", "BLADe", "Freight", "Streak",
  2296. "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Straz Pozarna LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit",
  2297. "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance",
  2298. "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway",
  2299. "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
  2300. "Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Woz policyjny (LSPD)", "Woz policyjny (SFPD)",
  2301. "Woz policyjny (LVPD)", "Policyjny Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
  2302. "Luggage Trailer B", "Schody", "Boxville", "Tiller", "Utility Trailer" };
  2303.  
  2304. new Float:LokalizacjePozarow[][] =
  2305. {
  2306. {1199.5704,-918.9775,42.6762},
  2307. {926.3015,-1336.3226,13.1091},
  2308. {-78.4284,-1583.3805,2.1853},
  2309. {-584.7283,-1056.6511,23.1250},
  2310. {-603.9949,-500.5743,25.0908},
  2311. {254.1703,-221.2956,1.1346}
  2312. };
  2313.  
  2314. public OnGameModeInit()
  2315. {
  2316. //Stocki i Pluginy
  2317. MapAndreas_Init(MAP_ANDREAS_MODE_FULL);
  2318. UsePlayerPedAnims();
  2319. StworzTextDrawy();
  2320.  
  2321. //Timery
  2322. SetTimer("AktualizujOgnie", 1000, true);
  2323. SetTimer("StworzPrzypPozar", CZAS_AUTOMAT_POZARU * 1000 * 60, true);
  2324. SetTimer("SekundowaAktualizacja", 1000, true);
  2325.  
  2326. //Pojazdy
  2327. AddStaticVehicle(562,1330.6879,-1390.5624,13.1629,90.0536,35,1); // P1
  2328. AddStaticVehicle(432,1322.0795,-1390.0562,13.4835,88.3199,43,0); // p2
  2329. AddStaticVehicle(407,1280.6907,-1372.0385,14.0338,3.6074,0,0); // p3
  2330. AddStaticVehicle(522,1299.5216,-1387.8540,13.0545,219.3891,6,25); // p4
  2331. AddStaticVehicle(401,1294.1825,-1390.6641,13.1319,268.7355,47,47); // p5
  2332.  
  2333. //Postacie
  2334.  
  2335. //DodajPostac(MODELID, SPAWNX, SPAWNY, SPAWNZ, SPAWNROTACJA, INTERIOR, VW, BRON1, BRON1AMMU, BRON2, BRON2AMMU, BRON3, BRON3AMMU);
  2336. DodajPostac(0, 0.0, 0.0, 0.0, 0.0, 0, 0, WEAPON_DEAGLE, 150, WEAPON_SHOTGUN, 50, WEAPON_MP5, 350);
  2337.  
  2338.  
  2339. for(new idskina=0; idskina < 311; idskina++)
  2340. {
  2341. DodajPostac(idskina, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
  2342. }
  2343.  
  2344. //Inne
  2345. if(!dfile_FileExists(FOLDER_KONT))
  2346. return printf("BLAD: Folder %s nie istnieje w folderze Scriptfiles! Stworz go!", FOLDER_KONT);
  2347.  
  2348. printf("\nGamemode %s wersja %s by Banan zostal pomyslnie wlaczony!\n", NAZWA_SERWERA, WERSJA_SERWERA);
  2349.  
  2350. //TextDrawy
  2351. NazwaSerwera = TextDrawCreate(576.000000, 0.000000, "~w~POL~r~SKI ~y~SUPER ~g~SERWER");
  2352. TextDrawFont(NazwaSerwera, 2);
  2353. TextDrawLetterSize(NazwaSerwera, 0.258333, 2.750000);
  2354. TextDrawTextSize(NazwaSerwera, 636.500000, 123.000000);
  2355. TextDrawSetOutline(NazwaSerwera, 1);
  2356. TextDrawSetShadow(NazwaSerwera, 0);
  2357. TextDrawAlignment(NazwaSerwera, 2);
  2358. TextDrawColor(NazwaSerwera, -1378294017);
  2359. TextDrawBackgroundColor(NazwaSerwera, 255);
  2360. TextDrawBoxColor(NazwaSerwera, 78);
  2361. TextDrawUseBox(NazwaSerwera, 1);
  2362. TextDrawSetProportional(NazwaSerwera, 1);
  2363. TextDrawSetSelectable(NazwaSerwera, 0);
  2364.  
  2365. CzasData = TextDrawCreate(86.000000, 313.000000, "00:00~n~00.00.0000");
  2366. TextDrawFont(CzasData, 2);
  2367. TextDrawLetterSize(CzasData, 0.266665, 1.299998);
  2368. TextDrawTextSize(CzasData, 400.000000, 17.000000);
  2369. TextDrawSetOutline(CzasData, 2);
  2370. TextDrawSetShadow(CzasData, 0);
  2371. TextDrawAlignment(CzasData, 2);
  2372. TextDrawColor(CzasData, -1);
  2373. TextDrawBackgroundColor(CzasData, 255);
  2374. TextDrawBoxColor(CzasData, 50);
  2375. TextDrawUseBox(CzasData, 0);
  2376. TextDrawSetProportional(CzasData, 1);
  2377. TextDrawSetSelectable(CzasData, 0);
  2378.  
  2379. return 1;
  2380. }
  2381.  
  2382. public OnPlayerText(playerid, text[])
  2383. {
  2384. new wiadomosc[350];
  2385. if(DaneGracza[playerid][WyciszonyCzas] != -1)
  2386. {
  2387. //Gracz jest wyciszony
  2388. format(wiadomosc, sizeof wiadomosc, "{EBAD2C}Jestes wyciszony/a na %i sekundy (>%i minut)", DaneGracza[playerid][WyciszonyCzas], (DaneGracza[playerid][WyciszonyCzas] / 60));
  2389. SendClientMessage(playerid, -1, wiadomosc);
  2390. return 0;
  2391. }
  2392. //Gracz nie jest wyciszony
  2393. new nazwarangi[80];
  2394. new hexc[10];
  2395. new rangaid = DaneGracza[playerid][Ranga];
  2396. nazwarangi = NazwaRangi(rangaid);
  2397. hexc = GetPlayerHexStringColor(playerid);
  2398.  
  2399. if(rangaid == RANGA_WLASCICIEL)
  2400. format(wiadomosc, sizeof wiadomosc, "{FF0000}%s {FFFFFF}[{FF0000}%s{FFFFFF}] [%i]: %s", NazwaGracza(playerid), nazwarangi, playerid, text);
  2401. else if(rangaid == RANGA_ADMIN)
  2402. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{FF8040}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  2403. else if(rangaid == RANGA_JADMIN)
  2404. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{FFC082}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  2405. else if(rangaid == RANGA_MODERATOR)
  2406. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{0080FF}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  2407. else if(rangaid == RANGA_SUPPORT)
  2408. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[{FFFF00}%s{FFFFFF}] [%i]: %s", hexc, NazwaGracza(playerid), nazwarangi, playerid, text);
  2409. else
  2410. format(wiadomosc, sizeof wiadomosc, "{%s}%s {FFFFFF}[%i]: %s", hexc, NazwaGracza(playerid), playerid, text);
  2411.  
  2412. SendClientMessageToAll(-1, wiadomosc);
  2413. return 0;
  2414. }
  2415.  
  2416. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  2417. {
  2418. if(clickedid == WP_Lewo)
  2419. {
  2420. ZmienPostac(playerid, false);
  2421. }
  2422. if(clickedid == WP_Prawo)
  2423. {
  2424. ZmienPostac(playerid, true);
  2425. }
  2426. if(clickedid == WP_Wybierz)
  2427. {
  2428. DaneGracza[playerid][Zespawnowany] = true;
  2429. WybierzTextDraw(playerid, false);
  2430. TextDrawHideForPlayer(playerid, WP_Naglowek);
  2431. TextDrawHideForPlayer(playerid, WP_Lewo);
  2432. TextDrawHideForPlayer(playerid, WP_Prawo);
  2433. TextDrawHideForPlayer(playerid, WP_Wybierz);
  2434. PlayerTextDrawHide(playerid, WP_IDSkina[playerid]);
  2435. SpawnPlayer(playerid);
  2436. }
  2437. return 0;
  2438. }
  2439.  
  2440. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2441. {
  2442. new string[300];
  2443. if(dialogid == DIALOG_ZMIENRANGE)
  2444. {
  2445. if(response)
  2446. {
  2447. new id = DaneGracza[playerid][WybranyGracz];
  2448. DaneGracza[id][Ranga] = listitem;
  2449. format(string, sizeof string, KOLOR_INFO"Info: {FFFFFF}Zmieniles range gracza %s(ID: %i) na range %s", NazwaGracza(id), id, NazwaRangi(listitem));
  2450. SendClientMessage(playerid, -1, string);
  2451. format(string, sizeof string, KOLOR_INFO"Info: {FFFFFF}Administrator %s(ID: %i) zmienil(a) tobie range na %s", NazwaGracza(playerid), playerid, NazwaRangi(listitem));
  2452. SendClientMessage(id, -1, string);
  2453. }
  2454. }
  2455. if(dialogid == DIALOG_LOGOWANIE)
  2456. {
  2457. if(response)
  2458. {
  2459. new hasloex[130];
  2460. WP_Hash(hasloex, sizeof hasloex, inputtext);
  2461. if(strcmp(hasloex, DaneGracza[playerid][haslogracza], false) == 0)
  2462. {
  2463. WczytajKonto(playerid);
  2464. DaneGracza[playerid][Zalogowany] = true;
  2465. TogglePlayerSpectating(playerid, false);
  2466. SendClientMessage(playerid, COLOR_GREEN, "Serwer: Haslo sie zgadza! Zostales(as) pomyslnie zalogowany(a).");
  2467. }
  2468. else
  2469. {
  2470. OknoLogowania(playerid);
  2471. SendClientMessage(playerid, COLOR_RED, "Serwer: Haslo sie nie zgadza!");
  2472. }
  2473. }
  2474. else Kick(playerid);
  2475. }
  2476. if(dialogid == DIALOG_REJESTRACJA)
  2477. {
  2478. if(response)
  2479. {
  2480. if(strlen(inputtext) >= 6)
  2481. {
  2482. StworzKonto(playerid, inputtext);
  2483. PobierzHaslo(playerid);
  2484. OknoLogowania(playerid);
  2485. SendClientMessage(playerid, COLOR_GREEN, "Serwer: Konto zostalo pomyslnie zalozone! Mozesz sie teraz zalogowac!");
  2486. }
  2487. else
  2488. {
  2489. OknoRejestracji(playerid);
  2490. SendClientMessage(playerid, COLOR_RED, "Serwer: Haslo musi posiadac 6 lub wiecej znakow!");
  2491. }
  2492. }
  2493. else Kick(playerid);
  2494. }
  2495. return 0;
  2496. }
  2497.  
  2498. public OnPlayerConnect(playerid)
  2499. {
  2500. SetPlayerColor(playerid, PlayerColors[random(sizeof PlayerColors)]);
  2501. ResetujDaneGracza(playerid);
  2502. StworzTextDrawyGracza(playerid);
  2503.  
  2504. //TextDrawy
  2505. TextDrawShowForPlayer(playerid, NazwaSerwera);
  2506.  
  2507. return 1;
  2508. }
  2509.  
  2510. public OnPlayerDisconnect(playerid, reason)
  2511. {
  2512. if(DaneGracza[playerid][Zalogowany] == true)
  2513. {
  2514. ZapiszKonto(playerid);
  2515. }
  2516. ResetujDaneGracza(playerid);
  2517. ZniszczTextDrawyGracza(playerid);
  2518. return 1;
  2519. }
  2520.  
  2521. public OnPlayerSpawn(playerid)
  2522. {
  2523. if(DaneGracza[playerid][Zalogowany] == false)
  2524. {
  2525. TogglePlayerSpectating(playerid, true);
  2526. if(!dfile_FileExists(SciezkaKontaGracza(playerid)))
  2527. {
  2528. OknoRejestracji(playerid);
  2529. }
  2530. else
  2531. {
  2532. PobierzHaslo(playerid);
  2533. OknoLogowania(playerid);
  2534. }
  2535. }
  2536. else
  2537. {
  2538. if(DaneGracza[playerid][Zespawnowany] == true)
  2539. {
  2540. new wpostac = DaneGracza[playerid][WybranaPostac];
  2541. SetPlayerSkin(playerid, DaneGracza[playerid][SkinID]);
  2542. TogglePlayerControllable(playerid, true);
  2543. ResetPlayerWeapons(playerid);
  2544. if(DaneGracza[playerid][UwiezionyCzas] != -1)
  2545. {
  2546. new rand = random(sizeof Wiezienia);
  2547. SetPlayerPos(playerid, Wiezienia[rand][0], Wiezienia[rand][1], Wiezienia[rand][2]);
  2548. SetPlayerFacingAngle(playerid, Wiezienia[rand][3]);
  2549. SetPlayerInterior(playerid, floatround(Wiezienia[rand][4]));
  2550. SetCameraBehindPlayer(playerid);
  2551. SetPlayerVirtualWorld(playerid, 1);
  2552. SprawdzSpec(playerid);
  2553. DaneGracza[playerid][Podglada] = false;
  2554. return 1;
  2555. }
  2556. if(Postacie[wpostac][pspawnx] != 0.0 || Postacie[wpostac][pspawny] != 0.0 || Postacie[wpostac][pspawnz] != 0.0)
  2557. {
  2558. SetPlayerPos(playerid, Postacie[wpostac][pspawnx], Postacie[wpostac][pspawny], Postacie[wpostac][pspawnz]);
  2559. SetPlayerFacingAngle(playerid, Postacie[wpostac][pspawna]);
  2560. SetCameraBehindPlayer(playerid);
  2561. SetPlayerInterior(playerid, Postacie[wpostac][pspawnint]);
  2562. SetPlayerVirtualWorld(playerid, Postacie[wpostac][pspawnvw]);
  2563. }
  2564. else
  2565. {
  2566. SetPlayerPos(playerid, 1310.3093,-1368.5123,13.5503);
  2567. SetPlayerFacingAngle(playerid, 181.1590);
  2568. SetCameraBehindPlayer(playerid);
  2569. SetPlayerInterior(playerid, 0);
  2570. SetPlayerVirtualWorld(playerid, 0);
  2571. }
  2572. if(Postacie[wpostac][pweapon1] > 0)
  2573. GivePlayerWeapon(playerid, Postacie[wpostac][pweapon1], Postacie[wpostac][pammo1]);
  2574. if(Postacie[wpostac][pweapon2] > 0)
  2575. GivePlayerWeapon(playerid, Postacie[wpostac][pweapon2], Postacie[wpostac][pammo2]);
  2576. if(Postacie[wpostac][pweapon3] > 0)
  2577. GivePlayerWeapon(playerid, Postacie[wpostac][pweapon3], Postacie[wpostac][pammo3]);
  2578.  
  2579. //Podgladanie
  2580. if(DaneGracza[playerid][Podglada] == true)
  2581. {
  2582. SetPlayerPos(playerid, DaneGracza[playerid][PrevLocX], DaneGracza[playerid][PrevLocY], DaneGracza[playerid][PrevLocZ]);
  2583. SetPlayerFacingAngle(playerid, DaneGracza[playerid][PrevLocAngle]);
  2584. SetPlayerVirtualWorld(playerid, DaneGracza[playerid][PrevLocVW]);
  2585. SetPlayerInterior(playerid, DaneGracza[playerid][PrevLocInt]);
  2586. DaneGracza[playerid][Podglada] = false;
  2587. }
  2588. SprawdzSpec(playerid);
  2589.  
  2590. //Niesmiertelnosc
  2591. if(DaneGracza[playerid][GodWlaczony] == true)
  2592. SetPlayerHealth(playerid, 999);
  2593. }
  2594. else
  2595. {
  2596. WyborPostaci(playerid);
  2597. }
  2598. }
  2599. return 1;
  2600. }
  2601.  
  2602. public OnPlayerRequestClass(playerid, classid)
  2603. {
  2604. SetTimerEx("SpawnujGracza", 150, false, "i", playerid);
  2605.  
  2606. return 1;
  2607. }
  2608.  
  2609. public OnPlayerDeath(playerid, killerid, reason)
  2610. {
  2611. if(DaneGracza[playerid][PodpalonyIndex] > 0)
  2612. {
  2613. KillTimer(DaneGracza[playerid][PodpalonyTimer]);
  2614. RemovePlayerAttachedObject(playerid, 9);
  2615. }
  2616. return 1;
  2617. }
  2618.  
  2619. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  2620. {
  2621. SetTimerEx("SprawdzSpec", 3000, false, "i", playerid);
  2622. return 1;
  2623. }
  2624.  
  2625. public OnPlayerCommandReceived(playerid, cmdtext[])
  2626. {
  2627. if(DaneGracza[playerid][UwiezionyCzas] != -1 && !JestRanga(playerid, 1) && !IsPlayerAdmin(playerid))
  2628. {
  2629. SendClientMessage(playerid, -1, "Nie mozesz uzywac komendy bedac w wiezieniu!");
  2630. return 0;
  2631. }
  2632. return 1;
  2633. }
  2634.  
  2635. public OnPlayerStateChange(playerid, newstate, oldstate)
  2636. {
  2637. SprawdzSpec(playerid);
  2638. return 1;
  2639. }
  2640.  
  2641. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  2642. {
  2643. new vehicleid = GetPlayerVehicleID(playerid);
  2644. if(newkeys & KEY_FIRE && GetPlayerWeapon(playerid) == WEAPON_FIREEXTINGUISHER)
  2645. DaneGracza[playerid][UzywaGasnice] = true;
  2646. else
  2647. DaneGracza[playerid][UzywaGasnice] = false;
  2648.  
  2649. if((newkeys & KEY_FIRE || newkeys & KEY_ACTION) && GetVehicleModel(vehicleid) == 407 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  2650. DaneGracza[playerid][JestWWozieStr] = true;
  2651. else
  2652. DaneGracza[playerid][JestWWozieStr] = false;
  2653. return 1;
  2654. }
  2655.  
  2656. forward ZniszczPozar(pozarid);
  2657. public ZniszczPozar(pozarid)
  2658. {
  2659. PozarAktywny[pozarid] = false;
  2660. for(new i; i < MAX_OGNIE; i++)
  2661. {
  2662. if(Pozar[pozarid][i][stworzony] == true)
  2663. {
  2664. Pozar[pozarid][i][stworzony] = false;
  2665. DestroyDynamicObject(Pozar[pozarid][i][ogObjekt]);
  2666. DestroyDynamic3DTextLabel(Pozar[pozarid][i][ogtdt]);
  2667. }
  2668. }
  2669. return 1;
  2670. }
  2671.  
  2672. forward StworzPozar(Float:x, Float:y, Float:z);
  2673. public StworzPozar(Float:x, Float:y, Float:z)
  2674. {
  2675. new string[300], zone[64];
  2676. for(new i; i < MAX_POZARY; i++)
  2677. {
  2678. if(PozarAktywny[i] == false)
  2679. {
  2680.  
  2681. PozarAktywny[i] = true;
  2682. new ilosc = ExRandom(MIN_OGNIE, MAX_OGNIE);
  2683. for(new io; io < ilosc; io++)
  2684. {
  2685. new Float:TempCords[3];
  2686. TempCords[0] = x;
  2687. TempCords[1] = y;
  2688. TempCords[2] = z;
  2689. GetXYInFrontOfPoint(TempCords[0], TempCords[1], random(360), random(MAX_OGNIE_ODLEGLOSC));
  2690. MapAndreas_FindZ_For2DCoord(TempCords[0], TempCords[1], TempCords[2]);
  2691. Pozar[i][io][stworzony] = true;
  2692. Pozar[i][io][ogX] = TempCords[0];
  2693. Pozar[i][io][ogY] = TempCords[1];
  2694. Pozar[i][io][ogZ] = TempCords[2];
  2695. Pozar[i][io][ogZycie] = ExRandom(MIN_OGNIE_ZYCIE, MAX_OGNIE_ZYCIE);
  2696. Pozar[i][io][ogObjekt] = CreateDynamicObject(Ognia[random(sizeof Ognia)][0], TempCords[0], TempCords[1], TempCords[2] - 1.0, 0.0, 0.0, 0.0);
  2697. Pozar[i][io][ogtdt] = CreateDynamic3DTextLabel("_", -1, TempCords[0], TempCords[1], TempCords[2] + 1.0, MAX_ODLEGLOSC_WID_ZYCIA);
  2698. CreateExplosion(TempCords[0], TempCords[1], TempCords[2] -1.0, 11, 1.0);
  2699. for(new idd; idd <= GetPlayerPoolSize(); idd++)
  2700. Streamer_Update(idd, 0);
  2701. }
  2702. GetPos2DZone(x, y, zone, sizeof zone);
  2703. format(string, sizeof string, "{FF8040}Pozar: {FFFFFF}Wybuchl pozar o ID: %i w okolicy %s", i, zone);
  2704. SendClientMessageToAll(-1, string);
  2705. PozarTimer[i] = SetTimerEx("ZniszczPozar", CZAS_AUTOMAT_ZNISZCZENIE_POZARU * 1000 * 60, false, "i", i);
  2706. return i;
  2707. }
  2708. }
  2709. return 1;
  2710. }
  2711.  
  2712. //Komendy
  2713. CMD:realtime(playerid, params[])
  2714. {
  2715. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2716. if(RealnyCzas == true)
  2717. {
  2718. RealnyCzas = false;
  2719. SendClientMessage(playerid, -1, "{FF0000}Realny czas zostal wylaczony!");
  2720. }
  2721. else
  2722. {
  2723. RealnyCzas = true;
  2724. SendClientMessage(playerid, -1, "{00FF00}Realny czas zostal wlaczony!");
  2725. }
  2726. return 1;
  2727. }
  2728.  
  2729. CMD:admins(playerid, params[])
  2730. {
  2731. new string[128], longstring[2000];
  2732. new j = GetPlayerPoolSize();
  2733. strcat(longstring, "{FF0000}Wlasciciele\n");
  2734. for(new i; i <= j; i++)
  2735. {
  2736. if(DaneGracza[i][Ranga] == RANGA_WLASCICIEL)
  2737. {
  2738. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  2739. strcat(longstring, string);
  2740. }
  2741. }
  2742.  
  2743. strcat(longstring, "\n{FF8040}Administratorzy\n");
  2744. for(new i; i <= j; i++)
  2745. {
  2746. if(DaneGracza[i][Ranga] == RANGA_ADMIN)
  2747. {
  2748. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  2749. strcat(longstring, string);
  2750. }
  2751. }
  2752.  
  2753. strcat(longstring, "\n{FFC082}Junior Admini\n");
  2754. for(new i; i <= j; i++)
  2755. {
  2756. if(DaneGracza[i][Ranga] == RANGA_JADMIN)
  2757. {
  2758. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  2759. strcat(longstring, string);
  2760. }
  2761. }
  2762.  
  2763. strcat(longstring, "\n{0080FF}Moderatorzy\n");
  2764. for(new i; i <= j; i++)
  2765. {
  2766. if(DaneGracza[i][Ranga] == RANGA_MODERATOR)
  2767. {
  2768. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  2769. strcat(longstring, string);
  2770. }
  2771. }
  2772.  
  2773. strcat(longstring, "\n{FFFF00}Support\n");
  2774. for(new i; i <= j; i++)
  2775. {
  2776. if(DaneGracza[i][Ranga] == RANGA_SUPPORT)
  2777. {
  2778. format(string, sizeof string, "{%s}%s {FFFFFF}(ID: %i)\n", GetPlayerHexStringColor(i), NazwaGracza(i), i);
  2779. strcat(longstring, string);
  2780. }
  2781. }
  2782. ShowPlayerDialog(playerid, DIALOG_ADMINS, DIALOG_STYLE_MSGBOX, "Ekipa Serwera", longstring, "OK", #);
  2783. return 1;
  2784. }
  2785.  
  2786. CMD:ungod(playerid, params[])
  2787. {
  2788. new id, string[328];
  2789. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2790. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /UnGod [ID]");
  2791. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2792. else if(DaneGracza[id][GodWlaczony] == false) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz aktualnie nie ma goda!");
  2793. else
  2794. {
  2795. format(string, sizeof string, "{FF0000}Zabrales/as graczowi %s(ID: %i) goda", NazwaGracza(id), id);
  2796. SendClientMessage(playerid, -1, string);
  2797. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zabral/a tobie goda", NazwaGracza(playerid), playerid);
  2798. SendClientMessage(id, -1, string);
  2799. DaneGracza[id][GodWlaczony] = false;
  2800. SetPlayerHealth(id, 100);
  2801. if(DaneGracza[id][GodTimer] != -1)
  2802. {
  2803. KillTimer(DaneGracza[id][GodTimer]);
  2804. DaneGracza[id][GodTimer] = -1;
  2805. }
  2806. }
  2807. return 1;
  2808. }
  2809.  
  2810. CMD:god(playerid, params[])
  2811. {
  2812. new id, string[328];
  2813. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2814. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /God [ID]");
  2815. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2816. else if(DaneGracza[id][GodWlaczony] == true) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz aktualnie ma goda!");
  2817. else
  2818. {
  2819. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) goda", NazwaGracza(id), id);
  2820. SendClientMessage(playerid, -1, string);
  2821. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie goda", NazwaGracza(playerid), playerid);
  2822. SendClientMessage(id, -1, string);
  2823. DaneGracza[id][GodWlaczony] = true;
  2824. if(GetPlayerState(id) == PLAYER_STATE_DRIVER || GetPlayerState(id) == PLAYER_STATE_PASSENGER)
  2825. {
  2826. DajCarGod(id);
  2827. }
  2828. SetPlayerHealth(id, 999);
  2829. }
  2830. return 1;
  2831. }
  2832.  
  2833. CMD:unspec(playerid, params[])
  2834. {
  2835. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2836. if(DaneGracza[playerid][Podglada] == true)
  2837. {
  2838. TogglePlayerSpectating(playerid, false);
  2839. SendClientMessage(playerid, -1, "{FF0000}Zakonczyles/as podglad");
  2840. }
  2841. return 1;
  2842. }
  2843.  
  2844. CMD:spec(playerid, params[])
  2845. {
  2846. new id, string[128];
  2847. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2848. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Spec [ID]");
  2849. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2850. else if(id == playerid) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Nie mozesz siebie podgladac!");
  2851. else if(DaneGracza[playerid][Podglada] == true) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Aktualnie kogos podlagasz! Uzyj /UnSpec");
  2852. else if(DaneGracza[id][Podglada] == true) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz aktualnie kogos podglada!");
  2853. else
  2854. {
  2855. GetPlayerPos(playerid, DaneGracza[playerid][PrevLocX], DaneGracza[playerid][PrevLocY], DaneGracza[playerid][PrevLocZ]);
  2856. GetPlayerFacingAngle(playerid, DaneGracza[playerid][PrevLocAngle]);
  2857. DaneGracza[playerid][PrevLocVW] = GetPlayerVirtualWorld(playerid);
  2858. DaneGracza[playerid][PrevLocInt] = GetPlayerInterior(playerid);
  2859. DaneGracza[playerid][Podglada] = true;
  2860. DaneGracza[playerid][IsSpecPlayer] = id;
  2861. format(string, sizeof string, "{FF0000}Podgladasz gracza %s(ID: %i)", NazwaGracza(id), id);
  2862. SendClientMessage(playerid, -1, string);
  2863. TogglePlayerSpectating(playerid, true);
  2864. SprawdzSpec(id);
  2865. }
  2866. return 1;
  2867. }
  2868.  
  2869. CMD:unjail(playerid, params[])
  2870. {
  2871. new id, string[328];
  2872. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2873. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /UnJail [ID]");
  2874. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2875. else if(DaneGracza[id][UwiezionyCzas] == -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest uwieziony!");
  2876. else
  2877. {
  2878. format(string, sizeof string, "{FF0000}Wypuszczono gracza %s(ID: %i) z wiezienia", NazwaGracza(id), id);
  2879. SendClientMessage(playerid, -1, string);
  2880. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wypuscil/a cie z wiezienia", NazwaGracza(playerid), playerid);
  2881. SendClientMessage(id, -1, string);
  2882. DaneGracza[id][UwiezionyCzas] = -1;
  2883. SpawnPlayer(id);
  2884. }
  2885. return 1;
  2886. }
  2887.  
  2888. CMD:jail(playerid, params[])
  2889. {
  2890. new id, czas, string[328];
  2891. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2892. if(sscanf(params, "ui", id, czas)) SendClientMessage(playerid, -1, "UZYJ: /Jail [ID] [CZAS W MINUTACH]");
  2893. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2894. else if(DaneGracza[id][UwiezionyCzas] != -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz jest juz uwieziony!");
  2895. else if(czas < 1 || czas > 525948) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Czas musi byc w obrebiu 1-525948 minut!");
  2896. else
  2897. {
  2898. format(string, sizeof string, "{FF0000}Wsadzono gracza %s(ID: %i) do wiezienia na %i minut.", NazwaGracza(id), id, czas);
  2899. SendClientMessage(playerid, -1, string);
  2900. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wsadzil/a cie do wiezienia na %i minut.", NazwaGracza(playerid), playerid, czas);
  2901. SendClientMessage(id, -1, string);
  2902. DaneGracza[id][UwiezionyCzas] = (czas * 60);
  2903. SetPlayerPos(id, 0.0, 0.0, 0.0);
  2904. SpawnPlayer(id);
  2905. }
  2906. return 1;
  2907. }
  2908.  
  2909. CMD:clearall(playerid, params[])
  2910. {
  2911. new string[300];
  2912. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2913. for(new i; i < 125; i++)
  2914. SendClientMessageToAll(-1, " ");
  2915. format(string, sizeof string, "Admin %s(ID: %i) wyczyscil/a wszystkim czat!", NazwaGracza(playerid), playerid);
  2916. SendClientMessageToAll(-1, string);
  2917. for(new i; i < 9; i++)
  2918. SendClientMessageToAll(-1, " ");
  2919. return 1;
  2920. }
  2921.  
  2922. CMD:ann(playerid, params[])
  2923. {
  2924. new wiadomosc[128], string[328];
  2925. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2926. if(sscanf(params, "s", wiadomosc)) SendClientMessage(playerid, -1, "UZYJ: /ANN [WIADOMOSC]");
  2927. else
  2928. {
  2929. format(string, sizeof string, "~w~%s", wiadomosc);
  2930. GameTextForAll(string, 10000, 3);
  2931. }
  2932. return 1;
  2933. }
  2934.  
  2935. CMD:setweather(playerid, params[])
  2936. {
  2937. new pogoda, string[328];
  2938. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2939. if(sscanf(params, "i", pogoda)) SendClientMessage(playerid, -1, "UZYJ: /SetWeather [ID POGODY]");
  2940. else
  2941. {
  2942. format(string, sizeof string, "{FF0000}Ustawiles/as globalna pogode gry na godzine id %i", pogoda);
  2943. SendClientMessage(playerid, -1, string);
  2944. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) ustawil/a globalna pogode gry na godzine id %i", NazwaGracza(playerid), playerid, pogoda);
  2945. SendClientMessageToAll(-1, string);
  2946. SetWeather(pogoda);
  2947. }
  2948. return 1;
  2949. }
  2950.  
  2951. CMD:settime(playerid, params[])
  2952. {
  2953. new godzina, string[328];
  2954. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2955. if(sscanf(params, "i", godzina)) SendClientMessage(playerid, -1, "UZYJ: /SetTime [Godzina]");
  2956. else if(godzina < 0 || godzina > 24) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Format godziny musi byc w obrebiu 0-24 godzin!");
  2957. else
  2958. {
  2959. format(string, sizeof string, "{FF0000}Ustawiles/as globalny czas gry na godzine %02d:00", godzina);
  2960. SendClientMessage(playerid, -1, string);
  2961. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) ustawil/a globalny czas gry na godzine %02d:00", NazwaGracza(playerid), playerid, godzina);
  2962. SendClientMessageToAll(-1, string);
  2963. SetWorldTime(godzina);
  2964. }
  2965. return 1;
  2966. }
  2967.  
  2968. CMD:explode(playerid, params[])
  2969. {
  2970. new id, string[328];
  2971. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2972. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Explode [ID]");
  2973. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2974. else
  2975. {
  2976. format(string, sizeof string, "{FF0000}Wysadziles/as gracza %s(ID: %i).", NazwaGracza(id), id);
  2977. SendClientMessage(playerid, -1, string);
  2978. format(string, sizeof string, "{FF0000}Zostales/as wysadzony przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  2979. SendClientMessage(id, -1, string);
  2980. new Float:x, Float:y, Float:z;
  2981. GetPlayerPos(id, x, y, z);
  2982. CreateExplosionForPlayer(id, x, y, z, 11, 10.0);
  2983. }
  2984. return 1;
  2985. }
  2986.  
  2987. CMD:disarm(playerid, params[])
  2988. {
  2989. new id, string[328];
  2990. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  2991. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Disarm [ID]");
  2992. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  2993. else
  2994. {
  2995. format(string, sizeof string, "{FF0000}Zresetowales/as graczowi %s(ID: %i) bronie.", NazwaGracza(id), id);
  2996. SendClientMessage(playerid, -1, string);
  2997. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zresetowal/a zobie bronie.", NazwaGracza(playerid), playerid);
  2998. SendClientMessage(id, -1, string);
  2999. ResetPlayerWeapons(id);
  3000. }
  3001. return 1;
  3002. }
  3003.  
  3004. CMD:slap(playerid, params[])
  3005. {
  3006. new id, string[328];
  3007. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3008. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Slap [ID]");
  3009. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3010. else
  3011. {
  3012. format(string, sizeof string, "{FF0000}Dales/as klapsa graczowi %s(ID: %i)", NazwaGracza(id), id);
  3013. SendClientMessage(playerid, -1, string);
  3014. format(string, sizeof string, "{FF0000}Otrzymales/as klapsa od admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  3015. SendClientMessage(id, -1, string);
  3016. new Float:zycie, Float:x, Float:y, Float:z;
  3017. GetPlayerHealth(id, zycie);
  3018. SetPlayerHealth(id, zycie - 30);
  3019. GetPlayerPos(id, x, y, z);
  3020. SetPlayerPos(id, x, y, z + 10);
  3021. }
  3022. return 1;
  3023. }
  3024.  
  3025. CMD:killp(playerid, params[])
  3026. {
  3027. new id, string[328];
  3028. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3029. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /KillP [ID]");
  3030. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3031. else
  3032. {
  3033. format(string, sizeof string, "{FF0000}Zabiles/as gracza %s(ID: %i)", NazwaGracza(id), id);
  3034. SendClientMessage(playerid, -1, string);
  3035. format(string, sizeof string, "{FF0000}Zostales/as zabity/a przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  3036. SendClientMessage(id, -1, string);
  3037. SetPlayerHealth(id, 0);
  3038. }
  3039. return 1;
  3040. }
  3041.  
  3042. CMD:unban(playerid, params[])
  3043. {
  3044. new nazwa[MAX_PLAYER_NAME], string[328];
  3045. if(!JestRanga(playerid, RANGA_ADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3046. if(sscanf(params, "s", nazwa)) SendClientMessage(playerid, -1, "UZYJ: /UnBan [NAZWAGRACZA]");
  3047. else
  3048. {
  3049. new sciezka[128];
  3050. format(sciezka, sizeof sciezka, FOLDER_KONT"%s.ini", nazwa);
  3051. if(dfile_FileExists(sciezka))
  3052. {
  3053. dfile_Open(sciezka);
  3054. if(dfile_ReadBool("Zbanowany") == true)
  3055. {
  3056. format(string, sizeof string, "unbanip %s", dfile_ReadString("IP"));
  3057. SendRconCommand(string);
  3058. format(string, sizeof string, "{FF0000}Gracz %s zostal/a pomyslnie odbanowany/a", nazwa);
  3059. SendClientMessage(playerid, -1, string);
  3060. dfile_WriteBool("Zbanowany", false);
  3061. dfile_SaveFile();
  3062. }
  3063. else SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest zbanowany!");
  3064. dfile_CloseFile();
  3065. }
  3066. else SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Taki gracz nie istnieje w bazie danych!");
  3067. }
  3068. return 1;
  3069. }
  3070.  
  3071. CMD:ban(playerid, params[])
  3072. {
  3073. new id, powod[128], string[328];
  3074. if(!JestRanga(playerid, RANGA_ADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3075. if(sscanf(params, "us", id, powod)) SendClientMessage(playerid, -1, "UZYJ: /Ban [ID] [POWOD]");
  3076. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3077. else
  3078. {
  3079. format(string, sizeof string, "{FF0000}Zbanowales/as gracza %s(ID: %i) z serwera z powodem: %s", NazwaGracza(id), id, powod);
  3080. SendClientMessage(playerid, -1, string);
  3081. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) Zbanowal/a gracza %s(ID: %i) z serwera. Powod: %s", NazwaGracza(playerid), playerid, NazwaGracza(id), id, powod);
  3082. SendClientMessageToAll(-1, string);
  3083. DaneGracza[id][Zbanowany] = true;
  3084. OpoznionyBan(id, 1000);
  3085. }
  3086. return 1;
  3087. }
  3088.  
  3089. CMD:kick(playerid, params[])
  3090. {
  3091. new id, powod[128], string[328];
  3092. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3093. if(sscanf(params, "us", id, powod)) SendClientMessage(playerid, -1, "UZYJ: /Kick [ID] [POWOD]");
  3094. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3095. else
  3096. {
  3097. format(string, sizeof string, "{FF0000}Wyrzuciles/as gracza %s(ID: %i) z serwera z powodem: %s", NazwaGracza(id), id, powod);
  3098. SendClientMessage(playerid, -1, string);
  3099. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wyrzucil/a gracza %s(ID: %i) z serwera. Powod: %s", NazwaGracza(playerid), playerid, NazwaGracza(id), id, powod);
  3100. SendClientMessageToAll(-1, string);
  3101. OpoznionyKick(id, 1000);
  3102. }
  3103. return 1;
  3104. }
  3105.  
  3106. CMD:tp(playerid, params[])
  3107. {
  3108. new idA, idB, string[328];
  3109. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3110. if(sscanf(params, "uu", idA, idB)) SendClientMessage(playerid, -1, "UZYJ: /TP [ID1] [ID2]");
  3111. else if(!IsPlayerConnected(idA)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Gracz A nie istnieje!");
  3112. else if(!IsPlayerConnected(idB)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Gracz B nie istnieje!");
  3113. else
  3114. {
  3115. format(string, sizeof string, "{FF0000}Przeteleportowales/as gracza %s(ID: %i) do gracza %s(ID: %i)", NazwaGracza(idA), idA, NazwaGracza(idB), idB);
  3116. SendClientMessage(playerid, -1, string);
  3117. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) przeteleportowal/a cie do gracza %s(ID: %i)", NazwaGracza(playerid), playerid, NazwaGracza(idB), idB);
  3118. SendClientMessage(idA, -1, string);
  3119. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) przeteleportowal/a do ciebie gracza %s(ID: %i)", NazwaGracza(playerid), playerid, NazwaGracza(idA), idA);
  3120. SendClientMessage(idB, -1, string);
  3121. new Float:x, Float:y, Float:z;
  3122. GetPlayerPos(idB, x, y, z);
  3123. SetPlayerPos(idA, x, y + 1, z);
  3124. SetPlayerInterior(idA, GetPlayerInterior(idB));
  3125. SetPlayerVirtualWorld(idA, GetPlayerVirtualWorld(idB));
  3126. }
  3127. return 1;
  3128. }
  3129.  
  3130. CMD:unmute(playerid, params[])
  3131. {
  3132. new id, string[328];
  3133. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3134. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /UnMute [ID]");
  3135. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3136. else if(DaneGracza[id][WyciszonyCzas] == -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest wyciszony!");
  3137. else
  3138. {
  3139. format(string, sizeof string, "{FF0000}Odciszono gracza %s(ID: %i)", NazwaGracza(id), id);
  3140. SendClientMessage(playerid, -1, string);
  3141. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) odciszyl/a cie", NazwaGracza(playerid), playerid);
  3142. SendClientMessage(id, -1, string);
  3143. DaneGracza[id][WyciszonyCzas] = -1;
  3144. }
  3145. return 1;
  3146. }
  3147.  
  3148. CMD:mute(playerid, params[])
  3149. {
  3150. new id, czas, string[328];
  3151. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3152. if(sscanf(params, "ui", id, czas)) SendClientMessage(playerid, -1, "UZYJ: /Mute [ID] [CZAS W MINUTACH]");
  3153. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3154. else if(DaneGracza[id][WyciszonyCzas] != -1) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz jest juz uciszony!");
  3155. else if(czas < 1 || czas > 525948) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Czas musi byc w obrebiu 1-525948 minut!");
  3156. else
  3157. {
  3158. format(string, sizeof string, "{FF0000}Wyciszono gracza %s(ID: %i) na %i minut.", NazwaGracza(id), id, czas);
  3159. SendClientMessage(playerid, -1, string);
  3160. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) wyciszyl/a cie na %i minut.", NazwaGracza(playerid), playerid, czas);
  3161. SendClientMessage(id, -1, string);
  3162. DaneGracza[id][WyciszonyCzas] = (czas * 60);
  3163. }
  3164. return 1;
  3165. }
  3166.  
  3167. CMD:freeze(playerid, params[])
  3168. {
  3169. new id, string[328];
  3170. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3171. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Freeze [ID]");
  3172. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3173. else
  3174. {
  3175. format(string, sizeof string, "{FF0000}Zamroziles/as gracza %s(ID: %i)", NazwaGracza(id), id);
  3176. SendClientMessage(playerid, -1, string);
  3177. format(string, sizeof string, "{FF0000}Zostales/as zamrozony/a przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  3178. SendClientMessage(id, -1, string);
  3179. TogglePlayerControllable(id, false);
  3180. }
  3181. return 1;
  3182. }
  3183.  
  3184. CMD:unfreeze(playerid, params[])
  3185. {
  3186. new id, string[328];
  3187. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3188. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /Unfreeze [ID]");
  3189. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3190. else
  3191. {
  3192. format(string, sizeof string, "{FF0000}Odmroziles/as gracza %s(ID: %i)", NazwaGracza(id), id);
  3193. SendClientMessage(playerid, -1, string);
  3194. format(string, sizeof string, "{FF0000}Zostales/as odmrozony/a przez admina %s(ID: %i)", NazwaGracza(playerid), playerid);
  3195. SendClientMessage(id, -1, string);
  3196. TogglePlayerControllable(id, true);
  3197. }
  3198. return 1;
  3199. }
  3200.  
  3201. CMD:givegun(playerid, params[])
  3202. {
  3203. new id, gunid, ammo, string[328];
  3204. if(!JestRanga(playerid, RANGA_GRACZ)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3205. if(sscanf(params, "uii", id, gunid, ammo)) SendClientMessage(playerid, -1, "UZYJ: /GiveGun [IDGRACZA] [IDBRONI] [ILOSC]");
  3206. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3207. else if(gunid < 1 || gunid == 19 || gunid == 21 || gunid > 46) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Taka bron nie istnieje!");
  3208. else
  3209. {
  3210. new nazwabroni[30];
  3211. GetWeaponName(gunid, nazwabroni, sizeof nazwabroni);
  3212. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) bron %s z %i amunicja.", NazwaGracza(id), id, nazwabroni, ammo);
  3213. SendClientMessage(playerid, -1, string);
  3214. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie bron %s z %i amunicja.", NazwaGracza(playerid), playerid, nazwabroni, ammo);
  3215. SendClientMessage(id, -1, string);
  3216. GivePlayerWeapon(id, gunid, ammo);
  3217. }
  3218. return 1;
  3219. }
  3220.  
  3221. CMD:setmoney(playerid, params[])
  3222. {
  3223. new id, kasa, string[328];
  3224. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3225. if(sscanf(params, "ui", id, kasa)) SendClientMessage(playerid, -1, "UZYJ: /SetMoney [ID] [ILOSC]");
  3226. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3227. else if(kasa > 99999999) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ta kwota jest za wielka!");
  3228. else
  3229. {
  3230. format(string, sizeof string, "{FF0000}Ustawiles/as graczowi %s(ID: %i) $%i.", NazwaGracza(id), id, kasa);
  3231. SendClientMessage(playerid, -1, string);
  3232. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) Ustawil/a tobie $%i.", NazwaGracza(playerid), playerid, kasa);
  3233. SendClientMessage(id, -1, string);
  3234. ResetPlayerMoney(id);
  3235. GivePlayerMoney(id, kasa);
  3236. }
  3237. return 1;
  3238. }
  3239.  
  3240. CMD:givemoneyall(playerid, params[])
  3241. {
  3242. new kasa, string[328];
  3243. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3244. if(sscanf(params, "i", kasa)) SendClientMessage(playerid, -1, "UZYJ: /GiveMoneyAll [ILOSC]");
  3245. else if(kasa > 99999999) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ta kwota jest za wielka!");
  3246. else
  3247. {
  3248. format(string, sizeof string, "{FF0000}Dales/as wszystkim graczom $%i.", kasa);
  3249. SendClientMessage(playerid, -1, string);
  3250. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a wszystkim $%i.", NazwaGracza(playerid), playerid, kasa);
  3251. SendClientMessageToAll(-1, string);
  3252. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  3253. {
  3254. if(IsPlayerConnected(i))
  3255. {
  3256. GivePlayerMoney(i, kasa);
  3257. }
  3258. }
  3259.  
  3260.  
  3261. }
  3262. return 1;
  3263. }
  3264.  
  3265. CMD:givemoney(playerid, params[])
  3266. {
  3267. new id, kasa, string[328];
  3268. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3269. if(sscanf(params, "ui", id, kasa)) SendClientMessage(playerid, -1, "UZYJ: /GiveMoney [ID] [ILOSC]");
  3270. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3271. else if(kasa > 99999999) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ta kwota jest za wielka!");
  3272. else
  3273. {
  3274. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) $%i.", NazwaGracza(id), id, kasa);
  3275. SendClientMessage(playerid, -1, string);
  3276. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie $%i.", NazwaGracza(playerid), playerid, kasa);
  3277. SendClientMessage(id, -1, string);
  3278. GivePlayerMoney(id, kasa);
  3279. }
  3280. return 1;
  3281. }
  3282.  
  3283. CMD:resetscore(playerid, params[])
  3284. {
  3285. new id, string[328];
  3286. if(!JestRanga(playerid, RANGA_JADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3287. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /ResetScore [ID]");
  3288. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3289. else
  3290. {
  3291. format(string, sizeof string, "{FF0000}Resetowales/as graczowi %s(ID: %i) score.", NazwaGracza(id), id);
  3292. SendClientMessage(playerid, -1, string);
  3293. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zresetowal/a tobie score.", NazwaGracza(playerid), playerid);
  3294. SendClientMessage(id, -1, string);
  3295. SetPlayerScore(id, 0);
  3296. }
  3297. return 1;
  3298. }
  3299.  
  3300. CMD:tppos(playerid, params[])
  3301. {
  3302. new Float:x, Float:y, Float:z, int, string[328];
  3303. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3304. if(sscanf(params, "fffi", x, y, z, int)) SendClientMessage(playerid, -1, "UZYJ: /TPPos [X] [Y] [Z] [INTERIOR ID]");
  3305. else
  3306. {
  3307. SetPlayerPos(playerid, x, y, z);
  3308. SetPlayerInterior(playerid, int);
  3309. SetCameraBehindPlayer(playerid);
  3310. format(string, sizeof string, "{FF0000}Przeteleportowales/as sie na pozycje X: %f Y: %f Z: %f Interior: %i", x, y, z, int);
  3311. SendClientMessage(playerid, -1, string);
  3312. }
  3313. return 1;
  3314. }
  3315.  
  3316. CMD:resetmoney(playerid, params[])
  3317. {
  3318. new id, string[328];
  3319. if(!JestRanga(playerid, RANGA_MODERATOR)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3320. if(sscanf(params, "u", id)) SendClientMessage(playerid, -1, "UZYJ: /ResetMoney [ID]");
  3321. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3322. else
  3323. {
  3324. format(string, sizeof string, "{FF0000}Resetowales/as graczowi %s(ID: %i) pieniadze.", NazwaGracza(id), id);
  3325. SendClientMessage(playerid, -1, string);
  3326. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zresetowal/a tobie pieniadze.", NazwaGracza(playerid), playerid);
  3327. SendClientMessage(id, -1, string);
  3328. ResetPlayerMoney(id);
  3329. }
  3330. return 1;
  3331. }
  3332.  
  3333. CMD:givescore(playerid, params[])
  3334. {
  3335. new id, score, string[328];
  3336. if(!JestRanga(playerid, RANGA_ADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3337. if(sscanf(params, "ui", id, score)) SendClientMessage(playerid, -1, "UZYJ: /GiveScore [ID] [SCORE]");
  3338. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3339. else
  3340. {
  3341. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) %i score.", NazwaGracza(id), id, score);
  3342. SendClientMessage(playerid, -1, string);
  3343. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie %i score.", NazwaGracza(playerid), playerid, score);
  3344. SendClientMessage(id, -1, string);
  3345. SetPlayerScore(id, GetPlayerScore(id) + score);
  3346. }
  3347. return 1;
  3348. }
  3349.  
  3350. CMD:setscore(playerid, params[])
  3351. {
  3352. new id, score, string[328];
  3353. if(!JestRanga(playerid, RANGA_ADMIN)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3354. if(sscanf(params, "ui", id, score)) SendClientMessage(playerid, -1, "UZYJ: /SetScore [ID] [SCORE]");
  3355. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3356. else
  3357. {
  3358. format(string, sizeof string, "{FF0000}Ustawiles/as graczowi %s(ID: %i) %i score.", NazwaGracza(id), id, score);
  3359. SendClientMessage(playerid, -1, string);
  3360. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) ustawil/a tobie %i score.", NazwaGracza(playerid), playerid, score);
  3361. SendClientMessage(id, -1, string);
  3362. SetPlayerScore(id, score);
  3363. }
  3364. return 1;
  3365. }
  3366.  
  3367. CMD:setarmor(playerid, params[])
  3368. {
  3369. new id, armor, string[328];
  3370. if(!JestRanga(playerid, RANGA_GRACZ)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3371. if(sscanf(params, "ui", id, armor)) SendClientMessage(playerid, -1, "UZYJ: /SetArmor [ID] [ILOSC]");
  3372. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3373. else
  3374. {
  3375. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) %i kamizelke.", NazwaGracza(id), id, armor);
  3376. SendClientMessage(playerid, -1, string);
  3377. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie %i kamizelke.", NazwaGracza(playerid), playerid, armor);
  3378. SendClientMessage(id, -1, string);
  3379. SetPlayerArmour(id, armor);
  3380. }
  3381. return 1;
  3382. }
  3383.  
  3384. CMD:sethealth(playerid, params[])
  3385. {
  3386. new id, health, string[328];
  3387. if(!JestRanga(playerid, RANGA_GRACZ)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  3388. if(sscanf(params, "ui", id, health)) SendClientMessage(playerid, -1, "UZYJ: /SetHealth [ID] [ILOSC]");
  3389. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3390. else
  3391. {
  3392. format(string, sizeof string, "{FF0000}Dales/as graczowi %s(ID: %i) %i zycia.", NazwaGracza(id), id, health);
  3393. SendClientMessage(playerid, -1, string);
  3394. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) dal/a tobie %i zycia.", NazwaGracza(playerid), playerid, health);
  3395. SendClientMessage(id, -1, string);
  3396. SetPlayerHealth(id, health);
  3397. }
  3398. return 1;
  3399. }
  3400.  
  3401. CMD:zglos(playerid, params[])
  3402. {
  3403. new id, powod[128], string[328];
  3404. if(sscanf(params, "us", id, powod)) SendClientMessage(playerid, -1, "UZYJ: /Zglosc [ID GRACZA DO ZGLOSZENIA] [POWOD]");
  3405. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3406. else if(id == playerid) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Nie mozesz siebie samego zglaszac!");
  3407. else
  3408. {
  3409. format(string, sizeof string, "{FF0000}Zglosiles/as gracza %s(ID: %i) do administracji z powodem: %s", NazwaGracza(id), id, powod);
  3410. SendClientMessage(playerid, -1, string);
  3411. format(string, sizeof string, "{FFFF00}>>>RAPORT<<<: Gracz %s(ID: %i) zglasza gracza %s(ID: %i) z powodem %s.", NazwaGracza(playerid), playerid, NazwaGracza(id), id, powod);
  3412. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  3413. {
  3414. if(JestRanga(i, RANGA_MODERATOR))
  3415. {
  3416. SendClientMessage(i, -1, string);
  3417. }
  3418. }
  3419. }
  3420. return 1;
  3421. }
  3422.  
  3423. CMD:zmienrange(playerid, params[])
  3424. {
  3425. new id, string[500], naglowek[250];
  3426. if(JestRanga(playerid, RANGA_WLASCICIEL) || IsPlayerAdmin(playerid))
  3427. {
  3428. if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FFFFFF}Uzyj: /ZmienRanga [IDGRACZA]");
  3429. else if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  3430. else if(!DaneGracza[id][Zalogowany]) return SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie jest zalogowany!");
  3431. else
  3432. {
  3433. DaneGracza[playerid][WybranyGracz] = id;
  3434. strcat(string, "Gracz\n");
  3435. strcat(string, "Support\n");
  3436. strcat(string, "Moderator\n");
  3437. strcat(string, "Junior Admin\n");
  3438. strcat(string, "Administrator\n");
  3439. strcat(string, "Wlasciciel");
  3440.  
  3441. format(naglowek, sizeof naglowek, "{FFFFFF}Zmiana Rangi gracza {00FF55}%s(ID: %i)", NazwaGracza(id), id);
  3442. ShowPlayerDialog(playerid, DIALOG_ZMIENRANGE, DIALOG_STYLE_LIST, naglowek, string, "Ustaw", "Wyjdz");
  3443.  
  3444. }
  3445. }
  3446. else SendClientMessage(playerid, -1, RANGA_ERROR);
  3447. return 1;
  3448. }
  3449.  
  3450. CMD:wybierzpostac(playerid, params[])
  3451. {
  3452. if(DaneGracza[playerid][Zespawnowany] == true)
  3453. {
  3454. DaneGracza[playerid][Zespawnowany] = false;
  3455. SpawnPlayer(playerid);
  3456. }
  3457. return 1;
  3458. }
  3459.  
  3460. CMD:stworzpozar(playerid, params[])
  3461. {
  3462. new Float:x, Float:y, Float:z;
  3463. GetPlayerPos(playerid, x, y, z);
  3464. SetTimerEx("StworzPozar", 5000, false, "fff", x, y, z);
  3465. SendClientMessage(playerid, -1, "{FF9900}Pozar: {FFFFFF}Pozar zostanie stworzony na pozycji gracza za 5 sekund!");
  3466. GivePlayerWeapon(playerid, WEAPON_FIREEXTINGUISHER, 9999);
  3467. return 1;
  3468. }
  3469.  
  3470. CMD:zniszczpozar(playerid, params[])
  3471. {
  3472. new pozarid = strval(params);
  3473. if(PozarAktywny[pozarid] == true)
  3474. {
  3475. SendClientMessage(playerid, -1, "{FF9900}Pozar: {FFFFFF}Pozar zostanie usuniety!");
  3476. ZniszczPozar(pozarid);
  3477. KillTimer(PozarTimer[pozarid]);
  3478. }
  3479. else SendClientMessage(playerid, -1, "{FF9900}Pozar: {FFFFFF}Pozar nie jest aktywny!");
  3480. return 1;
  3481. }
  3482.  
  3483. //Stocki
  3484. stock DajCarGod(playerid)
  3485. {
  3486. if(DaneGracza[playerid][GodTimer] != -1)
  3487. KillTimer(DaneGracza[playerid][GodTimer]);
  3488.  
  3489. DaneGracza[playerid][GodTimer] = SetTimerEx("CarGodMode", 100, true, "i", playerid);
  3490. return 1;
  3491. }
  3492.  
  3493. forward SprawdzSpec(playerid);
  3494. public SprawdzSpec(playerid)
  3495. {
  3496. new stan = GetPlayerState(playerid);
  3497. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  3498. {
  3499. if(DaneGracza[i][Podglada] && DaneGracza[i][IsSpecPlayer] == playerid)
  3500. {
  3501. SetPlayerInterior(i, GetPlayerInterior(playerid));
  3502. SetPlayerVirtualWorld(i, GetPlayerVirtualWorld(playerid));
  3503. if(stan == PLAYER_STATE_DRIVER || stan == PLAYER_STATE_PASSENGER)
  3504. {
  3505. PlayerSpectateVehicle(i, GetPlayerVehicleID(playerid));
  3506. }
  3507. else if(stan == PLAYER_STATE_ONFOOT)
  3508. {
  3509. PlayerSpectatePlayer(i, playerid);
  3510. }
  3511. }
  3512. }
  3513. return 1;
  3514. }
  3515.  
  3516. stock OpoznionyBan(playerid, czasopoznienia)
  3517. {
  3518. SetTimerEx("BanPlayer", czasopoznienia, false, "i", playerid);
  3519. return 1;
  3520. }
  3521.  
  3522. stock OpoznionyKick(playerid, czasopoznienia)
  3523. {
  3524. SetTimerEx("KickPlayer", czasopoznienia, false, "i", playerid);
  3525. return 1;
  3526. }
  3527.  
  3528. stock GetPlayerHexStringColor(playerid)
  3529. {
  3530. new hex[10];
  3531. format(hex, 10, "%06x", GetPlayerColor(playerid) >>> 8);
  3532. return hex;
  3533. }
  3534.  
  3535. stock NazwaRangi(rangaid)
  3536. {
  3537. new nazwa[15];
  3538. if(rangaid == RANGA_GRACZ) nazwa = "Gracz";
  3539. else if(rangaid == RANGA_SUPPORT) nazwa = "Support";
  3540. else if(rangaid == RANGA_MODERATOR) nazwa = "Moderator";
  3541. else if(rangaid == RANGA_JADMIN) nazwa = "Junior Admin";
  3542. else if(rangaid == RANGA_ADMIN) nazwa = "Administrator";
  3543. else if(rangaid == RANGA_WLASCICIEL) nazwa = "Wlasciciel";
  3544. return nazwa;
  3545. }
  3546.  
  3547. stock JestRanga(playerid, ranga)
  3548. {
  3549. if(DaneGracza[playerid][Ranga] >= ranga) return 1;
  3550. else return 0;
  3551. }
  3552.  
  3553. stock ZmienPostac(playerid, bool:strona)
  3554. {
  3555. new string[80];
  3556. if(strona == true) //Prawo
  3557. {
  3558. DaneGracza[playerid][WybranaPostac]++;
  3559. if(DaneGracza[playerid][WybranaPostac] > (IloscPostaci - 1))
  3560. DaneGracza[playerid][WybranaPostac] = 0;
  3561. }
  3562. else if(strona == false) //Lewo
  3563. {
  3564. DaneGracza[playerid][WybranaPostac]--;
  3565. if(DaneGracza[playerid][WybranaPostac] < 0)
  3566. DaneGracza[playerid][WybranaPostac] = (IloscPostaci - 1);
  3567. }
  3568. new wpostac = DaneGracza[playerid][WybranaPostac];
  3569. SetPlayerSkin(playerid, Postacie[wpostac][pmodelid]);
  3570. format(string, sizeof string, "ID_SKINA:%i", Postacie[wpostac][pmodelid]);
  3571. PlayerTextDrawSetString(playerid, WP_IDSkina[playerid], string);
  3572. PlayerTextDrawShow(playerid, WP_IDSkina[playerid]);
  3573. DaneGracza[playerid][SkinID] = Postacie[wpostac][pmodelid];
  3574. return 1;
  3575. }
  3576.  
  3577. stock DodajPostac(modelid, Float:sx, Float:sy, Float:sz, Float:sa, sint = 0, svw = 0, w1 = 0, w1a = 0, w2 = 0, w2a = 0, w3 = 0, w3a = 0)
  3578. {
  3579. for(new i; i < MAX_POSTACIE; i++)
  3580. {
  3581. if(Postacie[i][Uzywane] == false)
  3582. {
  3583. Postacie[i][Uzywane] = true;
  3584. Postacie[i][pmodelid] = modelid;
  3585. Postacie[i][pspawnx] = sx;
  3586. Postacie[i][pspawny] = sy;
  3587. Postacie[i][pspawnz] = sz;
  3588. Postacie[i][pspawna] = sa;
  3589. Postacie[i][pspawnint] = sint;
  3590. Postacie[i][pspawnvw] = svw;
  3591. Postacie[i][pweapon1] = w1;
  3592. Postacie[i][pammo1] = w1a;
  3593. Postacie[i][pweapon2] = w2;
  3594. Postacie[i][pammo2] = w2a;
  3595. Postacie[i][pweapon3] = w3;
  3596. Postacie[i][pammo3] = w3a;
  3597. IloscPostaci++;
  3598. return 1;
  3599. }
  3600. }
  3601. return 0;
  3602. }
  3603.  
  3604. forward WybierzTextDraw(playerid, bool:stan);
  3605. public WybierzTextDraw(playerid, bool:stan)
  3606. {
  3607. if(stan == true)
  3608. {
  3609. SelectTextDraw(playerid, KOLOR_MYSZKI);
  3610. if(DaneGracza[playerid][MyszkaTimer] == -1)
  3611. DaneGracza[playerid][MyszkaTimer] = SetTimerEx("WybierzTextDraw", 1000, true, "ib", playerid, true);
  3612. }
  3613. else if(stan == false)
  3614. {
  3615. CancelSelectTextDraw(playerid);
  3616. if(DaneGracza[playerid][MyszkaTimer] != -1)
  3617. KillTimer(DaneGracza[playerid][MyszkaTimer]);
  3618. DaneGracza[playerid][MyszkaTimer] = -1;
  3619. }
  3620. return 1;
  3621. }
  3622.  
  3623. stock ZniszczTextDrawyGracza(playerid)
  3624. {
  3625. PlayerTextDrawDestroy(playerid, WP_IDSkina[playerid]);
  3626. PlayerTextDrawDestroy(playerid, Predkosciomierz[playerid]);
  3627. return 1;
  3628. }
  3629.  
  3630. stock WyborPostaci(playerid)
  3631. {
  3632. new string[80];
  3633. DaneGracza[playerid][WybranaPostac] = 0;
  3634. TogglePlayerControllable(playerid, false);
  3635. SetPlayerPos(playerid, 253.6126,-56.2277,1.5703);
  3636. SetPlayerFacingAngle(playerid, 196.1720);
  3637. SetPlayerCameraPos(playerid, 254.6295,-61.4094,1.5703);
  3638. SetPlayerCameraLookAt(playerid, 253.6126,-56.2277,1.5703);
  3639. SetPlayerVirtualWorld(playerid, playerid + 50);
  3640. SetPlayerInterior(playerid, 0);
  3641. TextDrawShowForPlayer(playerid, WP_Naglowek);
  3642. TextDrawShowForPlayer(playerid, WP_Lewo);
  3643. TextDrawShowForPlayer(playerid, WP_Prawo);
  3644. TextDrawShowForPlayer(playerid, WP_Wybierz);
  3645. format(string, sizeof string, "ID_SKINA:%i", Postacie[0][pmodelid]);
  3646. PlayerTextDrawSetString(playerid, WP_IDSkina[playerid], string);
  3647. PlayerTextDrawShow(playerid, WP_IDSkina[playerid]);
  3648. WybierzTextDraw(playerid, true);
  3649. DaneGracza[playerid][SkinID] = Postacie[0][pmodelid];
  3650. SetPlayerSkin(playerid, DaneGracza[playerid][SkinID]);
  3651. return 1;
  3652. }
  3653.  
  3654. stock PobierzHaslo(playerid)
  3655. {
  3656. dfile_Open(SciezkaKontaGracza(playerid));
  3657. format(DaneGracza[playerid][haslogracza], 130, dfile_ReadString("Haslo"));
  3658. dfile_CloseFile();
  3659. return 1;
  3660. }
  3661.  
  3662. stock Float:DistanceCameraTargetToLocation(Float:CamX, Float:CamY, Float:CamZ, Float:ObjX, Float:ObjY, Float:ObjZ, Float:FrX, Float:FrY, Float:FrZ) {
  3663.  
  3664. new Float:TGTDistance;
  3665.  
  3666. TGTDistance = floatsqroot((CamX - ObjX) * (CamX - ObjX) + (CamY - ObjY) * (CamY - ObjY) + (CamZ - ObjZ) * (CamZ - ObjZ));
  3667.  
  3668. new Float:tmpX, Float:tmpY, Float:tmpZ;
  3669.  
  3670. tmpX = FrX * TGTDistance + CamX;
  3671. tmpY = FrY * TGTDistance + CamY;
  3672. tmpZ = FrZ * TGTDistance + CamZ;
  3673.  
  3674. return floatsqroot((tmpX - ObjX) * (tmpX - ObjX) + (tmpY - ObjY) * (tmpY - ObjY) + (tmpZ - ObjZ) * (tmpZ - ObjZ));
  3675. }
  3676.  
  3677. stock Float:GetPointAngleToPoint(Float:x2, Float:y2, Float:X, Float:Y) {
  3678.  
  3679. new Float:DX, Float:DY;
  3680. new Float:angle;
  3681.  
  3682. DX = floatabs(floatsub(x2,X));
  3683. DY = floatabs(floatsub(y2,Y));
  3684.  
  3685. if (DY == 0.0 || DX == 0.0) {
  3686. if(DY == 0 && DX > 0) angle = 0.0;
  3687. else if(DY == 0 && DX < 0) angle = 180.0;
  3688. else if(DY > 0 && DX == 0) angle = 90.0;
  3689. else if(DY < 0 && DX == 0) angle = 270.0;
  3690. else if(DY == 0 && DX == 0) angle = 0.0;
  3691. }
  3692. else {
  3693. angle = atan(DX/DY);
  3694.  
  3695. if(X > x2 && Y <= y2) angle += 90.0;
  3696. else if(X <= x2 && Y < y2) angle = floatsub(90.0, angle);
  3697. else if(X < x2 && Y >= y2) angle -= 90.0;
  3698. else if(X >= x2 && Y > y2) angle = floatsub(270.0, angle);
  3699. }
  3700.  
  3701. return floatadd(angle, 90.0);
  3702. }
  3703.  
  3704. stock IsPlayerAimingAt(playerid, Float:x, Float:y, Float:z, Float:radius)
  3705. {
  3706. new Float:camera_x,Float:camera_y,Float:camera_z,Float:vector_x,Float:vector_y,Float:vector_z;
  3707. GetPlayerCameraPos(playerid, camera_x, camera_y, camera_z);
  3708. GetPlayerCameraFrontVector(playerid, vector_x, vector_y, vector_z);
  3709.  
  3710. new Float:vertical, Float:horizontal;
  3711.  
  3712. switch (GetPlayerWeapon(playerid)) {
  3713. case 34,35,36: {
  3714. if (DistanceCameraTargetToLocation(camera_x, camera_y, camera_z, x, y, z, vector_x, vector_y, vector_z) < radius) return true;
  3715. return false;
  3716. }
  3717. case 30,31: {vertical = 4.0; horizontal = -1.6;}
  3718. case 33: {vertical = 2.7; horizontal = -1.0;}
  3719. default: {vertical = 6.0; horizontal = -2.2;}
  3720. }
  3721.  
  3722. new Float:angle = GetPointAngleToPoint(0, 0, floatsqroot(vector_x*vector_x+vector_y*vector_y), vector_z) - 270.0;
  3723. new Float:resize_x, Float:resize_y, Float:resize_z = floatsin(angle+vertical, degrees);
  3724. GetXYInFrontOfPoint(resize_x, resize_y, GetPointAngleToPoint(0, 0, vector_x, vector_y)+horizontal, floatcos(angle+vertical, degrees));
  3725.  
  3726. if (DistanceCameraTargetToLocation(camera_x, camera_y, camera_z, x, y, z, resize_x, resize_y, resize_z) < radius) return true;
  3727. return false;
  3728. }
  3729.  
  3730. stock GetXYInFrontOfPoint(&Float:x, &Float:y, Float:angle, Float:distance)
  3731. {
  3732. x += (distance * floatsin(-angle, degrees));
  3733. y += (distance * floatcos(-angle, degrees));
  3734. }
  3735.  
  3736. stock ExRandom(min, max) //By y_less
  3737. {
  3738. new rand = random(max-min)+min;
  3739. return rand;
  3740. }
  3741.  
  3742. stock ResetujDaneGracza(playerid)
  3743. {
  3744. if(DaneGracza[playerid][GodTimer] != -1)
  3745. KillTimer(DaneGracza[playerid][GodTimer]);
  3746.  
  3747. DaneGracza[playerid][Zalogowany] = false;
  3748. DaneGracza[playerid][Zespawnowany] = false;
  3749. DaneGracza[playerid][GodWlaczony] = false;
  3750. DaneGracza[playerid][MyszkaTimer] = -1;
  3751. DaneGracza[playerid][UwiezionyCzas] = -1;
  3752. DaneGracza[playerid][GodTimer] = -1;
  3753. return 1;
  3754. }
  3755.  
  3756. stock ZapiszKonto(playerid)
  3757. {
  3758. dfile_Create(SciezkaKontaGracza(playerid));
  3759. dfile_Open(SciezkaKontaGracza(playerid));
  3760.  
  3761. dfile_WriteInt("Punkty", GetPlayerScore(playerid));
  3762. dfile_WriteInt("Kasa", GetPlayerMoney(playerid));
  3763. dfile_WriteInt("Ranga", DaneGracza[playerid][Ranga]);
  3764. dfile_WriteBool("Zbanowany", DaneGracza[playerid][Zbanowany]);
  3765. dfile_WriteString("IP", DaneGracza[playerid][IPGracza]);
  3766. dfile_WriteInt("UwiezionyCzas", DaneGracza[playerid][UwiezionyCzas]);
  3767. dfile_WriteInt("WyciszonyCzas", DaneGracza[playerid][WyciszonyCzas]);
  3768. //dfile_WriteInt("Level", 1);
  3769.  
  3770. dfile_SaveFile();
  3771. dfile_CloseFile();
  3772. return 1;
  3773. }
  3774.  
  3775. stock WczytajKonto(playerid)
  3776. {
  3777. ResetPlayerMoney(playerid);
  3778.  
  3779. dfile_Open(SciezkaKontaGracza(playerid));
  3780.  
  3781. SetPlayerScore(playerid, dfile_ReadInt("Punkty"));
  3782. GivePlayerMoney(playerid, dfile_ReadInt("Kasa"));
  3783. DaneGracza[playerid][Ranga] = dfile_ReadInt("Ranga");
  3784. DaneGracza[playerid][UwiezionyCzas] = dfile_ReadInt("UwiezionyCzas");
  3785. DaneGracza[playerid][WyciszonyCzas] = dfile_ReadInt("WyciszonyCzas");
  3786.  
  3787. GetPlayerIp(playerid, DaneGracza[playerid][IPGracza], 18);
  3788. dfile_CloseFile();
  3789. return 1;
  3790. }
  3791.  
  3792. stock StworzKonto(playerid, haslo[])
  3793. {
  3794. new hasloex[130];
  3795. WP_Hash(hasloex, sizeof hasloex, haslo);
  3796.  
  3797. dfile_Create(SciezkaKontaGracza(playerid));
  3798. dfile_Open(SciezkaKontaGracza(playerid));
  3799.  
  3800. dfile_WriteString("Haslo", hasloex);
  3801. dfile_WriteInt("Punkty", PUNKTY_NA_START);
  3802. dfile_WriteInt("Kasa", KASA_NA_START);
  3803. dfile_WriteInt("Level", 1);
  3804. dfile_WriteInt("Ranga", 0);
  3805. dfile_WriteBool("Zbanowany", false);
  3806. dfile_WriteString("IP", "0.0.0.0");
  3807. dfile_WriteInt("UwiezionyCzas", -1);
  3808. dfile_WriteInt("WyciszonyCzas", -1);
  3809.  
  3810. dfile_SaveFile();
  3811. dfile_CloseFile();
  3812. return 1;
  3813. }
  3814.  
  3815. stock SciezkaKontaGracza(playerid)
  3816. {
  3817. new sciezka[128];
  3818. format(sciezka, sizeof sciezka, FOLDER_KONT"%s.ini", NazwaGracza(playerid));
  3819. return sciezka;
  3820. }
  3821.  
  3822. stock OknoRejestracji(playerid)
  3823. {
  3824. ShowPlayerDialog(playerid, DIALOG_REJESTRACJA, DIALOG_STYLE_PASSWORD, "Rejestracja", "Witaj na serwerze!\nNie posiadasz konta, prosze sie zarejestrowac!", "Zarejestruj", "Wyjdz");
  3825. return 1;
  3826. }
  3827.  
  3828. stock OknoLogowania(playerid)
  3829. {
  3830. ShowPlayerDialog(playerid, DIALOG_LOGOWANIE, DIALOG_STYLE_PASSWORD, "Logowanie", "Witaj na serwerze!\nTo konto jest zarejestrowane, prosze sie zalogowac!", "Zaloguj", "Wyjdz");
  3831. return 1;
  3832. }
  3833.  
  3834. stock NazwaGracza(playerid)
  3835. {
  3836. new nazwa[MAX_PLAYER_NAME];
  3837. GetPlayerName(playerid, nazwa, sizeof nazwa);
  3838. return nazwa;
  3839. }
  3840.  
  3841. stock StworzDym(Float:x, Float:y, Float:z)
  3842. {
  3843. new dymid = CreateDynamicObject(18716, x, y, z - 1.0, 0.0, 0.0, 0.0);
  3844. for(new idd; idd <= GetPlayerPoolSize(); idd++)
  3845. Streamer_Update(idd, 0);
  3846. SetTimerEx("UsunDym", 300, false, "i", dymid);
  3847. return 1;
  3848. }
  3849.  
  3850. stock GetVehicleIDModelName(vehicleid) //By Nickk888
  3851. {
  3852. new vname[100];
  3853. format(vname,sizeof(vname),"%s",Nazwapojazdu[GetVehicleModel(vehicleid) - 400][0]);
  3854. return vname;
  3855. }
  3856.  
  3857. stock StworzTextDrawy()
  3858. {
  3859. WP_Naglowek = TextDrawCreate(73.000000, 215.000000, "WYBIERZ SKIN~n~~n~~n~~n~~n~");
  3860. TextDrawFont(WP_Naglowek, 2);
  3861. TextDrawLetterSize(WP_Naglowek, 0.324999, 2.699999);
  3862. TextDrawTextSize(WP_Naglowek, 400.000000, 112.500000);
  3863. TextDrawSetOutline(WP_Naglowek, 1);
  3864. TextDrawSetShadow(WP_Naglowek, 0);
  3865. TextDrawAlignment(WP_Naglowek, 2);
  3866. TextDrawColor(WP_Naglowek, -8388353);
  3867. TextDrawBackgroundColor(WP_Naglowek, 255);
  3868. TextDrawBoxColor(WP_Naglowek, 100);
  3869. TextDrawUseBox(WP_Naglowek, 1);
  3870. TextDrawSetProportional(WP_Naglowek, 1);
  3871. TextDrawSetSelectable(WP_Naglowek, 0);
  3872.  
  3873. WP_Lewo = TextDrawCreate(47.000000, 274.000000, "<<<");
  3874. TextDrawFont(WP_Lewo, 1);
  3875. TextDrawLetterSize(WP_Lewo, 0.449999, 2.399998);
  3876. TextDrawTextSize(WP_Lewo, 20.000000, 40.000000);
  3877. TextDrawSetOutline(WP_Lewo, 1);
  3878. TextDrawSetShadow(WP_Lewo, 0);
  3879. TextDrawAlignment(WP_Lewo, 2);
  3880. TextDrawColor(WP_Lewo, -1);
  3881. TextDrawBackgroundColor(WP_Lewo, 255);
  3882. TextDrawBoxColor(WP_Lewo, 100);
  3883. TextDrawUseBox(WP_Lewo, 1);
  3884. TextDrawSetProportional(WP_Lewo, 1);
  3885. TextDrawSetSelectable(WP_Lewo, 1);
  3886.  
  3887. WP_Prawo = TextDrawCreate(98.000000, 274.000000, ">>>");
  3888. TextDrawFont(WP_Prawo, 1);
  3889. TextDrawLetterSize(WP_Prawo, 0.449999, 2.399998);
  3890. TextDrawTextSize(WP_Prawo, 20.000000, 40.000000);
  3891. TextDrawSetOutline(WP_Prawo, 1);
  3892. TextDrawSetShadow(WP_Prawo, 0);
  3893. TextDrawAlignment(WP_Prawo, 2);
  3894. TextDrawColor(WP_Prawo, -1);
  3895. TextDrawBackgroundColor(WP_Prawo, 255);
  3896. TextDrawBoxColor(WP_Prawo, 100);
  3897. TextDrawUseBox(WP_Prawo, 1);
  3898. TextDrawSetProportional(WP_Prawo, 1);
  3899. TextDrawSetSelectable(WP_Prawo, 1);
  3900.  
  3901. WP_Wybierz = TextDrawCreate(71.000000, 309.000000, "WYBIERZ");
  3902. TextDrawFont(WP_Wybierz, 1);
  3903. TextDrawLetterSize(WP_Wybierz, 0.449999, 2.399998);
  3904. TextDrawTextSize(WP_Wybierz, 20.000000, 64.500000);
  3905. TextDrawSetOutline(WP_Wybierz, 1);
  3906. TextDrawSetShadow(WP_Wybierz, 0);
  3907. TextDrawAlignment(WP_Wybierz, 2);
  3908. TextDrawColor(WP_Wybierz, -1);
  3909. TextDrawBackgroundColor(WP_Wybierz, 255);
  3910. TextDrawBoxColor(WP_Wybierz, 100);
  3911. TextDrawUseBox(WP_Wybierz, 1);
  3912. TextDrawSetProportional(WP_Wybierz, 1);
  3913. TextDrawSetSelectable(WP_Wybierz, 1);
  3914. return 1;
  3915. }
  3916.  
  3917. stock StworzTextDrawyGracza(playerid)
  3918. {
  3919. WP_IDSkina[playerid] = CreatePlayerTextDraw(playerid, 71.000000, 242.000000, "ID_SKINA:125");
  3920. PlayerTextDrawFont(playerid, WP_IDSkina[playerid], 2);
  3921. PlayerTextDrawLetterSize(playerid, WP_IDSkina[playerid], 0.320832, 2.649998);
  3922. PlayerTextDrawTextSize(playerid, WP_IDSkina[playerid], 20.000000, 64.500000);
  3923. PlayerTextDrawSetOutline(playerid, WP_IDSkina[playerid], 1);
  3924. PlayerTextDrawSetShadow(playerid, WP_IDSkina[playerid], 0);
  3925. PlayerTextDrawAlignment(playerid, WP_IDSkina[playerid], 2);
  3926. PlayerTextDrawColor(playerid, WP_IDSkina[playerid], -1);
  3927. PlayerTextDrawBackgroundColor(playerid, WP_IDSkina[playerid], 255);
  3928. PlayerTextDrawBoxColor(playerid, WP_IDSkina[playerid], 100);
  3929. PlayerTextDrawUseBox(playerid, WP_IDSkina[playerid], 0);
  3930. PlayerTextDrawSetProportional(playerid, WP_IDSkina[playerid], 1);
  3931. PlayerTextDrawSetSelectable(playerid, WP_IDSkina[playerid], 0);
  3932. PlayerTextDrawSetPreviewVehCol(playerid, WP_IDSkina[playerid], 1, 1);
  3933.  
  3934. Predkosciomierz[playerid] = CreatePlayerTextDraw(playerid, 490.000000, 344.000000, "~y~NAME:_~g~INFERNUS~n~~y~SPEED:_~b~100KM/h~n~~y~HEALTH:_~r~100~n~~y~FUEL:_~w~64L");
  3935. PlayerTextDrawFont(playerid, Predkosciomierz[playerid], 2);
  3936. PlayerTextDrawLetterSize(playerid, Predkosciomierz[playerid], 0.229166, 1.950000);
  3937. PlayerTextDrawTextSize(playerid, Predkosciomierz[playerid], 610.500000, 17.000000);
  3938. PlayerTextDrawSetOutline(playerid, Predkosciomierz[playerid], 1);
  3939. PlayerTextDrawSetShadow(playerid, Predkosciomierz[playerid], 0);
  3940. PlayerTextDrawAlignment(playerid, Predkosciomierz[playerid], 1);
  3941. PlayerTextDrawColor(playerid, Predkosciomierz[playerid], -1);
  3942. PlayerTextDrawBackgroundColor(playerid, Predkosciomierz[playerid], 255);
  3943. PlayerTextDrawBoxColor(playerid, Predkosciomierz[playerid], 100);
  3944. PlayerTextDrawUseBox(playerid, Predkosciomierz[playerid], 1);
  3945. PlayerTextDrawSetProportional(playerid, Predkosciomierz[playerid], 1);
  3946. PlayerTextDrawSetSelectable(playerid, Predkosciomierz[playerid], 0);
  3947. return 1;
  3948. }
  3949.  
  3950. stock GetVehicleSpeed(vehicleid) //By Nickk888
  3951. {
  3952. new Float:predx;
  3953. new Float:predy;
  3954. new Float:predz;
  3955. new Float:pred_a;
  3956. new pred_b;
  3957. GetVehicleVelocity(vehicleid, predx, predy, predz);
  3958. pred_a = floatsqroot(((predx*predx)+(predy*predy))+(predz*predz)) * 195.199999;
  3959. pred_b = floatround(pred_a);
  3960. return pred_b;
  3961. }
  3962.  
  3963. //Timery
  3964.  
  3965. forward CarGodMode(playerid);
  3966. public CarGodMode(playerid)
  3967. {
  3968. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
  3969. {
  3970. new vid = GetPlayerVehicleID(playerid);
  3971. new Float:zycie;
  3972. GetVehicleHealth(vid, zycie);
  3973. if(zycie < 1000)
  3974. {
  3975. SetVehicleHealth(vid, 1000);
  3976. RepairVehicle(vid);
  3977. }
  3978. }
  3979.  
  3980. return 1;
  3981. }
  3982.  
  3983. forward SekundowaAktualizacja();
  3984. public SekundowaAktualizacja()
  3985. {
  3986. new string[358];
  3987. //Czas i Data
  3988. new dzien, miesiac, rok, sekunda, minuta, godzina;
  3989. getdate(rok, miesiac, dzien);
  3990. gettime(godzina, minuta, sekunda);
  3991. format(string, sizeof string, "%02d:%02d~n~%02d.%02d.%i", godzina, minuta, dzien, miesiac,rok);
  3992. TextDrawSetString(CzasData, string);
  3993. if(RealnyCzas == true)
  3994. SetWorldTime(godzina);
  3995. //
  3996.  
  3997. for(new i, j = GetPlayerPoolSize(); i <= j; i++)
  3998. {
  3999. if(DaneGracza[i][Zalogowany] == true) //Zalogowany
  4000. {
  4001. if(DaneGracza[i][Zespawnowany] == true) //Zespawnowany
  4002. {
  4003. new vehicleid = GetPlayerVehicleID(i);
  4004. //Wiezienie
  4005. if(DaneGracza[i][UwiezionyCzas] > 0)
  4006. {
  4007. DaneGracza[i][UwiezionyCzas]--;
  4008. if(DaneGracza[i][UwiezionyCzas] < 60)
  4009. format(string, sizeof string, "~y~Wiezienie~n~~w~%i ~y~sek", DaneGracza[i][UwiezionyCzas]);
  4010. else if(DaneGracza[i][UwiezionyCzas] >= 60 && DaneGracza[i][UwiezionyCzas] < (60 * 60))
  4011. format(string, sizeof string, "~y~Wiezienie~n~~w~>%i ~y~min", (DaneGracza[i][UwiezionyCzas] / 60));
  4012. else if(DaneGracza[i][UwiezionyCzas] >= (60 * 60) && DaneGracza[i][UwiezionyCzas] < ((60 * 60) * 24))
  4013. format(string, sizeof string, "~y~Wiezienie~n~~w~>%i ~y~godz", (DaneGracza[i][UwiezionyCzas] / (60 * 60)));
  4014. else if(DaneGracza[i][UwiezionyCzas] >= ((60 * 60) * 24))
  4015. format(string, sizeof string, "~y~Wiezienie~n~~w~>%i ~y~Dni", (DaneGracza[i][UwiezionyCzas] / ((60 * 60) * 24)));
  4016. GameTextForPlayer(i, string, 2000, 6);
  4017. }
  4018. else if(DaneGracza[i][UwiezionyCzas] == 0)
  4019. {
  4020. DaneGracza[i][UwiezionyCzas] = -1;
  4021. SendClientMessage(i, -1, "{FFFF00}Zostales/as wypuszczony z wiezienia.");
  4022. SpawnPlayer(i);
  4023. }
  4024.  
  4025. //Wyciszenie
  4026. if(DaneGracza[i][WyciszonyCzas] > 0)
  4027. {
  4028. DaneGracza[i][WyciszonyCzas]--;
  4029. }
  4030. else if(DaneGracza[i][WyciszonyCzas] == 0)
  4031. {
  4032. DaneGracza[i][WyciszonyCzas] = -1;
  4033. SendClientMessage(i, -1, "{FFFF00}Zostales/as Odciszony.");
  4034. }
  4035.  
  4036. //Predkosciomierz
  4037. if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
  4038. {
  4039. new Float:zyciepojazdu, zyciep;
  4040. GetVehicleHealth(vehicleid, zyciepojazdu);
  4041. zyciep = ((floatround(zyciepojazdu, floatround_round) - 250) * 100) / 750;
  4042. format(string, sizeof string, "~y~NAZWA: ~r~%s~n~~y~PREDKOSC: ~g~%i ~w~KM/H~n~~y~ZYCIE: ~g~%i~w~%%", GetVehicleIDModelName(vehicleid), GetVehicleSpeed(vehicleid), zyciep);
  4043. PlayerTextDrawSetString(i, Predkosciomierz[i], string);
  4044. PlayerTextDrawShow(i, Predkosciomierz[i]);
  4045. }
  4046. else PlayerTextDrawHide(i, Predkosciomierz[i]);
  4047.  
  4048. TextDrawShowForPlayer(i, CzasData);
  4049. }
  4050. else
  4051. {
  4052. TextDrawHideForPlayer(i, CzasData);
  4053. }
  4054. }
  4055. }
  4056. return 1;
  4057. }
  4058.  
  4059. forward BanPlayer(playerid);
  4060. public BanPlayer(playerid)
  4061. {
  4062. Ban(playerid);
  4063. return 1;
  4064. }
  4065.  
  4066. forward KickPlayer(playerid);
  4067. public KickPlayer(playerid)
  4068. {
  4069. Kick(playerid);
  4070. return 1;
  4071. }
  4072.  
  4073. forward StworzPrzypPozar();
  4074. public StworzPrzypPozar()
  4075. {
  4076. new rand = random(sizeof LokalizacjePozarow);
  4077. StworzPozar(LokalizacjePozarow[rand][0], LokalizacjePozarow[rand][1], LokalizacjePozarow[rand][2]);
  4078. return 1;
  4079. }
  4080.  
  4081. forward UsunDym(dymid);
  4082. public UsunDym(dymid)
  4083. {
  4084. DestroyDynamicObject(dymid);
  4085. return 1;
  4086. }
  4087.  
  4088. forward AktualizujOgnie();
  4089. public AktualizujOgnie()
  4090. {
  4091. new string[80];
  4092. for(new i; i < MAX_POZARY; i++)
  4093. {
  4094. if(PozarAktywny[i] == true)
  4095. {
  4096. for(new il; il < MAX_OGNIE; il++)
  4097. {
  4098. if(Pozar[i][il][stworzony] == true)
  4099. {
  4100. format(string, sizeof string, "{FFFF00}Zycie: {FF0000}%i", Pozar[i][il][ogZycie]);
  4101. UpdateDynamic3DTextLabelText(Pozar[i][il][ogtdt], -1, string);
  4102. }
  4103. }
  4104. }
  4105. }
  4106. for(new id; id <= GetPlayerPoolSize(); id++)
  4107. {
  4108. for(new i; i < MAX_POZARY; i++)
  4109. {
  4110. if(PozarAktywny[i] == true)
  4111. {
  4112. new PozarIndex;
  4113. for(new il; il < MAX_OGNIE; il++)
  4114. {
  4115. if(Pozar[i][il][stworzony] == true)
  4116. {
  4117. PozarIndex++;
  4118. if(!IsPlayerInAnyVehicle(id) && DaneGracza[id][UzywaGasnice]) //Gasnica
  4119. {
  4120. if(IsPlayerInRangeOfPoint(id, 5.0, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]))
  4121. {
  4122. if(IsPlayerAimingAt(id, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ], 2.0))
  4123. {
  4124. if(Pozar[i][il][ogZycie] > 0)
  4125. {
  4126. StworzDym(Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]);
  4127. Pozar[i][il][ogZycie] = Pozar[i][il][ogZycie] - 11;
  4128. if(Pozar[i][il][ogZycie] <= 0) goto zgasogiengasnica;
  4129. }
  4130. else
  4131. {
  4132. zgasogiengasnica:
  4133. Pozar[i][il][stworzony] = false;
  4134. DestroyDynamicObject(Pozar[i][il][ogObjekt]);
  4135. DestroyDynamic3DTextLabel(Pozar[i][il][ogtdt]);
  4136. GivePlayerMoney(id, PIENIADZE_ZA_OGIEN_GASNICA);
  4137. format(string, sizeof string, "~g~+$%i ~w~za zgaszenie", PIENIADZE_ZA_OGIEN_GASNICA);
  4138. GameTextForPlayer(id, string, 1000, 1);
  4139. PlayerPlaySound(id, 1138, 0.0, 0.0, 0.0);
  4140. }
  4141. }
  4142. }
  4143. }
  4144. else if(IsPlayerInAnyVehicle(id) && DaneGracza[id][JestWWozieStr]) //Woz strazacki
  4145. {
  4146. if(IsPlayerInRangeOfPoint(id, 35.0, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]))
  4147. {
  4148. if(IsPlayerAimingAt(id, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ], 3.5))
  4149. {
  4150. if(Pozar[i][il][ogZycie] > 0)
  4151. {
  4152. StworzDym(Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]);
  4153. Pozar[i][il][ogZycie] = Pozar[i][il][ogZycie] - 15;
  4154. if(Pozar[i][il][ogZycie] <= 0) goto zgasogienwstr;
  4155. }
  4156. else
  4157. {
  4158. zgasogienwstr:
  4159. Pozar[i][il][stworzony] = false;
  4160. DestroyDynamicObject(Pozar[i][il][ogObjekt]);
  4161. DestroyDynamic3DTextLabel(Pozar[i][il][ogtdt]);
  4162. GivePlayerMoney(id, PIENIADZE_ZA_OGIEN_WSTRAZACKI);
  4163. format(string, sizeof string, "~g~+$%i ~w~za zgaszenie", PIENIADZE_ZA_OGIEN_WSTRAZACKI);
  4164. GameTextForPlayer(id, string, 1000, 1);
  4165. PlayerPlaySound(id, 1138, 0.0, 0.0, 0.0);
  4166. }
  4167. }
  4168. }
  4169. }
  4170.  
  4171. if(!IsPlayerInAnyVehicle(id))
  4172. {
  4173. if(IsPlayerInRangeOfPoint(id, 2.0, Pozar[i][il][ogX], Pozar[i][il][ogY], Pozar[i][il][ogZ]))
  4174. {
  4175. if(!IsPlayerAttachedObjectSlotUsed(id, 9))
  4176. {
  4177. SetPlayerAttachedObject(id, 9, 18688, 17, -1.0, 0.2, -1.8);
  4178. SendClientMessage(id, -1, "{FF9900}Pozar: {FF0000}Nie wchodz w ogien! Podpaliles sie!");
  4179. DaneGracza[id][PodpalonyIndex] = 5;
  4180. DaneGracza[id][PodpalonyTimer] = SetTimerEx("GraczPodpalony", 1000, true, "i", id);
  4181. }
  4182. }
  4183. }
  4184. }
  4185. }
  4186. if(PozarIndex == 0)
  4187. {
  4188. new zone[64];
  4189. PozarAktywny[i] = false;
  4190. GetPos2DZone(Pozar[i][0][ogX], Pozar[i][0][ogY], zone, sizeof zone);
  4191. format(string, sizeof string, "{FF8040}Pozar: {FFFFFF}Pozar o ID: %i w okolicy %s zostal ugaszony!", i, zone);
  4192. SendClientMessageToAll(-1, string);
  4193. }
  4194. }
  4195. }
  4196. }
  4197. return 1;
  4198. }
  4199.  
  4200. forward GraczPodpalony(playerid);
  4201. public GraczPodpalony(playerid)
  4202. {
  4203. if(DaneGracza[playerid][PodpalonyIndex] > 0)
  4204. {
  4205. new Float:zycie;
  4206. DaneGracza[playerid][PodpalonyIndex]--;
  4207. GetPlayerHealth(playerid, zycie);
  4208. SetPlayerHealth(playerid, zycie - 8);
  4209. }
  4210. else
  4211. {
  4212. KillTimer(DaneGracza[playerid][PodpalonyTimer]);
  4213. RemovePlayerAttachedObject(playerid, 9);
  4214. }
  4215. return 1;
  4216. }
  4217.  
  4218. forward SpawnujGracza(playerid);
  4219. public SpawnujGracza(playerid)
  4220. {
  4221. SpawnPlayer(playerid);
  4222. return 1;
  4223. }
  4224.  
  4225. CMD:skin(playerid, params[])
  4226. {
  4227. new id, skinid, string[328];
  4228. if(!JestRanga(playerid, RANGA_GRACZ)) return SendClientMessage(playerid, -1, RANGA_ERROR);
  4229. if(sscanf(params, "ui", id, skinid)) SendClientMessage(playerid, -1, "UZYJ: /Skin [IDGRACZA] [IDSKINA 0 - 311]");
  4230. else if(!IsPlayerConnected(id)) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Ten gracz nie istnieje!");
  4231. else if(skinid < 0 || skinid > 311) SendClientMessage(playerid, -1, KOLOR_INFO"Info: {FF0000}Taki skin nie istnieje!");
  4232. else
  4233. {
  4234. format(string, sizeof string, "{FF0000}Zmieniles/as graczowi %s(ID: %i) skina na id %i.", NazwaGracza(id), id, skinid);
  4235. SendClientMessage(playerid, -1, string);
  4236. format(string, sizeof string, "{FF0000}Admin %s(ID: %i) zmienil/a ci skina na id %i", NazwaGracza(playerid), playerid, id);
  4237. SendClientMessage(id, -1, string);
  4238. SetPlayerSkin(id, skinid);
  4239. }
  4240. return 1;
  4241. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement