Jump to content

[WIP] Nuke a random town from laptop.


Recommended Posts

Right now what this dose is.. 

 https://www.youtube.com/watch?v=JRlqwDvdHms


sets up  a laptop at the location of your choice that can trigger a nuke to go off at one of your predefined locations at random 1 time per restart. 

 
Send a warning to all players who are on the server at the time. 

 
Nuclear bomb goes off with air raid sirens going off at the location before it dose. 
 
Radiation zone will appear after the nuke has gone off surrounding the location of the nuke with some funky visual effects, blood loss and Geiger counter sounds  
 
Option to set skins that block the effects of blood loss in that zone. 
 
Ash falling down from the sky along with some wind effects across the whole map and for everyone. 
 
Effects and radiation zone will work for everyone who joins after the nuke has gone off and also for anyone who relogs. 

 

 

 

Warning!!

 

I'm still a noob scripter and I am learning as I go along so expect issues with this script when it is still WIP.

 

I haven't tested this on a live server. so I have no clue how this will effect server performance on a highly populated server. If someone would be willing to try that would be great!

 

Download (alpha test)

 

The basics of it are working now and I though someone might want to check it out as it is now.

 

Test version can be found here V0.5

 

Changes.

 

v0.5

1. Removed building damage for now as it can be a total lag fest.

2. tested under epoch 1.0.5.1

3. Read fn_self actions section ( fixed why people could't see the option (Doh!)

 

v0.4

1. Added an option to enable a marker showing the radiation zone to all players on the map (including people who join after)

2. Added an option to enable a timer on the radiation zone so when the timer is up it will delete the zone/marker and reset all effects on players in the zone (damage will stay to buildings even for people who join after)

3. moved all settings & location options to one file.

4. renamed most variables to save hassle with BE filters.

IF YOU HAVE USED AN OLD VERSION PLEASE CHECK HOW TO INSTALL AS IT IS NOW DIFFERENT.

 

v0.3B

Fixed Bad Var kick with infiSTAR AH

 

v0.3

1.Timings should be better

2.Timing of the explosion sound will depend on how close/far away your are 

3.Removed the need to edit BE filters (not relying on a client sending a PV anymore)

4.Separate options to enable/disable destruction for vehicles and buildings (Update init with new options)

5.Made it possible for the script to only run one time per restart (people won't be able to trigger it to go off over and over again)

6.Fixed people not dying in the blast zone

 

v0.2b

1. Removed the need to edit scripts.txt

 

v0.2

1. Made the laptop spawn server side and it will now get deleted after first use.

2. Fixed Issues with BE kicks (see Battleye Filters)

3. Tested with infiSTAR.de anti hack (as admin and as non admin)

 

Know issues.

 

1. Warning hint message doesn't stay up long enough to see with infiSTAR debug.

 

 

How to install 

 

1. Copy the folder called Nuke to your mission file and add the following to your fn_selfActions.sqF

//Put This Under the
//Study Body Section.


	if (cursorTarget == LAPTOP) then {
		_lap = cursorTarget;
		if (s_player_nuke < 0) then {
			s_player_nuke = player addAction [("<t color=""#FF0000"">" + ("Set Off Nuke") +"</t>"),"Nuke\nuke_On.sqf",_lap, 5, false, true, "",""];
		};
	} else {
		player removeAction s_player_nuke;
		s_player_nuke = -1;
	};


/////////////////////////////////////////
then add this to the //others section



	player removeAction s_player_nuke;
	s_player_nuke = -1;

//////////////////////////////////////////

>>>>>>>>>>>>>
example

	//Others
	player removeAction s_player_forceSave;
	s_player_forceSave = -1;
	player removeAction s_player_flipveh;
	s_player_flipveh = -1;
	player removeAction s_player_sleep;
	s_player_sleep = -1;
	player removeAction s_player_deleteBuild;
	s_player_deleteBuild = -1;
	player removeAction s_player_butcher;
	s_player_butcher = -1;
	player removeAction s_player_cook;
	s_player_cook = -1;
	player removeAction s_player_boil;
	s_player_boil = -1;
	player removeAction s_player_fireout;
	s_player_fireout = -1;
	player removeAction s_player_packtent;
	s_player_packtent = -1;
	player removeAction s_player_fillfuel;
	s_player_fillfuel = -1;
	player removeAction s_player_studybody;
	s_player_studybody = -1;
	player removeAction s_player_teabag;
	s_player_teabag = -1;
	player removeAction s_clothes;
	s_clothes = -1;
	player removeAction s_player_dance;
    s_player_dance = -1;
	player removeAction s_player_nuke;
	s_player_nuke = -1;

2. Add

 execVM "Nuke\Effects\effects.sqf";
 
 To the section
 if (!isDedicated) then {
 
 Example//////////////////////////////////////////////////////////////////////////////////////
 
 if (!isDedicated) then {
	//Conduct map operations
	0 fadeSound 0;
	waitUntil {!isNil "dayz_loadScreenMsg"};
	dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");
	
	//Run the player monitor
	_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];
	_playerMonitor = 	[] execVM "\z\addons\dayz_code\system\player_monitor.sqf";	
	
	//anti Hack
	[] execVM "\z\addons\dayz_code\system\antihack.sqf";

	//Lights
	//[false,12] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";
	execVM "Nuke\Effects\effects.sqf";
	
};

 

3. Add

 execVM "Nuke\server_Nuke.sqf";
 
 To the section
 if (isServer) then {
 
 Example//////////////////////////////////////////////////////////////////////////////////////

 if (isServer) then {
	call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\dynamic_vehicle.sqf";
	//Compile vehicle configs
	
	// Add trader citys
	_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\mission.sqf";
	_serverMonitor = 	[] execVM "\z\addons\dayz_code\system\server_monitor.sqf";
	execVM "Nuke\server_Nuke.sqf"; 
};

 

4. Add 

call compile preprocessFileLineNumbers "Nuke\Settings.sqf";
Right under the line
call compile preprocessFileLineNumbers "server_traders.sqf";	 

In your init.sqf

5.Add

#include "Nuke\sound\sounds.hpp"

To the bottom of description.ext

NOTE>>
If you have already added a cfgsounds section to description.ext you will have to add the sound classes from Nuke\sound\sounds.hpp to your own cfgsounds section.

6. Open Nuke\settings.sqf and add your locations\laptop postion in there and edit the settings to your liking.

 

Battleye Filters

No changes. (v0.3)

To do list. 

 
Add options to set the time before detonation.

 

Add option to whitelist certain objects from destruction like locked vehicle's etc 

 

Have the option to make it work as an epoch event. 

 

Maybe force view distance temporally so most people can see it or even a temporally add a action menu to set it higher if the please then reset it and disable it after the event. 

 

Add a jet to fly over nuke the location just before it goes off. 

 

Fix the ash effect as it breaks on a skin change or tp. 

 

Take a look at the colour corrections as sometimes the transitions can be buggy and not come on smooth. 

 

And lots more bugs and stuff I haven't even thought about yet. 

 

 

This is still very much WIP and could mess things up so be warned.

Also If you have any ideas how to improve please let me know.

 

Credits 

A Cupboard Named Jim for helping me test. 

The Epoch devs for Geiger counter, blood loss and cam shake etc. 

mmmyum for the air raid sirens and location selection. 

BI for the the nuke effects (I think it's from arma 2 OA Eagle Wing Campaign) 

Loads of other people for snippets of code I studied, used and learned from.

 

 

NOTE THE SCRIPT BELOW ISN'T NEEDED FOR THE NUKE SCRIPT ITS JUST FOR A RADIATION ZONE TO SPAWN AFTER A EVR.

 

RadiationZone After A Blow Out (EVR Storm)

 

Here is a script that will spawn a radiation zone after the first blow out without the nuke on your server for anyone who uses them.

download

Put the folder called radiationZone in your mission file and then add

execVM "radiationZone\blowoutZone.sqf"

to the bottom of your init.sqf

You can eidt the settings in blowoutZone.sqf

 

I Will make it move location on every blowout at some point also.

Link to comment
Share on other sites

How about view distance? I played around with nukes a while ago and another problem was that, that cone cannot be seen that far away.

 

I will actually run some tests on that, i think i still have the script sitting somewhere.. but when i last tried it for said event i think there was no problem there .. (Was at NWA and i spectated it from above Misty Peak in a heli with my client view distance on about 4000 meters or so..)

Link to comment
Share on other sites

How about view distance? I played around with nukes a while ago and another problem was that, that cone cannot be seen that far away.

This is true. The default view distance sucks. On namalsk I let people set there own as the map is small and fps is good. I'm not sure how far away you got to be to see it with the default view distance.

I will check this out at some point.

 

Right now I'm working on the effects for being in the rad zone. I ditched the yellow for some crazy wobble effect if you are in a skin that doesn't protect you. I'm not sure about the effects of protected skins yet. still toying around with it all.

 

Still looooads to do and think about.

Link to comment
Share on other sites

My friends idea is to have a laptop in the underground base of tavi with npc's defending loot and stuff down there also. You could also set it up as an event or whatever.

 

I guess so i run Chernarus and NPC's lag my Vilayer server to hell

 

 

Also when you release this will you make it only activatable once per restart?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
×
×
  • Create New...