Advertisement
Samp-Pawn

Pizza Mission - Samp

May 23rd, 2012
462
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.54 KB | None | 0 0
  1. /* ========================================================================== */
  2. // Includes //
  3. /* ========================================================================== */
  4. #include <a_samp>
  5. #include <streamer>
  6. #include <cpstream>
  7.  
  8. /* ========================================================================== */
  9. // Forwards //
  10. /* ========================================================================== */
  11. forward OnPlayerEndMission(playerid);
  12. forward OnPizzaMissionEnd(playerid);
  13. forward OnPizzaMissionEnd(playerid);
  14.  
  15. /* ========================================================================== */
  16. // Defines //
  17. /* ========================================================================== */
  18. #define DialogStartMission 1220
  19. #define DialogWaitForStart 1221
  20. #define DialogMissionEnd 1223
  21. #define DialogPlayerLoseMission 1224
  22. #define MissionMoney 8000
  23. #define GREEN 0x00FF00FF
  24.  
  25. /* ========================================================================== */
  26. // Enums //
  27. /* ========================================================================== */
  28. enum Pizza
  29. {
  30. Gamer,
  31. World,
  32. Vehicle,
  33. Count,
  34. Timer
  35. }
  36.  
  37. /* ========================================================================== */
  38. // News //
  39. /* ========================================================================== */
  40. new Mission[MAX_PLAYERS][Pizza];
  41. new StartMission;
  42. new EndMission;
  43. new message[256];
  44.  
  45. /* ========================================================================== */
  46. // Publics //
  47. /* ========================================================================== */
  48. public OnFilterScriptInit()
  49. {
  50. CreateDynamicObject(7419,2906.00000000,-2279.10009766,-6.00000000,0.00000000,0.00000000,350.00000000); //object(mallcarpark_vgn01) (1)
  51. CreateDynamicObject(4871,2783.80004883,-2289.30004883,1.00000000,0.00000000,0.00000000,350.00000000); //object(airpurt2bx_las) (1)
  52. CreateDynamicObject(4871,2659.39990234,-2267.89990234,1.00000000,0.00000000,0.00000000,349.99694824); //object(airpurt2bx_las) (2)
  53. CreateDynamicObject(4871,2581.10009766,-2177.39990234,1.00000000,0.00000000,0.00000000,269.99694824); //object(airpurt2bx_las) (3)
  54. CreateDynamicObject(8148,2775.69995117,-2297.30004883,4.19999981,0.00000000,0.00000000,260.00000000); //object(vgsselecfence02) (1)
  55. CreateDynamicObject(8148,2777.89990234,-2278.69995117,4.19999981,0.00000000,0.00000000,79.99694824); //object(vgsselecfence02) (2)
  56. CreateDynamicObject(8148,2651.30004883,-2276.30004883,4.19999981,0.00000000,0.00000000,260.00000000); //object(vgsselecfence02) (4)
  57. CreateDynamicObject(8148,2670.89990234,-2259.80004883,4.19999981,0.00000000,0.00000000,79.99694824); //object(vgsselecfence02) (5)
  58. CreateDynamicObject(8148,2590.89990234,-2164.50000000,4.19999981,0.00000000,0.00000000,359.99145508); //object(vgsselecfence02) (7)
  59. CreateDynamicObject(8148,2571.69995117,-2182.30004883,4.19999981,0.00000000,0.00000000,179.98901367); //object(vgsselecfence02) (8)
  60. CreateDynamicObject(8148,2577.00000000,-2010.00000000,5.69999981,0.00000000,0.00000000,9.98901367); //object(vgsselecfence02) (9)
  61. CreateDynamicObject(8148,2558.10009766,-2041.40002441,6.00000000,0.00000000,0.00000000,179.98657227); //object(vgsselecfence02) (10)
  62. CreateDynamicObject(8148,2558.00000000,-1897.80004883,5.50000000,0.00000000,0.00000000,179.98352051); //object(vgsselecfence02) (11)
  63. CreateDynamicObject(8148,2563.30004883,-1851.40002441,4.90000010,0.00000000,0.00000000,359.98352051); //object(vgsselecfence02) (12)
  64. CreateDynamicObject(8148,2558.10009766,-1741.00000000,3.70000005,0.00000000,0.00000000,179.98352051); //object(vgsselecfence02) (13)
  65. CreateDynamicObject(8148,2572.39990234,-1585.69995117,7.00000000,352.00000000,0.00000000,167.98144531); //object(vgsselecfence02) (14)
  66. CreateDynamicObject(8148,2616.59960938,-1508.79980469,16.00000000,5.00000000,0.00000000,345.97595215); //object(vgsselecfence02) (17)
  67. CreateDynamicObject(8148,2574.00000000,-1704.00000000,3.70000005,0.00000000,0.00000000,351.97448730); //object(vgsselecfence02) (19)
  68. CreateDynamicObject(622,2623.50000000,-1470.80004883,15.80000019,0.00000000,0.00000000,170.00000000); //object(veg_palm03) (1)
  69. CreateDynamicObject(622,2619.50000000,-1470.90002441,15.80000019,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (2)
  70. CreateDynamicObject(622,2616.19995117,-1469.90002441,15.80000019,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (3)
  71. CreateDynamicObject(622,2612.69995117,-1471.50000000,15.80000019,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (4)
  72. CreateDynamicObject(622,2608.80004883,-1470.50000000,15.80000019,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (5)
  73. CreateDynamicObject(622,2604.50000000,-1472.00000000,15.69999981,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (6)
  74. CreateDynamicObject(622,2600.19995117,-1471.40002441,15.69999981,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (7)
  75. CreateDynamicObject(622,2595.39990234,-1470.69995117,15.80000019,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (8)
  76. CreateDynamicObject(622,2591.39990234,-1470.09997559,15.80000019,0.00000000,0.00000000,169.99694824); //object(veg_palm03) (9)
  77. CreateDynamicObject(622,2587.69921875,-1469.59960938,15.80000019,0.00000000,0.00000000,169.99145508); //object(veg_palm03) (10)
  78. CreateDynamicObject(2898,2617.10009766,-1495.19995117,15.50000000,0.00000000,0.00000000,80.00000000); //object(funturf_law) (1)
  79. CreateDynamicObject(2898,2611.80004883,-1494.19995117,15.50000000,0.00000000,0.00000000,79.99694824); //object(funturf_law) (2)
  80. CreateDynamicObject(2898,2606.89990234,-1493.30004883,15.50000000,0.00000000,0.00000000,79.99694824); //object(funturf_law) (3)
  81. CreateDynamicObject(2898,2601.69995117,-1492.40002441,15.50000000,0.00000000,0.00000000,79.99694824); //object(funturf_law) (4)
  82. CreateDynamicObject(2898,2596.69995117,-1491.50000000,15.50000000,0.00000000,0.00000000,79.99694824); //object(funturf_law) (5)
  83. CreateDynamicObject(2898,2591.39990234,-1490.50000000,15.50000000,0.00000000,0.00000000,79.99694824); //object(funturf_law) (6)
  84. CreateDynamicObject(2898,2587.80004883,-1489.80004883,15.50000000,0.00000000,0.00000000,79.99694824); //object(funturf_law) (7)
  85. CreateDynamicObject(1976,2587.39990234,-1472.19995117,16.70000076,0.00000000,0.00000000,0.00000000); //object(w_test) (1)
  86. CreateDynamicObject(1976,2595.00000000,-1472.80004883,16.70000076,0.00000000,0.00000000,0.00000000); //object(w_test) (2)
  87. CreateDynamicObject(1976,2618.89990234,-1473.30004883,16.70000076,0.00000000,0.00000000,0.00000000); //object(w_test) (5)
  88. CreateDynamicObject(1975,2622.89990234,-1473.90002441,16.70000076,0.00000000,0.00000000,0.00000000); //object(e_test) (1)
  89. CreateDynamicObject(1975,2615.69995117,-1472.59997559,16.70000076,0.00000000,0.00000000,0.00000000); //object(e_test) (2)
  90. CreateDynamicObject(1975,2591.00000000,-1473.59997559,16.70000076,0.00000000,0.00000000,0.00000000); //object(e_test) (5)
  91. CreateDynamicObject(1559,2587.00000000,-1489.50000000,16.60000038,0.00000000,0.00000000,0.00000000); //object(diamond_3) (1)
  92. CreateDynamicObject(1559,2616.89990234,-1495.30004883,16.60000038,0.00000000,0.00000000,0.00000000); //object(diamond_3) (2)
  93. CreateDynamicObject(3524,2616.89990234,-1505.50000000,17.70000076,0.00000000,0.00000000,270.00000000); //object(skullpillar01_lvs) (1)
  94. CreateDynamicObject(3524,2614.50000000,-1515.50000000,16.89999962,0.00000000,0.00000000,260.00000000); //object(skullpillar01_lvs) (2)
  95. CreateDynamicObject(3524,2612.89990234,-1523.30004883,16.20000076,0.00000000,0.00000000,259.99694824); //object(skullpillar01_lvs) (3)
  96. CreateDynamicObject(3524,2611.00000000,-1532.69995117,15.30000019,0.00000000,0.00000000,259.99694824); //object(skullpillar01_lvs) (4)
  97. CreateDynamicObject(3524,2585.89941406,-1498.19921875,18.20000076,0.00000000,0.00000000,99.99206543); //object(skullpillar01_lvs) (5)
  98. CreateDynamicObject(3524,2585.30004883,-1508.09997559,17.20000076,0.00000000,0.00000000,99.99206543); //object(skullpillar01_lvs) (6)
  99. CreateDynamicObject(3524,2585.10009766,-1517.40002441,16.29999924,0.00000000,0.00000000,99.99206543); //object(skullpillar01_lvs) (7)
  100. CreateDynamicObject(3524,2585.39941406,-1526.29980469,15.39999962,0.00000000,0.00000000,99.99206543); //object(skullpillar01_lvs) (8)
  101. CreateDynamicObject(3528,2575.60009766,-1628.50000000,15.89999962,0.00000000,0.00000000,260.00000000); //object(vgsedragon) (1)
  102. CreateDynamicObject(7073,2620.69921875,-1516.89941406,32.20000076,0.00000000,0.00000000,229.99877930); //object(vegascowboy1) (1)
  103. CreateDynamicObject(7073,2582.19921875,-1504.09960938,36.00000000,0.00000000,0.00000000,289.99877930); //object(vegascowboy1) (2)
  104. CreateDynamicObject(7392,2578.00000000,-1523.19921875,26.20000076,0.00000000,0.00000000,279.99755859); //object(vegcandysign1) (1)
  105. CreateDynamicObject(7392,2619.29980469,-1526.89941406,22.89999962,0.00000000,0.00000000,69.99389648); //object(vegcandysign1) (2)
  106. CreateDynamicObject(7916,2604.69995117,-1460.80004883,22.89999962,0.00000000,0.00000000,350.00000000); //object(vegaswaterfall02) (1)
  107. CreateDynamicObject(7916,2609.30004883,-1460.19995117,23.10000038,0.00000000,0.00000000,349.99694824); //object(vegaswaterfall02) (2)
  108. CreateDynamicObject(7916,2591.30004883,-1457.90002441,24.29999924,0.00000000,0.00000000,349.99694824); //object(vegaswaterfall02) (3)
  109. CreateDynamicObject(8492,2605.00000000,-1475.90002441,19.20000076,0.00000000,0.00000000,320.00000000); //object(flamingo05_lvs) (1)
  110. CreateDynamicObject(987,2580.89990234,-1487.00000000,23.00000000,0.00000000,0.00000000,266.00000000); //object(elecfence_bar) (6)
  111. CreateDynamicObject(987,2584.60009766,-1495.90002441,15.69999981,0.00000000,0.00000000,289.99548340); //object(elecfence_bar) (7)
  112. CreateDynamicObject(987,2585.60009766,-1624.19995117,2.09999990,0.00000000,0.00000000,79.99511719); //object(elecfence_bar) (8)
  113. CreateDynamicObject(987,2587.69995117,-1612.80004883,2.59999990,0.00000000,0.00000000,79.99145508); //object(elecfence_bar) (9)
  114. CreateDynamicObject(987,2589.60009766,-1601.09997559,3.00000000,0.00000000,0.00000000,49.99145508); //object(elecfence_bar) (10)
  115. CreateDynamicObject(987,2597.30004883,-1592.09997559,3.59999990,0.00000000,0.00000000,87.98779297); //object(elecfence_bar) (11)
  116. StartMission = CPS_AddCheckpoint(1956,1344,16,2.5,100);
  117. EndMission = CPS_AddCheckpoint(2606,-1491,17,12.5,100);
  118. return 1;
  119. }
  120.  
  121. public OnFilterScriptExit()
  122. {
  123. return 1;
  124. }
  125.  
  126. public OnPlayerRequestClass(playerid, classid)
  127. {
  128. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  129. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  130. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  131. return 1;
  132. }
  133.  
  134. public OnPlayerConnect(playerid)
  135. {
  136. Mission[playerid][Gamer] = 0;
  137. return 1;
  138. }
  139.  
  140. public OnPlayerDisconnect(playerid, reason)
  141. {
  142. Mission[playerid][Gamer] = 0;
  143. return 1;
  144. }
  145.  
  146. public OnPlayerDeath(playerid, killerid, reason)
  147. {
  148. if(Mission[playerid][Gamer] == 1)
  149. {
  150. format(message,sizeof(message),"* [%s] Has fail in the 'Pizza Mission'!",GetName(playerid));
  151. SendClientMessageToAll(playerid, message);
  152. Mission[playerid][Gamer] = 0;
  153. }
  154. return 1;
  155. }
  156.  
  157. public OnPlayerCommandText(playerid, cmdtext[])
  158. {
  159. if(Mission[playerid][Gamer] == 1) return 0;
  160. return 0;
  161. }
  162.  
  163. public OnPlayerEnterCheckpoint(playerid)
  164. {
  165. if(CPS_IsPlayerInCheckpoint(playerid, StartMission))
  166. {
  167. ShowPlayerDialog(playerid, DialogStartMission, DIALOG_STYLE_MSGBOX, "Pizza Mission: Message", "You are sure that you are\nwant to enter the 'Pizza Mission'?","Yes","No");
  168. }
  169. if(CPS_IsPlayerInCheckpoint(playerid, EndMission) && Mission[playerid][Gamer] == 1)
  170. {
  171. OnPlayerEndMission(playerid);
  172. }
  173. return 1;
  174. }
  175.  
  176. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  177. {
  178. if(dialogid == DialogStartMission)
  179. {
  180. if(!response) return 0;
  181. else
  182. {
  183. Mission[playerid][World] = playerid+1;
  184. Mission[playerid][Gamer] = 1;
  185. Mission[playerid][Vehicle] = CreateVehicle(448,2930.69995117,-2315.60009766,14.00000000,80.00000000,3,3,15);
  186. PutPlayerInVehicle(playerid, Mission[playerid][Vehicle],0);
  187. ResetPlayerWeapons(playerid);
  188. SetPlayerHealth(playerid, 100);
  189. SetVehicleVirtualWorld(Mission[playerid][Vehicle], Mission[playerid][World]);
  190. SetPlayerVirtualWorld(playerid, Mission[playerid][World]);
  191. TogglePlayerControllable(playerid, 0);
  192. ShowPlayerDialog(playerid, DialogWaitForStart, DIALOG_STYLE_MSGBOX, "Pizza Mission: Start", "When you press 'Start', the \nmission will start! ,\n{FF0000}Good luck !!","Start","");
  193. }
  194. }
  195. if(dialogid == DialogWaitForStart)
  196. {
  197. if(!response) return 0;
  198. else
  199. {
  200. TogglePlayerControllable(playerid, 1);
  201. SendClientMessage(playerid, GREEN, "The mission is started, good luck!");
  202. GameTextForPlayer(playerid,"~w~Mission Start!\n~r~Good Luck!", 3000,3);
  203. Mission[playerid][Count] = 60;
  204. Mission[playerid][Timer] = SetTimerEx("OnPizzaMissionEnd", 1000, 3, "i", playerid);
  205. }
  206. }
  207. return 1;
  208. }
  209.  
  210. public OnPizzaMissionEnd(playerid)
  211. {
  212. if(Mission[playerid][Count] > 0)
  213. {
  214. PlayerPlaySound(playerid,1058, 0.0, 0.0, 0.0);
  215. format(message,sizeof(message),"~w~Timeleft:\n~r~%d",Mission[playerid][Count]);
  216. GameTextForPlayer(playerid,message,1000,3);
  217. Mission[playerid][Count] --;
  218. }
  219. else
  220. {
  221. if(IsPlayerConnected(playerid) && Mission[playerid][Gamer] == 1)
  222. {
  223. Mission[playerid][Gamer] = 0;
  224. SetPlayerVirtualWorld(playerid, 0);
  225. SetPlayerHealth(playerid, 100);
  226. ShowPlayerDialog(playerid, DialogPlayerLoseMission, DIALOG_STYLE_MSGBOX, "Pizza Mission: End", "The pizza mission is end!,\nyou are lose in the mission because\nthat take you more than a 60s\n\n{FF0000}Good luck in next time!","Ok","");
  227. KillTimer(Mission[playerid][Timer]);
  228. }
  229. }
  230. return 1;
  231. }
  232.  
  233. public OnPlayerEndMission(playerid)
  234. {
  235. Mission[playerid][Gamer] = 0;
  236. SetPlayerVirtualWorld(playerid, 0);
  237. DestroyVehicle(Mission[playerid][Vehicle]);
  238. GivePlayerMoney(playerid, MissionMoney);
  239. format(message,sizeof(message),"The pizza mission is end!,\nyou are win the price of %d$\n\nVery nice", MissionMoney);
  240. ShowPlayerDialog(playerid, DialogMissionEnd, DIALOG_STYLE_MSGBOX, "Pizza Mission: End", message,"OK, thanks","");
  241. KillTimer(Mission[playerid][Timer]);
  242. return 1;
  243. }
  244.  
  245. stock GetName(id)
  246. {
  247. new name[256];
  248. GetPlayerName(id,name,sizeof(name));
  249. return name;
  250. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement