Jump to content

BangL

Member
  • Posts

    32
  • Joined

  • Last visited

Posts posted by BangL

  1. Players do not move when trading. Ammo trader on napf and boat trader on cherno always "canceled trade".

     

     

    put your trader on the ground , if your trader is in a 2 story building it will not work, took me some time to find this out =P

     

    fix:

     

     

    Replace..

    if (player distance _oldPosition <= 1) then {

    with

    if ((position player) distance _oldPosition <= 1) then {

    IN:

    • ZSC\actions\trade_any_bicycle.sqf
    • ZSC\actions\trade_any_boat.sqf
    • ZSC\actions\trade_any_vehicle.sqf
    • ZSC\actions\trade_backpacks.sqf
    • ZSC\actions\trade_items.sqf       [ 2 times! ]
    • ZSC\actions\trade_weapons.sqf
  2. ah, ok. 

     

    So I did that, we are getting somewhere..lol. I get this...

     

    ErrorMessage: File mpmissions\__cur_mp.panthera2\gui\ZSCdefines.hpp, line 15: .ZSC_RscScrollBar: Member already defined.

     

    hey, thats bad, cause its still not working, but also good, cause its finally loading the files :D

    just remove the ZSC_RscScrollBar block. you propbably already have a copy of it in your defines.hpp or something.

    that means delete the code in it from "class ZSC_RscScrollbar {" to the NEXT "};" including the "class" and "};". i hope you know what i mean.

    And then do the same if there are more duplicates coming up after that

  3. players on my server are still duping coins , read in chat log that some one made about 20 brief cases, not sure what dupe they were using , any one have any ideas?

     

    brief cases are sort of hard to get with my economy 

     

     

    i made a code to block player banking with in x amount of player , just need help testing it with another player and my buddy is not online

     

    are you using my fix already? if not, its probably still vaults.. the "action in progress check" wont be enough if two ppl are working together.

  4. Here is my server_monitor.sqf

    private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_inventory","_hitPoints","_fuel","_damage","_key","_vehLimit","_hiveResponse","_objectCount","_codeCount","_data","_status","_val","_traderid","_retrader","_traderData","_id","_lockable","_debugMarkerPosition","_vehicle_0","_bQty","_vQty","_BuildingQueue","_objectQueue","_superkey","_shutdown","_res","_hiveLoaded","_ownerPUID"];
    
    dayz_versionNo = 		getText(configFile >> "CfgMods" >> "DayZ" >> "version");
    dayz_hiveVersionNo = 	getNumber(configFile >> "CfgMods" >> "DayZ" >> "hiveVersion");
    
    _hiveLoaded = false;
    
    waitUntil{initialized}; //means all the functions are now defined
    
    diag_log "HIVE: Starting";
    
    waituntil{isNil "sm_done"}; // prevent server_monitor be called twice (bug during login of the first player)
    	
    // Custom Configs
    if(isnil "MaxVehicleLimit") then {
    	MaxVehicleLimit = 50;
    };
    
    if(isnil "MaxDynamicDebris") then {
    	MaxDynamicDebris = 100;
    };
    if(isnil "MaxAmmoBoxes") then {
    	MaxAmmoBoxes = 3;
    };
    if(isnil "MaxMineVeins") then {
    	MaxMineVeins = 50;
    };
    // Custon Configs End
    
    if (isServer && isNil "sm_done") then {
    
    	serverVehicleCounter = [];
    	_hiveResponse = [];
    
    	for "_i" from 1 to 5 do {
    		diag_log "HIVE: trying to get objects";
    		_key = format["CHILD:302:%1:", dayZ_instance];
    		_hiveResponse = _key call server_hiveReadWrite;  
    		if ((((isnil "_hiveResponse") || {(typeName _hiveResponse != "ARRAY")}) || {((typeName (_hiveResponse select 1)) != "SCALAR")})) then {
    			if ((_hiveResponse select 1) == "Instance already initialized") then {
    				_superkey = profileNamespace getVariable "SUPERKEY";
    				_shutdown = format["CHILD:400:%1:", _superkey];
    				_res = _shutdown call server_hiveReadWrite;
    				diag_log ("HIVE: attempt to kill.. HiveExt response:"+str(_res));
    			} else {
    				diag_log ("HIVE: connection problem... HiveExt response:"+str(_hiveResponse));
    			
    			};
    			_hiveResponse = ["",0];
    		} 
    		else {
    			diag_log ("HIVE: found "+str(_hiveResponse select 1)+" objects" );
    			_i = 99; // break
    		};
    	};
    	
    	_BuildingQueue = [];
    	_objectQueue = [];
    	
    	if ((_hiveResponse select 0) == "ObjectStreamStart") then {
    	
    		// save superkey
    		profileNamespace setVariable ["SUPERKEY",(_hiveResponse select 2)];
    		
    		_hiveLoaded = true;
    	
    		diag_log ("HIVE: Commence Object Streaming...");
    		_key = format["CHILD:302:%1:", dayZ_instance];
    		_objectCount = _hiveResponse select 1;
    		_bQty = 0;
    		_vQty = 0;
    		for "_i" from 1 to _objectCount do {
    			_hiveResponse = _key call server_hiveReadWriteLarge;
    			//diag_log (format["HIVE dbg %1 %2", typeName _hiveResponse, _hiveResponse]);
    			if ((_hiveResponse select 2) isKindOf "ModularItems") then {
    				_BuildingQueue set [_bQty,_hiveResponse];
    				_bQty = _bQty + 1;
    			} else {
    				_objectQueue set [_vQty,_hiveResponse];
    				_vQty = _vQty + 1;
    			};
    		};
    		diag_log ("HIVE: got " + str(_bQty) + " Epoch Objects and " + str(_vQty) + " Vehicles");
    	};
    	
    	// # NOW SPAWN OBJECTS #
    	_totalvehicles = 0;
    	{
    		_idKey = 		_x select 1;
    		_type =			_x select 2;
    		_ownerID = 		_x select 3;
    
    		_worldspace = 	_x select 4;
    		_inventory =	_x select 5;
    		_hitPoints =	_x select 6;
    		_fuel =			_x select 7;
    		_damage = 		_x select 8;
    		
    		_dir = 0;
    		_pos = [0,0,0];
    		_wsDone = false;
    		if (count _worldspace >= 2) then
    		{
    			_dir = _worldspace select 0;
    			if (count (_worldspace select 1) == 3) then {
    				_pos = _worldspace select 1;
    				_wsDone = true;
    			}
    		};			
    		
    		if (!_wsDone) then {
    			if (count _worldspace >= 1) then { _dir = _worldspace select 0; };
    			_pos = [getMarkerPos "center",0,4000,10,0,2000,0] call BIS_fnc_findSafePos;
    			if (count _pos < 3) then { _pos = [_pos select 0,_pos select 1,0]; };
    			diag_log ("MOVED OBJ: " + str(_idKey) + " of class " + _type + " to pos: " + str(_pos));
    		};
    		
    		// Realign characterID to OwnerPUID - need to force save though.
    		
    		if (DZE_APlotforLife) then {
    			if (count _worldspace < 3) then
    			{
    				_worldspace set [count _worldspace, "0"];
    			};		
    			_ownerPUID = _worldspace select 2;
    		} else {
    			_ownerPUID = _ownerID;
    		};
    		
    		// diag_log format["Server_monitor: [ObjectID = %1]  [ClassID = %2] [_ownerPUID = %3]", _idKey, _type, _ownerPUID];
    		
    		if (_damage < 1) then {
    			//diag_log format["OBJ: %1 - %2", _idKey,_type];
    			
    			//Create it
    			_object = createVehicle [_type, _pos, [], 0, "CAN_COLLIDE"];
    			_object setVariable ["lastUpdate",time];
    			_object setVariable ["ObjectID", _idKey, true];
    			_object setVariable ["OwnerPUID", _ownerPUID, true];
    
    			_lockable = 0;
    			if(isNumber (configFile >> "CfgVehicles" >> _type >> "lockable")) then {
    				_lockable = getNumber(configFile >> "CfgVehicles" >> _type >> "lockable");
    			};
    
    			// fix for leading zero issues on safe codes after restart
    			if (_lockable == 4) then {
    				_codeCount = (count (toArray _ownerID));
    				if(_codeCount == 3) then {
    					_ownerID = format["0%1", _ownerID];
    				};
    				if(_codeCount == 2) then {
    					_ownerID = format["00%1", _ownerID];
    				};
    				if(_codeCount == 1) then {
    					_ownerID = format["000%1", _ownerID];
    				};
    			};
    
    			if (_lockable == 3) then {
    				_codeCount = (count (toArray _ownerID));
    				if(_codeCount == 2) then {
    					_ownerID = format["0%1", _ownerID];
    				};
    				if(_codeCount == 1) then {
    					_ownerID = format["00%1", _ownerID];
    				};
    			};
    
    			_object setVariable ["CharacterID", _ownerID, true];
    			
    			clearWeaponCargoGlobal  _object;
    			clearMagazineCargoGlobal  _object;
    			// _object setVehicleAmmo DZE_vehicleAmmo;
    			
    			_object setdir _dir;
    			_object setposATL _pos;
    			_object setDamage _damage;
    			
    			if ((typeOf _object) in dayz_allowedObjects) then {
    				if (DZE_GodModeBase) then {
    					_object addEventHandler ["HandleDamage", {false}];
    				} else {
    					_object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}];
    				};
    				// Test disabling simulation server side on buildables only.
    				_object enableSimulation false;
    				// used for inplace upgrades && lock/unlock of safe
    				_object setVariable ["OEMPos", _pos, true];
    				
    			};
    
    			if (count _inventory > 0) then {
    			
    				/*ZSC*/			
    				if( count (_inventory) > 3)then{
    				_object setVariable ["bankMoney", _inventory select 3, true];
    				}else{
    				_object setVariable ["bankMoney", 0, true];
    				};				
    				/*ZSC*/
    				
    				if (_type in DZE_LockedStorage) then {
    					// Fill variables with loot
    					_object setVariable ["WeaponCargo", (_inventory select 0),true];
    					_object setVariable ["MagazineCargo", (_inventory select 1),true];
    					_object setVariable ["BackpackCargo", (_inventory select 2),true];
    				} else {
    
    					//Add weapons
    					_objWpnTypes = (_inventory select 0) select 0;
    					_objWpnQty = (_inventory select 0) select 1;
    					_countr = 0;					
    					{
    						if(_x in (DZE_REPLACE_WEAPONS select 0)) then {
    							_x = (DZE_REPLACE_WEAPONS select 1) select ((DZE_REPLACE_WEAPONS select 0) find _x);
    						};
    						_isOK = 	isClass(configFile >> "CfgWeapons" >> _x);
    						if (_isOK) then {
    							_object addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];
    						};
    						_countr = _countr + 1;
    					} count _objWpnTypes; 
    				
    					//Add Magazines
    					_objWpnTypes = (_inventory select 1) select 0;
    					_objWpnQty = (_inventory select 1) select 1;
    					_countr = 0;
    					{
    						if (_x == "BoltSteel") then { _x = "WoodenArrow" }; // Convert BoltSteel to WoodenArrow
    						if (_x == "ItemTent") then { _x = "ItemTentOld" };
    						_isOK = 	isClass(configFile >> "CfgMagazines" >> _x);
    						if (_isOK) then {
    							_object addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];
    						};
    						_countr = _countr + 1;
    					} count _objWpnTypes;
    
    					//Add Backpacks
    					_objWpnTypes = (_inventory select 2) select 0;
    					_objWpnQty = (_inventory select 2) select 1;
    					_countr = 0;
    					{
    						_isOK = 	isClass(configFile >> "CfgVehicles" >> _x);
    						if (_isOK) then {
    							_object addBackpackCargoGlobal [_x,(_objWpnQty select _countr)];
    						};
    						_countr = _countr + 1;
    					} count _objWpnTypes;
    				};
    			};	
    			
    			if (_object isKindOf "AllVehicles") then {
    				{
    					_selection = _x select 0;
    					_dam = _x select 1;
    					if (_selection in dayZ_explosiveParts && _dam > 0.8) then {_dam = 0.8};
    					[_object,_selection,_dam] call object_setFixServer;
    				} count _hitpoints;
    
    				_object setFuel _fuel;
    
    				if (!((typeOf _object) in dayz_allowedObjects)) then {
    					
    					//_object setvelocity [0,0,1];
    					_object call fnc_veh_ResetEH;		
    					
    					if(_ownerID != "0" && !(_object isKindOf "Bicycle")) then {
    						_object setvehiclelock "locked";
    					};
    					
    					_totalvehicles = _totalvehicles + 1;
    
    					// total each vehicle
    					serverVehicleCounter set [count serverVehicleCounter,_type];
    				};
    			};
    
    			//Monitor the object
    			PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_object];
    		};
    	} forEach (_BuildingQueue + _objectQueue);
    	// # END SPAWN OBJECTS #
    
    	// preload server traders menu data into cache
    	if !(DZE_ConfigTrader) then {
    		{
    			// get tids
    			_traderData = call compile format["menu_%1;",_x];
    			if(!isNil "_traderData") then {
    				{
    					_traderid = _x select 1;
    
    					_retrader = [];
    
    					_key = format["CHILD:399:%1:",_traderid];
    					_data = "HiveEXT" callExtension _key;
    
    					//diag_log "HIVE: Request sent";
    			
    					//Process result
    					_result = call compile format ["%1",_data];
    					_status = _result select 0;
    			
    					if (_status == "ObjectStreamStart") then {
    						_val = _result select 1;
    						//Stream Objects
    						//diag_log ("HIVE: Commence Menu Streaming...");
    						call compile format["ServerTcache_%1 = [];",_traderid];
    						for "_i" from 1 to _val do {
    							_data = "HiveEXT" callExtension _key;
    							_result = call compile format ["%1",_data];
    							call compile format["ServerTcache_%1 set [count ServerTcache_%1,%2]",_traderid,_result];
    							_retrader set [count _retrader,_result];
    						};
    						//diag_log ("HIVE: Streamed " + str(_val) + " objects");
    					};
    
    				} forEach (_traderData select 0);
    			};
    		} forEach serverTraders;
    	};
    
    	if (_hiveLoaded) then {
    		//  spawn_vehicles
    		_vehLimit = MaxVehicleLimit - _totalvehicles;
    		if(_vehLimit > 0) then {
    			diag_log ("HIVE: Spawning # of Vehicles: " + str(_vehLimit));
    			for "_x" from 1 to _vehLimit do {
    				[] spawn spawn_vehicles;
    			};
    		} else {
    			diag_log "HIVE: Vehicle Spawn limit reached!";
    		};
    	};
    	
    	//  spawn_roadblocks
    	diag_log ("HIVE: Spawning # of Debris: " + str(MaxDynamicDebris));
    	for "_x" from 1 to MaxDynamicDebris do {
    		[] spawn spawn_roadblocks;
    	};
    	//  spawn_ammosupply at server start 1% of roadblocks
    	diag_log ("HIVE: Spawning # of Ammo Boxes: " + str(MaxAmmoBoxes));
    	for "_x" from 1 to MaxAmmoBoxes do {
    		[] spawn spawn_ammosupply;
    	};
    	// call spawning mining veins
    	diag_log ("HIVE: Spawning # of Veins: " + str(MaxMineVeins));
    	for "_x" from 1 to MaxMineVeins do {
    		[] spawn spawn_mineveins;
    	};
    
    	if(isnil "dayz_MapArea") then {
    		dayz_MapArea = 10000;
    	};
    	if(isnil "HeliCrashArea") then {
    		HeliCrashArea = dayz_MapArea / 2;
    	};
    	if(isnil "OldHeliCrash") then {
    		OldHeliCrash = false;
    	};
    
    	// [_guaranteedLoot, _randomizedLoot, _frequency, _variance, _spawnChance, _spawnMarker, _spawnRadius, _spawnFire, _fadeFire]
    	if(OldHeliCrash) then {
    		_nul = [3, 4, (50 * 60), (15 * 60), 0.75, 'center', HeliCrashArea, true, false] spawn server_spawnCrashSite;
    	};
    	if (isDedicated) then {
    		// Epoch Events
    		_id = [] spawn server_spawnEvents;
    		// server cleanup
    		[] spawn {
    			private ["_id"];
    			sleep 200; //Sleep Lootcleanup, don't need directly cleanup on startup + fix some performance issues on serverstart
    			waitUntil {!isNil "server_spawnCleanAnimals"};
    			_id = [] execFSM "\z\addons\dayz_server\system\server_cleanup.fsm";
    		};
    
    		// spawn debug box
    		_debugMarkerPosition = getMarkerPos "respawn_west";
    		_debugMarkerPosition = [(_debugMarkerPosition select 0),(_debugMarkerPosition select 1),1];
    		_vehicle_0 = createVehicle ["DebugBox_DZ", _debugMarkerPosition, [], 0, "CAN_COLLIDE"];
    		_vehicle_0 setPos _debugMarkerPosition;
    		_vehicle_0 setVariable ["ObjectID","1",true];
    
    		// max number of spawn markers
    		if(isnil "spawnMarkerCount") then {
    			spawnMarkerCount = 10;
    		};
    		actualSpawnMarkerCount = 0;
    		// count valid spawn marker positions
    		for "_i" from 0 to spawnMarkerCount do {
    			if (!([(getMarkerPos format["spawn%1", _i]), [0,0,0]] call BIS_fnc_areEqual)) then {
    				actualSpawnMarkerCount = actualSpawnMarkerCount + 1;
    			} else {
    				// exit since we did not find any further markers
    				_i = spawnMarkerCount + 99;
    			};
    			
    		};
    		diag_log format["Total Number of spawn locations %1", actualSpawnMarkerCount];
    		
    		endLoadingScreen;
    	};
    
    	[] ExecVM "\z\addons\dayz_server\WAI\init.sqf";															//Wicked AI System 11-26-14
    	[] call compile preprocessFileLineNumbers "\z\addons\dayz_server\DZAI\init\dzai_initserver.sqf";		//DZAI Roaming AI System 11-26-14
    	allowConnection = true;	
    	sm_done = true;
    	publicVariable "sm_done";
    };
    

     

    hmm.. looks good as well. cant really see the problem.

    i would like give the database another try..

    how about this query...

    SELECT * FROM `Object_DATA`
    WHERE `Inventory` LIKE "%,]";

    any results on this?

  5. its in my missions/overpoch.panthera/gui/

     

    also verified the destination was correct and titled correctly. Again, appreciate your help in advance.

     

    yea, i think i got it now...

    the point is: the include command will look for a "ZSC" folder IN "gui", which is wrong.

    try this:

        #include "..\ZSC\config\ZSChud.hpp"
    };
    #include "..\ZSC\config\ZSCdefines.hpp"
    #include "..\ZSC\config\ZSCdialogs.hpp"

    the double dot (..) should make it go one folder up, and then its fine.

     

     

     

    EDIT: actually even that wouldnt work, as you can see here:

    http://forums.bistudio.com/showthread.php?132476-include-statement-for-file-in-parent-folder

    that is pretty weak, if you ask me.

     

    so the easiest way to get around this is moving the 3 files into your "gui" folder, and call them like this instead:

        #include "ZSChud.hpp"
    };
    #include "ZSCdefines.hpp"
    #include "ZSCdialogs.hpp"
  6. correct. The error from above was when I added it to my mission description. When I added it to ATD_Hud.h...it stated that ZSC\config\ZSChud.hpp was missing.

    oh well.. yeah. dont add it to description.ext. do the change i described in the ATD_Hud.h file.

    and then be sure that zupas hpp files are in the correct place ;)

     

     

    EDIT: wait, i think i see it now...

    where exactly is you ATD_Hud.h located? (the folders)

  7. I really appreciate the assistance, but still nothing. I've added it to ATD hud and it just states its missing if i add it to description.. i get this...

     

    19:58:17 Warning Message: Resource title ZSC_Money_Display not found

    19:58:17 Error in expression <ariable "ZSC_Money_Display"; 

    _vitals = _wpui displayCtrl 4900;

    Money = player g>

    19:58:17 Error position: <_wpui displayCtrl 4900;

    Money = player g>

    19:58:17 Error Undefined variable in expression: _wpui

    19:58:17 File mpmissions\__cur_mp.panthera2\ZSC\compiles\playerHud.sqf, line 6

     

     

    just to be sure..

    we are talking about the file "ATD_Hud.h", right?

  8.  

    Update

     

    I have this now in my hiveext.log

    2014-12-18 13:10:53 HiveExt: [Error] Error executing |CHILD:303:315:[[[],[]],[[],[]],[[],[]],<null>]:|

     

    And its still having the same issue.

     

    Here is that section of the file i edited.

    _object_inventory = {
    	private["_inventory","_previous","_key"];
    		_inventory = [
    			getWeaponCargo _object,
    			getMagazineCargo _object,
    			getBackpackCargo _object,
    			_object getVariable["bankMoney",0]	//ZSC
    		];
    		_previous = str(_object getVariable["lastInventory",[]]);
    		if (str(_inventory) != _previous) then {
    			_object setVariable["lastInventory",_inventory];
    			if (_objectID == "0") then {
    				_key = format["CHILD:309:%1:%2:",_uid,_inventory];
    			} else {
    				_key = format["CHILD:303:%1:%2:",_objectID,_inventory];
    			};
    			//diag_log ("HIVE: WRITE: "+ str(_key));
    			_key call server_hiveWrite;
    		};
    };
    

     

    looks good to me.

    i have two ideas now:

    1. there could be another problem in your server_monitor.sqf, which leads into the objects loading incorrectly when the server starts

    2. the data of the objects might be still kinda corrupt due to it saved wrongly, before you fixed the code in updateObjects

     

    do you have some kind of phpmyadmin or anything like that for your db?

  9. Zupa, or to anyone that might be able to help.

     

    I have a new bug that is happening on my server, its not happening every time, but enough for players to use it as an exploit and get free money. I have went over the files many times (Beyond Compare) and I don't see anything missing or wrong. See nothing in the PRT when it happens either that gives me something to go on. BTW, this is a fresh install, I am also using Plot Pole for Life if that helps.

     

    When you unlock a safe, sometimes it will show you your money just fine, other times, it will show "any/200000". You are able to deposit any amount, it takes it but it doesn't update the database. However, you can also remove "any" amount from it and it "will" add it to your character, but it doesn't update the amount taken from the safe in the database again. Its like the safe becomes and unlimited money box. I have noticed this happens alot when you open your safe and then walk away from it and come back a short time later while its still unlocked. That is not always the case though, it happens at times right after a restart. 1 safe my do it and the next one beside it work fine. This applies to Vaults and LockBox's only, every other money storage seems to work fine.

     

    If anyone can point me in a direction to look at I would really appreciate it. Thanks!

     

    UPDATE!

    After playing on one screen and watching the logs on another, i seen this happen exactly as the safe problem happened as I was unlocking it. Still doesn't help me where to start to fix it, but maybe someone here can decipher it.

     

    arma2oaserver.rpt

    11:09:50 "infiSTAR.de Log: SAFE UNLOCKED: ID:0 UID:69552258592139 BY SuperTech101(removed) @069127"

    11:10:07 "infiSTAR.de Log: SAFE UNLOCKED: ID:306 UID:0 BY SuperTech101(removed) @069127"

     

    hiveext.log

    2014-12-18 11:09:32 HiveExt: [information] Method: 309 Params: 69558258642139:[[[],[]],[[],[]],[[],[]],<null>]:

    2014-12-18 11:09:32 HiveExt: [Error] Error executing |CHILD:309:69558258642139:[[[],[]],[[],[]],[[],[]],<null>]:|

     

     

    for me it looks like you did something wrong in server_opdateObject.sqf, double check that.

     

    please be aware that theres a typo in the official 1.0.5.1 code related to _inventory / _intentory

    be sure to either do the same typo OR fix it in the whole file.

     

     

    EDIT: mh.. nevermind, i think "intentory" typo was in a different file tho

     

    anyways.. double check to have the inventory array like this:

            _inventory = [
                getWeaponCargo _object,
                getMagazineCargo _object,
                getBackpackCargo _object,
                _object getVariable["bankMoney",0]
            ];
  10. sometimes, when you have two doors very near to to each other, and you look from the first to the second... the "Manage Door" action wont refresh, so the second door will show the list of the first one.

     

    here is a fix for that:

     

     

    1. in "fn_selfActions.sqf", put:

            if (s_player_manageDoor >= 0 && door_management_last != _cursorTarget) then {
                player removeAction s_player_manageDoor;
                s_player_manageDoor = -1;
            };

    AFTER

        if (_typeOfCursorTarget in DZE_DoorsLocked) then {

    2. also in "fn_selfActions.sqf", put:

                door_management_last = _cursorTarget;

    AFTER

            if (s_player_manageDoor < 0) then {

    3. still in "fn_selfActions.sqf", put:

            door_management_last = objNull;

    BETWEEN this:

        } else {
            player removeAction s_player_manageDoor;
            s_player_manageDoor = -1;
        };
    

    so it will look like this:

        } else {
            door_management_last = objNull;
            player removeAction s_player_manageDoor;
            s_player_manageDoor = -1;
        };

    4. and in "variabls.sqf" put:

        door_management_last = objNull;

    AFTER

        s_player_manageDoor = -1;

    this change will force the script to check if the current door youre looking at is still the same. if not: it refreshes the action with the new door as parameter.

  11. i found a fix for the locked safe dupe i tested it and it works , what i didnt get to test is if you have 2 players and you try to do the same thing if some one could please try that and report 

     

    here is my fix the file that neededs to be replaced  \ZSC\actions\bank_dialog.sqf  just replace the whole file with the spoiler text, remember that im not zupa and i did not test this 100%

    but i did try to lock safe and open money menu during and it did not let me and i also went to trader bought items with not problem , lets see what zupa has to say about it

     

    if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_10") , "PLAIN DOWN"]; };

    DZE_ActionInProgress = true;

    private ["_dialog"];

    ZSC_CurrentStorage = cursorTarget;

    _dialog = createDialog "BankDialog";

    call BankDialogUpdateAmounts;

     

    DZE_ActionInProgress = false;

     

    didnt see the post above mine =P

     

     

    ha! :D

    well actually your code addition is nice anyways IMO. with or without my fix, doesnt matter.

    deposit/withdraw shouldnt be available when another action is in progress. gj!

  12. well.. i was too fast on this. my first fix removes the action, even if the locking process will be cancelled, i will update my earlier posts to prevent misleadings.

    here is the full change now:

     

    https://github.com/EpochSC/SingleCurrencyStorage/pull/5/files

     

     

    (as third step i just moved the first code down, below the cancel checks)

     

     

     

    ok, all updated now.

  13. Zupa!

     

    Confirming this one!

     

    Should be like so, that when you are locking the safe, the scroll menu or at least the "money storage" function has to be disabled until the safe is completely locked.

     

    Needs to be fixed asap. Thanks in advance.

     

    Or does somebody else have a workaround for this?

     

     

    in ZSC\compiles\player_lockVault.sqf (or your own custom variant of it), put this:

    _obj setVariable ["bankMoney", 0, true];
    if (s_bank_dialog >= 0) then {
        player removeAction s_bank_dialog;
        s_bank_dialog = -1;
    };

    directly AFTER this:

    _obj setVariable["packing",1];
  14. hi,i installed your mod and everything works well (traders,money,safe in vehicle ecc ecc)but  i've a problem..if a player play for some time on this server and then log off,next login his player stats and all is deleted..vehicle and vehicle gear still on database,but player stats is deleted everytime..

    what can i do? (sorry for my bad english)

     

    Damiano

     

     

    double check your modifications at server_playerSync.sqf and server_switchModel.sqf

    and maybe provide your server RPT

  15. BTW what files are u using, that file u use doesn't get used anymore in this ZSC 3.0, or u renamed it?

     

    Otherwise some of your files or called later then mine and overwriting functions

     

    yeah, i renamed and moved it, that way its easier for me to keep track of things which override actual dayz_code files. dont worry.

     

    edit: btw.. im an examined computer science expert in software development, so please just dont worry about stuff like that when you talk to me :D

×
×
  • Create New...