Whats the best script for ZipTies,
because I use https://www.altisliferpg.com/index.php?/top…orial-zip-ties/
but im getting End of file errors when I do it
Whats the best script for ZipTies,
because I use https://www.altisliferpg.com/index.php?/top…orial-zip-ties/
but im getting End of file errors when I do it
maybe you should send us your RPTs
Hello,
That's my keyhandler.sqf:
//Restraining (Shift + R)
case 19: {
if(_shift) then {_handled = true;};
if(_shift && playerSide == west && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(isPlayer cursorTarget)} && {(side cursorTarget in [civilian,independent])} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then {
[] call life_fnc_restrainAction;
}
else
{
if !(license_civ_rebel) exitWith { hint "Du musst zuerst das Rebellentraining absolvieren um jemanden zu fesseln!"};
if(_shift && playerSide == civilian && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(currentWeapon player == primaryWeapon player OR currentWeapon player == handgunWeapon player)} && {currentWeapon player != ""} && {(isPlayer cursorTarget)} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {animationState cursorTarget == "Incapacitated"} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then
{
if([false,"zipties",2] call life_fnc_handleInv) then
{
[] call life_fnc_restrainAction;
hint "Benutze die Action, um weitere Aktionen anzuzeigen";
}
else
{
hint "Du hast keine Kabelbinder dabei!";
};
};
};
};
Alles anzeigen
And that's my restrainaction:
#include "..\..\script_macros.hpp"
/*
File: fn_restrainAction.sqf
Author: Bryan "Tonic" Boardwine
Description:
Retrains the target.
*/
private["_unit"];
_unit = cursorTarget;
if(isNull _unit) exitWith {}; //Not valid
if((player distance _unit > 3)) exitWith {};
if((_unit GVAR "restrained")) exitWith {};
if(side _unit == west) exitWith {};
if(player == _unit) exitWith {};
if (side player == civilian) then {
if(life_inv_zipties < 1) exitWith { hint "Du hast keine Kabelbinder."; };
life_inv_zipties = life_inv_zipties - 1;
hint "Sie entfuehren einen Zivilisten";
};
if(!isPlayer _unit) exitWith {};
//Broadcast!
_unit SVAR["restrained",true,true];
[player] remoteExec ["life_fnc_restrain",_unit];
[0,"STR_NOTF_Restrained",true,[_unit GVAR["realname", name _unit], profileName]] remoteExecCall ["life_fnc_broadcast",west];
Alles anzeigen
And than you have to add an item which is named zipties:
class zipties {
variable = "zipties";
displayName = "STR_Item_Zipties";
weight = 2;
buyPrice = 5000;
sellPrice = 4000;
illegal = false;
edible = -1;
icon = "";
};
And you have to add it to the shop:
It should work!!
It should work!!
Ill check it out in a second, one sec
Copied everything to my server, I cannot access my Y Menu
Are you Fcking serious? You have to be careful. Don't just copy and paste!!!
Look how you add vItems and how to make shops and you have probably a problem with the fn_keyhandler.sqf because of the Y Menu!
Try it with a little bit more IQ
Are you Fcking serious? You have to be careful. Don't just copy and paste!!!
Look how you add vItems and how to make shops and you have probably a problem with the fn_keyhandler.sqf because of the Y Menu!Try it with a little bit more IQ
Sorry i worded that wrong I did put the everything in where it should be.
Ok than I have to say sorry.
First thought that you're a copy paste child.
If you look in the attachments, there is errors on the Server log
Can you post the keyhandler and restrainaction as sqf Pls?
Can you post the keyhandler and restrainaction as sqf Pls?
Cant post SQF on the website
Can you post the keyhandler and restrainaction as sqf Pls?
How would you like me to send it?
I have made my own version in which I coded a little bit myself and used other scripts from other versions. If you can't access the Y Inventory then you have made an error in the fn_keyHandler.sqf. The script that FarmerSohn has posted is from another thread on here and it is a non-working script in the 4.4r3 so there will be no luck in trying that.
I could make a tutorial tomorrow, but I am currently still testing it and looking at how I can tidy up the script.
Cheers, Script
#include "..\..\script_macros.hpp"
/*
* File: fn_keyHandler.sqf
* Author: Bryan "Tonic" Boardwine
*
* Description:
* Main key handler for event 'keyDown'.
*/
private ["_handled","_shift","_alt","_code","_ctrl","_alt","_ctrlKey","_veh","_locked","_interactionKey","_mapKey","_interruptionKeys"];
_ctrl = _this select 0;
_code = _this select 1;
_shift = _this select 2;
_ctrlKey = _this select 3;
_alt = _this select 4;
_speed = speed cursorObject;
_handled = false;
_interactionKey = if (count (actionKeys "User10") isEqualTo 0) then {219} else {(actionKeys "User10") select 0};
_mapKey = (actionKeys "ShowMap" select 0);
//hint str _code;
_interruptionKeys = [17,30,31,32]; //A,S,W,D
//Vault handling...
if ((_code in (actionKeys "GetOver") || _code in (actionKeys "salute") || _code in (actionKeys "SitDown") || _code in (actionKeys "Throw") || _code in (actionKeys "GetIn") || _code in (actionKeys "GetOut") || _code in (actionKeys "Fire") || _code in (actionKeys "ReloadMagazine") || _code in [16,18]) && ((player getVariable ["restrained",false]) || (player getVariable ["playerSurrender",false]) || life_isknocked || life_istazed)) exitWith {
true;
};
if (life_action_inUse) exitWith {
if (!life_interrupted && _code in _interruptionKeys) then {life_interrupted = true;};
_handled;
};
//Hotfix for Interaction key not being able to be bound on some operation systems.
if (!(count (actionKeys "User10") isEqualTo 0) && {(inputAction "User10" > 0)}) exitWith {
//Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
if (!life_action_inUse) then {
[] spawn {
private "_handle";
_handle = [] spawn life_fnc_actionKeyHandler;
waitUntil {scriptDone _handle};
life_action_inUse = false;
};
};
true;
};
if (life_container_active) then {
switch (_code) do {
//space key
case 57: {
[] spawn life_fnc_placestorage;
};
};
true;
};
switch (_code) do {
//Space key for Jumping
case 57: {
if (isNil "jumpActionTime") then {jumpActionTime = 0;};
if (_shift && {!(animationState player isEqualTo "AovrPercMrunSrasWrflDf")} && {isTouchingGround player} && {stance player isEqualTo "STAND"} && {speed player > 2} && {!life_is_arrested} && {((velocity player) select 2) < 2.5} && {time - jumpActionTime > 1.5}) then {
jumpActionTime = time; //Update the time.
[player] remoteExec ["life_fnc_jumpFnc",RANY]; //Global execution
_handled = true;
};
detach placeable;
placeable setVectorUP (surfaceNormal [(getPosATL placeable) select 0,(getPosATL placeable) select 1]);
};
//Surrender (Shift + B)
case 48: {
if (_shift) then {
if (player getVariable ["playerSurrender",false]) then {
player setVariable ["playerSurrender",false,true];
} else {
[] spawn life_fnc_surrender;
};
_handled = true;
};
};
//Map Key
case _mapKey: {
switch (playerSide) do {
case west: {if (!visibleMap) then {[] spawn life_fnc_copMarkers;}};
case independent: {if (!visibleMap) then {[] spawn life_fnc_medicMarkers;}};
case civilian: {if (!visibleMap) then {[] spawn life_fnc_civMarkers;}};
};
};
//Holster / recall weapon. (Shift + H)
case 35: {
if (_shift && !_ctrlKey && !(currentWeapon player isEqualTo "")) then {
life_curWep_h = currentWeapon player;
player action ["SwitchWeapon", player, player, 100];
player switchCamera cameraView;
};
if (!_shift && _ctrlKey && !isNil "life_curWep_h" && {!(life_curWep_h isEqualTo "")}) then {
if (life_curWep_h in [primaryWeapon player,secondaryWeapon player,handgunWeapon player]) then {
player selectWeapon life_curWep_h;
};
};
};
//Interaction key (default is Left Windows, can be mapped via Controls -> Custom -> User Action 10)
case _interactionKey: {
if (!life_action_inUse) then {
[] spawn {
private "_handle";
_handle = [] spawn life_fnc_actionKeyHandler;
waitUntil {scriptDone _handle};
life_action_inUse = false;
};
};
};
//Restraining (Shift + R)
case 19: {
if(_shift) then {_handled = true;};
if(_shift && playerSide == west && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(isPlayer cursorTarget)} && {(side cursorTarget in [civilian,independent])} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then {
[] call life_fnc_restrainAction;
}
else
{
if (license_civ_rebel) exit with {hint "you must take the rebel training graduate someone to captivate!"}!;
if(_shift && playerSide == civilian && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(currentWeapon player == primaryWeapon player OR currentWeapon player == handgunWeapon player)} && {currentWeapon player != ""} && {(isPlayer cursorTarget)} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {animationState cursorTarget == "Incapacitated"} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then
{
if([false,"zipties",2] call life_fnc_handleInv) then
{
[] call life_fnc_restrainAction;
hint "Use the action to see more actions";
}
else
{
hint "Do you have this cable ties!";
};
};
};
};
//Knock out, this is experimental and yeah... (Shift + G)
case 34: {
if (_shift) then {_handled = true;};
if (_shift && playerSide isEqualTo civilian && !isNull cursorObject && cursorObject isKindOf "Man" && isPlayer cursorObject && alive cursorObject && cursorObject distance player < 4 && speed cursorObject < 1) then {
if ((animationState cursorObject) != "Incapacitated" && (currentWeapon player == primaryWeapon player || currentWeapon player == handgunWeapon player) && currentWeapon player != "" && !life_knockout && !(player getVariable ["restrained",false]) && !life_istazed && !life_isknocked) then {
[cursorObject] spawn life_fnc_knockoutAction;
};
};
};
//T Key (Trunk)
case 20: {
if (!_alt && !_ctrlKey && !dialog && {!life_action_inUse}) then {
if (vehicle player != player && alive vehicle player) then {
if ((vehicle player) in life_vehicles) then {
[vehicle player] spawn life_fnc_openInventory;
};
} else {
private "_list";
_list = ((ASLtoATL (getPosASL player)) nearEntities [["Box_IND_Grenades_F","B_supplyCrate_F"], 2.5]) select 0;
if (!(isNil "_list")) then {
_house = nearestObject [(ASLtoATL (getPosASL _list)), "House"];
if (_house getVariable ["locked", false]) then {
hint localize "STR_House_ContainerDeny";
} else {
[_list] spawn life_fnc_openInventory;
};
} else {
_list = ["landVehicle","Air","Ship"];
if (KINDOF_ARRAY(cursorObject,_list) && {player distance cursorObject < 7} && {isNull objectParent player} && {alive cursorObject} && {!life_action_inUse}) then {
if (cursorObject in life_vehicles || {locked cursorObject isEqualTo 0}) then {
[cursorObject] spawn life_fnc_openInventory;
};
};
};
};
};
};
//L Key?
case 38: {
//If cop run checks for turning lights on.
if (_shift && playerSide in [west,independent]) then {
if (vehicle player != player && (typeOf vehicle player) in ["C_Offroad_01_F","B_MRAP_01_F","C_SUV_01_F","C_Hatchback_01_sport_F","B_Heli_Light_01_F","B_Heli_Transport_01_F"]) then {
if (!isNil {vehicle player getVariable "lights"}) then {
if (playerSide isEqualTo west) then {
[vehicle player] call life_fnc_sirenLights;
} else {
[vehicle player] call life_fnc_medicSirenLights;
};
_handled = true;
};
};
};
if (!_alt && !_ctrlKey) then { [] call life_fnc_radar; };
};
//Y Player Menu
case 21: {
if (!_alt && !_ctrlKey && !dialog && !(player getVariable ["restrained",false]) && {!life_action_inUse}) then {
[] call life_fnc_p_openMenu;
};
};
//F Key
case 33: {
if (playerSide in [west,independent] && {vehicle player != player} && {!life_siren_active} && {((driver vehicle player) == player)}) then {
[] spawn {
life_siren_active = true;
sleep 4.7;
life_siren_active = false;
};
_veh = vehicle player;
if (isNil {_veh getVariable "siren"}) then {_veh setVariable ["siren",false,true];};
if ((_veh getVariable "siren")) then {
titleText [localize "STR_MISC_SirensOFF","PLAIN"];
_veh setVariable ["siren",false,true];
} else {
titleText [localize "STR_MISC_SirensON","PLAIN"];
_veh setVariable ["siren",true,true];
if (playerSide isEqualTo west) then {
[_veh] remoteExec ["life_fnc_copSiren",RCLIENT];
} else {
[_veh] remoteExec ["life_fnc_medicSiren",RCLIENT];
};
};
};
};
//O Key
case 24: {
if (_shift) then {
if (soundVolume != 1) then {
1 fadeSound 1;
systemChat localize "STR_MISC_soundnormal";
} else {
1 fadeSound 0.1;
systemChat localize "STR_MISC_soundfade";
};
};
};
//U Key
case 22: {
if (!_alt && !_ctrlKey) then {
if (isNull objectParent player) then {
_veh = cursorObject;
} else {
_veh = vehicle player;
};
if (_veh isKindOf "House_F" && {playerSide isEqualTo civilian}) then {
if (_veh in life_vehicles && {player distance _veh < 20}) then {
_door = [_veh] call life_fnc_nearestDoor;
if (_door isEqualTo 0) exitWith {hint localize "STR_House_Door_NotNear"};
_locked = _veh getVariable [format ["bis_disabled_Door_%1",_door],0];
if (_locked isEqualTo 0) then {
_veh setVariable [format ["bis_disabled_Door_%1",_door],1,true];
_veh animate [format ["door_%1_rot",_door],0];
systemChat localize "STR_House_Door_Lock";
} else {
_veh setVariable [format ["bis_disabled_Door_%1",_door],0,true];
_veh animate [format ["door_%1_rot",_door],1];
systemChat localize "STR_House_Door_Unlock";
};
};
} else {
_locked = locked _veh;
if (_veh in life_vehicles && {player distance _veh < 20}) then {
if (_locked isEqualTo 2) then {
if (local _veh) then {
_veh lock 0;
// BI
_veh animateDoor ["door_back_R",1];
_veh animateDoor ["door_back_L",1];
_veh animateDoor ['door_R',1];
_veh animateDoor ['door_L',1];
_veh animateDoor ['Door_L_source',1];
_veh animateDoor ['Door_rear',1];
_veh animateDoor ['Door_rear_source',1];
_veh animateDoor ['Door_1_source',1];
_veh animateDoor ['Door_2_source',1];
_veh animateDoor ['Door_3_source',1];
_veh animateDoor ['Door_LM',1];
_veh animateDoor ['Door_RM',1];
_veh animateDoor ['Door_LF',1];
_veh animateDoor ['Door_RF',1];
_veh animateDoor ['Door_LB',1];
_veh animateDoor ['Door_RB',1];
_veh animateDoor ['DoorL_Front_Open',1];
_veh animateDoor ['DoorR_Front_Open',1];
_veh animateDoor ['DoorL_Back_Open',1];
_veh animateDoor ['DoorR_Back_Open ',1];
} else {
[_veh,0] remoteExecCall ["life_fnc_lockVehicle",_veh];
_veh animateDoor ["door_back_R",1];
_veh animateDoor ["door_back_L",1];
_veh animateDoor ['door_R',1];
_veh animateDoor ['door_L',1];
_veh animateDoor ['Door_L_source',1];
_veh animateDoor ['Door_rear',1];
_veh animateDoor ['Door_rear_source',1];
_veh animateDoor ['Door_1_source',1];
_veh animateDoor ['Door_2_source',1];
_veh animateDoor ['Door_3_source',1];
_veh animateDoor ['Door_LM',1];
_veh animateDoor ['Door_RM',1];
_veh animateDoor ['Door_LF',1];
_veh animateDoor ['Door_RF',1];
_veh animateDoor ['Door_LB',1];
_veh animateDoor ['Door_RB',1];
_veh animateDoor ['DoorL_Front_Open',1];
_veh animateDoor ['DoorR_Front_Open',1];
_veh animateDoor ['DoorL_Back_Open',1];
_veh animateDoor ['DoorR_Back_Open ',1];
};
systemChat localize "STR_MISC_VehUnlock";
[_veh,"unlockCarSound"] remoteExec ["life_fnc_say3D",RANY];
} else {
if (local _veh) then {
_veh lock 2;
_veh animateDoor ["door_back_R",0];
_veh animateDoor ["door_back_L",0];
_veh animateDoor ['door_R',0];
_veh animateDoor ['door_L',0];
_veh animateDoor ['Door_L_source',0];
_veh animateDoor ['Door_rear',0];
_veh animateDoor ['Door_rear_source',0];
_veh animateDoor ['Door_1_source',0];
_veh animateDoor ['Door_2_source',0];
_veh animateDoor ['Door_3_source',0];
_veh animateDoor ['Door_LM',0];
_veh animateDoor ['Door_RM',0];
_veh animateDoor ['Door_LF',0];
_veh animateDoor ['Door_RF',0];
_veh animateDoor ['Door_LB',0];
_veh animateDoor ['Door_RB',0];
_veh animateDoor ['DoorL_Front_Open',0];
_veh animateDoor ['DoorR_Front_Open',0];
_veh animateDoor ['DoorL_Back_Open',0];
_veh animateDoor ['DoorR_Back_Open ',0];
} else {
[_veh,2] remoteExecCall ["life_fnc_lockVehicle",_veh];
_veh animateDoor ["door_back_R",0];
_veh animateDoor ["door_back_L",0];
_veh animateDoor ['door_R',0];
_veh animateDoor ['door_L',0];
_veh animateDoor ['Door_L_source',0];
_veh animateDoor ['Door_rear',0];
_veh animateDoor ['Door_rear_source',0];
_veh animateDoor ['Door_1_source',0];
_veh animateDoor ['Door_2_source',0];
_veh animateDoor ['Door_3_source',0];
_veh animateDoor ['Door_LM',0];
_veh animateDoor ['Door_RM',0];
_veh animateDoor ['Door_LF',0];
_veh animateDoor ['Door_RF',0];
_veh animateDoor ['Door_LB',0];
_veh animateDoor ['Door_RB',0];
_veh animateDoor ['DoorL_Front_Open',0];
_veh animateDoor ['DoorR_Front_Open',0];
_veh animateDoor ['DoorL_Back_Open',0];
_veh animateDoor ['DoorR_Back_Open ',0];
};
systemChat localize "STR_MISC_VehLock";
[_veh,"lockCarSound"] remoteExec ["life_fnc_say3D",RANY];
};
};
};
};
};
};
_handled;
Alles anzeigen
#include "..\..\script_macros.hpp"
/*
File: fn_restrainAction.sqf
Author: Bryan "Tonic" wills
Description:
Retrains the target.
*/
private["_unit"];
_unit = cursorTarget;
if(isNull _unit) exitWith {}; //Not valid
if((player distance _unit > 3)) exitWith {};
if((_unit GVAR "restrained")) exitWith {};
if(side _unit == west) exitWith {};
if(player == _unit) exitWith {};
if (side player == civilian) then {
if (life_inv_zipties <1) exit with {hint "You have no cable ties."; };
life_inv_zipties = life_inv_zipties - 1;
hint "You abduct a civilian";
};
if(!isPlayer _unit) exitWith {};
//Broadcast!
_unit SVAR["restrained",true,true];
[player] remoteExec ["life_fnc_restrain",_unit];
[0,"STR_NOTF_Restrained",true,[_unit GVAR["realname", name _unit], profileName]] remoteExecCall ["life_fnc_broadcast",west];
Alles anzeigen
Replace that:
//Restraining (Shift + R)
case 19: {
if(_shift) then {_handled = true;};
if(_shift && playerSide == west && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(isPlayer cursorTarget)} && {(side cursorTarget in [civilian,independent])} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then {
[] call life_fnc_restrainAction;
}
else
{
if (license_civ_rebel) exit with {hint "you must take the rebel training graduate someone to captivate!"}!;
if(_shift && playerSide == civilian && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(currentWeapon player == primaryWeapon player OR currentWeapon player == handgunWeapon player)} && {currentWeapon player != ""} && {(isPlayer cursorTarget)} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {animationState cursorTarget == "Incapacitated"} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then
{
if([false,"zipties",2] call life_fnc_handleInv) then
{
[] call life_fnc_restrainAction;
hint "Use the action to see more actions";
}
else
{
hint "Do you have this cable ties!";
};
};
};
};
Alles anzeigen
With that:
//Restraining (Shift + R)
case 19: {
if(_shift) then {_handled = true;};
if(_shift && playerSide == west && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(isPlayer cursorTarget)} && {(side cursorTarget in [civilian,independent])} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then {
[] call life_fnc_restrainAction;
}
else
{
if !(license_civ_rebel) exitWith { hint "Du musst zuerst das Rebellentraining absolvieren um jemanden zu fesseln!"};
if(_shift && playerSide == civilian && {!isNull cursorTarget} && {cursorTarget isKindOf "Man"} && {(currentWeapon player == primaryWeapon player OR currentWeapon player == handgunWeapon player)} && {currentWeapon player != ""} && {(isPlayer cursorTarget)} && {alive cursorTarget} && {cursorTarget distance player < 3.5} && {animationState cursorTarget == "Incapacitated"} && {!(cursorTarget GVAR "Escorting")} && {!(cursorTarget GVAR "restrained")} && {speed cursorTarget < 1}) then
{
if([false,"zipties",2] call life_fnc_handleInv) then
{
[] call life_fnc_restrainAction;
hint "Benutze die Action, um weitere Aktionen anzuzeigen";
}
else
{
hint "Du hast keine Kabelbinder dabei!";
};
};
};
};
Alles anzeigen
Okay what about restrain? Cuz on the logs says theres a error with that
Okay what about restrain? Cuz on the logs says theres a error with that
If you need help you should post the log here so we can take a look at it.
If you need help you should post the log here so we can take a look at it.
I have like 8 posts up. but here:
Ignore the stringable and description but the Restrain and Keyhandler is still giving me a error