Advertisement
Guest User

Realistic Nuke Script v2

a guest
Jun 8th, 2011
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.09 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. #define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6.  
  7. #if defined FILTERSCRIPT
  8.  
  9. public OnFilterScriptInit()
  10. {
  11. print("\n--------------------------------------");
  12. print(" Nuclear Bomb | BlackWidow ");
  13. // Please do not edit this tag //
  14. print("--------------------------------------\n");
  15. return 1;
  16. }
  17.  
  18. public OnFilterScriptExit()
  19. {
  20. return 1;
  21. }
  22.  
  23. #endif
  24. //==============================================================================
  25. //===========================Customizeable Settings=============================
  26. //==============================================================================
  27. //
  28. // #define savelog true // change to "false" to disable logging. [coming soon]
  29. //
  30. //==============================================================================
  31. //==============================END CUSTOMIZATION===============================
  32. //==============================================================================
  33. //
  34. //==============================================================================
  35. //============================DO NOT EDIT THIS BELLOW===========================
  36. //==============================================================================
  37. #define COLOR_RED 0xAA3333AA
  38. #define COLOR_GREY 0xAFAFAFAA
  39. #define COLOR_ADMINCMD 0x007E96F6
  40.  
  41. new bool:nuke = false;
  42. new bool:nukea = false;
  43. new bool:nukeb = false;
  44. new bool:nukec = false;
  45. new bool:nuked = false;
  46. //new bool:fallout = false; planned for later version
  47. new bool:safecar[MAX_PLAYERS];
  48. //new Engine[MAX_VEHICLES]; planned for later version
  49. new nuketimer1;
  50. new fallouthp;
  51.  
  52. //CUSTOMS
  53. new bool:lhp = true; // change this to false to disable health loss in fallout.
  54. forward makenuke(playerid);
  55. forward nuketimer();
  56. forward LaunchNuke();
  57. forward writelog(playerid);
  58. forward Fallout();
  59. forward fallouttime();
  60. forward destroynuke(playerid);
  61. //==============================================================================
  62. //================================END VARIABLE SETS=============================
  63. //==============================================================================
  64. public OnPlayerCommandText(playerid, cmdtext[])
  65. {
  66. if (strcmp("/makenuke", cmdtext, true, 10) == 0)
  67. {
  68. // YOU CAN INSERT IF HERE FOR GROUP/GANG/FACTION/ADMIN CHECK
  69. makenuke(playerid); // Starts Make Nuke Public, and Sends PlayerID
  70. // CLOSE IF STATEMENT; IF USED
  71. return 1;
  72.  
  73. }
  74. if (strcmp("/launchnuke", cmdtext, true, 10) == 0)
  75. {
  76. if (nuke == true)
  77. {
  78. LaunchNuke();
  79. }
  80. }
  81. if (strcmp("/nukea", cmdtext, true, 10) ==0)
  82. {
  83. if(IsPlayerAdmin(playerid))
  84. {
  85. SetPlayerPos(playerid, -62.238136, -1116.629028, 1.078125);
  86. }
  87. else
  88. {
  89. return 0;
  90. }
  91. return 1;
  92. }
  93. if (strcmp("/nukeb", cmdtext, true, 10) ==0)
  94. {
  95. if(IsPlayerAdmin(playerid))
  96. {
  97. SetPlayerPos(playerid, 263.488922, 21.603782, 3.433196);
  98. }
  99. else
  100. {
  101. return 0;
  102. }
  103. return 1;
  104. }
  105. if (strcmp("/nukec", cmdtext, true, 10) ==0)
  106. {
  107. if(IsPlayerAdmin(playerid))
  108. {
  109. SetPlayerPos(playerid, 1080.911132, -345.248352, 73.984832);
  110. }
  111. else
  112. {
  113. return 0;
  114. }
  115. return 1;
  116. }
  117. if (strcmp("/nuked", cmdtext, true, 10) ==0)
  118. {
  119. if(IsPlayerAdmin(playerid))
  120. {
  121. SetPlayerPos(playerid, 2755.711181, -2534.867431, 13.645303);
  122. }
  123. else
  124. {
  125. return 0;
  126. }
  127. return 1;
  128. }
  129. return 0;
  130. }
  131.  
  132. public makenuke(playerid)
  133. {
  134. if(nukea == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // prevents dual nuke
  135. if(nukeb == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // preventd dual nuke
  136. if(nukec == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // prevents dual nuke
  137. if(nuked == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // prevents dual nuke
  138. if(IsPlayerInRangeOfPoint(playerid, 25.0, -62.238136, -1116.629028, 1.078125))
  139. {
  140. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  141. nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
  142. nukea = true;
  143. nukeb = false;
  144. nukec = false;
  145. nuked = false;
  146. }
  147. else if(IsPlayerInRangeOfPoint(playerid, 25.0, 263.488922, 21.603782, 3.433196))
  148. {
  149. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  150. nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
  151. nukea = false;
  152. nukeb = true;
  153. nukec = false;
  154. nuked = false;
  155. }
  156. else if(IsPlayerInRangeOfPoint(playerid, 25.0, 1080.911132, -345.248352, 73.984832))
  157. {
  158. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  159. nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
  160. nukea = false;
  161. nukeb = false;
  162. nukec = true;
  163. nuked = false;
  164. }
  165. else if(IsPlayerInRangeOfPoint(playerid, 25.0, 2755.711181, -2534.867431, 13.645303))
  166. {
  167. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  168. nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
  169. nukea = false;
  170. nukeb = false;
  171. nukec = false;
  172. nuked = true;
  173. }
  174. else
  175. {
  176. SendClientMessage(playerid, COLOR_GREY,("You are not at a nuke construction site")); // not at site
  177. }
  178. return 1;
  179. }
  180. public nuketimer() //after devince created
  181. {
  182. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Confirmed reportes state a local terror cell has successfuly created a nuclear device");
  183. nuke = true;
  184. KillTimer(nuketimer1);
  185. }
  186. public LaunchNuke()
  187. {
  188. for(new i=0; i<MAX_PLAYERS; i++)
  189. {
  190. if(IsPlayerConnected(i))
  191. {
  192. if(IsPlayerInRangeOfPoint(i, 250.0, 275.951751, 1816.600341, 1.007812))
  193. {
  194. // no action
  195. }
  196. else
  197. {
  198. new Float:x, Float:y, Float:z;
  199. if(IsPlayerInAnyVehicle(i))
  200. {
  201. RemovePlayerFromVehicle(i);
  202. SendClientMessage(i, COLOR_RED, "A light in sky forces you out of your car");
  203. }
  204. GetPlayerPos(i, x, y, z);
  205. SetPlayerHealth(i, 20);
  206. CreateExplosion(x+random(5), y+random(5), z+random(5), 7, 250.0);
  207. GameTextForAll("~n~~r~Nuclear Device Launched",10000,5);
  208. //fallout = true; planned.
  209. Fallout();
  210. fallouthp = SetTimer("Fallout",6000,false);
  211. SetTimer("fallouttime",420000,false);
  212. SetWeather(19);
  213. }
  214. }
  215. }
  216. return 1;
  217. }
  218. public Fallout()
  219. {
  220. for(new i=0; i<MAX_PLAYERS; i++)
  221. {
  222. if(lhp == true)
  223. {
  224. if(IsPlayerConnected(i))
  225. {
  226. new Float:health;
  227. GetPlayerHealth(i, health);
  228. if(safecar[i] == true)
  229. {
  230. SetPlayerDrunkLevel(i, 0);
  231. fallouthp = SetTimer("Fallout",16000,false);
  232. SetPlayerHealth(i, health - 1.0);
  233. }
  234. else if(safecar[i] == false)
  235. {
  236. SetPlayerDrunkLevel(i, 3000);
  237. fallouthp = SetTimer("Fallout",16000,false);
  238. SetPlayerHealth(i, health - 3.0);
  239. }
  240. }
  241. }
  242. }
  243. return 1;
  244. }
  245.  
  246. public fallouttime()
  247. {
  248. SetWeather(0);
  249. //fallout = false; planned.
  250. KillTimer(fallouthp);
  251. return 1;
  252. }
  253. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  254. {
  255. if(GetVehicleModel(vehicleid) == 424) // Open Top
  256. {
  257. safecar[playerid] = false;
  258. }
  259. else if(GetVehicleModel(vehicleid) == 448) // Open Top
  260. {
  261. safecar[playerid] = false;
  262. }
  263. else if(GetVehicleModel(vehicleid) == 468) // Open Top
  264. {
  265. safecar[playerid] = false;
  266. }
  267. else if(GetVehicleModel(vehicleid) == 480) // Open Top
  268. {
  269. safecar[playerid] = false;
  270. }
  271. else if(GetVehicleModel(vehicleid) == 481) // Open Top
  272. {
  273. safecar[playerid] = false;
  274. }
  275. else if(GetVehicleModel(vehicleid) == 500) // Open Top
  276. {
  277. safecar[playerid] = false;
  278. }
  279. else if(GetVehicleModel(vehicleid) == 521) // Open Top
  280. {
  281. safecar[playerid] = false;
  282. }
  283. else if(GetVehicleModel(vehicleid) == 522) // Open Top
  284. {
  285. safecar[playerid] = false;
  286. }
  287. else if(GetVehicleModel(vehicleid) == 523) // Open Top
  288. {
  289. safecar[playerid] = false;
  290. }
  291. else if(GetVehicleModel(vehicleid) == 523) // Open Top
  292. {
  293. safecar[playerid] = false;
  294. }
  295. else if(GetVehicleModel(vehicleid) == 531) // Open Top
  296. {
  297. safecar[playerid] = false;
  298. }
  299. else if(GetVehicleModel(vehicleid) == 533) // Open Top
  300. {
  301. safecar[playerid] = false;
  302. }
  303. else if(GetVehicleModel(vehicleid) == 536) // Open Top
  304. {
  305. safecar[playerid] = false;
  306. }
  307. else if(GetVehicleModel(vehicleid) == 555) // Open Top
  308. {
  309. safecar[playerid] = false;
  310. }
  311. else if(GetVehicleModel(vehicleid) == 575) // Open Top
  312. {
  313. safecar[playerid] = false;
  314. }
  315. else
  316. {
  317. safecar[playerid] = true;
  318. }
  319. return 1;
  320. }
  321. public OnPlayerExitVehicle(playerid, vehicleid)
  322. {
  323. safecar[playerid] = false;
  324. return 1;
  325. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement