Advertisement
Guest User

Chaotic Objects

a guest
May 26th, 2010
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.66 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3.  
  4. //credits goto the orginal scripter of the /cage command for V-Admin. Seing how it worked helped me make this FilterScript.
  5.  
  6.  
  7. #define COLOR_LIGHTBLUE 0x33CCFFAA
  8.  
  9. new ramp[MAX_PLAYERS], ramp2[MAX_PLAYERS], ramp3[MAX_PLAYERS], ramp4[MAX_PLAYERS], ramped[MAX_PLAYERS];
  10.  
  11. new mine[MAX_PLAYERS], mine2[MAX_PLAYERS], mine3[MAX_PLAYERS], mine4[MAX_PLAYERS], mines[MAX_PLAYERS];
  12.  
  13. new barrel[MAX_PLAYERS], barrel2[MAX_PLAYERS], barrel3[MAX_PLAYERS], barrel4[MAX_PLAYERS], barrels[MAX_PLAYERS];
  14.  
  15. public OnFilterScriptInit()
  16. {
  17. print("\n--------------------------------------");
  18. print("Chaotic Objects by Chaosnz");
  19. print("--------------------------------------\n");
  20. return 1;
  21. }
  22.  
  23. public OnFilterScriptExit()
  24. {
  25. return 1;
  26. }
  27.  
  28.  
  29.  
  30. public OnPlayerConnect(playerid)
  31. {
  32. SendClientMessage(playerid,COLOR_LIGHTBLUE,"This server is using Chaotic Objects. Type /cohelp to see the commands.");
  33. return 1;
  34. }
  35.  
  36.  
  37.  
  38. public OnPlayerCommandText(playerid, cmdtext[])
  39. {
  40. if(strcmp("/cohelp",cmdtext,true)==0)
  41. {
  42. SendClientMessage(playerid,0xFFFF00AA,"You can only spawn 1 set of ramps/mines and you cannot have stationary ramps/mines with /movingramps/movingmines enabled");
  43. SendClientMessage(playerid,0xFFFF00AA,"The moving mines are a bit special as they rotate when you change your direction.");
  44. SendClientMessage(playerid,0xFFFF00AA,"/movingramps - Places 4 Land Jumps facing in towards you that move when you do");
  45. SendClientMessage(playerid,0xFFFF00AA,"/stationaryramps - Places 4 Land Jumps facing you stay put untill you remove them.");
  46. SendClientMessage(playerid,0xFFFF00AA,"/destroyramps - Removes any ramps you have placed.");
  47. SendClientMessage(playerid,0xFFFF00AA,"/movingmines - Does the same thing as /movingramps except you have mines.");
  48. SendClientMessage(playerid,0xFFFF00AA,"/stationarymines - Does the same thing as /stationaryramps except you have mines.");
  49. SendClientMessage(playerid,0xFFFF00AA,"/destroymines - Removes any mines you have placed.");
  50. SendClientMessage(playerid,0xFFFF00AA,"/barrels - Create 4 Explosive Barrels around you. Great for DM!");
  51. SendClientMessage(playerid,0xFFFF00AA,"/removebarrels - Removed the 4 barrels incase you had enough of blowing up.");
  52. return 1;
  53. }
  54. if(strcmp("/movingramps",cmdtext,true)==0)
  55. {
  56. ramped[playerid] = 1;
  57. SendClientMessage(playerid,0xFFFF00AA,"Moving ramps have been placed. Type /destroyramps to remove them.");
  58. return 1;
  59. }
  60. if(strcmp("/stationaryramps",cmdtext,true)==0)
  61. {
  62. ramp[playerid] = DestroyObject(ramp[playerid]);
  63. ramp2[playerid] = DestroyObject(ramp2[playerid]);
  64. ramp3[playerid] = DestroyObject(ramp3[playerid]);
  65. ramp4[playerid] = DestroyObject(ramp4[playerid]);
  66. new Float:X, Float:Y, Float:Z;
  67. new Float:Ang;
  68. GetPlayerFacingAngle(playerid, Ang);
  69. GetPlayerPos(playerid, X, Y, Z);
  70. ramp[playerid] = CreateObject(1634, X, Y+8, Z, 0.0, 0.0,180);
  71. ramp2[playerid] = CreateObject(1634, X+8, Y, Z, 0.0, 0.0,90);
  72. ramp3[playerid] = CreateObject(1634, X-8, Y, Z, 0.0, 0.0,270);
  73. ramp4[playerid] = CreateObject(1634, X, Y-8, Z, 0.0, 0.0,0);
  74. SendClientMessage(playerid,0xFFFF00AA,"Stunt Ramps Placed");
  75. return 1;
  76. }
  77. if(strcmp("/destroyramps",cmdtext,true)==0)
  78. {
  79. ramped[playerid] = 0;
  80. ramp[playerid] = DestroyObject(ramp[playerid]);
  81. ramp2[playerid] = DestroyObject(ramp2[playerid]);
  82. ramp3[playerid] = DestroyObject(ramp3[playerid]);
  83. ramp4[playerid] = DestroyObject(ramp4[playerid]);
  84. SendClientMessage(playerid,0xFFFF00AA,"Ramps Removed");
  85. return 1;
  86. }
  87. if(strcmp("/movingmines",cmdtext,true)==0)
  88. {
  89. mines[playerid] = 1;
  90. SendClientMessage(playerid,0xFFFF00AA,"Moving mines have been placed. Type /destroymines to remove them.");
  91. return 1;
  92. }
  93. if(strcmp("/stationarymines",cmdtext,true)==0)
  94. {
  95. mine[playerid] = DestroyObject(mine[playerid]);
  96. mine2[playerid] = DestroyObject(mine2[playerid]);
  97. mine3[playerid] = DestroyObject(mine3[playerid]);
  98. mine4[playerid] = DestroyObject(mine4[playerid]);
  99. new Float:X, Float:Y, Float:Z;
  100. new Float:Ang;
  101. GetPlayerFacingAngle(playerid, Ang);
  102. GetPlayerPos(playerid, X, Y, Z);
  103. mine[playerid] = CreateObject(2918, X, Y+8, Z, 0.0, 0.0,180);
  104. mine2[playerid] = CreateObject(2918, X+8, Y, Z, 0.0, 0.0,90);
  105. mine3[playerid] = CreateObject(2918, X-8, Y, Z, 0.0, 0.0,270);
  106. mine4[playerid] = CreateObject(2918, X, Y-8, Z, 0.0, 0.0,0);
  107. SendClientMessage(playerid,0xFFFF00AA,"Bounce Mines Placed");
  108. return 1;
  109. }
  110. if(strcmp("/destroymines",cmdtext,true)==0)
  111. {
  112. mines[playerid] = 0;
  113. mine[playerid] = DestroyObject(mine[playerid]);
  114. mine2[playerid] = DestroyObject(mine2[playerid]);
  115. mine3[playerid] = DestroyObject(mine3[playerid]);
  116. mine4[playerid] = DestroyObject(mine4[playerid]);
  117. SendClientMessage(playerid,0xFFFF00AA,"Bounce Mines Removed");
  118. return 1;
  119. }
  120. if(strcmp("/barrels",cmdtext,true)==0)
  121. {
  122. barrels[playerid] = 1;
  123. SendClientMessage(playerid,0xFFFF00AA,"Ready to explode?");
  124. return 1;
  125. }
  126. if(strcmp("/removebarrels",cmdtext,true)==0)
  127. {
  128. barrels[playerid] = 0;
  129. barrel[playerid] = DestroyObject(barrel[playerid]);
  130. barrel2[playerid] = DestroyObject(barrel2[playerid]);
  131. barrel3[playerid] = DestroyObject(barrel3[playerid]);
  132. barrel4[playerid] = DestroyObject(barrel4[playerid]);
  133. return 1;
  134. }
  135. return 0;
  136. }
  137.  
  138.  
  139. public OnPlayerUpdate(playerid)
  140. {
  141. if(ramped[playerid] == 1)
  142. {
  143. if(IsPlayerConnected(playerid))
  144. {
  145. ramp[playerid] = DestroyObject(ramp[playerid]);
  146. ramp2[playerid] = DestroyObject(ramp2[playerid]);
  147. ramp3[playerid] = DestroyObject(ramp3[playerid]);
  148. ramp4[playerid] = DestroyObject(ramp4[playerid]);
  149. new Float:X, Float:Y, Float:Z;
  150. new Float:Ang;
  151. GetPlayerFacingAngle(playerid, Ang);
  152. GetPlayerPos(playerid, X, Y, Z);
  153. ramp[playerid] = CreateObject(1634, X, Y+8, Z, 0.0, 0.0,180);
  154. ramp2[playerid] = CreateObject(1634, X+8, Y, Z, 0.0, 0.0,90);
  155. ramp3[playerid] = CreateObject(1634, X-8, Y, Z, 0.0, 0.0,270);
  156. ramp4[playerid] = CreateObject(1634, X, Y-8, Z, 0.0, 0.0,0);
  157. }
  158. }
  159. if(mines[playerid] == 1)
  160. {
  161. if(IsPlayerConnected(playerid))
  162. {
  163. mine[playerid] = DestroyObject(mine[playerid]);
  164. mine2[playerid] = DestroyObject(mine2[playerid]);
  165. mine3[playerid] = DestroyObject(mine3[playerid]);
  166. mine4[playerid] = DestroyObject(mine4[playerid]);
  167. new Float:X, Float:Y, Float:Z;
  168. new Float:Ang;
  169. GetPlayerFacingAngle(playerid, Ang);
  170. GetPlayerPos(playerid, X, Y, Z);
  171. mine[playerid] = CreateObject(2918, X, Y+8, Z, 0.0, 0.0,Ang+180);
  172. mine2[playerid] = CreateObject(2918, X+8, Y, Z, 0.0, 0.0,Ang+90);
  173. mine3[playerid] = CreateObject(2918, X-8, Y, Z, 0.0, 0.0,Ang+270);
  174. mine4[playerid] = CreateObject(2918, X, Y-8, Z, 0.0, 0.0,Ang);
  175. }
  176. }
  177. if(barrels[playerid] == 1)
  178. {
  179. if(IsPlayerConnected(playerid))
  180. {
  181. barrel[playerid] = DestroyObject(barrel[playerid]);
  182. barrel2[playerid] = DestroyObject(barrel2[playerid]);
  183. barrel3[playerid] = DestroyObject(barrel3[playerid]);
  184. barrel4[playerid] = DestroyObject(barrel4[playerid]);
  185. new Float:X, Float:Y, Float:Z;
  186. new Float:Ang;
  187. GetPlayerFacingAngle(playerid, Ang);
  188. GetPlayerPos(playerid, X, Y, Z);
  189. barrel[playerid] = CreateObject(1225, X, Y+8, Z, 0.0, 0.0,Ang+180);
  190. barrel2[playerid] = CreateObject(1225, X+8, Y, Z, 0.0, 0.0,Ang+90);
  191. barrel3[playerid] = CreateObject(1225, X-8, Y, Z, 0.0, 0.0,Ang+270);
  192. barrel4[playerid] = CreateObject(1225, X, Y-8, Z, 0.0, 0.0,Ang);
  193. }
  194. }
  195. return 1;
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement