Jump to content

edhunter

Member
  • Posts

    62
  • Joined

  • Last visited

Posts posted by edhunter

  1. Hey Guys, 

     

    i have read 2-3 Threads with this walls in ground bug thing. But there are no answers that clearly confirm or deny it. It could be, that this bug was fixed in 0.3.0.4 if it existed, because the threads are from april and may. 

    It would be really annoying, if you are able to make a woodwall indestructible, because of building it in the ground or an existing arma3mapbuilding. 

     

    Greetz, edHunter. 

  2. You misunderstood. I said no buildings (textures,files,....) from origins. Only building (crafting) LIKE origins. Like a receip with 6 cinderblocks, 1 large metal, 1 electronic component for a locked garage or something like that. You know what i mean? It´s only about the old feeling ! You can win or loose it all. 

  3. First thanks to the devs for working so hard at the Epochmod. It`s great and we "had" so much fun with it. But some of us are missing Dayz Origins. So i thought, how hard is it to script a Originslike server? I`m not having the know how in scripting, so this is only a wish/thought-provoking impulse. A server with Originslikebuildings and epochbasics. 

    I think about a gameplay, only CRAFTING with a recept to build a indestructible building (Curch,Garage,etc) like in origins. To save the buildingentrance, you can only craft one codelocked door.

    To get raided, because you open your door in a wrong time..... that`s the old Originskick !!! Love it. 

     

    Is there a server like this out there? Would be awesome. 

     

    What do you think ? 

  4. OK, all working fine now. Indestructibel cinder and metall+snap pro+vector. Thx sparky for your help. It was a missing "_vector" in my player_build.sqf :wacko:

     

    Did anyone has the problem with not accurate snaping when using vectorsnap? i place to metallfloors like epoch says it should be, and snap them...everything fine.

    But if i place them like VectorSystem says it should be, then they are not accurate. one half is glitching in the other floor, and the other half is making a gap. Hope you understand what i mean. Using 1.3.1 snap pro with vectorbuilding in epoch 1.0.5.1 arma 125548.

     

    Screenshot of vectorissue

    http://www.pic-upload.de/view-24297387/2014-08-18_00001.jpg.html

     

    greetz, ed

     

    No fix for this ? Has anyone this issue , too?

  5. OK, all working fine now. Indestructibel cinder and metall+snap pro+vector. Thx sparky for your help. It was a missing "_vector" in my player_build.sqf :wacko:

     

    Did anyone has the problem with not accurate snaping when using vectorsnap? i place to metallfloors like epoch says it should be, and snap them...everything fine.

    But if i place them like VectorSystem says it should be, then they are not accurate. one half is glitching in the other floor, and the other half is making a gap. Hope you understand what i mean. Using 1.3.1 snap pro with vectorbuilding in epoch 1.0.5.1 arma 125548.

     

    Screenshot of vectorissue

    http://www.pic-upload.de/view-24297387/2014-08-18_00001.jpg.html

     

    greetz, ed

  6. Are the Autorefuel Zones defined in the Script?

     

    Oder da dein Serverstandort Deutschland ist, versuchen wirs es mal in selbiger Sprache :)

    Kenne Autorefuel nicht, schau mal nach ob da irgendwo Zonen definiert sind, wo man nachtanken kann.

     

    Ich denke das hier ist gemeint : _servicePointClasses = dayz_fuelpumparray; // service point classes (can be house, vehicle and unit classes)

     

    kannst du mir deine fuelpump classnamen schreiben ? dann müsste ich die ja einfach nur eintragen, und dann sollte es auch damit funzen.

     

    Danke das du dich gemeldet hast.

     

    Grüße, Ed

  7. INdestructibel Cinder and metall has worked on my server like charme. Checked all Indestructibel codes. they are correct. i am not a scripter (only copy+paste and logical reasoning), so i think i cannot see any mistakes in the functions. Have to trust you and raymix and other good scripter and has to bow for their great work.

     

    I don`t use the player_build.sqf of vector. I merged the code of it to mine.

  8. Thanks sparky. Two problems now.

     

    First, CinderGarage with codelock is standing correct in vectormode after restart. Thx for this,working fine, but a metallfloor is in it`s defaultbuildingsystemway after restart. I build it vertically, after restart it`s horizintally.

     

    Second, my items (cinder,metall) are not indestructible anymore. I have broken down a cinderwall and a cindergaragedoor with armored suv after restart.

     

    I`m getting two errors in RPT:

    if (typeOf(_object) in _cpcimmune) then {
    _object addEventHandl>
    12:05:28   Error position: <_cpcimmune) then {
    _object addEventHandl>
    12:05:28   Error Undefined variable in expression: _cpcimmune
    12:05:28 File z\addons\dayz_server\system\server_monitor.sqf, line 166
    12:05:28 Error in expression <pos, true];
    };
    
    
    if (typeOf(_object) in _cpcimmune) then {
    _object addEventHandl>
    12:05:28   Error position: <_cpcimmune) then {
    _object addEventHandl>
    12:05:28   Error Undefined variable in expression: _cpcimmune
    12:05:28 File z\addons\dayz_server\system\server_monitor.sqf, line 166
    12:05:28 Warning Message: Script z\addons\dayz_server\compile\server_deleteObjInsafezone.sqf not found
    12:05:28 Error in expression <pos, true];
    };
    
    

    Any fix for this ?

     

    EDIT: OK, i see you use server_deleteObjInsafezone.sqf. We are not, so i think i have to delete this line? :

     

    [_object] execVM "\z\addons\dayz_server\compile\server_deleteObjInsafezone.sqf";

     

    And what about this ?

     

    _object setVariable ["R3F_LOG_disabled",true,true]; //Disabling R3F Tow/Lift for Locked Vehicles
    _object setVariable ["MF_Tow_Cannot_Tow",true,true]; //Disabling MF-Tow for locked Vehicles

     

    Don`t use custom lift and tow. We are using only standardlift. Can i delete these ttwo lines, too?

  9. If it is after the restart that this issue occurs, then it is most likely a server_monitor.sqf issue.

     

    Hmmmm, i had to merge your server_monitor with mine, because of indestrucible items.

     

    thought i have done everything right. This is it

    private ["_nul","_result","_pos","_wsDone","_dir","_isOK","_countr","_objWpnTypes","_objWpnQty","_dam","_selection","_totalvehicles","_object","_idKey","_type","_ownerID","_worldspace","_intentory","_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"];
    
    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;
    		_intentory =	_x select 5;
    		_hitPoints =	_x select 6;
    		_fuel =			_x select 7;
    		_damage = 		_x select 8;
    		
    		_dir = 0;
    		_vector = [[0,0,0],[0,0,0]];
    		_vecExists = false;
    		
    		_pos = [0,0,0];
    		_wsDone = false;
        if (count _worldspace >= 2) then
            {
                if(count _worldspace == 3) then{
                    _vector = _worldspace select 2;
                    if(typename _vector == "ARRAY")then{
                        if(count _vector == 2)then{
                            if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
                                _vecExists = true;
                            };
                        };
    
                    };
    
                };
                _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));
    		};
    		
    
    		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];
    
    			_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;
    			
    			if(_vecExists)then{
    				_object setVectorDirAndUp _vector;
    			};
    			
    			_object setposATL _pos;
    			_object setDamage _damage;
    			//#########################INDESTRUCTIBLE ITEMS#########################
    			if ((typeOf _object) in indestructible) then {
    				_object addEventHandler ["HandleDamage", {false}];
    				_object enableSimulation false;
    			} else {
    				_object addMPEventHandler ["MPKilled",{_this call object_handleServerKilled;}];
    			};
    			//######################################################################
    			if ((typeOf _object) in dayz_allowedObjects) then {
    //#########################REMOVED FOR INDESTRUCTIBLE ITEMS#########################
    //				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 _intentory > 0) then {
    				if (_type in DZE_LockedStorage) then {
    					// Fill variables with loot
    					_object setVariable ["WeaponCargo", (_intentory select 0),true];
    					_object setVariable ["MagazineCargo", (_intentory select 1),true];
    					_object setVariable ["BackpackCargo", (_intentory select 2),true];
    				} else {
    
    					//Add weapons
    					_objWpnTypes = (_intentory select 0) select 0;
    					_objWpnQty = (_intentory 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 = (_intentory select 1) select 0;
    					_objWpnQty = (_intentory 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 = (_intentory select 2) select 0;
    					_objWpnQty = (_intentory 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];
    		};
    	} count (_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";
    //[] ExecVM "\z\addons\dayz_server\DZMS\DZMSInit.sqf";
    	allowConnection = true;	
    	sm_done = true;
    	publicVariable "sm_done";
    };
    
    

    Don`t know where the problem is.

  10. Ok thx fully. It was client side issue liek you said. A not set marker in DayzCommander caused this problem (something with overwrite folder /files).

     

    Now i have question about

     

    Solnichniy Factory Addon

    description: larger Factory now + some more Objects in Solnichniy

    screenshot: http://imgur.com/a/24E6L#0

     

    There is a Fuelstation, and i have installed ServicePoint. Vehicles are able to autorefuel if they are near by a fuelstation. But on this customadded Fuelstation, the script does not work. I have no clue how to edit the script, or the customadded building, but i think the easiest way is to find out, what buildings the script needs to work, and what building is added by gunnar ? Can anyone help me with this?

  11. Take a look at your player_upgrade.sqf

     

    Should look like this

     

    /*
    	DayZ Base Building Upgrades
    	Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected].
    */
    private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_newclassname","_requirements","_obj","_upgrade","_lockable","_combination_1","_combination_2","_combination_3","_combination","_objectCharacterID","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_distance","_needText","_findNearestPoles","_findNearestPole","_IsNearPlot"];
    
    if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_52") , "PLAIN DOWN"]; };
    DZE_ActionInProgress = true;
    
    player removeAction s_player_upgrade_build;
    s_player_upgrade_build = 1;
    
    
    _distance = 30;
    _needText = localize "str_epoch_player_246";
    
    // check for near plot
    _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
    _findNearestPole = [];
    
    {
    	if (alive _x) then {
    		_findNearestPole set [(count _findNearestPole),_x];
    	};
    } count _findNearestPoles;
    
    _IsNearPlot = count (_findNearestPole);
    
    _canBuildOnPlot = false;
    
    if(_IsNearPlot == 0) then {
    	_canBuildOnPlot = true;
    } else {
    	
    	// check nearby plots ownership && then for friend status
    	_nearestPole = _findNearestPole select 0;
    
    	// Find owner 
    	_ownerID = _nearestPole getVariable["CharacterID","0"];
    
    	// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
    
    	// check if friendly to owner
    	if(dayz_characterID == _ownerID) then {
    		_canBuildOnPlot = true;		
    	} else {
    		_friendlies		= player getVariable ["friendlyTo",[]];
    		// check if friendly to owner
    		if(_ownerID in _friendlies) then {
    			_canBuildOnPlot = true;
    		};
    	};
    };
    
    // exit if not allowed due to plot pole
    if(!_canBuildOnPlot) exitWith {  DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_157"),_needText,_distance] , "PLAIN DOWN"]; };
    
    // get cursortarget from addaction
    _obj = _this select 3;
    
    // Find objectID
    _objectID 	= _obj getVariable ["ObjectID","0"];
    
    // Find objectUID
    _objectUID	= _obj getVariable ["ObjectUID","0"];
    
    if(_objectID == "0" && _objectUID == "0") exitWith {DZE_ActionInProgress = false; s_player_upgrade_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];};
    
    // Get classname
    _classname = typeOf _obj;
    
    // Find display name
    _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
    
    // Find next upgrade
    _upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "upgradeBuilding");
    
    if ((count _upgrade) > 0) then {
    
    	_newclassname = _upgrade select 0;
    
    	_lockable = 0;
    	if(isNumber (configFile >> "CfgVehicles" >> _newclassname >> "lockable")) then {
    		_lockable = getNumber(configFile >> "CfgVehicles" >> _newclassname >> "lockable");
    	};
    
    	_requirements = _upgrade select 1;
    	
    	_missingQty = 0;
    	_missing = "";
    	
    	_proceed = true;
    	{
    		_itemIn = _x select 0;
    		_countIn = _x select 1;
    		_qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player;
    		if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; };
    	} forEach _requirements;
    	
    	if (_proceed) then {
    		[1,1] call dayz_HungerThirst;
    		player playActionNow "Medic";
    		[player,20,true,(getPosATL player)] spawn player_alertZombies;
    	
    		_temp_removed_array = [];
    		_removed_total = 0;
    		_tobe_removed_total = 0;
    		
    		{
    			_removed = 0;
    			_itemIn = _x select 0;
    			_countIn = _x select 1;
    			// diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn];
    			_tobe_removed_total = _tobe_removed_total + _countIn;
    
    			{					
    				if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
    					_num_removed = ([player,_x] call BIS_fnc_invRemove);
    					_removed = _removed + _num_removed;
    					_removed_total = _removed_total + _num_removed;
    					if(_num_removed >= 1) then {
    						_temp_removed_array set [count _temp_removed_array,_x];
    					};
    				};
    		
    			} forEach magazines player;
    
    		} forEach _requirements;
    
    		// all parts removed proceed
    		if (_tobe_removed_total == _removed_total) then {
    			
    			// Get position
    			_location	= _obj getVariable["OEMPos",(getposATL _obj)];
    
    			// Get direction
    			_dir = getDir _obj;
    			
    			//Get Vector
    			_vector = [(vectorDir _obj),(vectorUp _obj)];
    			
    			// Current charID
    			_objectCharacterID 	= _obj getVariable ["CharacterID","0"];
    
    			_classname = _newclassname;
    			
    			// Create new object 
    			_object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
    
    			// Set direction
    			_object setDir _dir;
    
    			// Set vector
    			_object setVectorDirAndUp _vector;
    			
    			// Set location
    			_object setPosATL _location;
    
    			if (_lockable == 3) then {
    
    				_combination_1 = floor(random 10);
    				_combination_2 = floor(random 10);
    				_combination_3 = floor(random 10);
    				_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
    				
    				_objectCharacterID = _combination;
    				
    				cutText [format[(localize "str_epoch_player_158"),_combination,_text], "PLAIN DOWN", 5];
    			} else {	
    				cutText [format[(localize "str_epoch_player_159"),_text], "PLAIN DOWN", 5];
    			};
    
    			PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location,_vector],_classname,_obj,player];
    			publicVariableServer "PVDZE_obj_Swap";
    
    			player reveal _object;
    			
    		} else {
    		
    			{player addMagazine _x;} count _temp_removed_array;
    			cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
    		
    		};
    	} else {
    		_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
    		cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"];
    	};
    
    } else {
    	cutText [(localize "str_epoch_player_82"), "PLAIN DOWN"];
    };
    
    DZE_ActionInProgress = false;
    s_player_upgrade_build = -1; 

     

    If it looks like this, then verify that your self actions are correct.

    Same problem here. Building with vector is not saving the vector in database i think. After restart all buildings are standing without the vectorsystem. My fn_selfActions.sqf is like yours here, but for my has other parameter. i think that`s ok.

    But in player_upgrade.sqf i have the addition Indestructible Items. Could it be , that this causes the issues?

    /*
    	DayZ Base Building Upgrades
    	Made for DayZ Epoch please ask permission to use/edit/distrubute email [email protected].
    */
    private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_newclassname","_requirements","_obj","_upgrade","_lockable","_combination_1","_combination_2","_combination_3","_combination","_objectCharacterID","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_distance","_needText","_findNearestPoles","_findNearestPole","_IsNearPlot"];
    
    if(DZE_ActionInProgress) exitWith { cutText [(localize "str_epoch_player_52") , "PLAIN DOWN"]; };
    DZE_ActionInProgress = true;
    
    player removeAction s_player_upgrade_build;
    s_player_upgrade_build = 1;
    
    
    _distance = 30;
    _needText = localize "str_epoch_player_246";
    
    // check for near plot
    _findNearestPoles = nearestObjects [(vehicle player), ["Plastic_Pole_EP1_DZ"], _distance];
    _findNearestPole = [];
    
    {
    	if (alive _x) then {
    		_findNearestPole set [(count _findNearestPole),_x];
    	};
    } count _findNearestPoles;
    
    _IsNearPlot = count (_findNearestPole);
    
    _canBuildOnPlot = false;
    
    if(_IsNearPlot == 0) then {
    	_canBuildOnPlot = true;
    } else {
    	
    	// check nearby plots ownership && then for friend status
    	_nearestPole = _findNearestPole select 0;
    
    	// Find owner 
    	_ownerID = _nearestPole getVariable["CharacterID","0"];
    
    	// diag_log format["DEBUG BUILDING: %1 = %2", dayz_characterID, _ownerID];
    
    	// check if friendly to owner
    	if(dayz_characterID == _ownerID) then {
    		_canBuildOnPlot = true;		
    	} else {
    		_friendlies		= player getVariable ["friendlyTo",[]];
    		// check if friendly to owner
    		if(_ownerID in _friendlies) then {
    			_canBuildOnPlot = true;
    		};
    	};
    };
    
    // exit if not allowed due to plot pole
    if(!_canBuildOnPlot) exitWith {  DZE_ActionInProgress = false; cutText [format[(localize "str_epoch_player_157"),_needText,_distance] , "PLAIN DOWN"]; };
    
    // get cursortarget from addaction
    _obj = _this select 3;
    
    // Find objectID
    _objectID 	= _obj getVariable ["ObjectID","0"];
    
    // Find objectUID
    _objectUID	= _obj getVariable ["ObjectUID","0"];
    
    if(_objectID == "0" && _objectUID == "0") exitWith {DZE_ActionInProgress = false; s_player_upgrade_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];};
    
    // Get classname
    _classname = typeOf _obj;
    
    // Find display name
    _text = getText (configFile >> "CfgVehicles" >> _classname >> "displayName");
    
    // Find next upgrade
    _upgrade = getArray (configFile >> "CfgVehicles" >> _classname >> "upgradeBuilding");
    
    if ((count _upgrade) > 0) then {
    
    	_newclassname = _upgrade select 0;
    
    	_lockable = 0;
    	if(isNumber (configFile >> "CfgVehicles" >> _newclassname >> "lockable")) then {
    		_lockable = getNumber(configFile >> "CfgVehicles" >> _newclassname >> "lockable");
    	};
    
    	_requirements = _upgrade select 1;
    	
    	_missingQty = 0;
    	_missing = "";
    	
    	_proceed = true;
    	{
    		_itemIn = _x select 0;
    		_countIn = _x select 1;
    		_qty = { (_x == _itemIn) || (configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn) } count magazines player;
    		if(_qty < _countIn) exitWith { _missing = _itemIn; _missingQty = (_countIn - _qty); _proceed = false; };
    	} forEach _requirements;
    	
    	if (_proceed) then {
    		[1,1] call dayz_HungerThirst;
    		player playActionNow "Medic";
    		[player,20,true,(getPosATL player)] spawn player_alertZombies;
    	
    		_temp_removed_array = [];
    		_removed_total = 0;
    		_tobe_removed_total = 0;
    		
    		{
    			_removed = 0;
    			_itemIn = _x select 0;
    			_countIn = _x select 1;
    			// diag_log format["Recipe Finish: %1 %2", _itemIn,_countIn];
    			_tobe_removed_total = _tobe_removed_total + _countIn;
    
    			{					
    				if( (_removed < _countIn) && ((_x == _itemIn) || configName(inheritsFrom(configFile >> "cfgMagazines" >> _x)) == _itemIn)) then {
    					_num_removed = ([player,_x] call BIS_fnc_invRemove);
    					_removed = _removed + _num_removed;
    					_removed_total = _removed_total + _num_removed;
    					if(_num_removed >= 1) then {
    						_temp_removed_array set [count _temp_removed_array,_x];
    					};
    				};
    		
    			} forEach magazines player;
    
    		} forEach _requirements;
    
    		// all parts removed proceed
    		if (_tobe_removed_total == _removed_total) then {
    			
    			// Get position
    			_location	= _obj getVariable["OEMPos",(getposATL _obj)];
    
    			// Get direction
    			_dir = getDir _obj;
    			
    			//Get Vector
    			_vector = [(vectorDir _obj),(vectorUp _obj)];
    			
    			// Current charID
    			_objectCharacterID 	= _obj getVariable ["CharacterID","0"];
    
    			_classname = _newclassname;
    			
    			// Create new object 
    			_object = createVehicle [_classname, [0,0,0], [], 0, "CAN_COLLIDE"];
    //#########################INDESTRUCTIBLE ITEMS#########################
    			if ((typeOf _object) in indestructible) then {
    				_object addEventHandler ["HandleDamage", {false}];
    				_object enableSimulation false;
    			};
    //######################################################################
    			// Set direction
    			_object setDir _dir;
    
    			// Set vector
    			_object setVectorDirAndUp _vector;
    			
    			// Set location
    			_object setPosATL _location;
    
    			if (_lockable == 3) then {
    
    				_combination_1 = floor(random 10);
    				_combination_2 = floor(random 10);
    				_combination_3 = floor(random 10);
    				_combination = format["%1%2%3",_combination_1,_combination_2,_combination_3];
    				
    				_objectCharacterID = _combination;
    				
    				cutText [format[(localize "str_epoch_player_158"),_combination,_text], "PLAIN DOWN", 5];
    			} else {	
    				cutText [format[(localize "str_epoch_player_159"),_text], "PLAIN DOWN", 5];
    			};
    
    			PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location,_vector],_classname,_obj,player];
    			publicVariableServer "PVDZE_obj_Swap";
    
    			player reveal _object;
    			
    		} else {
    		
    			{player addMagazine _x;} count _temp_removed_array;
    			cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
    		
    		};
    	} else {
    		_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
    		cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"];
    	};
    
    } else {
    	cutText [(localize "str_epoch_player_82"), "PLAIN DOWN"];
    };
    
    DZE_ActionInProgress = false;
    s_player_upgrade_build = -1;
    
    
  12. Redownloaded your latest files. Getting these errors. So many :unsure:

     

    I`m on Epoch 1.0.5.1 Arma 125548

    22:23:11 Error in expression <call BIS_fnc_selectRandom; };
    default			: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error position: <: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error Invalid number in expression
    22:23:11 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 99
    22:23:11 Error in expression <call BIS_fnc_selectRandom; };
    default			: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error position: <: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error Invalid number in expression
    22:23:11 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 99
    22:23:11 Error in expression <call BIS_fnc_selectRandom; };
    default			: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error position: <: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error Invalid number in expression
    22:23:11 File z\addons\dayz_server\WAI\compile\spawn_static.sqf, line 121
    22:23:11 Error in expression <call BIS_fnc_selectRandom; };
    default			: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error position: <: { _aicskill = ai_skill_random call BIS>
    22:23:11   Error Invalid number in expression
    22:23:11 File z\addons\dayz_server\WAI\compile\spawn_static.sqf, line 121
    22:23:11 Error in expression <killarray;
    
    {
    _gunner setSkill [_x,0.7]
    _gunner2 setSkill [_x,0.7]
    } forEach _sk>
    22:23:11   Error position: <_gunner2 setSkill [_x,0.7]
    } forEach _sk>
    22:23:11   Error Missing ;
    22:23:11 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 78
    22:23:11 Error in expression <killarray;
    
    {
    _gunner setSkill [_x,0.7]
    _gunner2 setSkill [_x,0.7]
    } forEach _sk>
    22:23:11   Error position: <_gunner2 setSkill [_x,0.7]
    } forEach _sk>
    22:23:11   Error Missing ;
    22:23:11 File z\addons\dayz_server\WAI\compile\heli_para.sqf, line 78
    22:23:11 Error in expression <\compile\heli_patrol.sqf"
    if (isServer) {
    
    private ["_wpnum","_radius","_gunner2>
    22:23:11   Error position: <{
    
    private ["_wpnum","_radius","_gunner2>
    22:23:11   Error Missing ;
    22:23:11 File z\addons\dayz_server\WAI\compile\heli_patrol.sqf, line 1
    22:23:11 Error in expression <\compile\heli_patrol.sqf"
    if (isServer) {
    
    private ["_wpnum","_radius","_gunner2>
    22:23:11   Error position: <{
    
    private ["_wpnum","_radius","_gunner2>
    22:23:11   Error Missing ;
    22:23:11 File z\addons\dayz_server\WAI\compile\heli_patrol.sqf, line 1
    22:23:11 Error in expression <mpile\vehicle_patrol.sqf"
    if (isServer) {
    
    private ["_gunner", "_wpnum","_radius>
    22:23:11   Error position: <{
    
    private ["_gunner", "_wpnum","_radius>
    22:23:11   Error Missing ;
    22:23:11 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 1
    22:23:11 Error in expression <mpile\vehicle_patrol.sqf"
    if (isServer) {
    
    private ["_gunner", "_wpnum","_radius>
    22:23:11   Error position: <{
    
    private ["_gunner", "_wpnum","_radius>
    22:23:11   Error Missing ;
    22:23:11 File z\addons\dayz_server\WAI\compile\vehicle_patrol.sqf, line 1
    22:23:11 "WAI: AI Config File Loaded"
    22:23:11 "WAI: AI Monitor Started"
    22:23:11 "WAI: Mission Config File Loaded"
    22:23:11 "WAI: Starting AI Missions Moniter"
    
  13. I have some Errors in rpt that caused no starting missions i think.  Version before has worked. Now armed vehicle should spawn, but there are some error messages, and the mission doesn`t appear. in other threads they talk about this and they wrote that these are standarderrors with 112555 and they doesn`t effect any issues. My Server is on epoch 1.0.5.1 and arma 125548, and this error seems take effect.

     

     

    15:15:53 "WAI: Starting mission armed_vehicle"

    15:15:53 "WAI: Mission Armed Vehicle Started At [12604.4,12287.2]"

    15:15:53 "WAI: Mission Armed Vehicle spawned a HMMWV GPK (M2) AL"

    15:15:53 Error in expression <ret = _this select _ret;           

    };

    _ret;>

    15:15:53   Error position: <_ret;>

    15:15:53   Error Undefined variable in expression: _ret

    15:15:53 File z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf, line 24

    15:15:53 Error in expression < call BIS_fnc_selectRandom;

    _weapon         = _weaponandmag select 0;

    _magazine         = _w>

    15:15:53   Error position: <_weaponandmag select 0;

    _magazine         = _w>

    15:15:53   Error Undefined variable in expression: _weaponandmag

    15:15:53 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 38

    15:15:53 Error in expression <;

    removeAllItems _unit;

    _unit addweapon _weapon;

    for "_i" from 1 to _mags do {

    >

    15:15:53   Error position: <_weapon;

    for "_i" from 1 to _mags do {

    >

    15:15:53   Error to: Undefined variable in expression: _weapon

    15:15:53 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 77

     

    Any fix for this ?

    Anyone?

  14. First , great Addons..... thx for this .

     

    A player on my server said something about invisible buildings( barracks). I think it was at Bor. He saw the loot, but not the barrack. And he wa sable to shoot through the buildings. Is this normal with added buildings ?

    I have epoch 1.0.5.1 with arma 125548.

     

    Thx, Ed

  15. I have some Errors in rpt that caused no starting missions i think.  Version before has worked. Now armed vehicle should spawn, but there are some error messages, and the mission doesn`t appear. in other threads they talk about this and they wrote that these are standarderrors with 112555 and they doesn`t effect any issues. My Server is on epoch 1.0.5.1 and arma 125548, and this error seems take effect.

     

     

    15:15:53 "WAI: Starting mission armed_vehicle"
    15:15:53 "WAI: Mission Armed Vehicle Started At [12604.4,12287.2]"
    15:15:53 "WAI: Mission Armed Vehicle spawned a HMMWV GPK (M2) AL"
    15:15:53 Error in expression <ret = _this select _ret;           
    };

    _ret;>
    15:15:53   Error position: <_ret;>
    15:15:53   Error Undefined variable in expression: _ret
    15:15:53 File z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf, line 24
    15:15:53 Error in expression < call BIS_fnc_selectRandom;
    _weapon         = _weaponandmag select 0;
    _magazine         = _w>
    15:15:53   Error position: <_weaponandmag select 0;
    _magazine         = _w>
    15:15:53   Error Undefined variable in expression: _weaponandmag
    15:15:53 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 38
    15:15:53 Error in expression <;
    removeAllItems _unit;
    _unit addweapon _weapon;

    for "_i" from 1 to _mags do {
    >
    15:15:53   Error position: <_weapon;

    for "_i" from 1 to _mags do {
    >
    15:15:53   Error to: Undefined variable in expression: _weapon
    15:15:53 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 77

     

    Any fix for this ?

  16. Same here like Civyar. Version before has worked. Now armed vehicle should spawn, but there are some error messages, and the mission doesn`t appear.

    15:15:53 "WAI: Starting mission armed_vehicle"
    15:15:53 "WAI: Mission Armed Vehicle Started At [12604.4,12287.2]"
    15:15:53 "WAI: Mission Armed Vehicle spawned a HMMWV GPK (M2) AL"
    15:15:53 Error in expression <ret = _this select _ret;           
    };

    _ret;>
    15:15:53   Error position: <_ret;>
    15:15:53   Error Undefined variable in expression: _ret
    15:15:53 File z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf, line 24
    15:15:53 Error in expression < call BIS_fnc_selectRandom;
    _weapon         = _weaponandmag select 0;
    _magazine         = _w>
    15:15:53   Error position: <_weaponandmag select 0;
    _magazine         = _w>
    15:15:53   Error Undefined variable in expression: _weaponandmag
    15:15:53 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 38
    15:15:53 Error in expression <;
    removeAllItems _unit;
    _unit addweapon _weapon;

    for "_i" from 1 to _mags do {
    >
    15:15:53   Error position: <_weapon;

    for "_i" from 1 to _mags do {
    >
    15:15:53   Error to: Undefined variable in expression: _weapon
    15:15:53 File z\addons\dayz_server\WAI\compile\spawn_group.sqf, line 77

     

    Any fix for this ?

×
×
  • Create New...