Guest User

Tr1viUm

a guest
Jan 1st, 2008
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.94 KB | None | 0 0
  1. /*
  2. ================================================================================
  3. (C) 28-12-07 ==
  4. Hello Mr.Bob is scripted by Tr1viUm. ==
  5. ==
  6. Thanks: Y_Less & Simon for GetXYinFrontOfPlayer - ==
  7. Anyone that helped setting SA-MP up - ==
  8. ==
  9. ================================================================================*/
  10.  
  11. #include <a_samp>
  12.  
  13. /*----------------------------------------------------------------------------*/
  14.  
  15. new InCargoBob[MAX_PLAYERS],CargoHours[MAX_PLAYERS],CargoMinutes[MAX_PLAYERS],bool:ObjectsAdded[MAX_PLAYERS];
  16.  
  17. /*----------------------------------------------------------------------------*/
  18.  
  19. #define NOT_IN_CARGO "You need to be in a cargobob."
  20. #define ENTERED_CARGO "You entered the cargobob's back."
  21. #define TO_FAROF_CARGO "You need to be at a cargobob's back."
  22.  
  23. #if !defined COLOR_NEUTRALGREEN
  24. #define COLOR_NEUTRALGREEN 0x81CFAB00
  25.  
  26. #endif
  27.  
  28. #if !defined dcmd
  29. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  30.  
  31. #endif
  32.  
  33. /*----------------------------------------------------------------------------*/
  34.  
  35. #if defined FILTERSCRIPT
  36.  
  37. public OnFilterScriptInit(){
  38. print("\n Hello Mr.Bob succesfully loaded \n");
  39. return true;
  40. }
  41.  
  42. public OnFilterScriptExit(){
  43. print("\n Hello Mr.Bob succesfully unloaded \n");
  44. return true;
  45. }
  46.  
  47. #endif
  48.  
  49. /*----------------------------------------------------------------------------*/
  50.  
  51. AddCargoObjects(playerid)
  52. {
  53. CreatePlayerObject(playerid,5152, 226.368317, 80.976151, 10640.210938, 0.0000, 304.9961, 270.0000);
  54. CreatePlayerObject(playerid,5152, 224.218292, 81.001152, 10640.185547, 0.0000, 304.9961, 270.0000);
  55. CreatePlayerObject(playerid,5152, 222.118256, 81.001152, 10640.160156, 0.0000, 304.9961, 270.0000);
  56. CreatePlayerObject(playerid,5152, 219.968353, 81.001152, 10640.134766, 0.0000, 304.9961, 270.0000);
  57. CreatePlayerObject(playerid,17950, 222.161911, 85.046188, 10641.463867, 0.0000, 0.0000, 180.0000);
  58. CreatePlayerObject(playerid,16644, 225.152069, 82.224739, 10639.169922, 0.0000, 0.0000, 180.0000);
  59. CreatePlayerObject(playerid,16644, 225.152069, 84.824745, 10639.169922, 0.0000, 0.0000, 180.0000);
  60. CreatePlayerObject(playerid,16644, 225.152069, 87.424706, 10639.169922, 0.0000, 0.0000, 180.0000);
  61. CreatePlayerObject(playerid,1801, 223.812393, 84.994156, 10639.186523, 0.0000, 0.0000, 0.0000);
  62. CreatePlayerObject(playerid,1801, 223.812393, 84.994156, 10640.249023, 0.0000, 0.0000, 0.0000);
  63. CreatePlayerObject(playerid,1801, 219.312515, 84.994156, 10640.249023, 0.0000, 0.0000, 0.0000);
  64. CreatePlayerObject(playerid,1801, 219.312515, 84.994156, 10639.194336, 0.0000, 0.0000, 0.0000);
  65. CreatePlayerObject(playerid,936, 224.351379, 85.508743, 10639.678711, 0.0000, 0.0000, 0.0000);
  66. CreatePlayerObject(playerid,936, 219.851501, 85.508743, 10639.678711, 0.0000, 0.0000, 0.0000);
  67. CreatePlayerObject(playerid,937, 224.319031, 85.485367, 10640.628906, 0.0000, 0.0000, 0.0000);
  68. CreatePlayerObject(playerid,2063, 219.275833, 82.755394, 10640.115234, 0.0000, 0.0000, 270.0000);
  69. CreatePlayerObject(playerid,2737, 225.210800, 83.374687, 10640.906250, 0.0000, 0.0000, 270.0000);
  70. CreatePlayerObject(playerid,14532, 222.043198, 88.440086, 10640.145508, 0.0000, 0.0000, 180.0000);
  71. CreatePlayerObject(playerid,16779, 221.681305, 83.962280, 10643.164063, 0.0000, 0.0000, 0.0000);
  72. CreatePlayerObject(playerid,1215, 225.351257, 87.852737, 10641.887695, 0.0000, 0.0000, 0.0000);
  73. CreatePlayerObject(playerid,1215, 218.826202, 87.852737, 10641.887695, 0.0000, 0.0000, 0.0000);
  74. CreatePlayerObject(playerid,1485, 220.475174, 85.166641, 10640.143555, 0.0000, 0.0000, 0.0000);
  75. CreatePlayerObject(playerid,1487, 220.133194, 85.811607, 10640.351563, 0.0000, 0.0000, 315.0000);
  76. CreatePlayerObject(playerid,1487, 219.850510, 85.519630, 10640.351563, 0.0000, 0.0000, 202.5000);
  77. CreatePlayerObject(playerid,1520, 220.168503, 85.400864, 10640.213867, 0.0000, 0.0000, 236.2501);
  78. CreatePlayerObject(playerid,1543, 219.897476, 85.657196, 10640.149414, 0.0000, 0.0000, 281.2500);
  79. CreatePlayerObject(playerid,1546, 219.513016, 85.285851, 10640.192383, 0.0000, 92.8191, 87.6625);
  80. CreatePlayerObject(playerid,2690, 223.368210, 85.511871, 10640.409180, 0.0000, 0.0000, 281.2500);
  81. CreatePlayerObject(playerid,2068, 222.325272, 85.086929, 10642.511719, 0.0000, 0.0000, 0.0000);
  82. CreatePlayerObject(playerid,2058, 224.326752, 85.524803, 10640.370117, 0.0000, 0.0000, 0.0000);
  83. CreatePlayerObject(playerid,2044, 219.295761, 83.865089, 10640.487305, 0.0000, 0.0000, 146.7229);
  84. CreatePlayerObject(playerid,2044, 219.295761, 83.565086, 10640.487305, 0.0000, 0.0000, 146.7229);
  85. CreatePlayerObject(playerid,2044, 219.295761, 83.290085, 10640.487305, 0.0000, 0.0000, 146.7229);
  86. CreatePlayerObject(playerid,2036, 219.279907, 82.316414, 10640.906250, 0.0000, 0.0000, 90.0000);
  87. CreatePlayerObject(playerid,2035, 219.220779, 82.025429, 10640.055664, 0.0000, 0.0000, 236.2501);
  88. CreatePlayerObject(playerid,2035, 219.220779, 82.775429, 10640.055664, 0.0000, 0.0000, 236.2501);
  89. CreatePlayerObject(playerid,2035, 219.220779, 83.525429, 10640.055664, 0.0000, 0.0000, 236.2501);
  90. CreatePlayerObject(playerid,1672, 219.095810, 83.898651, 10639.670898, 0.0000, 0.0000, 0.0000);
  91. CreatePlayerObject(playerid,1672, 219.220779, 83.898651, 10639.670898, 0.0000, 0.0000, 0.0000);
  92. CreatePlayerObject(playerid,1672, 219.095871, 83.648651, 10639.670898, 0.0000, 0.0000, 0.0000);
  93. CreatePlayerObject(playerid,1672, 219.120865, 83.798660, 10639.670898, 0.0000, 0.0000, 0.0000);
  94. CreatePlayerObject(playerid,1654, 219.320755, 83.319298, 10639.650391, 272.4414, 0.0000, 326.2500);
  95. CreatePlayerObject(playerid,1654, 219.320755, 82.994293, 10639.650391, 272.4414, 0.0000, 326.2500);
  96. CreatePlayerObject(playerid,2037, 219.195786, 81.650864, 10639.649414, 0.0000, 0.0000, 123.7499);
  97. CreatePlayerObject(playerid,2037, 219.195786, 82.150864, 10639.649414, 0.0000, 0.0000, 67.5000);
  98. CreatePlayerObject(playerid,2037, 219.420731, 81.850876, 10639.649414, 0.0000, 0.0000, 101.2500);
  99. }
  100.  
  101. Float:GetXYOfVehicle(vehicleid, &Float:x, &Float:y, Float:distance)
  102. {
  103. new Float:a;
  104. GetPlayerPos(vehicleid, x, y, a);
  105. GetVehicleZAngle(vehicleid, a);
  106. x += (distance * floatsin(-a, degrees));
  107. y += (distance * floatcos(-a, degrees));
  108. return a;
  109. }
  110.  
  111. GetPlayerPosPower(playerid,Float: X,Float: Y,Float: Z,Float:PowX,Float:PowY,Float:PowZ,Float: PowXYZ)
  112. {
  113. new Float: CtX,Float:CtY,Float:CtZ;
  114. new Float: DtX,Float: DtY,Float:DtZ;
  115. GetPlayerPos(playerid,CtX,CtY,CtZ);
  116. DtX = (CtX -X); DtY = (CtY -Y); DtZ = (CtZ -Z);
  117.  
  118. if(DtX< PowXYZ+PowX && DtX> -PowXYZ+PowX && DtY < PowXYZ+PowY && DtY > -PowXYZ+PowY && DtZ < PowXYZ+PowZ && DtZ > -PowXYZ+PowZ)
  119. return true;
  120.  
  121. return false;
  122. }
  123.  
  124. /*----------------------------------------------------------------------------*/
  125.  
  126. public OnPlayerConnect(playerid)
  127. {
  128. AddCargoObjects(playerid);
  129. ObjectsAdded[playerid] = true;
  130. return true;
  131. }
  132.  
  133. /*----------------------------------------------------------------------------*/
  134.  
  135. public OnPlayerDisconnect(playerid,reason)
  136. {
  137. if(InCargoBob[playerid] != 0)
  138. InCargoBob[playerid] = 0;
  139. ObjectsAdded[playerid] = false;
  140. return true;
  141. }
  142.  
  143. public OnPlayerDeath(playerid, killerid, reason)
  144. {
  145. if(InCargoBob[playerid] != 0)
  146. InCargoBob[playerid] = 0;
  147. SetPlayerVirtualWorld(playerid,0);
  148. return true;
  149. }
  150.  
  151. /*----------------------------------------------------------------------------*/
  152.  
  153. public OnVehicleDeath(vehicleid, killerid)
  154. {
  155. if(GetVehicleModel(vehicleid) == 548)
  156. {
  157. for(new i = 0;i < MAX_PLAYERS;i++)
  158. {
  159. if(InCargoBob[i] == vehicleid)
  160. {
  161. new Float:X,Float:Y,Float:Z;
  162. GetPlayerPos(i,X,Y,Z);
  163. CreateExplosion(X,Y,Z,3,10);
  164. SetPlayerHealth(i,0.0);
  165. InCargoBob[i] = 0;
  166. }
  167. }
  168. }
  169. return true;
  170. }
  171.  
  172. /*----------------------------------------------------------------------------*/
  173.  
  174. public OnPlayerCommandText(playerid, cmdtext[])
  175. {
  176. dcmd(cargo,5,cmdtext);
  177. dcmd(cargoout,8,cmdtext);
  178. return false;
  179. }
  180.  
  181. dcmd_cargo(playerid,params[])
  182. {
  183. for(new i = 0;i < MAX_VEHICLES;i++)
  184. {
  185. if(GetVehicleModel(i) == 548)
  186. {
  187. new Float:vX,Float:vY,Float:vZ;
  188. GetVehiclePos(i,vX,vY,vZ);
  189. GetXYOfVehicle(i,vX,vY,-5.5);
  190. vZ -= 1.932519;
  191. if (GetPlayerPosPower(playerid,vX,vY,vZ,0,0,0,2.5))
  192. {
  193. if (ObjectsAdded[playerid] == false)
  194. {
  195. AddCargoObjects(playerid);
  196. ObjectsAdded[playerid] = true;
  197. }
  198. InCargoBob[playerid] = i;
  199. SendClientMessage(playerid,COLOR_NEUTRALGREEN,ENTERED_CARGO);
  200. GetPlayerTime(playerid,CargoHours[playerid],CargoMinutes[playerid]);
  201. SetPlayerTime(playerid,0,0);
  202. SetPlayerPos(playerid,222.251160, 82.851181, 10639.714844);
  203. SetPlayerVirtualWorld(playerid,i);
  204. return true;
  205. }
  206. }
  207. }
  208. SendClientMessage(playerid,COLOR_NEUTRALGREEN,TO_FAROF_CARGO);
  209. #pragma unused params
  210. return true;
  211. }
  212.  
  213. dcmd_cargoout(playerid,params[])
  214. {
  215. if(InCargoBob[playerid] == 0)
  216. return SendClientMessage(playerid,COLOR_NEUTRALGREEN,NOT_IN_CARGO);
  217. new Float:vX,Float:vY,Float:vZ;
  218. GetVehiclePos(InCargoBob[playerid],vX,vY,vZ);
  219. vZ -= 1.932519;
  220. new Float:a = GetXYOfVehicle(InCargoBob[playerid],vX,vY,-5.5);
  221. SetPlayerInterior(playerid,0);
  222. SetPlayerPos(playerid,vX,vY,vZ);
  223. SetPlayerFacingAngle(playerid,a-180);
  224. SetPlayerVirtualWorld(playerid,0);
  225. SetPlayerTime(playerid,CargoHours[playerid],CargoMinutes[playerid]);
  226. InCargoBob[playerid] = 0;
  227. #pragma unused params
  228. return true;
  229. }
  230.  
  231. /*----------------------------------------------------------------------------*/
Advertisement
Add Comment
Please, Sign In to add comment