Jump to content
Sign in to follow this  
onedigita

civ killled script

Recommended Posts

_killed = _this select 0;
_killer = _this select 1;

if (_killer == vehicle _killer && isPlayer _killer) then { //not a vehicle and a player
player globalChat format ["A civilian was killed by %1!", name _killer];
player addscore -5;

if (_killer == vehicle player) then { // code for killer's machine
	_civskilled = (player getVariable ["civskilled", 0]) + 1;
	player setVariable ["civskilled", _civskilled];

	switch (_civskilled) do {
		case 1: {
			player globalChat format ["WARNING: You will be auto-punished for killing civilians"];
			sleep 2;
			player globalChat format ["WARNING: You will be auto-punished for killing civilians"];
		};
		case 2: {
			disableUserInput true;
			player globalChat format ["You have been disabled for 30 seconds for killing a civilian"];
			sleep 30;
			disableUserInput false;
		};
		case 3: {
			disableUserInput true;
			player globalChat format ["You have been disabled for 1 minute for killing a civilian"];
			sleep 60;
			disableUserInput false;
		};
		case 4: {
			disableUserInput true;
			player globalChat format ["You have been disabled for 2 minutes for killing a civilian"];
			sleep 120;
			disableUserInput false;
		};
		case 5: {
			player globalChat format ["You are being killed for killing a civilian"];
			sleep 5;
			player setDamage 1;
		};
		case 6: {
			player globalChat format ["WARNING: You are being kicked for Rules of Engagement violations"];
			sleep 5;
			endMission "Jail time";
		};
	};
};
};

this is what is in the init execVM "scripts\civkilled.sqf";

cant figure out why this wont work, any assistance would be greatly appreciated

Edited by onedigita

Share this post


Link to post
Share on other sites

You need to put the script call in a killed EH on each of the civilians:

civ addEventHandler ["Killed", {_this execVM "scripts\civKilled.sqf"}];

Share this post


Link to post
Share on other sites

Thanks for the reply Jshock! :) can I add that to my init file or do i have to add it to all the civs? im using alive to spawn them so if thats the case i might be sol.

Share this post


Link to post
Share on other sites

I think ALiVE has a means by which to apply stuff to all the spawned units I would look/ask in their thread.

Share this post


Link to post
Share on other sites

I'm going to give it a try later. Looks kinda interesting.

Works like a charm.

Create a script file called civilianKilled.sqf and copy it into your mission folder.

[color="#FF8040"][color="#1874CD"]_killed[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b];[/b][/color]
[color="#1874CD"]_killer[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b];[/b][/color]

