Mochan Posted May 31, 2014 Report Share Posted May 31, 2014 Title says it all? Searched around? How do you actually use this? Link to comment Share on other sites More sharing options...
0 Defent Posted May 31, 2014 Report Share Posted May 31, 2014 Thats an interesting idea tbh. I guess it would be called through the sensors in the mission.sqf right? Something like this: _speedlimit = 30; while {!canbuild} then { //traders are !canbuild right? Also we need to loop it. _cars = vehicle player; _myspeed = speed _vehicle; if (bla something blob) { // force speed here }; sleep 0.2; }; http://forums.bistudio.com/showthread.php?79177-Limiting-a-vehicles-speed Link to comment Share on other sites More sharing options...
0 cen Posted May 31, 2014 Report Share Posted May 31, 2014 This is from maca's safezone script. SafezoneVehicleSpeedLimit = [] spawn { _maxspeed = 25; while {true} do { waitUntil {vehicle player != player and !((vehicle player) isKindOf 'Air')}; _vehicle = vehicle player; _curspeed = speed _vehicle; if (_curspeed > _maxspeed) then { _vel = velocity _vehicle; _dir = direction _vehicle; _speed = _curspeed - _maxspeed; _vehicle setVelocity [(_vel select 0)-((sin _dir)*_speed),(_vel select 1)- ((cos _dir)*_speed),(_vel select 2)]; }; sleep 0.1; }; }; Defent 1 Link to comment Share on other sites More sharing options...
0 Tricks Posted June 15, 2014 Report Share Posted June 15, 2014 (edited) Can anyone tell me if this works with InfiSTAR's Safezones? If so where do I put this? If not is there a working script for his? Edited July 8, 2014 by Tricks Link to comment Share on other sites More sharing options...
0 mgm Posted July 8, 2014 Report Share Posted July 8, 2014 Can anyone tell me if this works with AGN Safezone Commander? If so where do I put this? If not is there a wrking script for AGN? I will very much appreciate if anyone can enlighten us on this. Link to comment Share on other sites More sharing options...
0 2sugars Posted July 9, 2014 Report Share Posted July 9, 2014 class Item0 { position[]={6325.6772,304.99033,7807.7412}; a=100; b=100; activationBy="WEST"; repeating=1; interruptable=1; age="UNKNOWN"; name="zonestary"; expCond="(player distance zonestary) < 190;"; expActiv="canbuild = false; clearzeds = [] execVM ""custom\clearzeds.sqf""; speedlimit = [] execVM ""custom\speedlimit.sqf""; titleText [""\n\n Entering the trader - god mode on"", ""PLAIN DOWN"", 1];"; expDesactiv="canbuild = true; terminate clearzeds; terminate speedlimit; titleText [""\n\nLeaving the trader - god mode off"", ""PLAIN DOWN"", 1];"; class Effects { }; mgm 1 Link to comment Share on other sites More sharing options...
0 mgm Posted July 15, 2014 Report Share Posted July 15, 2014 class Item0 { position[]={6325.6772,304.99033,7807.7412}; a=100; b=100; activationBy="WEST"; repeating=1; interruptable=1; age="UNKNOWN"; name="zonestary"; expCond="(player distance zonestary) < 190;"; expActiv="canbuild = false; clearzeds = [] execVM ""custom\clearzeds.sqf""; speedlimit = [] execVM ""custom\speedlimit.sqf""; titleText [""\n\n Entering the trader - god mode on"", ""PLAIN DOWN"", 1];"; expDesactiv="canbuild = true; terminate clearzeds; terminate speedlimit; titleText [""\n\nLeaving the trader - god mode off"", ""PLAIN DOWN"", 1];"; class Effects { }; Thanks 2sugars, I will try this out as soon as I get a chance. 2sugars 1 Link to comment Share on other sites More sharing options...
0 PryMary Posted July 15, 2014 Report Share Posted July 15, 2014 in mission.sqm (miision root) Find: class Sensors Add / Amend: class Item2 { position[]={15309.663,-14.993002,9278.4912}; a=100; b=100; activationBy="WEST"; repeating=1; interruptable=1; age="UNKNOWN"; name="zonesabina"; expCond="(player distance zonesabina) < 50;"; expActiv="canbuild = false; clearzeds = [] execVM ""custom\clearzeds.sqf""; speedlimit = [] execVM ""custom\speedlimit.sqf""; titleText [""\n\nEntering Trader City Sabina - God Mode ON - Zed Shield ON - Speed Limiter ON"", ""PLAIN DOWN"", 1];"; expDesactiv="canbuild = true; terminate clearzeds; terminate speedlimit; titleText [""\n\nLeaving Trader City Sabina - God Mode OFF - Zed Shield OFF - Speed Limiter OFF"", ""PLAIN DOWN"", 1];"; class Effects { }; }; class Item3 { position[]={15309.663,-14.993002,9278.4912}; activationBy="ANY"; repeating=1; interruptable=1; age="UNKNOWN"; name="zonesabina_safezone"; expCond="(player distance zonesabina_safezone) < 50;"; expActiv="inSafeZone = true;"; expDesactiv="inSafeZone = false;"; class Effects { }; }; I have it set like so and both infiSTAR's safezone (Called in the init.sqf within the if Dedicated section at the bottom) and all the above works flawlessly. safezone.sqf: /* by: http://infiSTAR.de || http://DayzAntiHack.com *updated on 14.07.2014 */ USE_CANBUILD = true; // if you don't want to define your own positions USE_TraderCity = true; // if you don't want to define your own positions (Epoch 1.0.5) USE_POSITIONS = false; // to use own positions and radius USE_AI_REMOVER = true; // use this to remove Missionbots (AI) within 100m of a player if the player is in a SafeZone USE_AntiSteal = true; // use this to block opening gear if another player is within 3m! USE_SIGNS = true; // use this to build signs around the SafeZone LOG_EnterLeave = true; // This will log to your .rpt when a player enters or leaves a SafeZone! (only works with infiSTAR.de Admintools / AntiHack) /* You can use USE_CANBUILD or/and (works together) the custom positions below (USE_POSITIONS) [position or zone,radius] */ _infiSZ = [ [[6325.6772,7807.7412],200,true], [[4063.4226,11664.19],200,true], [[11447.472,11364.504],200,true], [[1606.6443,7803.5156],150,true], [[12944.227,12766.889],150,true], [[5068.6636,9723.4248],100,true] ]; if (isServer) exitWith { if (USE_SIGNS) then { { _center = _x select 0; _radius = _x select 1; _lSign = _x select 2; if (_lSign) then { for '_i' from 0 to 360 step (270 / _radius)*2 do { _location = [(_center select 0) + ((cos _i) * _radius), (_center select 1) + ((sin _i) * _radius),0]; _dir = ((_center select 0) - (_location select 0)) atan2 ((_center select 1) - (_location select 1)); _object = createVehicle ['SignM_FARP_Winchester_EP1', _location, [], 0, 'CAN_COLLIDE']; _object setDir _dir; _object setVehicleInit 'this setObjectTexture [0, ''custom\sign.paa''];'; }; }; } forEach _infiSZ; }; }; waitUntil { !isNil 'dayz_animalCheck' }; if (isNil 'inSafezone') then {inSafezone = false;}; [_infiSZ] spawn { _infiSZ = _this select 0; _startSafeZone = { if (isNil 'outNow') then { _msg = 'You entered a Safe Zone!'; hint _msg; taskHint [_msg, [0,1,0,1], 'taskDone']; inNow = nil; outNow = true; if (LOG_EnterLeave) then { _obj = vehicle player; _pos = getPosATL _obj; PVDZE_send = [player,'SafeZoneState',[1]]; publicVariableServer 'PVDZE_send'; }; }; player_fired2 = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_fired.sqf'; player_fired = {_this call player_fired2;deleteVehicle (nearestObject [_this select 0,_this select 4]);}; player_zombieCheck = {}; fnc_usec_damageHandler = {}; fnc_usec_unconscious = {}; object_monitorGear = {}; player removeAllEventHandlers 'handleDamage'; player addEventHandler ['handleDamage', {false}]; player allowDamage false; _x = vehicle player; if ((_x isKindOf 'LandVehicle') || (_x isKindOf 'Air') || (_x isKindOf 'Ship')) then { _szs = _x getVariable ['inSafeZone',0]; if (_szs == 0) then { _x removeAllEventHandlers 'Fired'; _x addEventHandler ['Fired', {_this call player_fired;}]; _x setVariable ['inSafeZone', 1, true]; _x removeAllEventHandlers 'HandleDamage'; _x addEventHandler ['HandleDamage', {false}]; _x allowDamage false; }; }; _cwep = currentWeapon player; if (_cwep in ['MAAWS']) then { _swep = ''; { if ((getNumber (configFile >> 'CfgWeapons' >> _x >> 'Type')) == 2) exitWith { _swep = _x; }; } forEach (weapons player); if (_swep == '') then { player playActionNow 'PutDown'; _iPos = getPosATL player; _radius = 1; _removed = ([player,_cwep,1] call BIS_fnc_invRemove); if (_removed == 1) then { _item = createVehicle ['WeaponHolder', _iPos, [], _radius, 'CAN_COLLIDE']; _item addWeaponCargoGlobal [_cwep,1]; }; } else { player selectweapon _swep; }; }; }; _endSafeZone = { if (isNil 'inNow') then { if (str fnc_usec_damageHandler == '{}') then { _msg = 'You left the Safe Zone!'; hint _msg; taskHint [_msg, [1,0,0.1,1], 'taskFailed']; }; inNow = true; outNow = nil; if (LOG_EnterLeave) then { _obj = vehicle player; _pos = getPosATL _obj; PVDZE_send = [player,'SafeZoneState',[0]]; publicVariableServer 'PVDZE_send'; }; }; player_fired = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_fired.sqf'; player_zombieCheck = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_zombieCheck.sqf'; fnc_usec_unconscious = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\fn_unconscious.sqf'; object_monitorGear = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\object_monitorGear.sqf'; _x = vehicle player; if ((_x isKindOf 'LandVehicle') || (_x isKindOf 'Air') || (_x isKindOf 'Ship')) then { _szs = _x getVariable ['inSafeZone',0]; if (_szs == 1) then { _x setVariable ['inSafeZone', 0, true]; _x removeAllEventHandlers 'HandleDamage'; _x addeventhandler ['HandleDamage',{ _this call vehicle_handleDamage } ]; _x allowDamage true; }; }; _end = false; if (isNil 'gmadmin') then { _end = true; } else { if (gmadmin == 0) then { _end = true; }; }; if (_end) then { player allowDamage true; fnc_usec_damageHandler = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\fn_damageHandler.sqf'; player removeAllEventHandlers 'HandleDamage'; player addeventhandler ['HandleDamage',{_this call fnc_usec_damageHandler;} ]; }; }; while {1 == 1} do { _state = false; _obj = vehicle player; if (isNil 'inSafeZone') then { inSafeZone = false; } else { if (typename inSafeZone != 'BOOL') then { inSafeZone = false; }; }; if (isNil 'canbuild') then { canbuild = true; } else { if (typename canbuild != 'BOOL') then { canbuild = true; }; }; if (isNil 'USE_POSITIONS') then { USE_POSITIONS = false; } else { if (typename USE_POSITIONS != 'BOOL') then { USE_POSITIONS = false; }; }; if (isNil 'USE_CANBUILD') then { USE_CANBUILD = true; } else { if (typename USE_CANBUILD != 'BOOL') then { USE_CANBUILD = true; }; }; if (isNil 'USE_TraderCity') then { USE_TraderCity = true; } else { if (typename USE_TraderCity != 'BOOL') then { USE_TraderCity = true; }; }; if (USE_POSITIONS) then { { _z = _x select 0; _r = _x select 1; if (_obj distance _z < _r) exitWith {_state = true;}; } forEach _infiSZ; }; if (USE_CANBUILD) then { if (!canbuild) then {_state = true;}; }; if (USE_TraderCity) then { if (isInTraderCity) then {_state = true;}; }; if (_state) then { inSafeZone = true; call _startSafeZone; { if (!isNull _x) then { if !(isPlayer _x) then { deletevehicle _x; }; }; } forEach (_obj nearEntities ['zZombie_Base',15]); if (isNil 'USE_AI_REMOVER') then { USE_AI_REMOVER = false; } else { if (typename USE_AI_REMOVER != 'BOOL') then { USE_AI_REMOVER = false; }; }; if (USE_AI_REMOVER) then { { if ((!isNull group _x) && (getPlayerUID _x == '')) then { deleteVehicle _x; }; } forEach (player nearEntities ['Man',100]); }; } else { inSafeZone = false; }; uiSleep 2; if (!inSafeZone) then { call _endSafeZone; }; }; }; if (USE_AntiSteal) then { [] spawn { while {1 == 1} do { if (inSafezone) then { _cnt = {isPlayer _x && _x != player} count (player nearEntities [['CAManBase'], 3]); if ((_cnt > 0) && (!isNull (findDisplay 106))) then { (findDisplay 106) closedisplay 0; closeDialog 0; _log = format['%1 You are not allowed to open Gear while near another player!',name player]; cutText [_log,'PLAIN']; hint _log; }; } else { uiSleep 2; }; uiSleep 0.1; }; }; }; Clear Zeds: if (isNil "canbuild") then { canbuild = true; }; while {!canbuild} do { _entity_array = (getPos player) nearEntities ["CAManBase",50]; { if (_x isKindof "zZombie_Base") then { deletevehicle _x; }; } forEach _entity_array; uiSleep 4; }; Speed Limiter (Set to 50): speedlimit = [] spawn { _maxspeed = 50; while {!canbuild} do { waitUntil {vehicle player != player and !((vehicle player) isKindOf 'Air')}; _vehicle = vehicle player; _curspeed = speed _vehicle; if (_curspeed > _maxspeed) then { _vel = velocity _vehicle; _dir = direction _vehicle; _speed = _curspeed - _maxspeed; _vehicle setVelocity [(_vel select 0)-((sin _dir)*_speed),(_vel select 1)- ((cos _dir)*_speed),(_vel select 2)]; }; uiSleep 0.1; }; }; I also have the sign.paa which is here: http://www.filedropper.com/sign all the files except the safezone one is in a folder named "custom" the safezone is in the mission root Hope this helps Pry Link to comment Share on other sites More sharing options...
Question
Mochan
Title says it all? Searched around? How do you actually use this?
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now