Advertisement
Guest User

Sistema de Míssil

a guest
Jan 13th, 2016
496
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.88 KB | None | 0 0
  1. //Sistema criado por Ever_SH
  2.  
  3. #include a_samp
  4. #include zcmd
  5. #include mapandreas
  6.  
  7. new bool:MissilCriado[MAX_PLAYERS];
  8. new Missil[3][MAX_PLAYERS];
  9. new MissilCaindo[3][MAX_PLAYERS];
  10. new Float:AlvoX[MAX_PLAYERS], Float:AlvoY[MAX_PLAYERS], Float:AlvoZ[MAX_PLAYERS];
  11.  
  12. public OnFilterScriptInit()
  13. {
  14. print("Sistema de Míssil criado por Ever_SH!");
  15. MapAndreas_Init(MAP_ANDREAS_MODE_MINIMAL);
  16. return 1;
  17. }
  18.  
  19.  
  20. CMD:criarmissil(playerid, params[])
  21. {
  22. new Float:x, Float:y, Float:z;
  23. GetPlayerPos(playerid, x, y, z);
  24. if(MissilCriado[playerid] == true)
  25. {
  26. SendClientMessage(playerid, 0xFF0000AA, "Você já tem um Míssil criado, lance-o para poder criar outro!");
  27. return 1;
  28. }
  29. else
  30. {
  31. Missil[0][playerid] = CreateObject(3286,x,y,z+3,0.0000000,0.0000000,44.9950000);
  32. Missil[1][playerid] = CreateObject(3286,x,y,z+8,0.0000000,0.0000000,44.9950000);
  33. Missil[2][playerid] = CreateObject(3286,x,y,z+13,0.0000000,0.0000000,44.9950000);
  34. SetPlayerPos(playerid, x+1.5, y+1.5, z);
  35. MissilCriado[playerid] = true;
  36. SendClientMessage(playerid, 0x00FF00AA, "Míssil Criado!");
  37. }
  38. return 1;
  39. }
  40.  
  41. CMD:lancarmissil(playerid, params[])
  42. {
  43. if(MissilCriado[playerid] == false)
  44. {
  45. SendClientMessage(playerid, 0xFF0000AA, "Você não criou um Míssil, Use: /criarMissil");
  46. return 1;
  47. }
  48. if(AlvoX[playerid] == 0 && AlvoY[playerid] == 0 && AlvoZ[playerid] == 0)
  49. {
  50. SendClientMessage(playerid, 0xFF0000AA, "Você não escolheu um Alvo!");
  51. return 1;
  52. }
  53. else
  54. {
  55. new Float:x, Float:y, Float:z;
  56. GetObjectPos(Missil[0][playerid], x, y, z);
  57. CreateExplosion(x, y, z, 1, 1);
  58. MoveObject(Missil[0][playerid], x, y, z+700, 90, 0, 0, 0);
  59. MoveObject(Missil[1][playerid], x, y, z+705, 90, 0, 0, 0);
  60. MoveObject(Missil[2][playerid], x, y, z+710, 90, 0, 0, 0);
  61. SetTimerEx("QuedaMissil", 5000, false, "i", playerid);
  62. }
  63. return 1;
  64. }
  65.  
  66. CMD:ajudamissil(playerid, params[])
  67. {
  68. SendClientMessage(playerid, 0xB2A300AA, "_____________________________Ajuda Míssil_____________________________");
  69. SendClientMessage(playerid, 0xB2A300AA, "[CMD] /criarmissil - Cria um Míssil");
  70. SendClientMessage(playerid, 0xB2A300AA, "[CMD] /lancarmissil - Lança um Míssil");
  71. SendClientMessage(playerid, 0xB2A300AA, "[INFO] Marque no Mapa o lugar onde o Míssil deve cair");
  72. SendClientMessage(playerid, 0xB2A300AA, "[CRÉDITOS] Sistema criado por Ever_SH");
  73. return 1;
  74. }
  75.  
  76. public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
  77. {
  78. if(MissilCriado[playerid] == true)
  79. {
  80. AlvoX[playerid] = fX;
  81. AlvoY[playerid] = fY;
  82. MapAndreas_FindAverageZ(fX, fY, AlvoZ[playerid]);
  83. SendClientMessage(playerid, 0x00FF00AA, "Alvo Marcado!");
  84. SendClientMessage(playerid, 0x00FF00AA, "Use: /lancarMissil para Lançar o Míssil!");
  85. }
  86. return 1;
  87. }
  88.  
  89. forward QuedaMissil(playerid);
  90. public QuedaMissil(playerid)
  91. {
  92. DestroyObject(Missil[0][playerid]);
  93. DestroyObject(Missil[1][playerid]);
  94. DestroyObject(Missil[2][playerid]);
  95. MissilCaindo[0][playerid] = CreateObject(3286, AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid]+100, 0, 180, 0);
  96. MissilCaindo[1][playerid] = CreateObject(3286, AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid]+105, 0, 180, 0);
  97. MissilCaindo[2][playerid] = CreateObject(3286, AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid]+110, 0, 180, 0);
  98. MoveObject(MissilCaindo[0][playerid], AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid], 50, 0, 180, 0);
  99. MoveObject(MissilCaindo[1][playerid], AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid]+5, 50, 0, 180, 0);
  100. MoveObject(MissilCaindo[2][playerid], AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid]+10, 50, 0, 180, 0);
  101. SetTimerEx("MissilExplode", 1700, false, "i", playerid);
  102. return 1;
  103. }
  104.  
  105. forward MissilExplode(playerid);
  106. public MissilExplode(playerid)
  107. {
  108. CreateExplosion(AlvoX[playerid], AlvoY[playerid], AlvoZ[playerid], 2, 10);
  109. CreateExplosion(AlvoX[playerid]+3, AlvoY[playerid], AlvoZ[playerid], 2, 10);
  110. CreateExplosion(AlvoX[playerid]+3, AlvoY[playerid]+3, AlvoZ[playerid], 2, 10);
  111. CreateExplosion(AlvoX[playerid], AlvoY[playerid]+3, AlvoZ[playerid], 2, 10);
  112. CreateExplosion(AlvoX[playerid]-3, AlvoY[playerid]+3, AlvoZ[playerid], 2, 10);
  113. CreateExplosion(AlvoX[playerid]-3, AlvoY[playerid], AlvoZ[playerid], 2, 10);
  114. CreateExplosion(AlvoX[playerid]-3, AlvoY[playerid]-3, AlvoZ[playerid], 2, 10);
  115. CreateExplosion(AlvoX[playerid], AlvoY[playerid]-3, AlvoZ[playerid], 2, 10);
  116. CreateExplosion(AlvoX[playerid]+3, AlvoY[playerid]-3, AlvoZ[playerid], 2, 10);
  117. DestroyObject(MissilCaindo[0][playerid]);
  118. DestroyObject(MissilCaindo[1][playerid]);
  119. DestroyObject(MissilCaindo[2][playerid]);
  120. Missil[0][playerid] = 0;
  121. Missil[0][playerid] = 0;
  122. Missil[0][playerid] = 0;
  123. MissilCaindo[0][playerid] = 0;
  124. MissilCaindo[1][playerid] = 0;
  125. MissilCaindo[2][playerid] = 0;
  126. MissilCriado[playerid] = false;
  127. AlvoX[playerid] = 0;
  128. AlvoY[playerid] = 0;
  129. AlvoZ[playerid] = 0;
  130. return 1;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement