Advertisement
Guest User

Untitled

a guest
Sep 15th, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.85 KB | None | 0 0
  1. /* www.cityofangels-roleplay.com - Pilot Job system - by WentworthHFD */
  2.  
  3. #include <YSI\y_hooks>
  4.  
  5.  
  6. /*
  7. - defines
  8. */
  9. #define DIALOG_PILOTJOB 1
  10. #define PILOT_JOB (17)
  11.  
  12. /*
  13. - vars
  14. */
  15. new PilotPassengersJob[MAX_PLAYERS] = {0, ...},
  16. PilotCargoJob[MAX_PLAYERS] = {0, ...};
  17.  
  18. enum {
  19. PASSENGER_PLANE = (519),
  20. CARGO_PLANE = (553)
  21. };
  22.  
  23. /*
  24. - functions
  25. */
  26.  
  27. ResetPilotVars(playerid) {
  28. PilotPassengersJob[playerid] = 0;
  29. PilotCargoJob[playerid] = 0;
  30. return (true);
  31. }
  32.  
  33. FUNCTION: _UnfreezeJob(playerid) {
  34. TogglePlayerControllable(playerid, true);
  35. return (true);
  36. }
  37.  
  38. /*
  39. - hooks
  40. */
  41.  
  42. hook OnPlayerConnect(playerid) {
  43. return ResetPilotVars(playerid);
  44. }
  45.  
  46. hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  47. switch(dialogid) {
  48. case DIALOG_PILOTJOB: {
  49. if(response) {
  50. switch(listitem) {
  51. case 0: {
  52. if(!GetVehicleModel(GetPlayerVehicleID(playerid)) == PASSENGER_PLANE)
  53. return SendMessage(playerid, MESSAGE_TYPE_ERROR,"[ERROR]: Ne nalazite se u avionu za prevoz ljudi.");
  54.  
  55. PilotPassengersJob[playerid] = 1;
  56. SetPlayerCheckpoint(playerid,1991.5836,-2382.6089,14.4687,50);
  57. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Uputi se na oznaceno podrucje kako bi smo se pripremili za polijetanje.");
  58. }
  59. case 1: {
  60. if(!GetVehicleModel(GetPlayerVehicleID(playerid)) == CARGO_PLANE)
  61. return SendMessage(playerid, MESSAGE_TYPE_ERROR,"[ERROR]: Ne nalazite se u avionu za Transport robe.");
  62.  
  63. PilotCargoJob[playerid] = 1;
  64. SetPlayerCheckpoint(playerid,1989.6998,-2313.1260,13.5469,50);
  65. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Idi malo naprijed kako bi smo utovarili robu.");
  66. }
  67. }
  68. }
  69. }
  70. }
  71. return (true);
  72. }
  73.  
  74.  
  75.  
  76. hook OnPlayerEnterCheckpoint(playerid) {
  77.  
  78. if(PilotPassengersJob[playerid] == 1){
  79. PilotPassengersJob[playerid] = 2;
  80. SetPlayerCheckpoint(playerid,1991.5836,-2382.6089,14.4687,10);
  81. TogglePlayerControllable(playerid, false);
  82. GameTextForPlayer(playerid,"~w~U tijeku je utovar putnika",17000,0);
  83. SetTimerEx("_UnfreezeJob",20000, (false), "i", playerid);
  84.  
  85. SendClientMessage(playerid,-1," ");
  86. SendClientMessage(playerid,-1," ");
  87. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Pricekat cemo da se putnici ukrcaju na avion, pa cemo polako krenuti.");
  88. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Avion je ispravan, nemamo nikakvu gresku.");
  89. SendClientMessage(playerid,COLOR_VIOLET,"* Kopilot bi poceo pricati nesto u mikrofon.");
  90. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion B189 za kontrolni toranj, putnici polako ulaze u avion, avion je ispravan, imamo li dozvolu za polijetanje?");
  91. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za B189, pozitivno, dobili ste zeleno svijetlo za uzlijetanje.");
  92. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Odlicno, dobili smo dozvolu!");
  93. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Nakon utovara, uputi se prema sljedecoj oznacenoj lokaciji na radaru, a to je sredina piste.");
  94. GameTextForPlayer(playerid,"~w~Ubrzaj i uzleti prije kraja piste - uvuci kotače",2000,0);
  95. return (true);
  96. }
  97. if(PilotPassengersJob[playerid] == 2){
  98. PilotPassengersJob[playerid] = 3;
  99. SetPlayerCheckpoint(playerid,1784.1711,-2493.7402,14.4759,10);
  100. return (true);
  101. }
  102. if(PilotPassengersJob[playerid] == 3){
  103. PilotPassengersJob[playerid] = 4;
  104. SetPlayerCheckpoint(playerid,1533.0920,-2490.5625,62.5184,10);
  105. SendClientMessage(playerid,-1," ");
  106. SendClientMessage(playerid,-1," ");
  107. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Sad daj gas do kraja i kada uzletis, uvuci kotace. Nemoj letjeti previsoko.");
  108. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Kad se priblizis aerodromu u San Fierru, sputi na najnizu razinu.");
  109. return (true);
  110. }
  111. if(PilotPassengersJob[playerid] == 4){
  112. PilotPassengersJob[playerid] = 5;
  113. SetPlayerCheckpoint(playerid,-1035.3253,-329.4680,76.2880,50);
  114. SendClientMessage(playerid,-1," ");
  115. SendClientMessage(playerid,-1," ");
  116. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion B189 za kontrolni toranj, uspjesno smo uzlijetjeli, u San Fierru smo za 10ak minuta.");
  117. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za B189, primljeno, obavijestiti cemo San Fierro.");
  118. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion B189 za kontrolni toranj, primljeno.");
  119. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Samo idi avionom u smjeru sljedece oznake((checkpointa)) i nece biti problema.");
  120. GameTextForPlayer(playerid,"~w~Ubrzaj i uzleti prije kraja piste - uvuci kotače",2000,0);
  121. return (true);
  122. }
  123. if(PilotPassengersJob[playerid] == 5){
  124. PilotPassengersJob[playerid] = 6;
  125. SetPlayerCheckpoint(playerid,-1368.4176,-32.6200,15.0719,50);
  126. GameTextForPlayer(playerid,"~w~Usporite i izvucite kotace, pa se lagano spustite na pistu.",2000,0);
  127. return (true);
  128. }
  129. if(PilotPassengersJob[playerid] == 6){
  130. PilotPassengersJob[playerid] = 7;
  131. SetPlayerCheckpoint(playerid,-1359.6765,-118.9294,15.0702,10);
  132. TogglePlayerControllable(playerid, false);
  133. SetTimerEx("_UnfreezeJob",1000,false,"i", playerid);
  134. TogglePlayerControllable(playerid,0);
  135. SendClientMessage(playerid,-1," ");
  136. SendClientMessage(playerid,-1," ");
  137. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion B189 za kontrolni toranj, uspjesno smo sletjeli, pripremamo se za istovar putnika.");
  138. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za B189, primljeno, javit cemo vasem kontrolnom tornju u Los Santosu da ste sletjeli..");
  139. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Odlicno, uspjeli smo sletjeti. Sada se okreni ulijevo za 180 stupnjeva i idemo istovariti putnike.");
  140. return (true);
  141. }
  142. if(PilotPassengersJob[playerid] == 7){
  143. PilotPassengersJob[playerid] = 8;
  144. SetPlayerCheckpoint(playerid,1223.8855,-2324.8608,103.0302,50);
  145. TogglePlayerControllable(playerid, false);
  146. GameTextForPlayer(playerid,"~w~U tijeku je istovar putnika",17000,0);
  147. SetTimerEx("_UnfreezeJob",20000,false,"i", playerid);
  148. TogglePlayerControllable(playerid,0);
  149. SendClientMessage(playerid,-1," ");
  150. SendClientMessage(playerid,-1," ");
  151. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion B189 za kontrolni toranj, putnici su iskrcani, krecemo nazad u Los Santos.");
  152. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za B189, primljeno, sretno, javit cemo vasem kontrolnom tornju u Los Santosu da dolazite.");
  153. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Sada daj gas i prije kraja piste uzleti. Pazi da se ne zabijes u taj dalekovod i drveca.");
  154. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Samo idi avionom u smjeru sljedece oznake((checkpointa)) i nece biti problema.");
  155. GameTextForPlayer(playerid,"~w~Ubrzaj i uzleti prije kraja piste - uvuci kotače",2000,0);
  156. return (true);
  157. }
  158. if(PilotPassengersJob[playerid] == 8){
  159. PilotPassengersJob[playerid] = 9;
  160. SetPlayerCheckpoint(playerid,1784.1711,-2493.7402,14.4759,10);
  161. GameTextForPlayer(playerid,"~w~Usporite i izvucite kotace, pa se lagano spustite na pistu.",2000,0);
  162. return (true);
  163. }
  164. if(PilotPassengersJob[playerid] == 9){
  165. PilotPassengersJob[playerid] = 0;
  166. DisablePlayerCheckpoint(playerid);
  167. SendClientMessage(playerid,-1," ");
  168. SendClientMessage(playerid,-1," ");
  169. SendClientMessage(playerid,-1,"Kopilot Chris kaze: Odlicno, uspjeo si sletjeti nazad. Bilo mi je drago putovati s tobom.");
  170. GivePlayerMoney(playerid,1000); //EDITME
  171. return (true);
  172. }
  173. }
  174. {//pilot cargo job
  175. if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 519)
  176. if(PilotCargoJob[playerid] == 1){
  177. PilotCargoJob[playerid] = 2;
  178. SetPlayerCheckpoint(playerid,1989.6998,-2313.1260,13.5469,10);
  179. TogglePlayerControllable(playerid, false);
  180. GameTextForPlayer(playerid,"~w~Vrsi se utovar robe",27000,0);
  181. SetTimerEx("_UnfreezeJob",30000,false,"i", playerid);
  182. TogglePlayerControllable(playerid,0);
  183. SendClientMessage(playerid,-1," ");
  184. SendClientMessage(playerid,-1," ");
  185. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion BDD897 za kontrolni toranj, roba se stavljna u avion, avion je pun goriva, nemamo problema s motorom.");
  186. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za BDD897, primljeno.");
  187. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Odlicno, roba se polako stavlja u avion. Prođimo kroz neke određene sigurnosne mjere.");
  188. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Kod uzlijetanja s avinom, moras paziti da ne nagnes isti previse, kako se roba ne bi ostetila.");
  189. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Cilj nam je odvesti robu do Las Payasadasa, na stari aerodrom.");
  190. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Mislim da ce zarada biti dobra.");
  191. SendClientMessage(playerid,COLOR_VIOLET,"* Kopilot se osmijehuje, dok gleda van kabine kroz prozor.");
  192. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Kad se roba utovari, idi do sredine piste i cekaj nove upute.");
  193. return (true);
  194. }
  195. if(PilotCargoJob[playerid] == 2){
  196. PilotCargoJob[playerid] = 3;
  197. SetPlayerCheckpoint(playerid,1785.6935,-2493.5881,14.4886,10);
  198. return (true);
  199. }
  200. if(PilotCargoJob[playerid] == 3){
  201. PilotCargoJob[playerid] = 4;
  202. SetPlayerCheckpoint(playerid,287.8836,2498.8228,17.4443,50);
  203. SendClientMessage(playerid,-1," ");
  204. SendClientMessage(playerid,-1," ");
  205. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion BDD897 za kontrolni toranj, roba je u avionu, imamo li dozvolu za polijetanje? Spremni smo za polijetjeti.");
  206. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za B189, pozitivno, dobili ste zeleno svijetlo za uzlijetanje, sretno.");
  207. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Kada dodjes do visine za koju mislis da je sigurna, uvuci kotace kako bi dobili na brzini.");
  208. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Ceka nas dug put, pazi kako vozis.");
  209. GameTextForPlayer(playerid,"~w~Ubrzaj i uzleti prije kraja piste - uvuci kotače",2000,0);
  210. return (true);
  211. }
  212. if(PilotCargoJob[playerid] == 3){
  213. PilotCargoJob[playerid] = 4;
  214. SetPlayerCheckpoint(playerid,965.8230,2472.4363,144.7341,10);
  215. SendClientMessage(playerid,-1," ");
  216. SendClientMessage(playerid,-1," ");
  217. GameTextForPlayer(playerid,"~w~Usporite i izvucite kotace, pa se lagano spustite na pistu.",2000,0);
  218. return (true);
  219. }
  220. if(PilotCargoJob[playerid] == 4){
  221. PilotCargoJob[playerid] = 5;
  222. SetPlayerCheckpoint(playerid,1991.5836,-2382.6089,14.4687,50);
  223. TogglePlayerControllable(playerid, false);
  224. GameTextForPlayer(playerid,"~w~Vrsi se istovar robe",17000,0);
  225. SetTimerEx("_UnfreezeJob",20000,false,"i", playerid);
  226. TogglePlayerControllable(playerid,0);
  227. SendClientMessage(playerid,-1," ");
  228. SendClientMessage(playerid,-1," ");
  229. SendClientMessage(playerid,COLOR_BLUE,"Kopilot kaze[radio]: Avion BDD897 za kontrolni toranj, roba se istovara, imamo li dozvolu za polijetanje?");
  230. SendClientMessage(playerid,COLOR_BLUE,"Kontrolni toranj[radio]: Kontrolni toranj za BDD897, pozitivno, dobili ste zeleno svijetlo za uzlijetanje.");
  231. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Okreni svoj avion prema zapadu i pripremi se za polijetanje.");
  232. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Uputi se prema aerodromu Los Santosa nazad, kako bi preuzeo nagradu za dostavu paketa.");
  233. SendClientMessage(playerid,COLOR_VIOLET,"* Kopilot pocinje pritistkari raznorazne gumbe po komandnoj tabli.");
  234. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Dobri smo s gorivom, nemamo nikakvih gresaka na motoru, spremni smo za uzlijetanje kada se istovari.");
  235. GameTextForPlayer(playerid,"~w~Ubrzaj i uzleti prije kraja piste - uvuci kotače",2000,0);
  236. return (true);
  237. }
  238. if(PilotCargoJob[playerid] == 3){
  239. PilotCargoJob[playerid] = 4;
  240. SetPlayerCheckpoint(playerid,1785.6935,-2493.5881,14.4886,10);
  241. SendClientMessage(playerid,-1," ");
  242. SendClientMessage(playerid,-1," ");
  243. GameTextForPlayer(playerid,"~w~Usporite i izvucite kotace, pa se lagano spustite na pistu.",2000,0);
  244. return (true);
  245. }
  246. if(PilotCargoJob[playerid] == 5){
  247. PilotCargoJob[playerid] = 0;
  248. DisablePlayerCheckpoint(playerid);
  249. SendClientMessage(playerid,-1," ");
  250. SendClientMessage(playerid,-1," ");
  251. SendClientMessage(playerid,-1,"Kopilot Tom kaze: Odlicno, uspjeo si sletjeti nazad. Bilo mi je drago putovati s tobom.");
  252. GivePlayerMoney(playerid,5000); //EDITME
  253. return (true);
  254. }
  255. }
  256. return (true);
  257. }
  258.  
  259. /* KOMANDE */
  260. CMD:pilot(playerid, const params[]) {
  261. new action[25];
  262.  
  263. if(sscanf(params, "s[25] ", action)) {
  264. SendClientMessage(playerid, COLOR_WHITE, "(COMMAND): /pilot [option].");
  265. SendClientMessage(playerid, 0xAFAFAFAA, "(options): start, help");
  266. return (true);
  267. }
  268.  
  269. if(strcmp(action,"start", (true)) == 0) {
  270. ShowPlayerDialog(playerid, DIALOG_PILOTJOB, DIALOG_STYLE_LIST, "Tip transporta",
  271. "Transport putnika - B189 - San Fierro - Kopilot Chris\n\
  272. Transport cargoa - BDD897 - Las Venturas - Kopilot Tom", "Select", "Close"
  273. );
  274. }
  275.  
  276. if(strcmp(action,"help", (true)) == 0) {
  277. ShowPlayerDialog(playerid,DIALOG_PILOTHELP,DIALOG_STYLE_MSGBOX,"POSAO PILOT","Ovaj posao se odradjuje na aerodromu u Los Santosu.\n\
  278. Glavni zadatak ovog posla jest transport, tako da se nudi mogucnost transporta putnika i cargoa.\n\
  279. Za pocetak posla, koristite /jobduty.\nKroz putovanje, s vama je kopilot, koji vam upucuje u posao i vodi komunikaciju s kontrolrnim tornjom.\n\
  280. Kod utovara i istovara, igrica se zamrzne na 20-30 sekundi.","Okej",""
  281. );
  282. }
  283. return (true);
  284. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement