Advertisement
Guest User

SAMP Nuke Script

a guest
Jun 7th, 2011
867
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.99 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 nuke = false;
  42. new nukea = false;
  43. new nukeb = false;
  44. new nukec = false;
  45. new nuked = false;
  46. new Engine[MAX_VEHICLES];
  47. new nuketimer1;
  48. new fallouthp;
  49. forward makenuke(playerid);
  50. forward nuketimer();
  51. forward LaunchNuke();
  52. forward writelog(playerid);
  53. forward Fallout();
  54. forward fallouttime();
  55. forward destroynuke(playerid);
  56. //==============================================================================
  57. //================================END VARIABLE SETS=============================
  58. //==============================================================================
  59. public OnPlayerCommandText(playerid, cmdtext[])
  60. {
  61. if (strcmp("/makenuke", cmdtext, true, 10) == 0)
  62. {
  63. // YOU CAN INSERT IF HERE FOR GROUP/GANG/FACTION/ADMIN CHECK
  64. makenuke(playerid); // Starts Make Nuke Public, and Sends PlayerID
  65. // CLOSE IF STATEMENT; IF USED
  66. return 1;
  67.  
  68. }
  69. if (strcmp("/launchnuke", cmdtext, true, 10) == 0)
  70. {
  71. if (nuke == true)
  72. {
  73. LaunchNuke();
  74. }
  75. }
  76. return 0;
  77. }
  78.  
  79. public makenuke(playerid)
  80. {
  81.  
  82. if(IsPlayerInRangeOfPoint(playerid, 25.0, -62.238136, -1116.629028, 1.078125))
  83. {
  84. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  85. nuketimer1 = SetTimer("nuketimer",120000,false); // 30 mins before nuke will be finised.
  86. nukea = true;
  87. nukeb = false;
  88. nukec = false;
  89. nuked = false;
  90. }
  91. else if(IsPlayerInRangeOfPoint(playerid, 25.0, 263.488922, 21.603782, 3.433196))
  92. {
  93. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  94. nuketimer1 = SetTimer("nuketimer",120000,false); // 30 mins before nuke will be finised.
  95. nukea = false;
  96. nukeb = true;
  97. nukec = false;
  98. nuked = false;
  99. }
  100. else if(IsPlayerInRangeOfPoint(playerid, 25.0, 1080.911132, -345.248352, 73.984832))
  101. {
  102. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  103. nuketimer1 = SetTimer("nuketimer",120000,false); // 30 mins before nuke will be finised.
  104. nukea = false;
  105. nukeb = false;
  106. nukec = true;
  107. nuked = false;
  108. }
  109. else if(IsPlayerInRangeOfPoint(playerid, 25.0, 2755.711181, -2534.867431, 13.645303))
  110. {
  111. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Unconfirmed reports state a local terror cell has began building a nuclear bomb");
  112. nuketimer1 = SetTimer("nuketimer",120000,false); // 30 mins before nuke will be finised.
  113. nukea = false;
  114. nukeb = false;
  115. nukec = false;
  116. nuked = true;
  117. }
  118. else
  119. {
  120. SendClientMessage(playerid, COLOR_GREY,("You are not at a nuke construction site"));
  121. }
  122. return 1;
  123. }
  124. public nuketimer() //after devince created
  125. {
  126. SendClientMessageToAll(COLOR_RED, "NEWS WIRE: Confirmed reportes state a local terror cell has successfuly created a nuclear device");
  127. nuke = true;
  128. }
  129. public LaunchNuke()
  130. {
  131. for(new i=0; i<MAX_PLAYERS; i++)
  132. {
  133. if(IsPlayerConnected(i))
  134. {
  135. if(IsPlayerInRangeOfPoint(i, 250.0, 275.951751, 1816.600341, 1.007812))
  136. {
  137. // no action
  138. }
  139. else
  140. {
  141. new Float:x, Float:y, Float:z;
  142. if(IsPlayerInAnyVehicle(i))
  143. {
  144. RemovePlayerFromVehicle(i);
  145. SendClientMessage(i, COLOR_RED, "A light in sky forces you out of your car");
  146. }
  147. GetPlayerPos(i, x, y, z);
  148. SetPlayerHealth(i, 20);
  149. CreateExplosion(x+random(5), y+random(5), z+random(5), 7, 250.0);
  150. GameTextForAll("~n~~r~Nuclear Device Launched",10000,5);
  151. SendClientMessageToAll(COLOR_RED,("Fallout is affecting the city. Health will be low during this time."));
  152. Fallout();
  153. fallouthp = SetTimer("Fallout",6000,false);
  154. SetTimer("fallouttime",420000,false);
  155. SetWeather(19);
  156. }
  157. }
  158. }
  159. return 1;
  160. }
  161. public Fallout()
  162. {
  163.  
  164. for(new i=0; i<MAX_PLAYERS; i++)
  165.  
  166. {
  167. if(IsPlayerConnected(i))
  168. {
  169. new vehicleid;
  170. vehicleid = GetPlayerVehicleID(i);
  171. if(IsPlayerInRangeOfPoint(i, 250.0, 275.951751, 1816.600341, 1.007812))
  172. {
  173. fallouthp = SetTimer("Fallout",6000,false);
  174. }
  175. else
  176. {
  177. if(IsPlayerInAnyVehicle(i))
  178. {
  179. if(GetVehicleModel(vehicleid) == 424) // Open Top
  180. {
  181. new Float:hp;
  182. GetPlayerHealth(i,hp);
  183. SetPlayerHealth(i,(hp-3));
  184. SetPlayerDrunkLevel (i, 5000);
  185. fallouthp = SetTimer("Fallout",6000,false);
  186. }
  187. if(GetVehicleModel(vehicleid) == 448) // Open Top
  188. {
  189. new Float:hp;
  190. GetPlayerHealth(i,hp);
  191. SetPlayerHealth(i,(hp-3));
  192. SetPlayerDrunkLevel (i, 5000);
  193. fallouthp = SetTimer("Fallout",6000,false);
  194. }
  195. if(GetVehicleModel(vehicleid) == 468) // Open Top
  196. {
  197. new Float:hp;
  198. GetPlayerHealth(i,hp);
  199. SetPlayerHealth(i,(hp-3));
  200. SetPlayerDrunkLevel (i, 5000);
  201. fallouthp = SetTimer("Fallout",6000,false);
  202. }
  203. if(GetVehicleModel(vehicleid) == 480) // Open Top
  204. {
  205. new Float:hp;
  206. GetPlayerHealth(i,hp);
  207. SetPlayerHealth(i,(hp-3));
  208. SetPlayerDrunkLevel (i, 5000);
  209. fallouthp = SetTimer("Fallout",6000,false);
  210. }
  211. if(GetVehicleModel(vehicleid) == 481) // Open Top
  212. {
  213. new Float:hp;
  214. GetPlayerHealth(i,hp);
  215. SetPlayerHealth(i,(hp-3));
  216. SetPlayerDrunkLevel (i, 5000);
  217. fallouthp = SetTimer("Fallout",6000,false);
  218. }
  219. if(GetVehicleModel(vehicleid) == 500) // Open Top
  220. {
  221. new Float:hp;
  222. GetPlayerHealth(i,hp);
  223. SetPlayerHealth(i,(hp-3));
  224. SetPlayerDrunkLevel (i, 5000);
  225. fallouthp = SetTimer("Fallout",6000,false);
  226. }
  227. if(GetVehicleModel(vehicleid) == 521) // Open Top
  228. {
  229. new Float:hp;
  230. GetPlayerHealth(i,hp);
  231. SetPlayerHealth(i,(hp-3));
  232. SetPlayerDrunkLevel (i, 5000);
  233. fallouthp = SetTimer("Fallout",6000,false);
  234. }
  235. if(GetVehicleModel(vehicleid) == 522) // Open Top
  236. {
  237. new Float:hp;
  238. GetPlayerHealth(i,hp);
  239. SetPlayerHealth(i,(hp-3));
  240. SetPlayerDrunkLevel (i, 5000);
  241. fallouthp = SetTimer("Fallout",6000,false);
  242. }
  243. if(GetVehicleModel(vehicleid) == 523) // Open Top
  244. {
  245. new Float:hp;
  246. GetPlayerHealth(i,hp);
  247. SetPlayerHealth(i,(hp-3));
  248. SetPlayerDrunkLevel (i, 5000);
  249. fallouthp = SetTimer("Fallout",6000,false);
  250. }
  251. if(GetVehicleModel(vehicleid) == 523) // Open Top
  252. {
  253. new Float:hp;
  254. GetPlayerHealth(i,hp);
  255. SetPlayerHealth(i,(hp-3));
  256. SetPlayerDrunkLevel (i, 5000);
  257. fallouthp = SetTimer("Fallout",6000,false);
  258. }
  259. if(GetVehicleModel(vehicleid) == 531) // Open Top
  260. {
  261. new Float:hp;
  262. GetPlayerHealth(i,hp);
  263. SetPlayerHealth(i,(hp-3));
  264. SetPlayerDrunkLevel (i, 5000);
  265. fallouthp = SetTimer("Fallout",6000,false);
  266. }
  267. if(GetVehicleModel(vehicleid) == 533) // Open Top
  268. {
  269. new Float:hp;
  270. GetPlayerHealth(i,hp);
  271. SetPlayerHealth(i,(hp-3));
  272. SetPlayerDrunkLevel (i, 5000);
  273. fallouthp = SetTimer("Fallout",6000,false);
  274. }
  275. if(GetVehicleModel(vehicleid) == 536) // Open Top
  276. {
  277. new Float:hp;
  278. GetPlayerHealth(i,hp);
  279. SetPlayerHealth(i,(hp-3));
  280. SetPlayerDrunkLevel (i, 5000);
  281. fallouthp = SetTimer("Fallout",6000,false);
  282. }
  283. if(GetVehicleModel(vehicleid) == 555) // Open Top
  284. {
  285. new Float:hp;
  286. GetPlayerHealth(i,hp);
  287. SetPlayerHealth(i,(hp-3));
  288. SetPlayerDrunkLevel (i, 5000);
  289. fallouthp = SetTimer("Fallout",6000,false);
  290. }
  291. if(GetVehicleModel(vehicleid) == 575) // Open Top
  292. {
  293. new Float:hp;
  294. GetPlayerHealth(i,hp);
  295. SetPlayerHealth(i,(hp-3));
  296. SetPlayerDrunkLevel (i, 5000);
  297. fallouthp = SetTimer("Fallout",6000,false);
  298. }
  299. new Float:hp;
  300. GetPlayerHealth(i,hp);
  301. if(hp > 10)
  302. {
  303. // does nothing
  304. }
  305. else
  306. {
  307. SetPlayerHealth(i,(hp-1));
  308. }
  309. fallouthp = SetTimer("Fallout",6000,false);
  310. SetPlayerDrunkLevel (i, 0);
  311. /*enginetimer = SetTime("CarFail",120000,false); */
  312. /*
  313. DO NOT EDIT. THIS SECTION IS IN-DEVELOPMENT.
  314. */
  315. }
  316. else
  317. {
  318. new Float:hp;
  319. GetPlayerHealth(i,hp);
  320. SetPlayerHealth(i,(hp-3));
  321. SetPlayerDrunkLevel (i, 5000);
  322. fallouthp = SetTimer("Fallout",6000,false);
  323. }
  324. }
  325. }
  326. }
  327. return 1;
  328. }
  329.  
  330. public fallouttime()
  331. {
  332.  
  333. for(new i=0; i<MAX_PLAYERS; i++)
  334. {
  335. if(IsPlayerConnected(i))
  336. {
  337. SetWeather(0);
  338. KillTimer(fallouthp);
  339. }
  340. }
  341. return 1;
  342. }
  343. public destroynuke(playerid)
  344. {
  345. if(nukea == true) //xxxxxxxxxxxxx
  346. {
  347. //script
  348. if(IsPlayerInRangeOfPoint(playerid, 25.0, -62.238136, -1116.629028, 1.078125))
  349. {
  350. nuke = false;
  351. SendClientMessageToAll(COLOR_ADMINCMD,("NEWS WIRE: DHS has destroyed the Nuclear Device, before compleation"));
  352. KillTimer(nuketimer1);
  353. }
  354. }
  355. if(nukeb == true)
  356. {
  357. if(IsPlayerInRangeOfPoint(playerid, 25.0, 263.488922, 21.603782, 3.433196))
  358. {
  359. nuke = false;
  360. SendClientMessageToAll(COLOR_ADMINCMD,("NEWS WIRE: DHS has destroyed the Nuclear Device, before compleation"));
  361. KillTimer(nuketimer1);
  362. }
  363. }
  364. if(nukec == true)
  365. {
  366. if(IsPlayerInRangeOfPoint(playerid, 25.0, 1080.911132, -345.248352, 73.984832))
  367. {
  368. nuke = false;
  369. SendClientMessageToAll(COLOR_ADMINCMD,("NEWS WIRE: DHS has destroyed the Nuclear Device, before compleation"));
  370. KillTimer(nuketimer1);
  371. }
  372. }
  373. if(nuked == true)
  374. {
  375. if(IsPlayerInRangeOfPoint(playerid, 25.0, 2755.711181, -2534.867431, 13.645303))
  376. {
  377. nuke = false;
  378. SendClientMessageToAll(COLOR_ADMINCMD,("NEWS WIRE: DHS has destroyed the Nuclear Device, before compleation"));
  379. KillTimer(nuketimer1);
  380. }
  381. }
  382. return 1;
  383. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement