Jump to content

***[Knock/Abuse/StoleBlood/]***


Recommended Posts

With this players can knock out others, and stole blood, and abuse.

BASED IN KNOCK OUT SYSTEM OF PLAYER2 original :

http://opendayz.net/threads/release-player2s-knockout.12533/

*Install:

u will need a custom fn_selfActions.sqf . compiles.sqf , variables.sqf , PublicEh.sqf

1-making this custom sqf.

paste fn_selfActions.sqf . compiles.sqf , variables.sqf , PublicEh.sqf  in MPmissions\yourInstance\custom\

Now go to your init.sqf and change your lines by this lines in blue. (if u already have all this customs or just a few.. just add all you dont have.)

Spoiler

//Load in compiled functions
call compile preprocessFileLineNumbers "custom\variables.sqf";                //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "custom\publicEH.sqf";                //Initilize the publicVariable event handlers
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";    //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "custom\compiles.sqf";    // Custom Compile
/*ZSC*/    
call compile preprocessFileLineNumbers "ZSC\gold\ZSCinit.sqf";
/*ZSC*/            
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders_cherno_11.sqf";                //Compile trader configs
progressLoadingScreen 1.0;

fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";  // IF ure calling fn_selfaction from custom compiles.sqf Dont add this line or delete the call from compiles.sqf

2-Go to your custom fn_SelfActions.sqf

find:

	player removeAction s_player_studybody;
	s_player_studybody = -1;

and add below

player removeAction s_player_knockout;
    s_player_knockout = -1;
	player removeAction s_player_force;
    s_player_force = -1;
	player removeAction s_player_sblood;
    s_player_sblood = -1;

Find:

//Dog
		if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {
			if (s_player_tamedog < 0) then {
				s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];
			};
		} else {
			player removeAction s_player_tamedog;
			s_player_tamedog = -1;
		};

add below

 //####    KNOCKOUT            ####
    _unconscious =    cursorTarget getVariable ["NORRN_unconscious", false];
 
    if (_isMan and _isAlive and !_isZombie and _canDo and !_unconscious) then {
        if (s_player_knockout < 0) then {
            s_player_knockout = player addAction [("<t color=""#FF9800"">" + ("Knockout!") + "</t>"), "fixes\knockout.sqf",cursorTarget, 0, false, true, "",""];
        };
    } else {
        player removeAction s_player_knockout;
        s_player_knockout = -1;
    };
    //##############################
	//********abuse/stole blood
	if (_isMan and _isAlive and !_isZombie and !_isAnimal and _unconscious  and _canDo and (player distance cursorTarget < 3)) then {
	if (s_player_force < 0) then {
            s_player_force = player addAction [("<t color=""#FF9800"">" + ("Abuse") + "</t>"), "fixes\forced.sqf",cursorTarget, 0, false, true, "",""];
        };
		if (s_player_sblood < 0) then {
            s_player_sblood = player addAction [("<t color=""#FF9800"">" + ("StoleBlood") + "</t>"), "fixes\sblood.sqf",cursorTarget, 0, false, true, "",""];
        };
		
    } else {
        player removeAction s_player_force;
        s_player_force = -1;
		player removeAction s_player_sblood;
        s_player_sblood = -1;			
	};
	//********end of abuse/stole

3-Now go to custom compiles.sqf

find:

player_sleep = 				compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";

add below:

player_knockout =           compile preprocessFileLineNumbers "fixes\knockout2.sqf";
player_sblood2 =           compile preprocessFileLineNumbers "fixes\sblood2.sqf";
player_force2 =            compile preprocessFileLineNumbers "fixes\forced2.sqf";

4- in custom variables.sqf

find:

canRoll = true;

place above:

dayz_knockout = [];
dayz_sblood2 =[];
dayz_force2 =[];

5-in custom PublicEH.sqf

find:

"PVDZE_obj_Fire"		addPublicVariableEventHandler {nulexp=(_this select 1) spawn BIS_Effects_Burn};

place below:

"dayz_knockout"         addPublicVariableEventHandler {nul=(_this select 1) call player_knockout};
"dayz_sblood2"           addPublicVariableEventHandler {nul=(_this select 1) call player_sblood2};
"dayz_force2"           addPublicVariableEventHandler {nul=(_this select 1) call player_force2};

6-Now, in MPMissions\yourinstance\ create a folder called "fixes". Then create and drop into all this .sqf

knockout.sqf

Spoiler

private["_hasCrowbar1","_item","_text","_body","_name","_hasCrowbar2","_knockoutMode"];
_body =    _this select 3;
_onLadder =        (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
 
if (_onLadder) exitWith {cutText ["You can't knock a player out while you're on a ladder; don't you know anything?" , "PLAIN DOWN"]};
 
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// Knockout Configuration \\\\\\\\\\\\\\\\\\\\\\\\\
///////////////////////////////////////////////////
//==============================================//
// Knockout Gear Requirements
//--------------------------------------------//
// 2: Weapon (Primary or Secondary) Required
// 1: Crowbar Required
// 0: Nothing Required
//---------------------------------------//
_knockoutMode = 2;
//=====================================//
// Credits
//-----------------------------------//
// Script by Player2
// Thanks To:
// DayZRedux, OpenDayZ
// GhostZ, Gorsy
//==============================//
// www.ZombZ.net
//============================//
 
_hasCrowbar1 = "MeleeCrowbar" in weapons player;
_hasCrowbar2 = "ItemCrowbar" in items player;
_hasPrimary = 0;
 
if (PrimaryWeapon player != "") then {
    _hasPrimary = 1;
} else {
    _hasPrimary = 0;
};
 
 
if (_knockoutMode == 0) then {
    dayz_knockout = [_body,3.5];
    publicVariable "dayz_knockout";
    player playActionNow "PutDown";
    sleep 1;
};
 
if (_knockoutMode == 1) then {
    if (_hasCrowbar1) then {
        dayz_knockout = [_body,3.5];
        publicVariable "dayz_knockout";
        player playActionNow "PutDown";
        sleep 1;
    };
 
    if (_hasCrowbar2) then {
        dayz_knockout = [_body,3.5];
        publicVariable "dayz_knockout";
        player playActionNow "PutDown";
        sleep 1;
    };
 
    if (!_hasCrowbar1 and !_hasCrowbar2) exitWith
    {
        cutText ["You need a Crowbar for this!" , "PLAIN DOWN"];
    };
};
 
if (_knockoutMode == 2) then {
    if (_hasPrimary == 1) then {
        dayz_knockout = [_body,3.5];
        publicVariable "dayz_knockout";
        player playActionNow "PutDown";
        sleep 1;
    } else {
        cutText ["You need a Weapon for this!" , "PLAIN DOWN"];
    };
};

knockout2.sqf

Spoiler

private["_body","_duration"];
_body = _this select 0;
_duration = _this select 1;
 
diag_log("Knockout attempt on:" + str(_body) + " and I am: " + str(player) );
 
if (_body == player) then {
    diag_log("Knocked out!");
    [player, _duration] call fnc_usec_damageUnconscious;
    cutText ["You've been knocked out! This is not good!", "PLAIN DOWN"];
};

forced.sqf

Spoiler

private ["_body","_isBandit","_isHero","_infectrand","_welcomeMessage","_camDistance"];
_body = _this select 3;
_isBandit = (cursortarget getVariable["humanity",0]) <= -2500;
_isHero = (cursortarget getVariable["humanity",0]) >= 5000;
_infectrand = round(random 10);    
_welcomeMessage = format["You suck Dont do it in real life!, %1,",format["%1", name player]];
_camDistance = 60;

dayz_force2 = [_body,3.5];
publicVariable "dayz_force2";
 showCinemaBorder true;
   camUseNVG false;               
   _camera = "camera" camCreate [(position player select 0)-2, position player select 1,(position player select 2)+_camDistance];
   _camera cameraEffect ["internal","back"];
   
   _camera camSetFOV 2.000;
   _camera camCommit 0;
   waitUntil {camCommitted _camera};
   playSound "heartbeat_1";
 
   _camera camSetTarget vehicle player;
   _camera camSetRelPos [0,0,2];
   _camera camCommit 8;
 
   cutText [_welcomeMessage, "PLAIN DOWN"];

   waitUntil {camCommitted _camera};
 
  _camera cameraEffect ["terminate","back"];
  camDestroy _camera;  

    if (_isBandit) then {
        [player,-250] call player_humanityChange;
        cutText [", -250 humanity.", "PLAIN DOWN"];
    if (_infectrand < 4) then {r_player_infected = true;
        cutText [format["%1, you get infected by some kind of virus",name player], "PLAIN DOWN"];
    };
    };
    if (!_isHero and !_isBandit) then {
        [player,-500] call player_humanityChange;
        cutText [", -500 humanity.", "PLAIN DOWN"];
    if (_infectrand < 4) then {r_player_infected = true;
        cutText [format["%1, you get infected by some kind of virus",name player], "PLAIN DOWN"];
    };    
    };
    if (_isHero) then {
        [player,-1000] call player_humanityChange;
        cutText [", -1000 humanity.", "PLAIN DOWN"];
    if (_infectrand < 4) then {r_player_infected = true;
        cutText [format["%1, you get infected by some kind of virus",name player], "PLAIN DOWN"];
    };    
};   

forced2.sqf

Spoiler

private["_body"];
_body = _this select 0;

diag_log("force2 attempt on:" + str(_body) + " and I am: " + str(player) );

if (_body == player) then {
diag_log("Youre been forced to have sex");
[player,-100] call player_humanityChange;
r_player_infected = true;
r_player_inpain = true;
player setVariable["USEC_inPain",true,true];
cutText ["youre been forced to have sex", "PLAIN DOWN"];
};

 

sblood.sqf

Spoiler


private ["_body","_LastUsedTime","_Time"];
_body = _this select 3;
_LastUsedTime = 160;
_Time = time - lastuse;

if(_Time < _LastUsedTime) exitWith {
    cutText [format["espera %1 segundos !",(round(_Time - _LastUsedTime))], "PLAIN DOWN"];
};
    
lastuse = time;
dayz_sblood2 = [_body,3.5];
publicVariable "dayz_sblood2";
player playActionNow "Medic";
    sleep 2;
    player addMagazine "ItemBloodbag";
    [player,-100] call player_humanityChange;
    sleep 3;
    cutText ["Robaste la Sangre de este survivor", "PLAIN DOWN"];

sblood2.sqf

Spoiler

private["_body"];
_body = _this select 0;

diag_log("sblood2 attempt on:" + str(_body) + " and I am: " + str(player) );
 
if (_body == player) then {
    diag_log("Sotle Blood");
    r_player_blood = r_player_blood - 1000;
    r_player_injured = true;
    publicVariable "PVDZE_hlt_Bleed";
    r_player_inpain = true;
    //player setVariable["USEC_injured",true]; // bleeding  
    cutText ["Someone stole your blood! This is not good!", "PLAIN DOWN"];
};

 

 

Link to comment
Share on other sites

  • 2 weeks later...
On 22/6/2559 at 1:48 AM, juandayz said:

With this players can knock out others, and stole blood, and abuse.

BASED IN KNOCK OUT SYSTEM OF PLAYER2 original :


http://opendayz.net/threads/release-player2s-knockout.12533/

*Install:

u will need a custom fn_selfActions.sqf . compiles.sqf , variables.sqf , PublicEh.sqf

1-making this custom sqf.

paste fn_selfActions.sqf . compiles.sqf , variables.sqf , PublicEh.sqf  in MPmissions\yourInstance\custom\

Now go to your init.sqf and change your lines by this lines in blue. (if u already have all this customs or just a few.. just add all you dont have.)

  Reveal hidden contents

//Load in compiled functions
call compile preprocessFileLineNumbers "custom\variables.sqf";                //Initilize the Variables (IMPORTANT: Must happen very early)
progressLoadingScreen 0.1;
call compile preprocessFileLineNumbers "custom\publicEH.sqf";                //Initilize the publicVariable event handlers
progressLoadingScreen 0.2;
call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf";    //Functions used by CLIENT for medical
progressLoadingScreen 0.4;
call compile preprocessFileLineNumbers "custom\compiles.sqf";    // Custom Compile
/*ZSC*/    
call compile preprocessFileLineNumbers "ZSC\gold\ZSCinit.sqf";
/*ZSC*/            
progressLoadingScreen 0.5;
call compile preprocessFileLineNumbers "server_traders_cherno_11.sqf";                //Compile trader configs
progressLoadingScreen 1.0;

fnc_usec_selfActions = compile preprocessFileLineNumbers "custom\fn_selfActions.sqf";  // IF ure calling fn_selfaction from custom compiles.sqf Dont add this line or delete the call from compiles.sqf

2-Go to your custom fn_SelfActions.sqf

find:


	player removeAction s_player_studybody;
	s_player_studybody = -1;

and add below


player removeAction s_player_knockout;
    s_player_knockout = -1;
	player removeAction s_player_force;
    s_player_force = -1;
	player removeAction s_player_sblood;
    s_player_sblood = -1;

Find:


//Dog
		if (_isDog && _isAlive && (_hasRawMeat) && _ownerID == "0" && player getVariable ["dogID", 0] == 0) then {
			if (s_player_tamedog < 0) then {
				s_player_tamedog = player addAction [localize "str_actions_tamedog", "\z\addons\dayz_code\actions\tame_dog.sqf", _cursorTarget, 1, false, true, "", ""];
			};
		} else {
			player removeAction s_player_tamedog;
			s_player_tamedog = -1;
		};

add below


 //####    KNOCKOUT            ####
    _unconscious =    cursorTarget getVariable ["NORRN_unconscious", false];
 
    if (_isMan and _isAlive and !_isZombie and _canDo and !_unconscious) then {
        if (s_player_knockout < 0) then {
            s_player_knockout = player addAction [("<t color=""#FF9800"">" + ("Knockout!") + "</t>"), "fixes\knockout.sqf",cursorTarget, 0, false, true, "",""];
        };
    } else {
        player removeAction s_player_knockout;
        s_player_knockout = -1;
    };
    //##############################
	//********abuse/stole blood
	if (_isMan and _isAlive and !_isZombie and !_isAnimal and _unconscious  and _canDo and (player distance cursorTarget < 3)) then {
	if (s_player_force < 0) then {
            s_player_force = player addAction [("<t color=""#FF9800"">" + ("Abuse") + "</t>"), "fixes\forced.sqf",cursorTarget, 0, false, true, "",""];
        };
		if (s_player_sblood < 0) then {
            s_player_sblood = player addAction [("<t color=""#FF9800"">" + ("StoleBlood") + "</t>"), "fixes\sblood.sqf",cursorTarget, 0, false, true, "",""];
        };
		
    } else {
        player removeAction s_player_force;
        s_player_force = -1;
		player removeAction s_player_sblood;
        s_player_sblood = -1;			
	};
	//********end of abuse/stole

3-Now go to custom compiles.sqf

find:


player_sleep = 				compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";

add below:


player_knockout =           compile preprocessFileLineNumbers "fixes\knockout2.sqf";
player_sblood2 =           compile preprocessFileLineNumbers "fixes\sblood2.sqf";
player_force2 =            compile preprocessFileLineNumbers "fixes\forced2.sqf";

4- in custom variables.sqf

find:


canRoll = true;

place above:


dayz_knockout = [];
dayz_sblood2 =[];
dayz_force2 =[];

5-in custom PublicEH.sqf

find:


"PVDZE_obj_Fire"		addPublicVariableEventHandler {nulexp=(_this select 1) spawn BIS_Effects_Burn};

place below:


"dayz_knockout"         addPublicVariableEventHandler {nul=(_this select 1) call player_knockout};
"dayz_sblood2"           addPublicVariableEventHandler {nul=(_this select 1) call player_sblood2};
"dayz_force2"           addPublicVariableEventHandler {nul=(_this select 1) call player_force2};

6-Now, in MPMissions\yourinstance\ create a folder called "fixes". Then create and drop into all this .sqf

knockout.sqf

  Reveal hidden contents

private["_hasCrowbar1","_item","_text","_body","_name","_hasCrowbar2","_knockoutMode"];
_body =    _this select 3;
_onLadder =        (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
 
if (_onLadder) exitWith {cutText ["You can't knock a player out while you're on a ladder; don't you know anything?" , "PLAIN DOWN"]};
 
//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
// Knockout Configuration \\\\\\\\\\\\\\\\\\\\\\\\\
///////////////////////////////////////////////////
//==============================================//
// Knockout Gear Requirements
//--------------------------------------------//
// 2: Weapon (Primary or Secondary) Required
// 1: Crowbar Required
// 0: Nothing Required
//---------------------------------------//
_knockoutMode = 2;
//=====================================//
// Credits
//-----------------------------------//
// Script by Player2
// Thanks To:
// DayZRedux, OpenDayZ
// GhostZ, Gorsy
//==============================//
// www.ZombZ.net
//============================//
 
_hasCrowbar1 = "MeleeCrowbar" in weapons player;
_hasCrowbar2 = "ItemCrowbar" in items player;
_hasPrimary = 0;
 
if (PrimaryWeapon player != "") then {
    _hasPrimary = 1;
} else {
    _hasPrimary = 0;
};
 
 
if (_knockoutMode == 0) then {
    dayz_knockout = [_body,3.5];
    publicVariable "dayz_knockout";
    player playActionNow "PutDown";
    sleep 1;
};
 
if (_knockoutMode == 1) then {
    if (_hasCrowbar1) then {
        dayz_knockout = [_body,3.5];
        publicVariable "dayz_knockout";
        player playActionNow "PutDown";
        sleep 1;
    };
 
    if (_hasCrowbar2) then {
        dayz_knockout = [_body,3.5];
        publicVariable "dayz_knockout";
        player playActionNow "PutDown";
        sleep 1;
    };
 
    if (!_hasCrowbar1 and !_hasCrowbar2) exitWith
    {
        cutText ["You need a Crowbar for this!" , "PLAIN DOWN"];
    };
};
 
if (_knockoutMode == 2) then {
    if (_hasPrimary == 1) then {
        dayz_knockout = [_body,3.5];
        publicVariable "dayz_knockout";
        player playActionNow "PutDown";
        sleep 1;
    } else {
        cutText ["You need a Weapon for this!" , "PLAIN DOWN"];
    };
};

knockout2.sqf

  Reveal hidden contents

private["_body","_duration"];
_body = _this select 0;
_duration = _this select 1;
 
diag_log("Knockout attempt on:" + str(_body) + " and I am: " + str(player) );
 
if (_body == player) then {
    diag_log("Knocked out!");
    [player, _duration] call fnc_usec_damageUnconscious;
    cutText ["You've been knocked out! This is not good!", "PLAIN DOWN"];
};

forced.sqf

  Reveal hidden contents

private ["_body","_isBandit","_isHero","_infectrand","_welcomeMessage","_camDistance"];
_body = _this select 3;
_isBandit = (cursortarget getVariable["humanity",0]) <= -2500;
_isHero = (cursortarget getVariable["humanity",0]) >= 5000;
_infectrand = round(random 10);    
_welcomeMessage = format["You suck Dont do it in real life!, %1,",format["%1", name player]];
_camDistance = 60;

dayz_force2 = [_body,3.5];
publicVariable "dayz_force2";
 showCinemaBorder true;
   camUseNVG false;               
   _camera = "camera" camCreate [(position player select 0)-2, position player select 1,(position player select 2)+_camDistance];
   _camera cameraEffect ["internal","back"];
   
   _camera camSetFOV 2.000;
   _camera camCommit 0;
   waitUntil {camCommitted _camera};
   playSound "heartbeat_1";
 
   _camera camSetTarget vehicle player;
   _camera camSetRelPos [0,0,2];
   _camera camCommit 8;
 
   cutText [_welcomeMessage, "PLAIN DOWN"];

   waitUntil {camCommitted _camera};
 
  _camera cameraEffect ["terminate","back"];
  camDestroy _camera;  

    if (_isBandit) then {
        [player,-250] call player_humanityChange;
        cutText [", -250 humanity.", "PLAIN DOWN"];
    if (_infectrand < 4) then {r_player_infected = true;
        cutText [format["%1, you get infected by some kind of virus",name player], "PLAIN DOWN"];
    };
    };
    if (!_isHero and !_isBandit) then {
        [player,-500] call player_humanityChange;
        cutText [", -500 humanity.", "PLAIN DOWN"];
    if (_infectrand < 4) then {r_player_infected = true;
        cutText [format["%1, you get infected by some kind of virus",name player], "PLAIN DOWN"];
    };    
    };
    if (_isHero) then {
        [player,-1000] call player_humanityChange;
        cutText [", -1000 humanity.", "PLAIN DOWN"];
    if (_infectrand < 4) then {r_player_infected = true;
        cutText [format["%1, you get infected by some kind of virus",name player], "PLAIN DOWN"];
    };    
};   

forced2.sqf

  Reveal hidden contents

private["_body"];
_body = _this select 0;

diag_log("force2 attempt on:" + str(_body) + " and I am: " + str(player) );

if (_body == player) then {
diag_log("Youre been forced to have sex");
[player,-100] call player_humanityChange;
r_player_infected = true;
r_player_inpain = true;
player setVariable["USEC_inPain",true,true];
cutText ["youre been forced to have sex", "PLAIN DOWN"];
};

 

sblood.sqf

  Reveal hidden contents


private ["_body","_LastUsedTime","_Time"];
_body = _this select 3;
_LastUsedTime = 160;
_Time = time - lastuse;

if(_Time < _LastUsedTime) exitWith {
    cutText [format["espera %1 segundos !",(round(_Time - _LastUsedTime))], "PLAIN DOWN"];
};
    
lastuse = time;
dayz_sblood2 = [_body,3.5];
publicVariable "dayz_sblood2";
player playActionNow "Medic";
    sleep 2;
    player addMagazine "ItemBloodbag";
    [player,-100] call player_humanityChange;
    sleep 3;
    cutText ["Robaste la Sangre de este survivor", "PLAIN DOWN"];

sblood2.sqf

  Reveal hidden contents

private["_body"];
_body = _this select 0;

diag_log("sblood2 attempt on:" + str(_body) + " and I am: " + str(player) );
 
if (_body == player) then {
    diag_log("Sotle Blood");
    r_player_blood = r_player_blood - 1000;
    r_player_injured = true;
    publicVariable "PVDZE_hlt_Bleed";
    r_player_inpain = true;
    //player setVariable["USEC_injured",true]; // bleeding  
    cutText ["Someone stole your blood! This is not good!", "PLAIN DOWN"];
};

 

 

In safe zone can do it?

Link to comment
Share on other sites

  • 4 weeks later...
15 minutes ago, J.Dominic said:

Do you already test? Player can Knock/Abuse/StoleBlood in safe zone area?

only test it with traders bot, action is allowed but you cant nockout bots in safezones.  i guess is the same for players...

any way into knockoout.sqf thers an option to requiere crowbar to nock you can enamble this options.. cuz melee tools its not allowed in safezones

_knockoutMode

or make a restriction at bottom of fn_selfactions

something like this

Spoiler

//restrict knock in safezones
private ["_blockedareas","_playerPos","_nearrestriction"];

_blockedareas =
[[1167.69,2516.06,0.0014472],[6352.43,7789.2,0.00140381],[1767.52,7797.28,0.00161743]];//put coords from traders

_playerPos = getPosATL player;
_nearrestriction = count nearestObjects [_playerPos, _blockedareas, 150] > 0;
 
if (_nearrestriction) then {     
        player removeAction s_player_knockout;
        s_player_knockout = -1;
    };             

 

 

Link to comment
Share on other sites

53 minutes ago, Cherdenko said:

maybe you could do sth about the canbuild feature in safezones...

so im not that good with scripting, but can you imagine sth like

if Canbuild true

exit with {}

maybe that will do the job for the safezones

nice idea cherdenko!

other thing can be add a restriction in fn_Selfactions.sqf

in this part:

find:

Spoiler

    _unconscious =    cursorTarget getVariable ["NORRN_unconscious", false];
 
    if (_isMan and _isAlive and !_isZombie and _canDo and !_unconscious and !_NotAllowedArea) then {
        if (s_player_knockout < 0) then {
            s_player_knockout = player addAction [("<t color=""#FF9800"">" + ("Knockout!") + "</t>"), "fixes\knockout.sqf",cursorTarget, 0, false, true, "",""];
        };
    } else {
        player removeAction s_player_knockout;
        s_player_knockout = -1;
    };
    //##############################
    //********abuse/stole blood
    if (_isMan and _isAlive and !_isZombie and !_isAnimal and _unconscious  and _canDo and (player distance cursorTarget < 3)) then {
    if (s_player_force < 0) then {
            s_player_force = player addAction [("<t color=""#FF9800"">" + ("Abuse") + "</t>"), "fixes\forced.sqf",cursorTarget, 0, false, true, "",""];
        };
        if (s_player_sblood < 0) then {
            s_player_sblood = player addAction [("<t color=""#FF9800"">" + ("StoleBlood") + "</t>"), "fixes\sblood.sqf",cursorTarget, 0, false, true, "",""];
        };
        
    } else {
        player removeAction s_player_force;
        s_player_force = -1;
        player removeAction s_player_sblood;
        s_player_sblood = -1;            
    };
    //********end of abuse/stole

change by:

Spoiler

//####    KNOCKOUT            ####
private ["_safezones","_pos","_allconditions","_NotAllowedArea];

_safezones =
[
    [[6325.6772,7807.7412,0],150,true],
    [[4063.4226,11664.19,0],150,true],
    [[11447.472,11364.504,0],150,true],
    [[1606.6443,7803.5156,0],150,true],
    [[12944.227,12766.889,0],150,true],
    [[5068.6636,9723.4248,0],100,true],
    [[12060,12640,0],200,true]
];


    _pos = getPosATL player;
    _allconditions = (nearestObjects [_pos, _safezones, 100]);
    _NotAllowedArea = count _allconditions > 0;

    

    _unconscious =    cursorTarget getVariable ["NORRN_unconscious", false];
 
    if (_isMan and _isAlive and !_isZombie and _canDo and !_unconscious and !_NotAllowedArea) then {
        if (s_player_knockout < 0) then {
            s_player_knockout = player addAction [("<t color=""#FF9800"">" + ("Knockout!") + "</t>"), "fixes\knockout.sqf",cursorTarget, 0, false, true, "",""];
        };
    } else {
        player removeAction s_player_knockout;
        s_player_knockout = -1;
    };
    //##############################
    //********abuse/stole blood
    if (_isMan and _isAlive and !_isZombie and !_isAnimal and _unconscious  and _canDo and (player distance cursorTarget < 3)) then {
    if (s_player_force < 0) then {
            s_player_force = player addAction [("<t color=""#FF9800"">" + ("Abuse") + "</t>"), "fixes\forced.sqf",cursorTarget, 0, false, true, "",""];
        };
        if (s_player_sblood < 0) then {
            s_player_sblood = player addAction [("<t color=""#FF9800"">" + ("StoleBlood") + "</t>"), "fixes\sblood.sqf",cursorTarget, 0, false, true, "",""];
        };
        
    } else {
        player removeAction s_player_force;
        s_player_force = -1;
        player removeAction s_player_sblood;
        s_player_sblood = -1;            
    };
    //********end of abuse/stole

 

Link to comment
Share on other sites

  • 7 months later...

Error in expression <eAction s_player_tu;
s_player_tu = -1;
};


private ["_unconscious"];
_unconscio>
  Error position: <;


private ["_unconscious"];
_unconscio>
  Error Missing )
File mpmissions\__CUR_MP.Chernarus\dayz_code\compile\fn_selfActions.sqf, line 826

 

@juandayz getting this error trying to test tie up player on 1061

 

Link to comment
Share on other sites

On 31/3/2017 at 3:30 AM, Hooty said:

Error in expression <eAction s_player_tu;
s_player_tu = -1;
};


private ["_unconscious"];
_unconscio>
  Error position: <;


private ["_unconscious"];
_unconscio>
  Error Missing )
File mpmissions\__CUR_MP.Chernarus\dayz_code\compile\fn_selfActions.sqf, line 826

 

@juandayz getting this error trying to test tie up player on 1061

 

add the s_player_tu = -1; in a custom variables.sqf

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
  • Discord

×
×
  • Create New...