toofaces2

pogo stick

Sep 1st, 2013
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.33 KB | None | 0 0
  1. #include <natives.h>
  2. #include <common.h>
  3. #include <strings.h>
  4. #include <types.h>
  5. #include <consts.h>
  6.  
  7. uint pVehicle;
  8. uint force = 0;
  9.  
  10. //############### Define Ps3 GamePad ################################//
  11. #define BUTTON_SELECT 0xD
  12. #define BUTTON_START 0xC
  13. #define BUTTON_X 0xE
  14. #define BUTTONTRIANGLE 0xF
  15. #define BUTTON_A 0x10
  16. #define BUTTON_CIRCLE 0x11
  17. #define DPAD_UP 0x8
  18. #define DPAD_DOWN 0x9
  19. #define DPAD_LEFT 0xA
  20. #define DPAD_RIGHT 0xB
  21. #define BUTTON_L2 0x5
  22. #define BUTTON_R2 0x7
  23. #define BUTTON_L1 0x4
  24. #define BUTTON_R1 0x6
  25. #define STICK_L 0x12
  26. #define STICK_R 0x13
  27. //############### Define Ps3 GamePad ################################//
  28.  
  29. Vehicle CreateVehicle(uint iModel, float fX, float fY, float fZ)
  30. {
  31. Vehicle pVehicle;
  32. CREATE_CAR(iModel, fX, fY, fZ, &pVehicle, true);
  33. MARK_MODEL_AS_NO_LONGER_NEEDED(iModel);
  34. return pVehicle;
  35. }
  36.  
  37. Vehicle GetCurrentPlayerVehicle(void)
  38. {
  39. Vehicle pVehicle;
  40. GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pVehicle);
  41. return pVehicle;
  42. }
  43.  
  44.  
  45.  
  46. void Print(char *string)
  47. {
  48. PRINT_STRING_WITH_LITERAL_STRING_NOW("STRING", string, 5000, 1);
  49. }
  50. void LoadModel(uint iModel)
  51. {
  52. REQUEST_MODEL(iModel);
  53.  
  54. while(!HAS_MODEL_LOADED(iModel))
  55. WAIT(0);
  56. }
  57. Vehicle CreateVehicleAndWarpPlayerIntoIt(uint iModel, float fX, float fY, float fZ)
  58. {
  59. float v, h, qx, qy, qz, qw, x, y, z;
  60. bool veh, replace;
  61. uint colour[4], temp;
  62. Vehicle pVehicle;
  63. if (iModel == 0) replace = 1;else replace = 0;//create a car the same as yours(kick players out of your car) if 1st param is 0
  64. GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pVehicle);
  65. if (!DOES_VEHICLE_EXIST(pVehicle)){
  66. veh = 0;
  67. if (!IS_MODEL_IN_CDIMAGE(iModel))return INVALID_HANDLE;
  68. if (!IS_THIS_MODEL_A_VEHICLE(iModel)) return INVALID_HANDLE;
  69. REQUEST_MODEL(iModel);
  70. while(!HAS_MODEL_LOADED(iModel))WAIT(0);
  71. GET_CHAR_COORDINATES(GetPlayerPed(), &x, &y, &z);
  72. GET_CHAR_HEADING(GetPlayerPed(), &h);
  73. GET_CHAR_SPEED(GetPlayerPed(), &v);
  74. for (temp=0;temp<4;temp++){
  75. if (GET_CURRENT_EPISODE()==2)
  76. GENERATE_RANDOM_INT_IN_RANGE(0, 136, &colour[temp]);
  77. else
  78. GENERATE_RANDOM_INT_IN_RANGE(0, 133, &colour[temp]);
  79. }
  80. }
  81. else{
  82. veh = 1;
  83.  
  84. if (replace){
  85. GET_CAR_MODEL(pVehicle, &iModel);
  86. GET_CAR_COLOURS(pVehicle, &colour[0], &colour[1]);
  87. GET_EXTRA_CAR_COLOURS(pVehicle, &colour[2], &colour[3]);}
  88. else
  89. for (temp=0;temp<4;temp++){
  90. if (GET_CURRENT_EPISODE()==2)
  91. GENERATE_RANDOM_INT_IN_RANGE(0, 136, &colour[temp]);
  92. else
  93. GENERATE_RANDOM_INT_IN_RANGE(0, 133, &colour[temp]);}
  94.  
  95. if (!IS_MODEL_IN_CDIMAGE(iModel))return INVALID_HANDLE;
  96. if (!IS_THIS_MODEL_A_VEHICLE(iModel)) return INVALID_HANDLE;
  97. REQUEST_MODEL(iModel);
  98. while(!HAS_MODEL_LOADED(iModel))WAIT(0);
  99.  
  100. GET_VEHICLE_QUATERNION(pVehicle, &qx, &qy, &qz, &qw);
  101. GET_CAR_COORDINATES(pVehicle, &x, &y, &z);
  102. GET_CAR_SPEED(pVehicle, &v);
  103.  
  104. if (!IS_NETWORK_SESSION())
  105. DELETE_CAR(&pVehicle);
  106.  
  107. else
  108.  
  109. {int netid, count;
  110. GET_NETWORK_ID_FROM_VEHICLE(pVehicle, &netid);
  111. while(!HAS_CONTROL_OF_NETWORK_ID(netid) && count < 20){REQUEST_CONTROL_OF_NETWORK_ID(netid);count++;W AIT(50);}
  112.  
  113. if (DOES_VEHICLE_EXIST(pVehicle) && HAS_CONTROL_OF_NETWORK_ID(netid))DELETE_CAR(&pVehicle);}
  114. }// ^^check to prevent freezing if car is deleted while attempting to gain control^^
  115.  
  116. pVehicle = CreateVehicle(iModel, x, y, z);
  117.  
  118. WAIT(0);
  119.  
  120. if (!DOES_VEHICLE_EXIST(pVehicle))return INVALID_HANDLE;//check to make sure car was created
  121.  
  122. WARP_CHAR_INTO_CAR(GetPlayerPed(), pVehicle);
  123.  
  124. if (!veh)//check if you were in a vehicle before
  125. SET_CAR_HEADING(pVehicle, h);
  126. else
  127. SET_VEHICLE_QUATERNION(pVehicle, qx, qy, qz, qw);
  128.  
  129. CHANGE_CAR_COLOUR(pVehicle, colour[0], colour[1]);
  130. SET_EXTRA_CAR_COLOURS(pVehicle, colour[2], colour[3]);
  131. SET_CAR_COORDINATES(pVehicle, x, y, z);//if you spawn it in midair, it should stay in midair
  132. SET_CAR_ENGINE_ON(pVehicle, 1, 1);
  133. SET_CAR_FORWARD_SPEED(pVehicle, v);
  134.  
  135. return pVehicle;
  136. }
  137.  
  138. void create(void)
  139. {
  140. float x, y, z,qx,qy,qz;
  141. GET_CHAR_COORDINATES(GetPlayerPed(), &x, &y, &z);
  142. LoadModel(MODEL_SANCHEZ);
  143. CreateVehicleAndWarpPlayerIntoIt(MODEL_SANCHEZ, x, y, z);
  144. SET_CAR_VISIBLE(GetCurrentPlayerVehicle(), false);
  145.  
  146. uint model = 0x1A69CE40;
  147. uint model1 = 0x1A69CE40;
  148. uint model2 = 0x51207518;
  149. uint model3 = 0x51207518;
  150. uint model4 = 0xD7396014;
  151. uint model5 = 0xD7396014;
  152. uint model6 = 0x17972528;
  153. uint model7 = 0x17972528;
  154. uint model8 = 0x69CCAF96;
  155.  
  156. Object pickup;
  157. Object pickup1;
  158. Object pickup2;
  159. Object pickup3;
  160. Object pickup4;
  161. Object pickup5;
  162. Object pickup6;
  163. Object pickup7;
  164. Object pickup8;
  165. float Nx, Ny, Nz;
  166. float BGx,BGy,BGz;
  167. GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS(GetPlayerPed( ), 0, 0, 0, &BGx, &BGy, &BGz);
  168. GET_CAR_CHAR_IS_USING(GetPlayerPed(), &pVehicle);
  169. SET_CAR_CAN_BE_DAMAGED(pVehicle, false);
  170. SET_CAR_CAN_BE_VISIBLY_DAMAGED(pVehicle, false);
  171. SET_CAN_BURST_CAR_TYRES(pVehicle, false);
  172. x=0.32;
  173. y=0.290001;
  174. z=0.64;
  175. qx=0;
  176. qy=0;
  177. qz=0;
  178. CREATE_OBJECT(model, BGx, BGy, BGz,&pickup , TRUE); /// model
  179. ATTACH_OBJECT_TO_CAR(pickup, pVehicle, 0, x, y, z, qx, qy, qz);
  180. x=-0.32;
  181. y=0.295;
  182. z=0.645;
  183. qx=0;
  184. qy=0;
  185. qz=-3.146;
  186. CREATE_OBJECT(model1, BGx, BGy, BGz,&pickup1 , TRUE); /// model 1
  187. ATTACH_OBJECT_TO_CAR(pickup1, pVehicle, 0, x, y, z, qx, qy, qz);
  188. x=-0.16;
  189. y=0.3;
  190. z=0.565;
  191. qx=1.131;
  192. qy=0;
  193. qz=-1.573;
  194. CREATE_OBJECT(model2, BGx, BGy, BGz,&pickup2 , TRUE); /// model 2
  195. ATTACH_OBJECT_TO_CAR(pickup2, pVehicle, 0, x, y, z, qx, qy, qz);
  196. x=0.155;
  197. y=0.295;
  198. z=0.56;
  199. qx=1.144;
  200. qy=0;
  201. qz=1.599;
  202. CREATE_OBJECT(model3, BGx, BGy, BGz,&pickup3 , TRUE); /// model 3
  203. ATTACH_OBJECT_TO_CAR(pickup3, pVehicle, 0, x, y, z, qx, qy, qz);
  204. x=-0.00500005;
  205. y=0.245;
  206. z=0.135;
  207. qx=0;
  208. qy=0;
  209. qz=1.547;
  210. CREATE_OBJECT(model4, BGx, BGy, BGz,&pickup4 , TRUE); /// model 4
  211. ATTACH_OBJECT_TO_CAR(pickup4, pVehicle, 0, x, y, z, qx, qy, qz);
  212. x=-0.00500005;
  213. y=0.245;
  214. z=-0.22;
  215. qx=0;
  216. qy=0;
  217. qz=-1.599;
  218. CREATE_OBJECT(model5, BGx, BGy, BGz,&pickup5 , TRUE); /// model 5
  219. ATTACH_OBJECT_TO_CAR(pickup5, pVehicle, 0, x, y, z, qx, qy, qz);
  220. x=0.21;
  221. y=0.21;
  222. z=-0.185;
  223. qx=0;
  224. qy=0;
  225. qz=1.534;
  226. CREATE_OBJECT(model6, BGx, BGy, BGz,&pickup6 , TRUE); /// model 6
  227. ATTACH_OBJECT_TO_CAR(pickup6, pVehicle, 0, x, y, z, qx, qy, qz);
  228. x=-0.185;
  229. y=0.225;
  230. z=-0.18;
  231. qx=0;
  232. qy=0;
  233. qz=-1.638;
  234. CREATE_OBJECT(model7, BGx, BGy, BGz,&pickup7 , TRUE); /// model 7
  235. ATTACH_OBJECT_TO_CAR(pickup7, pVehicle, 0, x, y, z, qx, qy, qz);
  236. x=-6.70552E-008;
  237. y=0.225;
  238. z=-0.404999;
  239. qx=0;
  240. qy=0;
  241. qz=0;
  242. CREATE_OBJECT(model8, BGx, BGy, BGz,&pickup8 , TRUE); /// model 8
  243. ATTACH_OBJECT_TO_CAR(pickup8, pVehicle, 0, x, y, z, qx, qy, qz);
  244. Print("~b~ Spawned Pogo!");
  245. }
  246. uint check_1 = 0;
  247. void check(void)
  248. {
  249. if (IS_BUTTON_JUST_PRESSED(0, STICK_R))
  250. {
  251. if (check_1 == 0)
  252. {
  253. force = 1;
  254. Print("Pogo Setting 2");
  255. check_1 = 1;
  256. }
  257. else if (check_1 == 1)
  258. {
  259. force = 2;
  260. Print("Pogo Setting 3");
  261. check_1 = 2;
  262. }
  263. else if (check_1 == 2)
  264. {
  265. force = 0;
  266. Print("Pogo Setting 1");
  267. check_1 = 0;
  268. }
  269. }
  270. }
  271.  
  272. void bounce(void)
  273. {
  274. if (IS_BUTTON_PRESSED(0, BUTTON_A))
  275. {
  276. if (IS_CHAR_ON_ANY_BIKE(GetPlayerPed()) && !IS_CHAR_IN_AIR(GetPlayerPed()))
  277. {
  278. if (force == 0)
  279. {
  280. APPLY_FORCE_TO_CAR(GetCurrentPlayerVehicle(), true, 0, 0, 3, 0, 0, 0, true, true, true, true);
  281. SET_CAR_FORWARD_SPEED(GetCurrentPlayerVehicle(), 3);
  282. }
  283. else if (force == 1)
  284. {
  285. APPLY_FORCE_TO_CAR(GetCurrentPlayerVehicle(), true, 0, 0, 6, 0, 0, 0, true, true, true, true);
  286. SET_CAR_FORWARD_SPEED(GetCurrentPlayerVehicle(), 6);
  287. }
  288. else if (force == 2)
  289. {
  290. APPLY_FORCE_TO_CAR(GetCurrentPlayerVehicle(), true, 0, 0, 9, 0, 0, 0, true, true, true, true);
  291. SET_CAR_FORWARD_SPEED(GetCurrentPlayerVehicle(), 9);
  292. }
  293. }
  294. }
  295. }
  296.  
  297.  
  298. void main(void)
  299. {
  300. Print("Pogo Enabled");
  301. THIS_SCRIPT_IS_SAFE_FOR_NETWORK_GAME();
  302. create();
  303. while(1)
  304. {
  305. check();
  306. bounce();
  307. WAIT(0);
  308. }
  309. }
Advertisement
Add Comment
Please, Sign In to add comment