[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_killer[/color] [color="#8B3E2F"][b]=[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]vehicle[/b][/color] [color="#1874CD"]_killer[/color] [color="#8B3E2F"][b]&[/b][/color][color="#8B3E2F"][b]&[/b][/color] [color="#191970"][b]isPlayer[/b][/color] [color="#1874CD"]_killer[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#006400"][i]//not a vehicle and a player[/i][/color]
[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"A civilian was killed by %1!"[/color][color="#8B3E2F"][b],[/b][/color] [color="#191970"][b]name[/b][/color] [color="#1874CD"]_killer[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
[color="#000000"]player[/color] [color="#191970"][b]addScore[/b][/color] [color="#FF0000"]-5[/color][color="#8B3E2F"][b];[/b][/color]

[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_killer[/color] [color="#8B3E2F"][b]=[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]vehicle[/b][/color] [color="#000000"]player[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#006400"][i]// code for killer's machine[/i][/color]
	[color="#1874CD"]_civskilled[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#000000"]player[/color] [color="#191970"][b]getVariable[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"civskilled"[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b])[/b][/color] [color="#8B3E2F"][b]+[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b];[/b][/color]
	[color="#000000"]player[/color] [color="#191970"][b]setVariable[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"civskilled"[/color][color="#8B3E2F"][b],[/b][/color] [color="#1874CD"]_civskilled[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]

	[color="#191970"][b]switch[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_civskilled[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]do[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
		[color="#191970"][b]case[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b]:[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"WARNING: You will be auto-punished for killing civilians"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]2[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"WARNING: You will be auto-punished for killing civilians"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
		[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
		[color="#191970"][b]case[/b][/color] [color="#FF0000"]2[/color][color="#8B3E2F"][b]:[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
			[color="#191970"][b]disableUserInput[/b][/color] [color="#000000"]true[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"You have been disabled for 30 seconds for killing a civilian"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]30[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]disableUserInput[/b][/color] [color="#000000"]false[/color][color="#8B3E2F"][b];[/b][/color]
		[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
		[color="#191970"][b]case[/b][/color] [color="#FF0000"]3[/color][color="#8B3E2F"][b]:[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
			[color="#191970"][b]disableUserInput[/b][/color] [color="#000000"]true[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"You have been disabled for 1 minute for killing a civilian"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]60[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]disableUserInput[/b][/color] [color="#000000"]false[/color][color="#8B3E2F"][b];[/b][/color]
		[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
		[color="#191970"][b]case[/b][/color] [color="#FF0000"]4[/color][color="#8B3E2F"][b]:[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
			[color="#191970"][b]disableUserInput[/b][/color] [color="#000000"]true[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"You have been disabled for 2 minutes for killing a civilian"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]120[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]disableUserInput[/b][/color] [color="#000000"]false[/color][color="#8B3E2F"][b];[/b][/color]
		[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
		[color="#191970"][b]case[/b][/color] [color="#FF0000"]5[/color][color="#8B3E2F"][b]:[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"You are being killed for killing a civilian"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]5[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]setDamage[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b];[/b][/color]
		[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
		[color="#191970"][b]case[/b][/color] [color="#FF0000"]6[/color][color="#8B3E2F"][b]:[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
			[color="#000000"]player[/color] [color="#191970"][b]globalChat[/b][/color] [color="#191970"][b]format[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"WARNING: You are being kicked for Rules of Engagement violations"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]5[/color][color="#8B3E2F"][b];[/b][/color]
			[color="#191970"][b]endMission[/b][/color] [color="#7A7A7A"]"Jail time"[/color][color="#8B3E2F"][b];[/b][/color]
		[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
	[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color][/color]

Made with KK's SQF to BBCode Converter

Afterwards put following lines in your init.sqf

[color="#FF8040"][color="#191970"][b]while[/b][/color] [color="#8B3E2F"][b]{[/b][/color][color="#000000"]true[/color][color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]do[/b][/color]
[color="#8B3E2F"][b]{[/b][/color]
[color="#8B3E2F"][b]{[/b][/color] 
	[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]side[/b][/color] [color="#000000"]_x[/color] [color="#8B3E2F"][b]=[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#000000"]civilian[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color]
	[color="#8B3E2F"][b]{[/b][/color]
	[color="#000000"]_x[/color] [color="#191970"][b]addEventHandler[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"Killed"[/color][color="#8B3E2F"][b],[/b][/color] [color="#8B3E2F"][b]{[/b][/color][color="#000000"]_this[/color] [color="#191970"][b]execVM[/b][/color] [color="#7A7A7A"]"civilianKilled.sqf"[/color][color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
	[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
[color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]forEach[/b][/color] [color="#191970"][b]allUnits[/b][/color][color="#8B3E2F"][b];[/b][/color]
[color="#191970"][b]sleep[/b][/color] [color="#FF0000"]5[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]//Adds the EH to every newly spawned cilvilian unit.[/i][/color]
[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color][/color]

Made with KK's SQF to BBCode Converter

There you go

Edited by R3vo

Share this post


Link to post
Share on other sites

Some feedback on the intention of the code ... If the scenario locks my session (disableUserInput) for killing a civilian, I'll simply leave the game and find another scenario to play. I have experienced such things, its kind of lame, and I'd rather Alt + F4 than play with such a script attached to my UI. Just my thoughts, YMMV.

Share this post


Link to post
Share on other sites
Some feedback on the intention of the code ... If the scenario locks my session (disableUserInput) for killing a civilian, I'll simply leave the game and find another scenario to play. I have experienced such things, its kind of lame, and I'd rather Alt + F4 than play with such a script attached to my UI. Just my thoughts, YMMV.

Exactly my thought when testing, was really annoying. But well, the mission designer can easiely change the behavior of the script and add something like:

_killer addScore -10

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×