SaNeLSANY

AutoSkola sys

Mar 30th, 2014
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.95 KB | None | 0 0
  1. /*
  2. AutoSkola System
  3. by |~SaNy~|
  4. Ne brisi ovo !
  5. */
  6. #include <a_samp>
  7. #include <zcmd>
  8. #include <YSI\y_ini>
  9. #include <sscanf2>
  10.  
  11.  
  12. #define DIALOG_POLAGANJE1 100
  13. #define DIALOG_POLAGANJE2 101
  14. #define DIALOG_POLAGANJE3 102
  15. #define Vozacke "/Vozacke/%s.ini"
  16. #define COLOR_WHITE 0xFFFFFFFF
  17.  
  18. forward SacuvajVozacku(playerid);
  19. forward UcitajVozacku_data(playerid, name[], value[]);
  20.  
  21. new auto[2];
  22. forward auta(carid);
  23. new CP[MAX_PLAYERS];
  24.  
  25. enum pInfo
  26. {
  27. pPolozioTest,
  28. pVozacka,
  29. pPolaze
  30. };
  31. new PlayerInfo[MAX_PLAYERS][pInfo];
  32.  
  33.  
  34. public OnFilterScriptInit()
  35. {
  36. print("\n--------------------------------------");
  37. print(" AutoSkola system by Sany ");
  38. print("--------------------------------------\n");
  39. CreateObject(982, 2071.6696777344, -1909.4831542969, 13.230429649353, 0, 0, 0);
  40. CreateObject(984, 2047.9982910156, -1922.3134765625, 13.183554649353, 0, 0, 88.5);
  41. CreateObject(984, 2065.3349609375, -1922.3134765625, 13.183554649353, 0, 0, 90);
  42. CreateObject(1280, 2045.6198730469, -1903.3214111328, 12.955156326294, 0, 0, 180);
  43. CreateObject(1280, 2045.4263916016, -1920.9916992188, 12.948230743408, 0, 0, 179.99450683594);
  44. CreateObject(1280, 2045.3720703125, -1915.837890625, 12.948230743408, 0, 0, 179.99450683594);
  45. CreateObject(1231, 2054.146484375, -1922.2335205078, 15.277267456055, 0, 0, 0);
  46. CreateObject(1231, 2064.1723632813, -1922.1663818359, 15.277267456055, 0, 0, 0);
  47. CreateObject(1231, 2059.0810546875, -1922.0927734375, 15.277267456055, 0, 0, 0);
  48. CreateObject(1231, 2071.2658691406, -1922.4553222656, 15.277267456055, 0, 0, 0);
  49. CreateObject(1231, 2071.3869628906, -1915.1381835938, 15.277267456055, 0, 0, 0);
  50. CreateObject(1231, 2071.4169921875, -1908.462890625, 15.277267456055, 0, 0, 0);
  51. CreateObject(1231, 2071.4787597656, -1901.0915527344, 15.277267456055, 0, 0, 0);
  52. CreateObject(1280, 2045.37890625, -1910.66015625, 12.948230743408, 0, 0, 179.99450683594);
  53. CreateObject(1257, 2040.1597900391, -1923.7944335938, 13.826066970825, 0, 0, 90);
  54. CreateObject(2942, 2051.6677246094, -1897.5866699219, 13.19670009613, 0, 0, 0);
  55. CreateObject(1649, 2051.0070800781, -1897.3176269531, 13.369540214539, 0, 0, 90);
  56. CreateObject(1491, 2050.9912109375, -1899.6038818359, 12.52187538147, 0, 0, 0);
  57. CreateObject(1649, 2052.5078125, -1897.3681640625, 13.369540214539, 0, 0, 90);
  58. CreateObject(1649, 2052.5078125, -1897.3681640625, 13.369540214539, 0, 0, 270);
  59. CreateObject(1649, 2051.0068359375, -1897.3173828125, 13.369540214539, 0, 0, 270);
  60. CreateObject(1346, 2063.5336914063, -1897.8155517578, 13.529811859131, 0, 0, 0);
  61. CreateObject(1337, 2036.9501953125, -1933.140625, 12.863460540771, 0, 0, 0);
  62. auto[0] = AddStaticVehicle(589,2052.4617,-1904.5619,13.2049,180.0496,2,2); //
  63. auto[1] = AddStaticVehicle(589,2056.0830,-1904.2369,13.2050,180.8705,2,2); //
  64. CreatePickup(1313, 1, 2045.4128,-1908.0160,13.5469, 0);
  65. Create3DTextLabel("Polaganje\n/polganje da polazes", 0x008080FF, 2045.4128,-1908.0160,13.5469, 90.5528, 0, 0);
  66. return 1;
  67. }
  68.  
  69. public OnFilterScriptExit()
  70. {
  71. return 1;
  72. }
  73.  
  74.  
  75. public OnPlayerConnect(playerid)
  76. {
  77. INI_ParseFile(UserPath(playerid), "UcitajVozacku_%s", .bExtra = true, .extra = playerid);
  78. return 1;
  79. }
  80.  
  81. public OnPlayerDisconnect(playerid, reason)
  82. {
  83. return 1;
  84. }
  85.  
  86. public OnPlayerSpawn(playerid)
  87. {
  88. return 1;
  89. }
  90.  
  91. public OnPlayerDeath(playerid, killerid, reason)
  92. {
  93. return 1;
  94. }
  95.  
  96. public OnVehicleSpawn(vehicleid)
  97. {
  98. return 1;
  99. }
  100.  
  101. public OnVehicleDeath(vehicleid, killerid)
  102. {
  103. return 1;
  104. }
  105.  
  106. public OnPlayerText(playerid, text[])
  107. {
  108. return 1;
  109. }
  110.  
  111. public OnPlayerCommandText(playerid, cmdtext[])
  112. {
  113. if (strcmp("/mycommand", cmdtext, true, 10) == 0)
  114. {
  115. // Do something here
  116. return 1;
  117. }
  118. return 0;
  119. }
  120.  
  121. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  122. {
  123. if(auta(vehicleid))
  124. {
  125. if(PlayerInfo[playerid][pPolaze] == 0)
  126. {
  127. SendClientMessage(playerid, 0xFFFFFFFF, "(Izbacen!) Vi trenutno ne polazete!");
  128. new Float:cx, Float:cy, Float:cz;
  129. GetPlayerPos(playerid, cx, cy, cz);
  130. SetPlayerPos(playerid, cx, cy, cz);
  131. }
  132. else
  133. {
  134. SendClientMessage(playerid, 0xFFFFFFFF, "");
  135. SetPlayerCheckpoint(playerid,2056.4780,-1922.7064,13.2049,4.0);
  136. CP[playerid] = 1001;
  137. }
  138. }
  139. return 1;
  140. }
  141.  
  142. public OnPlayerExitVehicle(playerid, vehicleid)
  143. {
  144. return 1;
  145. }
  146.  
  147. public OnPlayerStateChange(playerid, newstate, oldstate)
  148. {
  149. return 1;
  150. }
  151.  
  152. public OnPlayerEnterCheckpoint(playerid)
  153. {
  154. new newcar = GetPlayerVehicleID(playerid);
  155. if(!auta(newcar))
  156. {
  157. SendClientMessage(playerid,COLOR_WHITE,"Morate biti u vozilu od Auto-Skole!");
  158. return 1;
  159. }
  160. if(CP[playerid] == 1000) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2056.4780,-1922.7064,13.2049,4.0); CP[playerid] = 1001; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  161. else if(CP[playerid] == 1001) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2074.1733,-1932.4546,13.0444,4.0); CP[playerid] = 1002; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  162. else if(CP[playerid] == 1002) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2081.4556,-1822.0701,13.0409,4.0); CP[playerid] = 1003; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  163. else if(CP[playerid] == 1003) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1972.3070,-1812.0092,13.0397,4.0); CP[playerid] = 1004; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  164. else if(CP[playerid] == 1004) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1962.0081,-1763.0203,13.0410,4.0); CP[playerid] = 1005; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  165. else if(CP[playerid] == 1005) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1835.0302,-1752.2209,13.0409,4.0); CP[playerid] = 1006; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  166. else if(CP[playerid] == 1006) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1821.3041,-1925.8708,13.0392,4.0); CP[playerid] = 1007; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  167. else if(CP[playerid] == 1007) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,1955.2045,-1932.2314,13.0411,4.0); CP[playerid] = 1008; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  168. else if(CP[playerid] == 1008) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2049.8909,-1932.2225,13.0309,4.0); CP[playerid] = 1009; SendClientMessage(playerid,COLOR_WHITE,"Nastavite dalje !");}
  169. else if(CP[playerid] == 1009) { DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2059.1921,-1903.8060,13.2049,4.0); CP[playerid] = 1010;}
  170. else if(CP[playerid] == 1010) { Polozio(playerid);}
  171. return 1;
  172. }
  173.  
  174. public OnPlayerLeaveCheckpoint(playerid)
  175. {
  176. return 1;
  177. }
  178.  
  179. public OnPlayerEnterRaceCheckpoint(playerid)
  180. {
  181. return 1;
  182. }
  183.  
  184. public OnPlayerLeaveRaceCheckpoint(playerid)
  185. {
  186. return 1;
  187. }
  188.  
  189. public OnRconCommand(cmd[])
  190. {
  191. return 1;
  192. }
  193.  
  194. public OnPlayerRequestSpawn(playerid)
  195. {
  196. return 1;
  197. }
  198.  
  199. public OnObjectMoved(objectid)
  200. {
  201. return 1;
  202. }
  203.  
  204. public OnPlayerObjectMoved(playerid, objectid)
  205. {
  206. return 1;
  207. }
  208.  
  209. public OnPlayerPickUpPickup(playerid, pickupid)
  210. {
  211. return 1;
  212. }
  213.  
  214. public OnVehicleMod(playerid, vehicleid, componentid)
  215. {
  216. return 1;
  217. }
  218.  
  219. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  220. {
  221. return 1;
  222. }
  223.  
  224. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  225. {
  226. return 1;
  227. }
  228.  
  229. public OnPlayerSelectedMenuRow(playerid, row)
  230. {
  231. return 1;
  232. }
  233.  
  234. public OnPlayerExitedMenu(playerid)
  235. {
  236. return 1;
  237. }
  238.  
  239. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  240. {
  241. return 1;
  242. }
  243.  
  244. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  245. {
  246. return 1;
  247. }
  248.  
  249. public OnRconLoginAttempt(ip[], password[], success)
  250. {
  251. return 1;
  252. }
  253.  
  254. public OnPlayerUpdate(playerid)
  255. {
  256. return 1;
  257. }
  258.  
  259. public OnPlayerStreamIn(playerid, forplayerid)
  260. {
  261. return 1;
  262. }
  263.  
  264. public OnPlayerStreamOut(playerid, forplayerid)
  265. {
  266. return 1;
  267. }
  268.  
  269. public OnVehicleStreamIn(vehicleid, forplayerid)
  270. {
  271. return 1;
  272. }
  273.  
  274. public OnVehicleStreamOut(vehicleid, forplayerid)
  275. {
  276. return 1;
  277. }
  278.  
  279. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  280. {
  281. if(dialogid == DIALOG_POLAGANJE1)
  282. {
  283. if(listitem == 0)
  284. {
  285. if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Odustali ste od polaganja!");
  286. if(response)
  287. {
  288. if(PlayerInfo[playerid][pPolozioTest] == 1)
  289. {
  290. SendClientMessage(playerid, 0xFFFFFFFF, "Vec ste polozili test!");
  291. return 1;
  292. }
  293. ShowPlayerDialog(playerid, DIALOG_POLAGANJE2, DIALOG_STYLE_MSGBOX, "Test", "Da li su potrebna svjetla dok vozite?", "Da", "Ne");
  294. }
  295. }
  296. if(listitem == 1)
  297. {
  298. if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Odustali ste od polaganja!");
  299. if(response)
  300. {
  301. if(PlayerInfo[playerid][pVozacka] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, " Vi vec imate vozacku !");
  302. PlayerInfo[playerid][pPolaze] = 1;
  303. SendClientMessage(playerid, 0xFFFFFFFF, " Idite u vozilo auto skole !");
  304. }
  305. }
  306. }
  307. if(dialogid == DIALOG_POLAGANJE2)
  308. {
  309. if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Pogrijesili ste pitanje te ste pali test!");
  310. if(response)
  311. {
  312. SendClientMessage(playerid, 0xFFFFFFFF, "Tacan odgovor!");
  313. ShowPlayerDialog(playerid, DIALOG_POLAGANJE3, DIALOG_STYLE_MSGBOX, "Test", "Da li smijete proci kroz semafor na crveno ako nema nikog u blizini?", "Da", "Ne");
  314. }
  315. }
  316. if(dialogid == DIALOG_POLAGANJE3)
  317. {
  318. if(response) return SendClientMessage(playerid, 0xFFFFFFFF, "Pogrijesili ste pitanje te ste pali test!");
  319. if(!response)
  320. {
  321. SendClientMessage(playerid, 0xFFFFFFFF, "Polozili ste test ! (( /polaganje pa odaberi Voznja da nastavis! ))");
  322. PlayerInfo[playerid][pPolozioTest] = 1;
  323. SacuvajVozacku(playerid);
  324. }
  325. }
  326. return 1;
  327. }
  328.  
  329. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  330. {
  331. return 1;
  332. }
  333. CMD:polaganje(playerid, params[])
  334. {
  335. if(IsPlayerInRangeOfPoint(playerid, 7.0, 2045.4128,-1908.0160,13.5469))
  336. {
  337. if(PlayerInfo[playerid][pVozacka] == 1) return SendClientMessage(playerid, 0xFFFFFFFF, "Vec imas vozacku!");
  338. ShowPlayerDialog(playerid, DIALOG_POLAGANJE1, DIALOG_STYLE_LIST, "Polaganje by Sany", "Test\nVoznja", "Uredu", "Odustani");
  339. }
  340. else
  341. {
  342. SendClientMessage(playerid, 0xFFFFFFFF, "Nisi kod AutoSkole!");
  343. }
  344. return 1;
  345. }
  346. public SacuvajVozacku(playerid)
  347. {
  348. new INI:File = INI_Open(UserPath(playerid));
  349. INI_SetTag(File, "Vozacka");
  350. INI_WriteInt(File, "TestPolozen", PlayerInfo[playerid][pPolozioTest]);
  351. INI_WriteInt(File, "PolozioVozacku", PlayerInfo[playerid][pVozacka]);
  352. INI_Close(File);
  353. return 1;
  354. }
  355. public UcitajVozacku_data(playerid, name[], value[])
  356. {
  357. INI_Int("TestPolozen", PlayerInfo[playerid][pPolozioTest]);
  358. INI_Int("PolozioVozacku", PlayerInfo[playerid][pVozacka]);
  359. return 1;
  360. }
  361. stock UserPath(playerid)
  362. {
  363. new string[264];
  364. new name[MAX_PLAYER_NAME];
  365. GetPlayerName(playerid, name, sizeof(name));
  366. format(string, sizeof(string), Vozacke, name);
  367. return string;
  368. }
  369. public auta(carid)
  370. {
  371. for(new i = 0; i < sizeof(auto); i++)
  372. {
  373. if(carid == auto[i]) return 1;
  374. }
  375. return 0;
  376. }
  377. stock Polozio(playerid)
  378. {
  379. DisablePlayerCheckpoint(playerid);
  380. new Float:health;
  381. new veh;
  382. veh = GetPlayerVehicleID(playerid);
  383. SetVehicleToRespawn(veh);
  384. GetVehicleHealth(veh, health);
  385. if(health < 800) return SendClientMessage(playerid, 0xFFFFFFFF, "Nazalost, niste polozili jer ste previse ostetili vozilo");
  386. if(health > 800)
  387. {
  388. PlayerInfo[playerid][pVozacka] = 1;
  389. SacuvajVozacku(playerid);
  390. SendClientMessage(playerid, 0xFFFFFFFF, "Uspjesno ste polozili !");
  391. }
  392. return 1;
  393. }
  394. CMD:vozacka(playerid, params[])
  395. {
  396. new string[264];
  397. new daine[20];
  398. if(PlayerInfo[playerid][pVozacka] == 0) { daine = "Nemam"; }
  399. if(PlayerInfo[playerid][pVozacka] == 1) { daine = "Imam"; }
  400. format(string, sizeof(string), "Vozacka: %s", daine);
  401. SendClientMessage(playerid, 0xFFFFFFFF, string);
  402. return 1;
  403. }
  404. CMD:pokazivozacku(playerid, params[])
  405. {
  406. new string[264];
  407. new daine[20];
  408. new ime[MAX_PLAYER_NAME];
  409. GetPlayerName(playerid, ime, sizeof(ime));
  410. new giveplayerid;
  411. new giveplayer[MAX_PLAYER_NAME];
  412. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  413. if(sscanf(params, "u", giveplayer)) return SendClientMessage(playerid, 0xFFFFFFFF, "Koristi: /pokazidozvolu [ID/Ime]");
  414. if(PlayerInfo[playerid][pVozacka] == 0) { daine = "Nema"; }
  415. if(PlayerInfo[playerid][pVozacka] == 1) { daine = "Ima"; }
  416. format(string, sizeof(string), " | Vozacka od %s |", ime);
  417. SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
  418. format(string, sizeof(string), "Vozacka: %s", daine);
  419. SendClientMessage(giveplayerid, 0xFFFFFFFF, string);
  420. format(string, sizeof(string), "Pokazali ste vozacku : %s", giveplayer);
  421. SendClientMessage(playerid, 0xFFFFFFFF, string);
  422. return 1;
  423. }
Advertisement
Add Comment
Please, Sign In to add comment