Guest User

Untitled

a guest
Nov 18th, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.25 KB | None | 0 0
  1. #include a_samp
  2. #include zcmd
  3. #include dini
  4. #include dubd
  5. #include sscanf
  6. #include OPSP
  7.  
  8. //----------------------------------------SZÍNEK----------------------------------------//
  9. #define ZOLD 0x03b01aAA
  10. #define SARGA 0xeefa00AA
  11. #define NARANCSS 0xf0a400AA
  12. #define PIROS 0xe00d0dAA
  13. //----------------------------------------BEÁLLÍTÁSOK----------------------------------------//
  14. #define maxping 1000
  15. #define maxfigyelmeztetes 3
  16. #define maxnemitasbeszed 3
  17. #define maxbelepesikiserlet 3
  18. //----------------------------------------CSAPATOK----------------------------------------//
  19. #define RENDOR 1
  20. #define CIVIL 2
  21. //----------------------------------------DIALOGOK---------------------------------------//
  22. #define LECSUKAS 1
  23. #define RINFO 2
  24. #define JOGSI 3
  25. #define logdialog 4
  26. #define regdialog 5
  27. #define adminokdialog 6
  28. #define clickplayer 7 // +6 = 13
  29. #define autoszalon 14
  30.  
  31. main();
  32. //----------------------------------------VÁLTOZÓK----------------------------------------//
  33. new JatekosSzin[MAX_PLAYERS];
  34. //----------------------------------------KAPU VÁLTOZÓK----------------------------------------//
  35. new soromponyittimer;
  36. new sorompocsuktimer;
  37. new bool:folyamatban;
  38. //----------------------------------------BENZIN----------------------------------------//
  39. new Benzin[MAX_VEHICLES];
  40. new benzintimer[MAX_VEHICLES];
  41. //----------------------------------------KOCSILABEL----------------------------------------//
  42. new Text3D:kijelzo[MAX_VEHICLES];
  43. new sebesseg[MAX_VEHICLES];
  44. new engine,lights,alarm,doors,bonnet,boot,objective;
  45. //----------------------------------------PICKUP VÁLTOZÓK----------------------------------------//
  46. new lecsukohely1;
  47. new lecsukohely2;
  48. new infopickup;
  49. new jogsipickup;
  50. //----------------------------------------VIZSGA VÁLTOZÓK----------------------------------------//
  51. new vizsgazik[MAX_PLAYERS] = 0;
  52. new Jogsiallapot[MAX_PLAYERS] = 0;
  53. new Float: jarmuelet, Float: vegsoelet;
  54. //----------------------------------------CLICK PLAYER VÁLTOZÓK----------------------------------------//
  55. new akirekattintott[MAX_PLAYERS];
  56. //----------------------------------------FORWARDOK----------------------------------------//
  57. forward MentesTimer();
  58. forward BortonSzamlalo();
  59. forward BunreszessegAd(playerid);
  60. forward SorompoCsukas();
  61. forward SorompoCsuko();
  62. forward SorompoNyitas();
  63. forward frissules(playerid, vehicleid); // Benzin
  64. forward KiirasFrissit(vehicleid);
  65. forward TDEltuntet(playerid);
  66. //----------------------------------------CSAPAT VÁLTOZÓ----------------------------------------//
  67. new Csapat[MAX_PLAYERS];
  68. //----------------------------------------KAPUK----------------------------------------//
  69. new sorompo;
  70. //----------------------------------------TEXTDRAWOK----------------------------------------//
  71. new PlayerText:kocsikijelzo[MAX_PLAYERS];
  72. //----------------------------------------JÁTÉKOS VÁLTOZÓK----------------------------------------//
  73. enum pInfo
  74. {
  75. AdminSzint,
  76. Rejtettben,
  77. Logged,
  78. Jogsi,
  79. Lecsukasai,
  80. Lecsukasok,
  81. Birsagok,
  82. Probalkozas,
  83. Bortonido,
  84. Olesek,
  85. Halalok,
  86. }
  87.  
  88. new PlayerInfo[MAX_PLAYERS][pInfo];
  89.  
  90. //----------------------------------------CSATLAKOZÁS----------------------------------------//
  91. public OnPlayerConnect(playerid)
  92. {
  93. Nullazas(playerid);
  94. //----------------------------------------TEXTDRAWOK----------------------------------------//
  95. kocsikijelzo[playerid] = CreatePlayerTextDraw(playerid, 530.000000, 397.000000, "Benzin: 100~n~Sebesseg: 1000~n~Allapot: 1000");
  96. PlayerTextDrawBackgroundColor(playerid, kocsikijelzo[playerid], 255);
  97. PlayerTextDrawFont(playerid, kocsikijelzo[playerid], 1);
  98. PlayerTextDrawLetterSize(playerid, kocsikijelzo[playerid], 0.320000, 1.400000);
  99. PlayerTextDrawColor(playerid, kocsikijelzo[playerid], -1);
  100. PlayerTextDrawSetOutline(playerid, kocsikijelzo[playerid], 1);
  101. PlayerTextDrawSetProportional(playerid, kocsikijelzo[playerid], 1);
  102. PlayerTextDrawUseBox(playerid, kocsikijelzo[playerid], 1);
  103. PlayerTextDrawBoxColor(playerid, kocsikijelzo[playerid], 51);
  104. PlayerTextDrawTextSize(playerid, kocsikijelzo[playerid], 626.000000, 0.000000);
  105. return 1;
  106. }
  107. //----------------------------------------LECSATLAKOZÁS----------------------------------------//
  108. public OnPlayerDisconnect(playerid)
  109. {
  110. Mentes(playerid);
  111. Nullazas(playerid);
  112. return 1;
  113. }
  114. //----------------------------------------JÁTÉKOS MEGLÖVÉSE----------------------------------------//
  115. public OnPlayerShootPlayer(shooter,target,Float:damage)
  116. {
  117. GetColor(shooter);
  118. if(damage > 10) SetPlayerDrunkLevel(target, 5000);
  119. if(PlayerInfo[shooter][Bortonido] > 1) SendClientMessage(shooter, PIROS, "Rossz magaviselet! +10mp"), PlayerInfo[shooter][Bortonido] += 10;
  120. if(Csapat[shooter] == CIVIL)
  121. {
  122. SetPlayerColor(shooter, 0xff7b00AA);
  123. }
  124. return 1;
  125. }
  126. //----------------------------------------SPAWNOLÁS----------------------------------------//
  127. public OnPlayerSpawn(playerid)
  128. {
  129. new file[MAX_PLAYER_NAME], nev[MAX_PLAYER_NAME];
  130. GetPlayerName(playerid, nev, sizeof(nev));
  131. format(file, sizeof(file), "Jatekosok/%s.ini", nev);
  132.  
  133. /*if(!dini_Exists(file) && PlayerInfo[playerid][Logged] == 0) ShowPlayerDialog(playerid, regdialog, DIALOG_STYLE_PASSWORD, "Regisztráció","Írd be a jelszót:","Regisztrálok","");
  134. if(PlayerInfo[playerid][Logged] == 0) ShowPlayerDialog(playerid, logdialog, DIALOG_STYLE_PASSWORD, "Bejelentkezés","Írd be a jelszavadat:","Belépek","");*/
  135.  
  136. if(GetPlayerWantedLevel(playerid) < 1) SetPlayerColor(playerid, 0x03b01aAA);
  137. SetPlayerInterior(playerid, 0);
  138. if(Csapat[playerid] == RENDOR) // Rendőr
  139. {
  140. SetPlayerColor(playerid, 0x0026ffAA);
  141. }
  142. else
  143. {
  144. }
  145. PlayerTextDrawShow(playerid, kocsikijelzo[playerid]);
  146. return 1;
  147. }
  148. //----------------------------------------JÁTÉKOSRA KATTINTÁS----------------------------------------//
  149. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  150. {
  151. ShowPlayerDialog(playerid, clickplayer, DIALOG_STYLE_LIST, "Műveletek", "Jogositvány megmutatása\nPénz utalás\nPrivát üzenet", "Kiválaszt", "Mégsem");
  152. return 1;
  153. }
  154. //----------------------------------------HALÁL----------------------------------------//
  155. public OnPlayerDeath(playerid, killerid, reason)
  156. {
  157. PlayerInfo[killerid][Olesek]++;
  158. PlayerInfo[playerid][Halalok]++;
  159. return 1;
  160. }
  161. //----------------------------------------KOCSIBA/KI SZÁLLÁS----------------------------------------//
  162. public OnPlayerStateChange(playerid, newstate, oldstate)
  163. {
  164. new vehicleid = GetPlayerVehicleID(playerid);
  165.  
  166. if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
  167. {
  168. if(vizsgazik[playerid] > 0 && GetVehicleModel(vehicleid) == 436)
  169. {
  170. Jogsiallapot[playerid]++;
  171. SendClientMessage(playerid, ZOLD, "A Jogsi vizsga kezdetét vette.");
  172. SendClientMessage(playerid, ZOLD, "Ha nem éppségben hozod vissza a kocsit, a vizsgán autómatikusan megbuksz.");
  173. SendClientMessage(playerid, ZOLD, "Menj a pirossal jelölt ponthoz.");
  174. SetPlayerCheckpoint(playerid, 2239.6538,1389.7118,10.4805, 3.0);
  175. }
  176. if(vizsgazik[playerid] < 1 && GetVehicleModel(vehicleid) == 436) SendClientMessage(playerid, PIROS, "Ez egy vizsgakocsi, ha nem vizsgázol nem használhatod."), RemovePlayerFromVehicle(playerid);
  177.  
  178. if(vizsgazik[playerid] > 0 && GetVehicleModel(vehicleid) != 436) RemovePlayerFromVehicle(playerid), SendClientMessage(playerid, PIROS, "Vizsgázás közben nem mehetsz más autóval.");
  179.  
  180. if(Benzin[vehicleid] > 0)
  181. {
  182. benzintimer[playerid] = SetTimerEx("frissules", 20000, true, "ii", playerid, vehicleid);
  183. }
  184. else
  185. {
  186. KocsiOff(vehicleid);
  187. SendClientMessage(playerid, PIROS, "Ebben a járműben nincs benzin.");
  188. }
  189. }
  190. return 1;
  191. }
  192. //----------------------------------------KARAKTER VÁLASZTÓ----------------------------------------//
  193. SetupPlayerForClassSelection(playerid)
  194. {
  195. SetPlayerInterior(playerid,5);
  196. SetPlayerPos(playerid,325.1375,307.4796,999.1484);
  197. SetPlayerFacingAngle(playerid, 180.0);
  198. SetPlayerCameraPos(playerid,325.2389,304.0313,999.1484);
  199. SetPlayerCameraLookAt(playerid,325.1375,307.4796,999.1484);
  200. }
  201. //----------------------------------------KARAKTER VÁLASZTÓ----------------------------------------//
  202. public OnPlayerRequestClass(playerid, classid)
  203. {
  204. SetupPlayerForClassSelection(playerid);
  205.  
  206. switch(classid)
  207. {
  208. case 0:
  209. {
  210. Csapat[playerid] = RENDOR;
  211. }
  212. case 1:
  213. {
  214. Csapat[playerid] = CIVIL;
  215. }
  216. }
  217. return 1;
  218. }
  219. //----------------------------------------GOMBOK LENYOMÁSA----------------------------------------//
  220. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  221. {
  222. if(newkeys == KEY_YES)
  223. {
  224. if(IsPlayerInRangeOfPoint(playerid, 7.0, 2237.652344, 2453.352783, 11.456562))
  225. {
  226. if(folyamatban == false)
  227. {
  228. soromponyittimer = SetTimer("SorompoNyitas", 50, true);
  229. KillTimer(sorompocsuktimer);
  230. folyamatban = true;
  231. }
  232. else SendClientMessage(playerid, PIROS, "A sorompó éppen végrehajt egy folyamatot. Kérlek várj.");
  233. }
  234. }
  235. /*if(newkeys == KEY_NO)
  236. {
  237. if(IsPlayerInRangeOfPoint(playerid, 7.0, 2237.652344, 2453.352783, 11.456562))
  238. {
  239. if(folyamatban == false)
  240. {
  241. sorompocsuktimer = SetTimer("SorompoCsukas", 50, true);
  242. KillTimer(soromponyittimer);
  243. folyamatban = true;
  244. }
  245. else SendClientMessage(playerid, PIROS, "A sorompó éppen végrehajt egy folyamatot. Kérlek várj.");
  246. }
  247. }*/
  248. return 1;
  249. }
  250. //----------------------------------------PICKUP MEGHÍVÁSA----------------------------------------//
  251. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  252. {
  253. new string[256], string2[256], nev[25], nev2[MAX_PLAYER_NAME], megnevezes[128], megnevezes2[128], vehicleid = GetPlayerVehicleID(playerid);
  254. GetPlayerName(playerid, nev, sizeof(nev));
  255. if(dialogid == regdialog)
  256. {
  257. if(response == 1)
  258. {
  259. new fajl[128], nev1[MAX_PLAYER_NAME];
  260. GetPlayerName(playerid, nev1, sizeof(nev1));
  261. format(fajl, sizeof(fajl), "Jatekosok/%s.ini", nev1);
  262.  
  263. dini_Create(fajl);
  264. dini_IntSet(fajl,"Jelszo", udb_hash(inputtext));
  265. Mentes(playerid);
  266. SendClientMessage(playerid, ZOLD, "Regisztráltál! Most jelentkezz be!");
  267. ShowPlayerDialog(playerid, logdialog, DIALOG_STYLE_PASSWORD, "Bejelentkezés","Írd be a jelszavadat:","Belépek","");
  268. }
  269. else
  270. {
  271. ShowPlayerDialog(playerid, regdialog, DIALOG_STYLE_PASSWORD, "Regisztráció","Írd be a jelszót:","Regisztrálok","");
  272. }
  273. return 1;
  274. }
  275. if(dialogid == logdialog)
  276. {
  277. new fajl[128];
  278. if(response == 1)
  279. {
  280. format(fajl, sizeof(fajl), "Jatekosok/%s.ini", nev);
  281.  
  282. if(udb_hash(inputtext) == dini_Int(fajl, "Jelszo"))
  283. {
  284. Betoltes(playerid);
  285. format(string, sizeof string, "Sikeres bejelentkezés! | AdminSzinted: %i",PlayerInfo[playerid][AdminSzint]);
  286. SendClientMessage(playerid, ZOLD, string);
  287. PlayerInfo[playerid][Logged] = 1;
  288. }
  289. else
  290. {
  291. PlayerInfo[playerid][Probalkozas]++;
  292. format(string, sizeof string, "Sikertelen bejelentkezés! | Próbálkozások: %d/%d", PlayerInfo[playerid][Probalkozas], maxbelepesikiserlet);
  293. SendClientMessage(playerid, PIROS, string);
  294. ShowPlayerDialog(playerid, logdialog, DIALOG_STYLE_PASSWORD, "Bejelentkezés","Írd be a jelszavadat:","Belépek","");
  295. }
  296. }
  297. else
  298. {
  299. ShowPlayerDialog(playerid, logdialog, DIALOG_STYLE_PASSWORD, "Bejelentkezés","Írd be a jelszavadat:","Belépek","");
  300. }
  301. if(PlayerInfo[playerid][Probalkozas] == maxbelepesikiserlet)
  302. {
  303. SendClientMessage(playerid, PIROS, "Ki lettél dobva a szerverről, mert túllépted a maximum belépési kisérletek számát.");
  304. Kick(playerid);
  305. GetPlayerName(playerid, nev2, sizeof(nev2));
  306. format(string, sizeof string, "%s ki lett dobva a szerverről, mert elérte a maximum belépési kisérletek számát!", nev2);
  307. SendClientMessageToAll(PIROS,string);
  308. }
  309. return 1;
  310. }
  311.  
  312. if(dialogid == LECSUKAS)
  313. {
  314. GetPlayerName(playerid, nev, sizeof(nev));
  315. GetPlayerName(strval(inputtext), nev2, sizeof(nev2));
  316.  
  317. if(playerid == INVALID_PLAYER_ID) return SendClientMessage(playerid, PIROS, "Nincs fent a játékos.");
  318. if(!IsPlayerInVehicle(strval(inputtext), vehicleid) && !IsPlayerAdmin(strval(inputtext))) return SendClientMessage(playerid, PIROS, "Az illető nincs a kocsiban.");
  319. if(GetPlayerWantedLevel(strval(inputtext)) < 1 && !IsPlayerAdmin(strval(inputtext))) return SendClientMessage(playerid, PIROS, "Nem csukhatod le az illetőt, mivel nem követett el semmit.");
  320. if(Csapat[strval(inputtext)] == RENDOR && !IsPlayerAdmin(strval(inputtext))) return SendClientMessage(playerid, PIROS, "Miért szeretnél rendőrt lecsukni? Majd ha a rendszer/adminisztrátorok úgy látják lecsukják.");
  321.  
  322. SendClientMessageToAll(SARGA, "//------------------------------------------------------------------------------------------------------------------------//");
  323.  
  324.  
  325. SendClientMessageToAll(SARGA, "//------------------------------------------------------------------------------------------------------------------------//");
  326.  
  327. format(string, sizeof(string), "Lecsuktad %s-t ID: %d, Összes börtönidő: %dMP", nev, strval(inputtext), PlayerInfo[strval(inputtext)][Bortonido]);
  328. lecsukohely1 = CreatePickup(1314, 14, 2282.6682, 2432.6602, 3.2734, -1);
  329. lecsukohely2 = CreatePickup(1314, 14, 2282.6682, 2432.6602, -7.4531, -1);
  330. PlayerInfo[playerid][Lecsukasai]++;
  331. PlayerInfo[strval(inputtext)][Lecsukasok]++;
  332. SendClientMessage(playerid, ZOLD, string);
  333. }
  334. if(dialogid == JOGSI)
  335. {
  336. if(response == 1)
  337. {
  338. if(PlayerInfo[playerid][Jogsi] == 1) return SendClientMessage(playerid, PIROS, "Már van Jogsid.");
  339. if(GetPlayerMoney(playerid) < 50000) return SendClientMessage(playerid, PIROS, "Nincs elég pénzed.");
  340. SendClientMessage(playerid, ZOLD, "Kifizetted a vizsga költségét. $50000");
  341. if(listitem == 0)
  342. {
  343. vizsgazik[playerid] = 1;
  344. }
  345. if(listitem == 1)
  346. {
  347. vizsgazik[playerid] = 2;
  348. SendClientMessage(playerid, ZOLD, "Az épület jobb oldalánál találod a vizsga kocsikat.");
  349. SendClientMessage(playerid, ZOLD, "Szállj be az egyikbe, hogy elkezdődjön a vizsga.");
  350. }
  351. }
  352. else
  353. {
  354. SendClientMessage(playerid, PIROS, "Nem választottál ki semmit.");
  355. }
  356. }
  357. if(dialogid == clickplayer)
  358. {
  359. if(listitem == 0)
  360. {
  361. switch(PlayerInfo[playerid][Jogsi])
  362. {
  363. case 0: { megnevezes2 = "{ff0000}Nem{ffffff}"; }
  364. case 1: { megnevezes2 = "{00cc11}Igen{ffffff}"; }
  365. }
  366.  
  367. format(string, sizeof(string), "{ffffff}Jogosítvány: %s\n-----------------------------------\nBörtönök: %d", megnevezes, megnevezes2, PlayerInfo[playerid][Lecsukasok]);
  368. format(string2, sizeof(string2), "%s jogosítványa", nev);
  369. ShowPlayerDialog(akirekattintott[playerid], clickplayer+1, DIALOG_STYLE_MSGBOX, string2, string, "Visszaad","");
  370. }
  371. if(listitem == 1)
  372. {
  373. ShowPlayerDialog(playerid, clickplayer+2, DIALOG_STYLE_INPUT, "Pénz utalás","Írd be a kívánt összeget!","Utal","Mégsem");
  374. }
  375. if(listitem == 2)
  376. {
  377. ShowPlayerDialog(playerid, clickplayer+5, DIALOG_STYLE_INPUT, "Privát üzenet","Írd be az üzenetet!","Elküld","");
  378. }
  379. }
  380. if(dialogid == clickplayer+2)
  381. {
  382. if(response == 1)
  383. {
  384. //if(playerid == akirekattintott[playerid]) return SendClientMessage(playerid, PIROS, "Magadnak nem küldhetsz pénzt.");
  385. GivePlayerMoney(playerid, -strval(inputtext));
  386. GivePlayerMoney(akirekattintott[playerid], strval(inputtext));
  387. GetPlayerName(playerid, nev, sizeof(nev));
  388. GetPlayerName(akirekattintott[playerid], nev2, sizeof(nev2));
  389. format(string, sizeof(string), "$%d átutalva neki: %s", strval(inputtext), nev2);
  390. ShowPlayerDialog(playerid, clickplayer+3, DIALOG_STYLE_MSGBOX, "Pénz utalás", string,"OK","");
  391. format(string, sizeof(string), "$%d érkezett tőle: %s", strval(inputtext), nev);
  392. ShowPlayerDialog(akirekattintott[playerid], clickplayer+4, DIALOG_STYLE_MSGBOX, "Pénz utalás", string,"Ok","");
  393. }
  394. }
  395. if(dialogid == clickplayer+5)
  396. {
  397. GetPlayerName(playerid, nev, sizeof(nev));
  398. GetPlayerName(akirekattintott[playerid], nev2, sizeof(nev2));
  399. format(string, sizeof(string), "Üzenet érkezett tőle: %s\nÜzenet: %s", nev, inputtext[128]);
  400. //strpack(string, inputtext);
  401. ShowPlayerDialog(akirekattintott[playerid], clickplayer+6, DIALOG_STYLE_MSGBOX, "Privát üzenet", string,"Ok","");
  402. }
  403. return 1;
  404. }
  405. //----------------------------------------JÁTÉKMÓD----------------------------------------//
  406. public OnGameModeInit()
  407. {
  408. //----------------------------------------KEZDŐHELYEK----------------------------------------//
  409. AddPlayerClass(283,2296.6150,2468.7893,10.8203,83.0831,0,0,0,0,0,0); // rendorkezdo
  410. AddPlayerClass(21,2027.3092,1008.7502,10.8203,278.4342,0,0,0,0,0,0); // civil
  411. //----------------------------------------PICKUPOK----------------------------------------//
  412. lecsukohely1 = CreatePickup(1314, 14, 2282.6682, 2432.6602, 3.2734, -1);
  413. lecsukohely2 = CreatePickup(1314, 14, 2282.6682, 2432.6602, -7.4531, -1);
  414. infopickup = CreatePickup(1239, 1, 2239.8679,2459.8738,10.8203, -1);
  415. jogsipickup = CreatePickup(1239, 1, 2200.9138,1394.5442,11.0625, -1);
  416. //----------------------------------------KAPU LÉTREHOZÁSOK----------------------------------------//
  417. sorompo = CreateObject(968,2238.19995117,2450.50000000,10.60000038,0.00000000,90.00000000,89.98916626);
  418. //----------------------------------------JÁRMŰVEK----------------------------------------//
  419. //----------------------------------------VIZSGAKOCSIK----------------------------------------//
  420. CreateVehicle(436,2229.0679,1414.8171,10.8238,179.8052,0,1,0); // vizsgakocsi
  421. CreateVehicle(436,2229.0488,1409.0818,10.7609,179.8052,0,1,0); // vizsgakocsi
  422. CreateVehicle(436,2229.0125,1398.2410,10.6420,179.8052,0,1,0); // vizsgakocsi
  423.  
  424. //----------------------------------------MÓDDAL KAPCSOLATOS----------------------------------------//
  425. SetGameModeText("Civilek És Rendőrök");
  426. //UsePlayerPedAnims();
  427. //---------------------------------------TIMER INDÍTÁSOK----------------------------------------//
  428. SetTimer("BortonSzamlalo", 1000, true);
  429. SetTimer("MentesTimer", 2000, true);
  430. return 1;
  431. }
  432. //----------------------------------------PICKUP FELVÉTEL----------------------------------------//
  433. public OnPlayerPickUpPickup(playerid, pickupid)
  434. {
  435. if(Csapat[playerid] == RENDOR || IsPlayerAdmin(playerid))
  436. {
  437. if(pickupid == lecsukohely1 || pickupid == lecsukohely2)
  438. {
  439. ShowPlayerDialog(playerid, LECSUKAS, DIALOG_STYLE_INPUT, "Lecsukás", "Írd be a lecsukni kívánt személy azonosítóját:", "Lecsuk", "Mégsem");
  440. }
  441. if(pickupid == infopickup)
  442. {
  443. ShowPlayerDialog(playerid, RINFO, DIALOG_STYLE_MSGBOX, "Információ", "A kaput az 'y' gombbal nyithatod és nyitástól számított\nhat másodpercen belül magától becsukódik.", "Rendben", "");
  444. }
  445. } else SendClientMessage(playerid, PIROS, "Nem vagy rendőr!");
  446. if(pickupid == jogsipickup)
  447. {
  448. ShowPlayerDialog(playerid, JOGSI, DIALOG_STYLE_LIST, "Jogsi center", "Jogosítvány - $50000", "Kiválaszt", "Mégsem");
  449. }
  450. return 1;
  451. }
  452. //----------------------------------------CHECKPOINT----------------------------------------//
  453. public OnPlayerEnterCheckpoint(playerid)
  454. {
  455. if(IsPlayerInAnyVehicle(playerid))
  456. {
  457. Jogsiallapot[playerid]++;
  458. new vehicle = GetPlayerVehicleID(playerid);
  459.  
  460. switch(Jogsiallapot[playerid])
  461. {
  462. case 2: { SetPlayerCheckpoint(playerid, 2266.8430,1370.9084,10.4405, 3.0), GetVehicleHealth(vehicle, jarmuelet); }
  463. case 3: { SetPlayerCheckpoint(playerid, 2266.8430,1370.9084,10.4405, 3.0); } // Jogsi
  464. case 4: { SetPlayerCheckpoint(playerid, 2340.1179,1371.1290,10.4420, 3.0); } // Jogsi
  465. case 5: { SetPlayerCheckpoint(playerid, 2429.3394,1396.2297,10.4406, 3.0); } // Jogsi
  466. case 6: { SetPlayerCheckpoint(playerid, 2386.8779,1475.1755,10.4430, 3.0); } // Jogsi
  467. case 7: { SetPlayerCheckpoint(playerid, 2369.6797,1512.6968,10.4407, 3.0); } // Jogsi
  468. case 8: { SetPlayerCheckpoint(playerid, 2329.4954,1534.8854,10.6072, 3.0); } // Jogsi
  469. case 9: { SetPlayerCheckpoint(playerid, 2245.5093,1513.3331,10.4400, 3.0); } // Jogsi
  470. case 10: { SetPlayerCheckpoint(playerid, 2224.7722,1354.1147,10.5367, 3.0); } // Jogsi
  471. case 11: { SetPlayerCheckpoint(playerid, 2226.0728,1209.0015,10.5587, 3.0); } // Jogsi
  472. case 12: { SetPlayerCheckpoint(playerid, 2201.2712,1196.3705,10.4453, 3.0); } // Jogsi
  473. case 13: { SetPlayerCheckpoint(playerid, 2157.7207,1196.1207,10.4404, 3.0); } // Jogsi
  474. case 14: { SetPlayerCheckpoint(playerid, 2086.9609,1195.6201,10.4407, 3.0); } // Jogsi
  475. case 15: { SetPlayerCheckpoint(playerid, 2070.2051,1225.5142,10.4406, 3.0); } // Jogsi
  476. case 16: { SetPlayerCheckpoint(playerid, 2070.6943,1312.1124,10.4461, 3.0); } // Jogsi
  477. case 17: { SetPlayerCheckpoint(playerid, 2095.8276,1370.0225,10.4396, 3.0); } // Jogsi
  478. case 18: { SetPlayerCheckpoint(playerid, 2127.1985,1386.9921,10.5882, 3.0); } // Jogsi
  479. case 19: { SetPlayerCheckpoint(playerid, 2229.0959,1387.1534,10.5816, 3.0); } // Jogsi
  480.  
  481. case 20:
  482. {
  483. Jogsiallapot[playerid] = 0;
  484. vizsgazik[playerid] = 0;
  485. GetVehicleHealth(vehicle, vegsoelet);
  486. /*if(jarmuelet == vegsoelet)
  487. {*/
  488. PlayerInfo[playerid][Jogsi] = 1;
  489. SendClientMessage(playerid, ZOLD, "Sikeresen túljutottál a Jogsi vizsgán. Gratulálunk.");
  490. /*}
  491. else
  492. {
  493. SendClientMessage(playerid, ZOLD, "Megbuktál a vizsgán.");
  494. }*/
  495. //SetVehicleToRespawn(vehicle);
  496. DisablePlayerCheckpoint(playerid);
  497. }
  498. }
  499. }
  500. else SendClientMessage(playerid, PIROS, "Nem vagy vizsgakocsiban!!");
  501. return 1;
  502. }
  503. //----------------------------------------PARANCSOK----------------------------------------//
  504. //----------------------------------------ADMINISZTRÁLÁS----------------------------------------//
  505.  
  506. CMD:setlevel(playerid, params[])
  507. {
  508. if(PlayerInfo[playerid][AdminSzint] >= 5 || IsPlayerAdmin(playerid))
  509. {
  510. new adminszint, id, string[128], nev1[MAX_PLAYER_NAME], nev2[MAX_PLAYER_NAME], megnevezes[128];
  511. if(sscanf(params, "id", id, adminszint)) return SendClientMessage(playerid, PIROS, "Használat: /setlevel [azonosító] [szint (1-5)]");
  512. if(adminszint > 5) return SendClientMessage(playerid, PIROS, "Csak 5 szint van!");
  513. if(adminszint == PlayerInfo[id][AdminSzint]) return SendClientMessage(playerid, PIROS, "A játékos már rendelkezik ezzel a szinttel!");
  514. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, PIROS, "Nem jelenlévő játékos!");
  515. GetPlayerName(playerid, nev1, sizeof(nev1));
  516. GetPlayerName(id, nev2, sizeof(nev2));
  517. PlayerInfo[id][AdminSzint] = adminszint;
  518.  
  519. switch(PlayerInfo[id][AdminSzint])
  520. {
  521. case 1: { megnevezes = "moderátor"; }
  522. case 2: { megnevezes = "főmoderátor"; }
  523. case 3: { megnevezes = "adminisztrátor"; }
  524. case 4: { megnevezes = "főadminisztrátor"; }
  525. case 5: { megnevezes = "tulajdonos"; }
  526. }
  527.  
  528. format(string, sizeof(string),"Kinevezted %s-t %snak.", nev2, megnevezes);
  529. SendClientMessage(playerid,ZOLD,string);
  530.  
  531. format(string, sizeof(string),"Adminisztrátor %s kinevezte %s-t %snak. Gratulálunk neki!", nev1, nev2, megnevezes);
  532. SendClientMessageToAll(NARANCSS, string);
  533. GameTextForPlayer(id, "Kineveztek adminnak!", 2000, 4);
  534. PlayerPlaySound(id, 1130, 0.0, 0.0, 0.0);
  535. Mentes(id);
  536. }
  537. else
  538. {
  539. SendClientMessage(playerid,PIROS,"Nem vagy admin/túl kevés a szinted a parancs használatához.");
  540. }
  541. return 1;
  542. }
  543.  
  544. CMD:rejtozes(playerid, params[])
  545. {
  546. if(PlayerInfo[playerid][AdminSzint] >= 1)
  547. {
  548. PlayerInfo[playerid][Rejtettben] = 1;
  549. }
  550. return 1;
  551. }
  552.  
  553. CMD:rejtozeski(playerid, params[])
  554. {
  555. if(PlayerInfo[playerid][AdminSzint] >= 1)
  556. {
  557. PlayerInfo[playerid][Rejtettben] = 0;
  558. }
  559. return 1;
  560. }
  561.  
  562. CMD:admins(playerid, params[])
  563. {
  564. new name[MAX_PLAYER_NAME], string[128], string2[128], megnevezes[128];
  565. for(new i=0; i<MAX_PLAYERS; i++)
  566. {
  567. if(IsPlayerConnected(i))
  568. {
  569. if(PlayerInfo[i][AdminSzint] > 0 && PlayerInfo[i][Rejtettben] == 0)
  570. {
  571. switch(PlayerInfo[i][AdminSzint])
  572. {
  573. case 1: { megnevezes = "Moderátor"; }
  574. case 2: { megnevezes = "Főmoderátor"; }
  575. case 3: { megnevezes = "Adminisztrátor"; }
  576. case 4: { megnevezes = "Főadminisztrátor"; }
  577. case 5: { megnevezes = "Tulajdonos"; }
  578. }
  579. GetPlayerName(i, name, sizeof(name));
  580. format(string, sizeof string, "%s | AdminSzint: %i - %s\n", name, PlayerInfo[i][AdminSzint], megnevezes);
  581. strins(string2, string, 0);
  582. ShowPlayerDialog(playerid, adminokdialog, DIALOG_STYLE_MSGBOX, "Adminisztrátorok:",string2,"Bezár","");
  583. }
  584. else
  585. {
  586. ShowPlayerDialog(playerid, adminokdialog, DIALOG_STYLE_MSGBOX, "Adminisztrátorok:","Nincs elérhető adminisztrátor!","Bezár","");
  587. }
  588. }
  589. }
  590. return 1;
  591. }
  592.  
  593. CMD:gotokocsi(playerid, params[])
  594. {
  595. new vehicleid, Float:x, Float:y, Float:z;
  596. if(sscanf(params, "d", vehicleid)) return SendClientMessage(playerid, -1, "Használat: /gotokocsi [kocsiid]");
  597. GetVehiclePos(vehicleid, x, y, z);
  598. SetPlayerPos(playerid, x, y, z);
  599. return 1;
  600. }
  601.  
  602. //----------------------------------------TIMEREK----------------------------------------//
  603. public frissules(playerid, vehicleid)
  604. {
  605. if(IsPlayerInVehicle(playerid, vehicleid))
  606. {
  607. if(Benzin[vehicleid] > 0) Benzin[vehicleid]--;
  608. if(Benzin[vehicleid] == 0)
  609. {
  610. KocsiOff(vehicleid);
  611. }
  612. }
  613. return 1;
  614. }
  615.  
  616. public KiirasFrissit(vehicleid)
  617. {
  618. new string[128];
  619. for(new vehicle; vehicle<MAX_VEHICLES; vehicle++)
  620. {
  621. sebesseg[vehicle] = GetVehicleSpeed(vehicle);
  622. format(string, sizeof(string), "Benzin: %d\nSebesség: %d", Benzin[vehicle], sebesseg[vehicle]);
  623. Update3DTextLabelText(kijelzo[vehicle], 0xffffffAA, string);
  624. }
  625. return 1;
  626. }
  627.  
  628. public SorompoNyitas()
  629. {
  630. new Float:RotX, Float:RotY, Float:RotZ;
  631. GetObjectRot(sorompo, RotX, RotY, RotZ);
  632. if(RotY == 0.00000000) return KillTimer(soromponyittimer), SetTimer("SorompoCsuko", 5000, false);
  633. SetObjectRot(sorompo, RotX, RotY-1, RotZ);
  634. return 1;
  635. }
  636.  
  637. public SorompoCsukas()
  638. {
  639. new Float:RotX, Float:RotY, Float:RotZ;
  640. GetObjectRot(sorompo, RotX, RotY, RotZ);
  641. if(RotY >= 89.00000000) return KillTimer(sorompocsuktimer), folyamatban = false;
  642. SetObjectRot(sorompo, RotX, RotY+1, RotZ);
  643. return 1;
  644. }
  645.  
  646. public SorompoCsuko()
  647. {
  648. sorompocsuktimer = SetTimer("SorompoCsukas", 50, true);
  649. return 1;
  650. }
  651.  
  652. public BortonSzamlalo()
  653. {
  654. for(new i; i<MAX_PLAYERS; i++)
  655. {
  656. if(IsPlayerConnected(i))
  657. {
  658. if(PlayerInfo[i][Bortonido] > 0)
  659. {
  660. PlayerInfo[i][Bortonido]--;
  661. if(!IsPlayerInRangeOfPoint(i, 20.0, 0, 0, 5)) return SetPlayerPos(i, 0, 0, 5);
  662. }
  663. if(PlayerInfo[i][Bortonido] == 1) return SpawnPlayer(i), PlayerInfo[i][Bortonido] = 0;
  664. }
  665. }
  666. return 1;
  667. }
  668.  
  669. public MentesTimer()
  670. {
  671. for(new i; i<MAX_PLAYERS; i++)
  672. {
  673. if(IsPlayerConnected(i))
  674. {
  675. if(PlayerInfo[i][Logged] == 1) Mentes(i);
  676. }
  677. }
  678. return 1;
  679. }
  680. stock GetColor(playerid)
  681. {
  682. JatekosSzin[playerid] = GetPlayerColor(playerid);
  683. return 1;
  684. }
  685.  
  686. stock SetColor(playerid)
  687. {
  688. SetPlayerColor(playerid, JatekosSzin[playerid]);
  689. return 1;
  690. }
  691.  
  692. stock KocsiOff(vehicleid)
  693. {
  694. GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
  695. SetVehicleParamsEx(vehicleid,0,lights,alarm,doors,bonnet,boot,objective);
  696. return 1;
  697. }
  698.  
  699. stock KocsiFile(vehicleid)
  700. {
  701. new string[40];
  702. format(string, sizeof(string), "Kocsik/%d.ini", vehicleid);
  703. return string;
  704. }
  705.  
  706. //----------------------------------------SOFŐR LEKÉRÉSE----------------------------------------//
  707. stock GetVehicleDriver(vehicleid)
  708. {
  709. for(new i; i<MAX_PLAYERS; i++)
  710. {
  711. if(IsPlayerInAnyVehicle(i))
  712. {
  713. if(GetPlayerVehicleID(i) == vehicleid)
  714. {
  715. if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
  716. {
  717. return i;
  718. }
  719. }
  720. }
  721. }
  722. return 1;
  723. }
  724. //----------------------------------------SEBESSÉG LEKÉRÉSE----------------------------------------//
  725. stock GetVehicleSpeed( vehicleid )
  726. {
  727. new Float:vSpeed[3];
  728. GetVehicleVelocity( vehicleid, vSpeed[0], vSpeed[1], vSpeed[2] );
  729.  
  730. new Float:vSpeed_Float;
  731. vSpeed_Float = floatsqroot( ((vSpeed[0] * vSpeed[0]) + (vSpeed[1] * vSpeed[1])) + (vSpeed[2] * vSpeed[2])) * 180.0;
  732.  
  733. new vSpeed_Int;
  734. vSpeed_Int = floatround( vSpeed_Float, floatround_round );
  735.  
  736. return vSpeed_Int;
  737. }
  738. //----------------------------------------JÁTÉKOS MENTÉS----------------------------------------//
  739. stock Mentes(playerid)
  740. {
  741. new file[MAX_PLAYER_NAME], nev[MAX_PLAYER_NAME], ip[10];
  742. GetPlayerIp(playerid, ip, sizeof(ip));
  743. GetPlayerName(playerid, nev, sizeof(nev));
  744. format(file, sizeof(file), "Jatekosok/%s.ini", nev);
  745.  
  746. dini_IntSet(file, "AdminSzint", PlayerInfo[playerid][AdminSzint]);
  747. dini_IntSet(file, "Jogsi", PlayerInfo[playerid][Jogsi]);
  748. dini_IntSet(file, "Lecsukasai", PlayerInfo[playerid][Lecsukasai]);
  749. dini_IntSet(file, "Lecsukasok", PlayerInfo[playerid][Lecsukasok]);
  750. dini_Set(file, "Ip", ip);
  751. dini_IntSet(file, "Bortonido", PlayerInfo[playerid][Bortonido]);
  752. dini_IntSet(file, "Korozottseg", GetPlayerWantedLevel(playerid));
  753. dini_IntSet(file, "Olesek", PlayerInfo[playerid][Olesek]);
  754. dini_IntSet(file, "Halalok", PlayerInfo[playerid][Halalok]);
  755. return 1;
  756. }
  757. //----------------------------------------JÁTÉKOS BETÖLTÉS----------------------------------------//
  758. stock Betoltes(playerid)
  759. {
  760. new file[MAX_PLAYER_NAME], nev[MAX_PLAYER_NAME];
  761. GetPlayerName(playerid, nev, sizeof(nev));
  762. format(file, sizeof(file), "Jatekosok/%s.ini", nev);
  763.  
  764. PlayerInfo[playerid][AdminSzint] = dini_Int(file, "AdminSzint");
  765. PlayerInfo[playerid][Jogsi] = dini_Int(file, "Jogsi");
  766. PlayerInfo[playerid][Lecsukasai] = dini_Int(file, "Lecsukasai");
  767. PlayerInfo[playerid][Lecsukasok] = dini_Int(file, "Lecsukasok");
  768. PlayerInfo[playerid][Bortonido] = dini_Int(file, "Bortonido");
  769. SetPlayerWantedLevel(playerid, dini_Int(file, "Korozottseg"));
  770. PlayerInfo[playerid][Olesek] = dini_Int(file, "Olesek");
  771. PlayerInfo[playerid][Halalok] = dini_Int(file, "Halalok");
  772. return 1;
  773. }
  774. //----------------------------------------NULLÁZÁS----------------------------------------//
  775. stock Nullazas(playerid)
  776. {
  777. PlayerInfo[playerid][AdminSzint] = 0;
  778. PlayerInfo[playerid][Jogsi] = 0;
  779. PlayerInfo[playerid][Probalkozas] = 0;
  780. PlayerInfo[playerid][Logged] = 0;
  781. PlayerInfo[playerid][Lecsukasai] = 0;
  782. PlayerInfo[playerid][Lecsukasok] = 0;
  783. PlayerInfo[playerid][Bortonido] = 0;
  784. SetPlayerWantedLevel(playerid, 0);
  785. PlayerInfo[playerid][Olesek] = 0;
  786. PlayerInfo[playerid][Halalok] = 0;
  787. return 1;
  788. }
Advertisement
Add Comment
Please, Sign In to add comment