Guest User

Untitled

a guest
Jan 20th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. #define MODEL_dildo1 0x3675A6C3
  2.  
  3. Vector3 aim_tmp;
  4. Vector3 play_tmp;
  5.  
  6. void fire_projectile(int weapon){
  7. int i = 0;
  8. for(i;i <= 10;i++){
  9. if(!DOES_OBJECT_EXIST(data[i].projectile)){
  10. data[i].actionid = weapon;
  11.  
  12. data[i].aimx = aim_tmp.x;
  13. data[i].aimy = aim_tmp.y;
  14. data[i].aimz = aim_tmp.z;
  15.  
  16. data[i].playx = play_tmp.x;
  17. data[i].playy = play_tmp.y;
  18. data[i].playz = play_tmp.z;
  19.  
  20. GET_DISTANCE_BETWEEN_COORDS_3D(aim_tmp.x,aim_tmp.y,aim_tmp.z,play_tmp.x,play_tmp.y,play_tmp.z,&data[i].dist);
  21. #define SPEED 500
  22. data[i].velx = SPEED * (aim_tmp.x - play_tmp.x) / data[i].dist;
  23. data[i].vely = SPEED * (aim_tmp.y - play_tmp.y) / data[i].dist;
  24. data[i].velz = SPEED * (aim_tmp.z - play_tmp.z) / data[i].dist;
  25.  
  26. CREATE_OBJECT(0x501811B6,play_tmp.x,play_tmp.y,play_tmp.z,&data[i].projectile,true);
  27. SET_OBJECT_RECORDS_COLLISIONS(data[i].projectile,true);
  28. FREEZE_OBJECT_POSITION(data[i].projectile,false);
  29. SET_OBJECT_VISIBLE(data[i].projectile,false);
  30. SET_OBJECT_COLLISION(data[i].projectile,false);
  31.  
  32. SET_OBJECT_INITIAL_VELOCITY(data[i].projectile,data[i].velx,data[i].vely,data[i].velz);
  33.  
  34. return;
  35. }
  36. }
  37. }
  38.  
  39. void projectile_action(void){
  40. int i = 0;
  41. for(i;i <= 10;i++){
  42. if(DOES_OBJECT_EXIST(data[i].projectile)){
  43. if(HAS_OBJECT_COLLIDED_WITH_ANYTHING(data[i].projectile)){
  44. FREEZE_OBJECT_POSITION(data[i].projectile,true);
  45. GET_OBJECT_COORDINATES(data[i].projectile,&data[i].aimx,&data[i].aimy,&data[i].aimz);
  46.  
  47. if(data[i].actionid == WEAPON_PISTOL){
  48. if(data[i].dist < 100){
  49. ADD_EXPLOSION(data[i].aimx - 3,data[i].aimy,data[i].aimz,EXPLOSION_ROCKET,5.0,true,false,0.0);
  50. }
  51. else if(data[i].dist > 300){
  52. ADD_EXPLOSION(data[i].aimx - 6.5,data[i].aimy - 0.5,data[i].aimz,EXPLOSION_ROCKET,5.0,true,false,0.0);
  53. }
  54. else {
  55. ADD_EXPLOSION(data[i].aimx,data[i].aimy,data[i].aimz,EXPLOSION_ROCKET,5.0,true,false,0.0);
  56. }
  57. }
  58. DELETE_OBJECT(&data[i].projectile);
  59. MARK_OBJECT_AS_NO_LONGER_NEEDED(&data[i].projectile);
  60. }
  61. else{
  62. GET_OBJECT_COORDINATES(data[i].projectile,&data[i].aimx,&data[i].aimy,&data[i].aimz);
  63.  
  64. GET_DISTANCE_BETWEEN_COORDS_3D(data[i].aimx,data[i].aimy,data[i].aimz,data[i].playx,data[i].playy,data[i].playz,&data[i].dist);
  65.  
  66. SET_OBJECT_INITIAL_VELOCITY(data[i].projectile,data[i].velx,data[i].vely,data[i].velz);
  67. SET_OBJECT_COLLISION(data[i].projectile,true);
  68.  
  69. }
  70. }
  71. }
  72. }
Add Comment
Please, Sign In to add comment