Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a comment
- // uncomment the line below if you want to write a filterscript
- #define FILTERSCRIPT
- #include <a_samp>
- #include <foreach>
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Nuclear Bomb | BlackWidow ");
- // Please do not edit this tag //
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #endif
- //==============================================================================
- //===========================Customizeable Settings=============================
- //==============================================================================
- //
- // #define savelog true // change to "false" to disable logging. [coming soon]
- //
- //==============================================================================
- //==============================END CUSTOMIZATION===============================
- //==============================================================================
- //
- //==============================================================================
- //============================DO NOT EDIT THIS BELLOW===========================
- //==============================================================================
- #define COLOR_RED 0xAA3333AA
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_ADMINCMD 0x007E96F6
- new bool:nuke = false;
- new bool:nukea = false;
- new bool:nukeb = false;
- new bool:nukec = false;
- new bool:nuked = false;
- //new bool:fallout = false; planned for later version
- new bool:safecar[MAX_PLAYERS];
- new bool:safe[MAX_PLAYERS];
- //new Engine[MAX_VEHICLES]; planned for later version
- new nuketimer1;
- new fallouthp;
- //CUSTOMS
- new bool:fhp = true; // change this to false to disable health loss in fallout.
- forward makenuke(playerid);
- forward nuketimer();
- forward LaunchNuke();
- forward writelog(playerid);
- forward Fallout();
- forward fallouttime();
- forward destroynuke(playerid);
- //==============================================================================
- //================================END VARIABLE SETS=============================
- //==============================================================================
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/makenuke", cmdtext, true, 10) == 0)
- {
- // YOU CAN INSERT IF HERE FOR GROUP/GANG/FACTION/ADMIN CHECK
- new name[MAX_PLAYER_NAME], astr[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(astr, sizeof(astr), "%s used /makenuke", name);
- foreach(Player, i)
- {
- if(IsPlayerAdmin(i)) {
- SendClientMessage(i, COLOR_RED, astr); }
- }
- makenuke(playerid); // Starts Make Nuke Public, and Sends PlayerID
- // CLOSE IF STATEMENT; IF USED
- return 1;
- }
- if (strcmp("/launchnuke", cmdtext, true, 10) == 0)
- {
- if (nuke == true)
- {
- LaunchNuke();
- }
- }
- // admin (rcon) commands
- if (strcmp("/nukea", cmdtext, true, 10) ==0)
- {
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerPos(playerid, -62.238136, -1116.629028, 1.078125);
- }
- else
- {
- return 0;
- }
- return 1;
- }
- if (strcmp("/nukeb", cmdtext, true, 10) ==0)
- {
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerPos(playerid, 263.488922, 21.603782, 3.433196);
- }
- else
- {
- return 0;
- }
- return 1;
- }
- if (strcmp("/nukec", cmdtext, true, 10) ==0)
- {
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerPos(playerid, 1080.911132, -345.248352, 73.984832);
- }
- else
- {
- return 0;
- }
- return 1;
- }
- if (strcmp("/nuked", cmdtext, true, 10) ==0)
- {
- if(IsPlayerAdmin(playerid))
- {
- SetPlayerPos(playerid, 2755.711181, -2534.867431, 13.645303);
- }
- else
- {
- return 0;
- }
- return 1;
- }
- if (strcmp("/nonuke", cmdtext, true, 10) ==0)
- {
- if(IsPlayerAdmin(playerid)) {
- nukea = false;
- nukeb = false;
- nukec = false;
- nuked = false;
- KillTimer(nuketimer1);
- }
- return 1;
- }
- return 0;
- }
- public makenuke(playerid)
- {
- if(nukea == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // prevents dual nuke
- if(nukeb == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // preventd dual nuke
- if(nukec == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // prevents dual nuke
- if(nuked == true) return SendClientMessage(playerid, COLOR_RED, "A nuke is already under construction"); // prevents dual nuke
- if(IsPlayerInRangeOfPoint(playerid, 25.0, -62.238136, -1116.629028, 1.078125))
- {
- SendClientMessageToAll(COLOR_RED, "A nuclear bomb is being constructed!");
- nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
- nukea = true;
- nukeb = false;
- nukec = false;
- nuked = false;
- }
- else if(IsPlayerInRangeOfPoint(playerid, 25.0, 263.488922, 21.603782, 3.433196))
- {
- SendClientMessageToAll(COLOR_RED, "A nuclear bomb is being constructed!");
- nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
- nukea = false;
- nukeb = true;
- nukec = false;
- nuked = false;
- }
- else if(IsPlayerInRangeOfPoint(playerid, 25.0, 1080.911132, -345.248352, 73.984832))
- {
- SendClientMessageToAll(COLOR_RED, "A nuclear bomb is being constructed!");
- nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
- nukea = false;
- nukeb = false;
- nukec = true;
- nuked = false;
- }
- else if(IsPlayerInRangeOfPoint(playerid, 25.0, 2755.711181, -2534.867431, 13.645303))
- {
- SendClientMessageToAll(COLOR_RED, "A nuclear bomb is being constructed!");
- nuketimer1 = SetTimer("nuketimer",120000,false); // 2 mins before nuke will be finised.
- nukea = false;
- nukeb = false;
- nukec = false;
- nuked = true;
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY,("You are not at a nuke construction site")); // not at site
- }
- return 1;
- }
- public nuketimer() //after device created.
- {
- SendClientMessageToAll(COLOR_RED, "A nuclear bomb is ready for deployment.");
- nuke = true;
- KillTimer(nuketimer1);
- }
- public LaunchNuke()
- {
- foreach (Player, i)
- {
- if(IsPlayerConnected(i))
- {
- if(IsPlayerInRangeOfPoint(i, 250.0, 275.951751, 1816.600341, 1.007812))
- {
- // no action
- }
- else
- {
- new Float:x, Float:y, Float:z;
- if(IsPlayerInAnyVehicle(i))
- {
- RemovePlayerFromVehicle(i);
- SendClientMessage(i, COLOR_RED, "A light in sky forces you out of your car");
- }
- GetPlayerPos(i, x, y, z);
- SetPlayerHealth(i, 20);
- CreateExplosion(x+random(5), y+random(5), z+random(5), 7, 250.0);
- GameTextForAll("~n~~r~Nuclear Device Launched",10000,5);
- //fallout = true; planned.
- Fallout();
- fallouthp = SetTimer("Fallout",6000,false);
- SetTimer("fallouttime",420000,false);
- SetWeather(19);
- }
- }
- }
- return 1;
- }
- public Fallout()
- {
- if(fhp == true) {
- new Float:hp;
- foreach (Player, i)
- {
- if(safe[i] != true){ // prevents death bug.
- if(safecar[i] == false) {
- GetPlayerHealth(i, hp);
- SetPlayerHealth(i, hp - 1.0); }
- else {
- GetPlayerHealth(i, hp);
- SetPlayerHealth(i, hp - 2.0); }
- }
- }
- }
- fallouthp = SetTimer("Fallout",6000,false);
- return 1;
- }
- public fallouttime()
- {
- SetWeather(0);
- //fallout = false; planned.
- foreach(Player, i)
- {
- safe[i] = false;
- }
- KillTimer(fallouthp);
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(GetVehicleModel(vehicleid) == 424 || GetVehicleModel(vehicleid) == 448 || GetVehicleModel(vehicleid) == 468 || GetVehicleModel(vehicleid) == 480 || GetVehicleModel(vehicleid) == 481 || GetVehicleModel(vehicleid) == 500) {
- safecar[playerid] = false; }
- else if(GetVehicleModel(vehicleid) == 521 || GetVehicleModel(vehicleid) == 522 || GetVehicleModel(vehicleid) == 523 || GetVehicleModel(vehicleid) == 523 || GetVehicleModel(vehicleid) == 531 || GetVehicleModel(vehicleid) == 533) {
- safecar[playerid] = false; }
- else if(GetVehicleModel(vehicleid) == 536 || GetVehicleModel(vehicleid) == 555 || GetVehicleModel(vehicleid) == 575) {
- safecar[playerid] = false; }
- else {
- safecar[playerid] = true; }
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- safecar[playerid] = false;
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- safe[playerid] = true; // to protect from death bug.
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement