Advertisement
BlooDMasK

Untitled

Jul 17th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.71 KB | None | 0 0
  1. //POSTINO
  2. enum DROPINFO
  3. {
  4. Float:DropX,
  5. Float:DropY,
  6. Float:DropZ,
  7. Float:DropCPSize
  8. }
  9.  
  10. new Pack[MAX_PLAYERS] = 0;//pacco postale
  11.  
  12. stock const RandomDropOff[][DROPINFO] =
  13. {
  14. { 791.5529,-1764.4651,12.7514,3.0},
  15. { 323.1783,-1776.7416,4.3800,3.0},
  16. { 608.2771,-1239.2479,17.9047,3.0},
  17. { 833.4138,-868.0018,68.4160,3.0},
  18. { 1002.5436,-638.7051,120.3834,3.0},
  19. { 1522.0985,-814.3433,70.4250,3.0},
  20. { 2223.8921,-1160.1057,25.2576,3.0},
  21. { 2870.7385,-1476.0847,10.3039,3.0},
  22. { 2745.2888,-1945.4655,13.0678,3.0},
  23. { 2333.6953,-1908.6969,12.6894,3.0},
  24. { 1771.0566,-1723.9379,13.0664,3.0},
  25. { 1482.9548,-1444.9447,12.9027,3.0},
  26. { 1098.2323,-1152.6587,23.1759,3.0},
  27. { 622.8019,-1470.7657,13.9105,3.0},
  28. { 1825.4279,-1847.7961,12.9313,3.0},
  29. { 1493.9517,-1737.0485,12.9031,3.0},
  30. { 2006.2458,-1734.8617,12.9774, 3.0}
  31. };
  32.  
  33. //PIZZAIOLO
  34. enum pDROPINFO
  35. {
  36. Float:DropX,
  37. Float:DropY,
  38. Float:DropZ,
  39. Float:DropCPSize
  40. }
  41.  
  42. new Pizza[MAX_PLAYERS] = 0;
  43.  
  44. stock const pRandomDropOff[][pDROPINFO] =
  45. {
  46. { 1864.2485,-1607.7654,12.9905, 3.0},
  47. { 196.5656,-1737.4833,3.9287, 3.0},
  48. { 643.8917,-1652.8795,14.5185, 3.0},
  49. { 2242.4114,-1650.3824,14.8837, 3.0},
  50. { 2507.8594,-1669.2758,12.9764, 3.0},
  51. { 2515.7595,-2012.2281,12.8784, 3.0},
  52. { 1521.4635,-806.7906,71.7551, 3.0},
  53. { 499.3055,-1078.9050,81.8532, 3.0},
  54. { 2141.1462,-1004.2681,61.2217, 3.0},
  55. { 2807.6663,-1186.5220,24.9657, 3.0},
  56. { 2084.9675,-1806.6831,12.9832, 3.0}
  57. };
  58.  
  59.  
  60. new Check_Postino[MAX_PLAYERS] = 0;
  61. new Check_Pizzaiolo[MAX_PLAYERS] = 0;
  62.  
  63. //ongamemode init
  64. //pickup del comune
  65. CreatePickup(1239, 1, 361.8849, 173.6105, 1007.7811, 0);
  66. Create3DTextLabel("Premi Y per i lavori", GIALLO, 361.8849, 173.6105, 1007.7811, 3.0, 0, 0);
  67.  
  68. //onplayerstatechange
  69. //POSTINO
  70.  
  71. if(newstate == PLAYER_STATE_DRIVER && IsPlayerInVehicle(playerid, postino1) || IsPlayerInVehicle(playerid, postino2) || IsPlayerInVehicle(playerid, postino3) || IsPlayerInVehicle(playerid, postino4) || IsPlayerInVehicle(playerid, postino5) || IsPlayerInVehicle(playerid, postino6) || IsPlayerInVehicle(playerid, postino7) || IsPlayerInVehicle(playerid, postino8)){
  72. if(Inizia_Lavoro[playerid] != 2) return RemovePlayerFromVehicle(playerid),SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi prima iniziare il lavoro!");
  73. if(PlayerInfo[playerid][pLavori] != 2) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi prima scegliere il lavoro da postino al comune!"), RemovePlayerFromVehicle(playerid);
  74. if(Check_Postino[playerid] == 0){
  75. SetRandomDropCP(playerid);
  76. SCM(playerid,-1,"{FF0000}<<Postino>> {FAF0E6}Consegna la posta seguendo i checkpoint!");}//random checkpoint
  77. Check_Postino[playerid] = 1;}
  78. if(Check_Postino[playerid] == 1){}
  79.  
  80. //PIZZAIOLO---------------------------------------------------------------------
  81. if(newstate == PLAYER_STATE_DRIVER && IsPlayerInVehicle(playerid, pizzaiolo1) || IsPlayerInVehicle(playerid, pizzaiolo2) || IsPlayerInVehicle(playerid, pizzaiolo3) || IsPlayerInVehicle(playerid, pizzaiolo4) || IsPlayerInVehicle(playerid, pizzaiolo5) || IsPlayerInVehicle(playerid, pizzaiolo6)){
  82. if(Inizia_Lavoro[playerid] == 0) return RemovePlayerFromVehicle(playerid),SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi prima iniziare il lavoro!");
  83. if(PlayerInfo[playerid][pLavori] != 3) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi prima scegliere il lavoro da pizzaiolo al comune!"), RemovePlayerFromVehicle(playerid);
  84. if(Check_Pizzaiolo[playerid] == 0){
  85. pSetRandomDropCP(playerid);
  86. SCM(playerid,-1,"{FF0000}<<Pizzaiolo>> {FAF0E6}Consegna le pizze seguendo i checkpoint!");}
  87. Check_Pizzaiolo[playerid] = 1;}
  88. if(Check_Pizzaiolo[playerid] == 1){}
  89.  
  90. //onplayerentercheck
  91. //POSTINO
  92. if(IsDropCP(playerid))
  93. {
  94. if(IsPlayerInVehicle(playerid, postino1) || IsPlayerInVehicle(playerid, postino2) || IsPlayerInVehicle(playerid, postino3) || IsPlayerInVehicle(playerid, postino4) || IsPlayerInVehicle(playerid, postino4) || IsPlayerInVehicle(playerid, postino5) || IsPlayerInVehicle(playerid, postino6) || IsPlayerInVehicle(playerid, postino7) || IsPlayerInVehicle(playerid, postino8)){
  95. if(Pack[playerid] == 0) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Devi prima prendere un pacco dalla moto!");
  96. SCM(playerid, -1, "{FF0000}<<Postino>>{FAF0E6}Hai consegnato il pacco! Passa al prossimo CheckPoint!");
  97. SetRandomDropCP(playerid);
  98. }else{ SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6} Devi essere nel veicolo da lavoro!");}}
  99.  
  100. //PIZZAIOLO
  101. if(pIsDropCP(playerid))
  102. {
  103. if(IsPlayerInVehicle(playerid, pizzaiolo1) || IsPlayerInVehicle(playerid, pizzaiolo2) || IsPlayerInVehicle(playerid, pizzaiolo3) || IsPlayerInVehicle(playerid, pizzaiolo4) || IsPlayerInVehicle(playerid, pizzaiolo5) || IsPlayerInVehicle(playerid, pizzaiolo6)){
  104. if(Pizza[playerid] == 0) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Devi prima prendere una pizza dalla moto!");
  105. SCM(playerid, -1, "{FF0000}<<Postino>>{FAF0E6}Hai consegnato una pizza! Passa al prossimo CheckPoint!");
  106. pSetRandomDropCP(playerid);
  107. }else{ SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6} Devi essere nel veicolo da lavoro!");}}
  108.  
  109. //onplayerkeystatechange
  110. //PICKUP NEL COMUNE
  111. if(newkeys & KEY_YES && IsPlayerInRangeOfPoint(playerid, 3.0, 361.8849, 173.6105, 1007.7811)){
  112. if(!IsPlayerInAnyVehicle(playerid))
  113. ShowPlayerDialog(playerid, DIALOG_LAVORI, DIALOG_STYLE_LIST, ""COL_TITLES"Lavori",""COL_AZZU"Camionista\n"COL_AZZU"Postino\n"COL_AZZU"Pizzaiolo\n"COL_AZZU"Tassista\n"COL_ROSSO"Lascia lavoro", "Scegli", "Esci");}
  114.  
  115. if(newkeys & KEY_YES && IsPlayerInRangeOfPoint(playerid, 3.0, 1919.4891,-1854.9434,13.5619)){
  116. if(PlayerInfo[playerid][pLivello] != 3) return SCM(playerid, ROSSO, "Devi essere di livello 3");
  117. if(PlayerInfo[playerid][pLavori] != 4){
  118. PlayerInfo[playerid][pLavori] = 4;
  119. SCM(playerid, GIALLO, "Sei stato assunto come meccanico");
  120. PlayerInfo[playerid][pSkins] = GetPlayerSkin(playerid);
  121. SetPlayerSkin(playerid,50);
  122. }else if(PlayerInfo[playerid][pLavori] == 4){
  123. PlayerInfo[playerid][pLavori] = 0;
  124. SetPlayerSkin(playerid,PlayerInfo[playerid][pSkins]);
  125. SCM(playerid, GIALLO, "ti sei licenziato");}}
  126.  
  127. //POSTINO
  128. if(newkeys & KEY_YES && IsPlayerInRangeOfPoint(playerid, 2.0, 1510.5581, -1743.1763, 12.9728)){
  129. if(PlayerInfo[playerid][pLavori] != 2) return SCM(playerid,-1,"{FF0000}<<!>> {FAF0E6}Devi prima scegliere il lavoro da postino al comune!");
  130. if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi prima scendere dal veicolo!");
  131. if(PlayerInfo[playerid][pLavori] == 2){
  132. if(Inizia_Lavoro[playerid] == 0){
  133. Inizia_Lavoro[playerid] = 2;
  134. SCM(playerid,-1,"{FF0000}<<Postino>> {FAF0E6}Sali a bordo di una moto per iniziare a lavorare!");
  135. SCM(playerid,-1,"{FF0000}<<Postino>> {FAF0E6}Puoi annullare il lavoro ripremendo Y sul pickup!");}
  136. else if(Inizia_Lavoro[playerid] == 2){
  137. SCM(playerid,-1,"{FF0000}<<!>> {FAF0E6}Hai annullato il lavoro!");
  138. Inizia_Lavoro[playerid] = 0;
  139. Check_Camion[playerid] = 0;
  140. Check_Pizzaiolo[playerid] = 0;
  141. Check_Postino[playerid] = 0;
  142. Pack[playerid] = 0;
  143. Pizza[playerid] = 0;
  144. DisablePlayerCheckpoint(playerid);}}}
  145.  
  146.  
  147. if(newkeys == KEY_YES){
  148. if(IsPlayerNearVehicle(playerid, postino1, 2.0) || IsPlayerNearVehicle(playerid, postino2, 2.0) || IsPlayerNearVehicle(playerid, postino3, 2.0) || IsPlayerNearVehicle(playerid, postino4, 2.0) || IsPlayerNearVehicle(playerid, postino5, 2.0) || IsPlayerNearVehicle(playerid, postino6, 2.0) || IsPlayerNearVehicle(playerid, postino7, 2.0) || IsPlayerNearVehicle(playerid, postino8, 2.0) ){
  149. /*new Float:wx, Float:wy, Float:wz;
  150. GetVehiclePos(postino1 || postino2 || postino3 || postino4 || postino5 || postino6 || postino7 || postino8, wx, wy, wz);
  151. if(IsPlayerInRangeOfPoint(playerid, 4.0, wx, wy, wz)){*/
  152. if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi scendere prima dal veicolo!");
  153. if(Inizia_Lavoro[playerid] != 2) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi iniziare prima il lavoro da postino!");
  154. if(Pack[playerid] == 1) return Pack[playerid] = 0, SCM(playerid, -1, "{FF0000}<<Postino>> {FAF0E6}Hai posato il pacco nel bagagliaio della moto");
  155. if(Pack[playerid] == 0) return Pack[playerid] = 1, SCM(playerid,-1, "{FF0000}<<Postino>> {FAF0E6}Hai preso un pacco, consegnalo al checkpoint!");}}
  156.  
  157.  
  158. //PIZZAIOLO
  159. if(newkeys & KEY_YES && IsPlayerInRangeOfPoint(playerid, 2.0, 2092.42773, -1801.71826, 12.72849)){
  160. if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi prima scendere dal veicolo!");
  161. if(PlayerInfo[playerid][pLavori] != 3) return SCM(playerid,-1,"{FF0000}<<!>> {FAF0E6}Devi prima scegliere il lavoro da pizzaiolo al comune!");
  162. if(PlayerInfo[playerid][pLavori] == 3){
  163. if(Inizia_Lavoro[playerid] == 0){
  164. Inizia_Lavoro[playerid] = 3;
  165. SCM(playerid,-1,"{FF0000}<<Pizzaiolo>> {FAF0E6}Sali a bordo di una moto per iniziare a lavorare!");
  166. SCM(playerid,-1,"{FF0000}<<Pizzaiolo>> {FAF0E6}Puoi annullare il lavoro ripremendo Y sul pickup!");}
  167. else if(Inizia_Lavoro[playerid] == 3){
  168. SCM(playerid,-1,"{FF0000}<<!>> {FAF0E6}Hai annullato il lavoro!");
  169. Inizia_Lavoro[playerid] = 0;
  170. Check_Camion[playerid] = 0;
  171. Check_Pizzaiolo[playerid] = 0;
  172. Check_Postino[playerid] = 0;
  173. Pack[playerid] = 0;
  174. Pizza[playerid] = 0;
  175. DisablePlayerCheckpoint(playerid);}}}
  176.  
  177. if(newkeys == KEY_YES){
  178. if(IsPlayerNearVehicle(playerid, pizzaiolo1, 2.0) || IsPlayerNearVehicle(playerid, pizzaiolo2, 2.0) || IsPlayerNearVehicle(playerid, pizzaiolo3, 2.0) || IsPlayerNearVehicle(playerid, pizzaiolo4, 2.0) || IsPlayerNearVehicle(playerid, pizzaiolo5, 2.0) || IsPlayerNearVehicle(playerid, pizzaiolo6, 2.0)){
  179. if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi scendere prima dal veicolo!");
  180. if(Inizia_Lavoro[playerid] != 3) return SCM(playerid, -1, "{FF0000}<<!>> {FAF0E6}Devi iniziare prima il lavoro da postino!");
  181. if(Pizza[playerid] == 1) return Pizza[playerid] = 0, SCM(playerid, -1, "{FF0000}<<Postino>> {FAF0E6}Hai posato la pizza nel bagagliaio della moto");
  182. if(Pizza[playerid] == 0) return Pizza[playerid] = 1, SCM(playerid,-1, "{FF0000}<<Postino>> {FAF0E6}Hai preso una pizza dal bagagliaio della moto, consegnala al checkpoint!");}}
  183.  
  184. //DIALOG_LAVORI
  185. if(dialogid == DIALOG_LAVORI){
  186. if(response){
  187. switch(listitem){
  188. case 0:{
  189. if(PlayerInfo[playerid][pLavori] == 2 || PlayerInfo[playerid][pLavori] == 3 || PlayerInfo[playerid][pLavori] == 4) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Possiedi già un lavoro, devi prima licenziarti!");
  190. if(PlayerInfo[playerid][pLavori] == 1) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Sei già stato assunto per svolgere questo lavoro!");
  191. PlayerInfo[playerid][pLavori] = 1, SCM(playerid,-1,"{FF0000}<<Comune>> {FAF0E6}Sei stato assunto da una Ditta come Camionista!"),SaveAccountInfo(playerid);}//camionista
  192. case 1:{
  193. if(PlayerInfo[playerid][pLavori] == 1 || PlayerInfo[playerid][pLavori] == 3 || PlayerInfo[playerid][pLavori] == 4) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Possiedi già un lavoro, devi prima licenziarti!");
  194. if(PlayerInfo[playerid][pLavori] == 2) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Sei già stato assunto per svolgere questo lavoro!");
  195. PlayerInfo[playerid][pLavori] = 2, SCM(playerid,-1,"{FF0000}<<Comune>> {FAF0E6}Sei stato assunto dalle Poste come Postino!"),SaveAccountInfo(playerid);}//postino
  196. case 2:{
  197. if(PlayerInfo[playerid][pLavori] == 1 || PlayerInfo[playerid][pLavori] == 2 || PlayerInfo[playerid][pLavori] == 4) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Possiedi già un lavoro, devi prima licenziarti!");
  198. if(PlayerInfo[playerid][pLavori] == 3) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Sei già stato assunto per svolgere questo lavoro!");
  199. PlayerInfo[playerid][pLavori] = 3, SCM(playerid,-1,"{FF0000}<<Comune>> {FAF0E6}Sei stato assunto da un FastFood come Pizzaiolo!"),SaveAccountInfo(playerid);}//pizzaiolo
  200. case 3:{
  201. if(PlayerInfo[playerid][pLavori] == 1 || PlayerInfo[playerid][pLavori] == 2 || PlayerInfo[playerid][pLavori] == 3) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Possiedi già un lavoro, devi prima licenziarti!");
  202. if(PlayerInfo[playerid][pLavori] == 4) return SCM(playerid, -1, "{FF0000}<<!>>{FAF0E6}Sei già stato assunto per svolgere questo lavoro!");
  203. PlayerInfo[playerid][pLavori] = 4, SCM(playerid,-1,"{FF0000}<<Comune>> {FAF0E6}Sei stato assunto da una Ditta come Tassista!"),SaveAccountInfo(playerid);}//taxi
  204. case 4:{
  205.  
  206. if(PlayerInfo[playerid][pLavori] != 0)
  207. {
  208. PlayerInfo[playerid][pLavori] = 0, SCM(playerid,0xFFEE00FF,"Hai scelto di licenziarti"),Inizia_Lavoro[playerid] = 0, SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]),DisablePlayerCheckpoint(playerid);
  209. SaveAccountInfo(playerid);
  210. }
  211. else if(PlayerInfo[playerid][pLavori] == 0)
  212. {
  213. SCM(playerid,0xFFEE00FF,"Non hai un lavoro per farlo");
  214. }}}}}
  215.  
  216. //RANDOM CHECKS POSTINO
  217. stock SetRandomDropCP(playerid)
  218. {
  219. new Check_Random = random(sizeof(RandomDropOff));
  220. DisablePlayerCheckpoint(playerid);
  221. new rand1 = randomEx(100, 110);
  222. PlayerInfo[playerid][pSoldi] = PlayerInfo[playerid][pSoldi] + rand1;
  223. Pack[playerid] = 0;
  224. SetPlayerCheckpoint(playerid, RandomDropOff[Check_Random][DropX], RandomDropOff[Check_Random][DropY], RandomDropOff[Check_Random][DropZ], RandomDropOff[Check_Random][DropCPSize]);
  225. return 1;
  226. }
  227.  
  228. stock IsDropCP(playerid)
  229. {
  230. for(new i = 0; i < sizeof(RandomDropOff); i++)
  231. {
  232. if(IsPlayerInRangeOfPoint(playerid, RandomDropOff[i][DropCPSize], RandomDropOff[i][DropX], RandomDropOff[i][DropY], RandomDropOff[i][DropZ]))
  233. {
  234. return 1;
  235. }
  236. }
  237. return 0;
  238. }
  239.  
  240. //RANDOM CHECKS PIZZAIOLO
  241. stock pSetRandomDropCP(playerid)
  242. {
  243. new pCheck_Random = random(sizeof(pRandomDropOff));
  244. DisablePlayerCheckpoint(playerid);
  245. new rand2 = randomEx(170, 190);
  246. PlayerInfo[playerid][pSoldi] = PlayerInfo[playerid][pSoldi] + rand2;
  247. Pizza[playerid] = 0;
  248. SetPlayerCheckpoint(playerid, pRandomDropOff[pCheck_Random][DropX], pRandomDropOff[pCheck_Random][DropY], pRandomDropOff[pCheck_Random][DropZ], pRandomDropOff[pCheck_Random][DropCPSize]);
  249. return 1;
  250. }
  251.  
  252. stock pIsDropCP(playerid)
  253. {
  254. for(new i = 0; i < sizeof(pRandomDropOff); i++)
  255. {
  256. if(IsPlayerInRangeOfPoint(playerid, pRandomDropOff[i][DropCPSize], pRandomDropOff[i][DropX], pRandomDropOff[i][DropY], pRandomDropOff[i][DropZ]))
  257. {
  258. return 1;
  259. }
  260. }
  261. return 0;
  262. }
  263.  
  264. stock IsPlayerNearVehicle(playerid, vehicleid, Float:range)
  265. {
  266. new Float:X, Float:Y, Float:Z;
  267. GetVehiclePos(vehicleid, X, Y, Z);
  268. if(IsPlayerInRangeOfPoint(playerid, range, X, Y, Z)) return true;
  269. else return false;
  270. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement