Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
drankens

помогите с Server_functions.sqf

Вот ошибка. как ещё исправить? помогите пожалуйста
Вот RPT лог
 
 

________________________________________________________
while {count AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error position: <AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 245
22:13:45 Error in expression <esList resize _lastIndex;
};
 
if (count AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error position: <AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 267
22:13:45 Cannot create non-ai vehicle AdminPack,
22:13:45 Error in expression <Dedicated) exitWith { }; 
 
while {count AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error position: <AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 245
22:13:45 Error in expression <esList resize _lastIndex;
};
 
if (count AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error position: <AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 267
22:13:45 Error in expression <Dedicated) exitWith { }; 
 
while {count AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error position: <AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 245
22:13:45 Error in expression <esList resize _lastIndex;
};
 
if (count AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error position: <AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 267
22:13:45 Error in expression <Dedicated) exitWith { }; 
 
while {count AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error position: <AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 245
22:13:45 Error in expression <esList resize _lastIndex;
};
 
if (count AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error position: <AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 267
22:13:45 Cannot create non-ai vehicle RHsmgbox,
22:13:45 Error in expression <t_4 = objNull;
if (true) then
{
_this = _group_0 createUnit ["SurvivorW3_DZ", [1>
22:13:45   Error position: <_group_0 createUnit ["SurvivorW3_DZ", [1>
22:13:45   Error setunitability: Undefined variable in expression: _group_0
22:13:45 File mpmissions\DayZ_Epoch_11.Chernarus\Scripts\mapads\SafeBase.sqf, line 1496
22:13:45 Error in expression <Dedicated) exitWith { }; 
 
while {count AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error position: <AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 245
22:13:45 Error in expression <esList resize _lastIndex;
};
 
if (count AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error position: <AllowedVehiclesList == 0) then {
diag_lo>
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 267
22:13:45 Error in expression <Dedicated) exitWith { }; 
 
while {count AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error position: <AllowedVehiclesList > 0} do {
 
_index = >
22:13:45   Error Undefined variable in expression: allowedvehicleslist
22:13:45 File z\addons\dayz_server\init\server_functions.sqf, line 245
22:13:45 Error in expression <esList resize _lastIndex;
};
___________________________________________________________________________________________________
 
 
вот мой Server_functions.sqf
 
___________________________________________________________________________________________________
[] spawn {[] execVM "\z\addons\dayz_server\init\AH.sqf";};
waituntil {!isnil "bis_fnc_init"};
 
BIS_MPF_remoteExecutionServer = {
    if ((_this select 1) select 2 == "JIPrequest") then {
        [nil,(_this select 1) select 0,"loc",rJIPEXEC,[any,any,"per","execVM","ca\Modules\Functions\init.sqf"]] call RE;
    };
};
 
BIS_Effects_Burn =                {};
server_playerLogin =            compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf";
server_playerSetup =            compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSetup.sqf";
server_onPlayerDisconnect =     compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf";
server_updateObject =            compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateObject.sqf";
server_playerDied =                compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDied.sqf";
server_publishObj =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishObject.sqf";
server_deleteObj =                compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_deleteObj.sqf";
server_swapObject =                compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_swapObject.sqf"; 
server_publishVeh =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle.sqf";
server_publishVeh2 =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle2.sqf";
server_publishVeh3 =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle3.sqf";
server_tradeObj =                 compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_tradeObject.sqf";
server_traders =                 compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_traders.sqf";
server_playerSync =                compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSync.sqf";
server_spawnCrashSite  =        compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnCrashSite.sqf";
server_spawnEvents =            compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnEvent.sqf";
//server_weather =                compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_weather.sqf";
fnc_plyrHit   =                    compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";
fnc_remWepSG =                  compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_remWepSG.sqf";
server_deaths =                 compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
server_maintainArea =             compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_maintainArea.sqf";
 
execVM "\z\addons\dayz_server\compile\convoy.sqf";
execVM "\z\addons\dayz_server\compile\conmark.sqf";
 
/* PVS/PVC - Skaronator */
server_sendToClient =            compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_sendToClient.sqf";
 
//onPlayerConnected             {[_uid,_name] call server_onPlayerConnect;};
onPlayerDisconnected         {[_uid,_name] call server_onPlayerDisconnect;};
 
server_updateNearbyObjects = {
    private["_pos"];
    _pos = _this select 0;
    {
        [_x, "gear"] call server_updateObject;
    } count nearestObjects [_pos, dayz_updateObjects, 10];
};
 
server_handleZedSpawn = {
    private["_zed"];
    _zed = _this select 0;
    _zed enableSimulation false;
};
 
zombie_findOwner = {
    private["_unit"];
    _unit = _this select 0;
    #ifdef DZE_SERVER_DEBUG
    diag_log ("CLEANUP: DELETE UNCONTROLLED ZOMBIE: " + (typeOf _unit) + " OF: " + str(_unit) );
    #endif
    deleteVehicle _unit;
};
 
vehicle_handleInteract = {
    private["_object"];
    _object = _this select 0;
    needUpdate_objects = needUpdate_objects - [_object];
    [_object, "all"] call server_updateObject;
};
 
array_reduceSizeReverse = {
    private["_array","_count","_num","_newarray","_startnum","_index"];
    _array = _this select 0;
    _newarray = [];
    _count = _this select 1;
    _num = count _array;
    if (_num > _count) then {
        _startnum = _num - 1;
        _index = _count - 1;
        for "_i" from 0 to _index do {
            _newarray set [(_index-_i),_array select (_startnum - _i)];
        };
        _array = _newarray;
    }; 
    _array
};
 
array_reduceSize = {
    private ["_array1","_array","_count","_num"];
    _array1 = _this select 0;
    _array = _array1 - ["Hatchet_Swing","Machete_Swing","Fishing_Swing","sledge_swing","crowbar_swing","CSGAS"];
    _count = _this select 1;
    _num = count _array;
    if (_num > _count) then {
        _array resize _count;
    };
    _array
};
 
object_handleServerKilled = {
    private["_unit","_objectID","_objectUID","_killer"];
    _unit = _this select 0;
    _killer = _this select 1;
    
    _objectID =     _unit getVariable ["ObjectID","0"];
    _objectUID = _unit getVariable ["ObjectUID","0"];
        
    [_objectID,_objectUID,_killer] call server_deleteObj;
    
    _unit removeAllMPEventHandlers "MPKilled";
    _unit removeAllEventHandlers "Killed";
    _unit removeAllEventHandlers "HandleDamage";
    _unit removeAllEventHandlers "GetIn";
    _unit removeAllEventHandlers "GetOut";
};
 
check_publishobject = {
    private["_allowed","_object","_playername"];
 
    _object = _this select 0;
    _playername = _this select 1;
    _allowed = false;
 
    if ((typeOf _object) in dayz_allowedObjects) then {
            //diag_log format ["DEBUG: Object: %1 published by %2 is Safe",_object, _playername];
            _allowed = true;
    };
    _allowed
};
 
//event Handlers
eh_localCleanup = {
    private ["_object"];
    _object = _this select 0;
    _object addEventHandler ["local", {
        if(_this select 1) then {
            private["_type","_unit];
            _unit = _this select 0;
            _type = typeOf _unit;
             _myGroupUnit = group _unit;
             _unit removeAllMPEventHandlers "mpkilled";
             _unit removeAllMPEventHandlers "mphit";
             _unit removeAllMPEventHandlers "mprespawn";
             _unit removeAllEventHandlers "FiredNear";
            _unit removeAllEventHandlers "HandleDamage";
            _unit removeAllEventHandlers "Killed";
            _unit removeAllEventHandlers "Fired";
            _unit removeAllEventHandlers "GetOut";
            _unit removeAllEventHandlers "GetIn";
            _unit removeAllEventHandlers "Local";
            clearVehicleInit _unit;
            deleteVehicle _unit;
            if ((count (units _myGroupUnit) == 0) && (_myGroupUnit != grpNull)) then {
                deleteGroup _myGroupUnit;
            };
            //_unit = nil;
            // diag_log ("CLEANUP: DELETED A " + str(_type) );
        };
    }];
};
 
server_hiveWrite = {
    private["_data"];
    _data = "HiveExt" callExtension _this;
};
 
server_hiveReadWrite = {
    private["_key","_resultArray","_data"];
    _key = _this;
    _data = "HiveExt" callExtension _key;
    _resultArray = call compile format ["%1",_data];
    _resultArray
};
 
server_hiveReadWriteLarge = {
    private["_key","_resultArray","_data"];
    _key = _this;
    _data = "HiveExt" callExtension _key;
    _resultArray = call compile _data;
    _resultArray
};
 
server_checkIfTowed = {
    private ["_vehicle","_player","_attached"];
    if (DZE_HeliLift) then {
        _vehicle =     _this select 0;
        _player =     _this select 2;
        _attached = _vehicle getVariable["attached",false];
        if (typeName _attached == "OBJECT") then {
            _player action ["eject", _vehicle];
            detach _vehicle;
            _vehicle setVariable["attached",false,true];
            _attached setVariable["hasAttached",false,true];
        };
    };
};
 
server_characterSync = {
    private ["_characterID","_playerPos","_playerGear","_playerBackp","_medical","_currentState","_currentModel","_key"];
    _characterID =     _this select 0;    
    _playerPos =    _this select 1;
    _playerGear =    _this select 2;
    _playerBackp =    _this select 3;
    _medical =         _this select 4;
    _currentState =    _this select 5;
    _currentModel = _this select 6;
    
    _key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,0,0,0,0,_currentState,0,0,_currentModel,0];
    _key call server_hiveWrite;
};
 
if(isnil "dayz_MapArea") then {
    dayz_MapArea = 10000;
};
if(isnil "DynamicVehicleArea") then {
    DynamicVehicleArea = dayz_MapArea / 2;
};
 
// Get all buildings && roads only once TODO: set variables to nil after done if nessicary 
MarkerPosition = getMarkerPos "center";
RoadList = MarkerPosition nearRoads DynamicVehicleArea;
 
// Very taxing !!! but only on first startup
BuildingList = [];
{
    if (DZE_MissionLootTable) then {
        if (isClass (missionConfigFile >> "CfgBuildingLoot" >> (typeOf _x))) then
        {
                BuildingList set [count BuildingList,_x];
        };
    } else {
        if (isClass (configFile >> "CfgBuildingLoot" >> (typeOf _x))) then
        {
            BuildingList set [count BuildingList,_x];
        };
    };
    
    
} count (MarkerPosition nearObjects ["building",DynamicVehicleArea]);
 
spawn_vehicles = {
    private ["_random","_lastIndex","_weights","_index","_vehicle","_velimit","_qty","_isAir","_isShip","_position","_dir","_istoomany","_veh","_objPosition","_marker","_iClass","_itemTypes","_cntWeights","_itemType","_num","_allCfgLoots"];
    
    if (!isDedicated) exitWith { }; //Be sure the run this
 
    while {count AllowedVehiclesList > 0} do {
        // BIS_fnc_selectRandom replaced because the index may be needed to remove the element
        _index = floor random count AllowedVehiclesList;
        _random = AllowedVehiclesList select _index;
 
        _vehicle = _random select 0;
        _velimit = _random select 1;
 
        _qty = {_x == _vehicle} count serverVehicleCounter;
 
        // If under limit allow to proceed
        if (_qty <= _velimit) exitWith {};
 
        // vehicle limit reached, remove vehicle from list
        // since elements cannot be removed from an array, overwrite it with the last element && cut the last element of (as long as order is not important)
        _lastIndex = (count AllowedVehiclesList) - 1;
        if (_lastIndex != _index) then {
            AllowedVehiclesList set [_index, AllowedVehiclesList select _lastIndex];
        };
        AllowedVehiclesList resize _lastIndex;
    };
 
    if (count AllowedVehiclesList == 0) then {
        diag_log("DEBUG: unable to find suitable vehicle to spawn");
    } else {
 
        // add vehicle to counter for next pass
        serverVehicleCounter set [count serverVehicleCounter,_vehicle];
    
        // Find Vehicle Type to better control spawns
        _isAir = _vehicle isKindOf "Air";
        _isShip = _vehicle isKindOf "Ship";
    
        if(_isShip || _isAir) then {
            if(_isShip) then {
                // Spawn anywhere on coast on water
                waitUntil{!isNil "BIS_fnc_findSafePos"};
                _position = [MarkerPosition,0,DynamicVehicleArea,10,1,2000,1] call BIS_fnc_findSafePos;
                //diag_log("DEBUG: spawning boat near coast " + str(_position));
            } else {
                // Spawn air anywhere that is flat
                waitUntil{!isNil "BIS_fnc_findSafePos"};
                _position = [MarkerPosition,0,DynamicVehicleArea,10,0,2000,0] call BIS_fnc_findSafePos;
                //diag_log("DEBUG: spawning air anywhere flat " + str(_position));
            };
        
        
        } else {
            // Spawn around buildings && 50% near roads
            if((random 1) > 0.5) then {
            
                waitUntil{!isNil "BIS_fnc_selectRandom"};
                _position = RoadList call BIS_fnc_selectRandom;
            
                _position = _position modelToWorld [0,0,0];
            
                waitUntil{!isNil "BIS_fnc_findSafePos"};
                _position = [_position,0,10,10,0,2000,0] call BIS_fnc_findSafePos;
            
                //diag_log("DEBUG: spawning near road " + str(_position));
            
            } else {
            
                waitUntil{!isNil "BIS_fnc_selectRandom"};
                _position = BuildingList call BIS_fnc_selectRandom;
            
                _position = _position modelToWorld [0,0,0];
            
                waitUntil{!isNil "BIS_fnc_findSafePos"};
                _position = [_position,0,40,5,0,2000,0] call BIS_fnc_findSafePos;
            
                //diag_log("DEBUG: spawning around buildings " + str(_position));
        
            };
        };
        // only proceed if two params otherwise BIS_fnc_findSafePos failed && may spawn in air
        if ((count _position) == 2) then { 
    
            _dir = round(random 180);
        
            _istoomany = _position nearObjects ["AllVehicles",50];
            if((count _istoomany) > 0) exitWith { diag_log("DEBUG: Too many vehicles at " + str(_position)); };
        
            //place vehicle 
            _veh = createVehicle [_vehicle, _position, [], 0, "CAN_COLLIDE"];
            _veh setdir _dir;
            _veh setpos _position;        
            
            if(DZEdebug) then {
                _marker = createMarker [str(_position) , _position];
                _marker setMarkerShape "ICON";
                _marker setMarkerType "DOT";
                _marker setMarkerText _vehicle;
            };    
        
            // Get position with ground
            _objPosition = getPosATL _veh;
        
            clearWeaponCargoGlobal  _veh;
            clearMagazineCargoGlobal  _veh;
            // _veh setVehicleAmmo DZE_vehicleAmmo;
 
            // Add 0-3 loots to vehicle using random cfgloots 
            _num = floor(random 4);
            _allCfgLoots = ["trash","civilian","food","generic","medical","military","policeman","hunter","worker","clothes","militaryclothes","specialclothes","trash"];
            
            for "_x" from 1 to _num do {
                _iClass = _allCfgLoots call BIS_fnc_selectRandom;
 
                _itemTypes = [];
                if (DZE_MissionLootTable) then{
                    {
                        _itemTypes set[count _itemTypes, _x select 0]
                    } count getArray(missionConfigFile >> "cfgLoot" >> _iClass);
                }
                else {
                    {
                        _itemTypes set[count _itemTypes, _x select 0]
                    } count getArray(configFile >> "cfgLoot" >> _iClass);
                };
 
                _index = dayz_CLBase find _iClass;
                _weights = dayz_CLChances select _index;
                _cntWeights = count _weights;
                
                _index = floor(random _cntWeights);
                _index = _weights select _index;
                _itemType = _itemTypes select _index;
                _veh addMagazineCargoGlobal [_itemType,1];
                //diag_log("DEBUG: spawed loot inside vehicle " + str(_itemType));
            };
 
            [_veh,[_dir,_objPosition],_vehicle,true,"0"] call server_publishVeh;
        };
    };
};
 
spawn_ammosupply = {
    private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"];
    if (isDedicated) then {
        _WreckList = ["Supply_Crate_DZE"];
        waitUntil{!isNil "BIS_fnc_selectRandom"};
        _position = RoadList call BIS_fnc_selectRandom;
        _position = _position modelToWorld [0,0,0];
        waitUntil{!isNil "BIS_fnc_findSafePos"};
        _position = [_position,5,20,5,0,2000,0] call BIS_fnc_findSafePos;
        if ((count _position) == 2) then {
 
            _istoomany = _position nearObjects ["All",5];
            
            if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many at " + str(_position)); };
            
            _spawnveh = _WreckList call BIS_fnc_selectRandom;
 
            if(DZEdebug) then {
                _marker = createMarker [str(_position) , _position];
                _marker setMarkerShape "ICON";
                _marker setMarkerType "DOT";
                _marker setMarkerText str(_spawnveh);
            };
            
            _veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
            _veh enableSimulation false;
            _veh setDir round(random 360);
            _veh setpos _position;
            _veh setVariable ["ObjectID","1",true];
        };
    };
};
 
DZE_LocalRoadBlocks = [];
 
spawn_roadblocks = {
    private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"];
    _WreckList = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"];
    
    waitUntil{!isNil "BIS_fnc_selectRandom"};
    if (isDedicated) then {
    
        _position = RoadList call BIS_fnc_selectRandom;
        
        _position = _position modelToWorld [0,0,0];
        
        waitUntil{!isNil "BIS_fnc_findSafePos"};
        _position = [_position,0,10,5,0,2000,0] call BIS_fnc_findSafePos;
        
        if ((count _position) == 2) then {
            // Get position with ground
            
            _istoomany = _position nearObjects ["All",5];
        
            if((count _istoomany) > 0) exitWith { diag_log("DEBUG: Too many at " + str(_position)); };
            
            waitUntil{!isNil "BIS_fnc_selectRandom"};
            _spawnveh = _WreckList call BIS_fnc_selectRandom;
 
            if(DZEdebug) then {
                _marker = createMarker [str(_position) , _position];
                _marker setMarkerShape "ICON";
                _marker setMarkerType "DOT";
                _marker setMarkerText str(_spawnveh);
            };
 
            _veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
            _veh enableSimulation false;
 
            _veh setDir round(random 360); // Randomize placement a bit
            _veh setpos _position;
 
            _veh setVariable ["ObjectID","1",true];
        };
    
    };
    
};
 
spawn_mineveins = {
    private ["_position","_veh","_istoomany","_marker","_spawnveh","_positions"];
 
    if (isDedicated) then {
        
        _position = [getMarkerPos "center",0,(HeliCrashArea*0.75),10,0,2000,0] call BIS_fnc_findSafePos;
 
        if ((count _position) == 2) then {
            
            _positions = selectBestPlaces [_position, 500, "(1 + forest) * (1 + hills) * (1 - houses) * (1 - sea)", 10, 5];
 
            _position = (_positions call BIS_fnc_selectRandom) select 0;
 
            // Get position with ground
            _istoomany = _position nearObjects ["All",10];
        
            if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many objects at " + str(_position)); };
 
            if(isOnRoad _position) exitWith { diag_log("DEBUG VEIN: on road " + str(_position)); };
            
            _spawnveh = ["Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Gold_Vein_DZE","Gold_Vein_DZE"] call BIS_fnc_selectRandom;
 
            if(DZEdebug) then {
                _marker = createMarker [str(_position) , _position];
                _marker setMarkerShape "ICON";
                _marker setMarkerType "DOT";
                _marker setMarkerText str(_spawnveh);
            };
            
            //diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
            _veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
            _veh enableSimulation false;
 
            // Randomize placement a bit
            _veh setDir round(random 360);
            _veh setpos _position;
 
            _veh setVariable ["ObjectID","1",true];
 
        
        };
    };
};
 
if(isnil "DynamicVehicleDamageLow") then {
    DynamicVehicleDamageLow = 0;
};
if(isnil "DynamicVehicleDamageHigh") then {
    DynamicVehicleDamageHigh = 100;
};
 
if(isnil "DynamicVehicleFuelLow") then {
    DynamicVehicleFuelLow = 0;
};
if(isnil "DynamicVehicleFuelHigh") then {
    DynamicVehicleFuelHigh = 100;
};
 
if(isnil "DZE_DiagFpsSlow") then {
    DZE_DiagFpsSlow = false;
};
if(isnil "DZE_DiagFpsFast") then {
    DZE_DiagFpsFast = false;
};
if(isnil "DZE_DiagVerbose") then {
    DZE_DiagVerbose = false;
};
 
dze_diag_fps = {
    if(DZE_DiagVerbose) then {
        diag_log format["DEBUG FPS : %1 OBJECTS: %2 : PLAYERS: %3", diag_fps,(count (allMissionObjects "")),(playersNumber west)];
    } else {
        diag_log format["DEBUG FPS : %1", diag_fps];
    };
};
 
// Damage generator function
generate_new_damage = {
    private ["_damage"];
    _damage = ((random(DynamicVehicleDamageHigh-DynamicVehicleDamageLow))+DynamicVehicleDamageLow) / 100;
    _damage;
};
 
// Damage generator fuction
generate_exp_damage = {
    private ["_damage"];
    _damage = ((random(DynamicVehicleDamageHigh-DynamicVehicleDamageLow))+DynamicVehicleDamageLow) / 100;
    
    // limit this to 85% since vehicle would blow up otherwise.
    //if(_damage >= 0.85) then {
    //    _damage = 0.85;
    //};
    _damage;
};
 
server_getDiff =    {
    private["_variable","_object","_vNew","_vOld","_result"];
    _variable = _this select 0;
    _object =     _this select 1;
    _vNew =     _object getVariable[_variable,0];
    _vOld =     _object getVariable[(_variable + "_CHK"),_vNew];
    _result =     0;
    if (_vNew < _vOld) then {
        //JIP issues
        _vNew = _vNew + _vOld;
        _object getVariable[(_variable + "_CHK"),_vNew];
    } else {
        _result = _vNew - _vOld;
        _object setVariable[(_variable + "_CHK"),_vNew];
    };
    _result
};
 
server_getDiff2 =    {
    private["_variable","_object","_vNew","_vOld","_result"];
    _variable = _this select 0;
    _object =     _this select 1;
    _vNew =     _object getVariable[_variable,0];
    _vOld =     _object getVariable[(_variable + "_CHK"),_vNew];
    _result = _vNew - _vOld;
    _object setVariable[(_variable + "_CHK"),_vNew];
    _result
};
 
dayz_objectUID = {
    private["_position","_dir","_key","_object"];
    _object = _this;
    _position = getPosATL _object;
    _dir = direction _object;
    _key = [_dir,_position] call dayz_objectUID2;
    _key
};
 
dayz_objectUID2 = {
private["_position","_dir","_key"];
if((count _this) == 2) then{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
}else{
if((count _this) == 3) then{
if(typename (_this select 2) == "ARRAY")then{
_vector = _this select 2;
if(count _vector == 2)then{
if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
 
_vecCnt = 0;
{
_set = _x;
{
_vecCnt = _vecCnt + (round (_x * 100))
 
} foreach _set;
 
} foreach _vector;
if(_vecCnt < 0)then{
_vecCnt = ((_vecCnt * -1) * 3);
};
_key = _key + str(_vecCnt); 
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
 
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
}else{
if((count _this) == 4) then{
if(typename (_this select 3) == "ARRAY")then{
_vector = _this select 3;
if(count _vector == 2)then{
if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
 
_vecCnt = 0;
{
_set = _x;
{
_vecCnt = _vecCnt + (round (_x * 100))
 
} foreach _set;
 
} foreach _vector;
if(_vecCnt < 0)then{
_vecCnt = ((_vecCnt * -1) * 3);
};
_key = _key + str(_vecCnt); 
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
}else{
if(typename (_this select 2) == "ARRAY")then{
_vector = _this select 2;
if(count _vector == 2)then{
if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
 
_vecCnt = 0;
{
_set = _x;
{
_vecCnt = _vecCnt + (round (_x * 100))
 
} foreach _set;
 
} foreach _vector;
if(_vecCnt < 0)then{
_vecCnt = ((_vecCnt * -1) * 3);
};
_key = _key + str(_vecCnt); 
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
};
}else{
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} count _position;
_key = _key + str(round(_dir));
};
};
 
};
_key
};
 
dayz_objectUID3 = {
    private["_position","_dir","_key"];
    _dir = _this select 0;
    _key = "";
    _position = _this select 1;
    {
        _x = _x * 10;
        if ( _x < 0 ) then { _x = _x * -10 };
        _key = _key + str(round(_x));
    } count _position;
    _key = _key + str(round(_dir + time));
    _key
};
 
dayz_recordLogin = {
    private["_key"];
    _key = format["CHILD:103:%1:%2:%3:",_this select 0,_this select 1,_this select 2];
    _key call server_hiveWrite;
};
 
#include "ESSconfig.sqf"
 
dayz_perform_purge = {
    if(!isNull(_this)) then {
        _group = group _this;
        _this removeAllMPEventHandlers "mpkilled";
        _this removeAllMPEventHandlers "mphit";
        _this removeAllMPEventHandlers "mprespawn";
        _this removeAllEventHandlers "FiredNear";
        _this removeAllEventHandlers "HandleDamage";
        _this removeAllEventHandlers "Killed";
        _this removeAllEventHandlers "Fired";
        _this removeAllEventHandlers "GetOut";
        _this removeAllEventHandlers "GetIn";
        _this removeAllEventHandlers "Local";
        clearVehicleInit _this;
        deleteVehicle _this;
        if ((count (units _group) == 0) && (_group != grpNull)) then {
            deleteGroup _group;
        };
    };
};
 
dayz_perform_purge_player = {
 
    private ["_countr","_backpack","_backpackType","_backpackWpn","_backpackMag","_objWpnTypes","_objWpnQty","_location","_dir","_holder","_weapons","_magazines"];
    diag_log ("Purging player: " + str(_this));    
 
    if(!isNull(_this)) then {
 
        _location = getPosATL _this;
        _dir = getDir _this;
 
        _holder = createVehicle ["GraveDZE", _location, [], 0, "CAN_COLLIDE"];
        _holder setDir _dir;
        _holder setPosATL _location;
 
        _holder enableSimulation false;
 
        _weapons = weapons _this;
        _magazines = magazines _this;
 
        // find backpack
        if(!(isNull unitBackpack _this)) then {
            _backpack = unitBackpack _this;
            _backpackType = typeOf _backpack;
            _backpackWpn = getWeaponCargo _backpack;
            _backpackMag = getMagazineCargo _backpack;
 
            _holder addBackpackCargoGlobal [_backpackType,1];
 
            // add items from backpack 
            _objWpnTypes = _backpackWpn select 0;
            _objWpnQty = _backpackWpn select 1;
            _countr = 0;
            {
                _holder addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];
                _countr = _countr + 1;
            } count _objWpnTypes;
 
            // add backpack magazine items
            _objWpnTypes = _backpackMag select 0;
            _objWpnQty = _backpackMag select 1;
            _countr = 0;
            {
                _holder addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];
                _countr = _countr + 1;
            } count _objWpnTypes;
        };
    };
 
    // add weapons
    { 
        _holder addWeaponCargoGlobal [_x, 1];
    } count _weapons;
 
    // add mags
    { 
        _holder addMagazineCargoGlobal [_x, 1];
    } count _magazines;
    _group = group _this;
    _this removeAllMPEventHandlers "mpkilled";
    _this removeAllMPEventHandlers "mphit";
    _this removeAllMPEventHandlers "mprespawn";
    _this removeAllEventHandlers "FiredNear";
    _this removeAllEventHandlers "HandleDamage";
    _this removeAllEventHandlers "Killed";
    _this removeAllEventHandlers "Fired";
    _this removeAllEventHandlers "GetOut";
    _this removeAllEventHandlers "GetIn";
    _this removeAllEventHandlers "Local";
    clearVehicleInit _this;
    deleteVehicle _this;
    if ((count (units _group) == 0) && (_group != grpNull)) then {
        deleteGroup _group;
    };
    //  _this = nil;
};
 
 
dayz_removePlayerOnDisconnect = {
    if(!isNull(_this)) then {
        _group = group _this;
        _this removeAllMPEventHandlers "mphit";
        deleteVehicle _this;
        deleteGroup (group _this);
    };
};
 
server_timeSync = {
    //Send request
    private ["_hour","_minute","_date","_key","_result","_outcome"];
    _key = "CHILD:307:";
    _result = _key call server_hiveReadWrite;
    _outcome = _result select 0;
    if(_outcome == "PASS") then {
        _date = _result select 1; 
        
        if(dayz_fullMoonNights) then {
            _hour = _date select 3;
            _minute = _date select 4;
            //Force full moon nights
            _date = [2013,8,3,_hour,_minute];
        };
 
        setDate _date;
        PVDZE_plr_SetDate = _date;
        publicVariable "PVDZE_plr_SetDate";
        diag_log ("TIME SYNC: Local Time set to " + str(_date));    
    };
};
 
// must spawn these 
server_spawncleanDead = {
    private ["_deathTime","_delQtyZ","_delQtyP","_qty","_allDead"];
    _allDead = allDead;
    _delQtyZ = 0;
    _delQtyP = 0;
    {
        if (local _x) then {
            if (_x isKindOf "zZombie_Base") then
            {
                _x call dayz_perform_purge;
                sleep 0.05;
                _delQtyZ = _delQtyZ + 1;
            } else {
                if (_x isKindOf "CAManBase") then {
                    _deathTime = _x getVariable ["processedDeath", diag_tickTime];
                    if (diag_tickTime - _deathTime > 1800) then {
                        _x call dayz_perform_purge_player;
                        sleep 0.025;
                        _delQtyP = _delQtyP + 1;
                    };
                };
            };
        };
        sleep 0.025;
    } count _allDead;
    if (_delQtyZ > 0 || _delQtyP > 0) then {
        _qty = count _allDead;
        diag_log (format["CLEANUP: Deleted %1 players && %2 zombies out of %3 dead",_delQtyP,_delQtyZ,_qty]);
    };
};
server_cleanupGroups = {
    if (DZE_DYN_AntiStuck3rd > 3) then { DZE_DYN_GroupCleanup = nil; DZE_DYN_AntiStuck3rd = 0; };
    if(!isNil "DZE_DYN_GroupCleanup") exitWith {  DZE_DYN_AntiStuck3rd = DZE_DYN_AntiStuck3rd + 1;};
    DZE_DYN_GroupCleanup = true;
    {
        if ((count (units _x) == 0) && (_x != grpNull)) then {
            deleteGroup _x;
        };
        sleep 0.001;
    } count allGroups;
    DZE_DYN_GroupCleanup = nil;
};
 
server_checkHackers = {
    if (DZE_DYN_AntiStuck2nd > 3) then { DZE_DYN_HackerCheck = nil; DZE_DYN_AntiStuck2nd = 0; };
    if(!isNil "DZE_DYN_HackerCheck") exitWith {  DZE_DYN_AntiStuck2nd = DZE_DYN_AntiStuck2nd + 1;};
    DZE_DYN_HackerCheck = true;
    {
    if (!((isNil "_x") || {(isNull _x)})) then {
        if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {
            diag_log ("CLEANUP: KILLING A HACKER " + (name _x) + " " + str(_x) + " IN " + (typeOf vehicle _x));
            (vehicle _x) setDamage 1;
            _x setDamage 1;
            sleep 0.25;
        };
    };
        sleep 0.001;
    } count allUnits;
    DZE_DYN_HackerCheck = nil;
};
 
server_spawnCleanFire = {
    private ["_delQtyFP","_qty","_delQtyNull","_missionFires"];
    _missionFires = allMissionObjects "Land_Fire_DZ";
    _delQtyFP = 0;
    {
        if (local _x) then {
            deleteVehicle _x;
            sleep 0.025;
            _delQtyFP = _delQtyFP + 1;
        };
        sleep 0.001;
    } count _missionFires;
    if (_delQtyFP > 0) then {
        _qty = count _missionFires;
        diag_log (format["CLEANUP: Deleted %1 fireplaces out of %2",_delQtyNull,_qty]);
    };
};
server_spawnCleanLoot = {
    private ["_created","_delQty","_nearby","_age","_keep","_qty","_missionObjs","_dateNow"];
    if (DZE_DYN_AntiStuck > 3) then { DZE_DYN_cleanLoot = nil; DZE_DYN_AntiStuck = 0; };
    if(!isNil "DZE_DYN_cleanLoot") exitWith {  DZE_DYN_AntiStuck = DZE_DYN_AntiStuck + 1;};
    DZE_DYN_cleanLoot = true;
 
    _missionObjs =  allMissionObjects "ReammoBox";
    _delQty = 0;
    _dateNow = (DateToNumber date);
    {
        if (!isNull _x) then {
            _keep = _x getVariable["permaLoot", false];
            if (!_keep) then {
                _created = _x getVariable["created", -0.1];
                if (_created == -0.1) then{
                    _x setVariable["created", _dateNow, false];
                    _created = _dateNow;
                }
                else {
                    _age = (_dateNow - _created) * 525948;
                    if (_age > 20) then{
                        _nearby = { (isPlayer _x) && (alive _x) } count(_x nearEntities[["CAManBase", "AllVehicles"], 130]);
                        if (_nearby == 0) then{
                            deleteVehicle _x;
                            sleep 0.025;
                            _delQty = _delQty + 1;
                        };
                    };
                };
            };
        };
        sleep 0.001;
    } count _missionObjs;
    if (_delQty > 0) then {
        _qty = count _missionObjs;
        diag_log (format["CLEANUP: Deleted %1 Loot Piles out of %2",_delQty,_qty]);
    };
    DZE_DYN_cleanLoot = nil;
};
 
server_spawnCleanAnimals = {
    private ["_pos","_delQtyAnimal","_qty","_missonAnimals","_nearby"];
    _missonAnimals = entities "CAAnimalBase";
    _delQtyAnimal = 0;
    {
        if (local _x) then {
            _x call dayz_perform_purge;
            sleep 0.05;
            _delQtyAnimal = _delQtyAnimal + 1;
        } else {
            if (!alive _x) then {
                _pos = getPosATL _x;
                if (count _pos > 0) then {
                    _nearby = {(isPlayer _x) && (alive _x)} count (_pos nearEntities [["CAManBase","AllVehicles"], 130]);
                    if (_nearby==0) then {
                        _x call dayz_perform_purge;
                        sleep 0.05;
                        _delQtyAnimal = _delQtyAnimal + 1;
                    };
                };
            };
        };
        sleep 0.001;
    } count _missonAnimals;
    if (_delQtyAnimal > 0) then {
        _qty = count _missonAnimals;
        diag_log (format["CLEANUP: Deleted %1 Animals out of %2",_delQtyAnimal,_qty]);
    };
};
 
server_logUnlockLockEvent = {
    private["_player", "_obj", "_objectID", "_objectUID", "_statusText", "_status"];
    _player = _this select 0;
    _obj = _this select 1;
    _status = _this select 2;
    if (!isNull(_obj)) then {
        _objectID = _obj getVariable["ObjectID", "0"];
        _objectUID = _obj getVariable["ObjectUID", "0"];
        _statusText = "UNLOCKED";
        if (_status) then {
            [_obj, "gear"] call server_updateObject;
            _statusText = "LOCKED";
        };
        diag_log format["SAFE %5: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), (getPlayerUID _player), _statusText];
    };
};
execVM "\z\addons\dayz_server\buildings\BANDITCG.sqf";
execVM "\z\addons\dayz_server\init\ESSfloor.sqf";
____________________________________________________________________________________________________________

 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Боюсь ты не скоро ответишь в данной теме.

Нарушение правил форума.

Оформление и создание тем копий х5

Share this post


Link to post
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Restplay
      В этой теме находятся подробные видео по установке и настройке сервера Dayz Epoch 1.0.7.1
      Видео будут дополняться установкой дополнительных скриптов, миссий и т.д.
       
      1. Программы для сервера Dayz Epoch 1.0.7.1: 
       
       
      2. Установка сервера Dayz Epoch 1.0.7.1:
       
       
      3. Открыть порты для сервера Dayz Epoch 1.0.7.1
       
       
    • By Restplay
      Здравствуйте, есть ли у кого-нибудь файлы сектора С для карты Napf? На острове, где находится обсерватория Зюренфельд.
    • By DrTauren
      Что нам понадобится:
      1) Архив
      2) Notepad


      Инструкция:
      1) Качаем архив и копируем из него папку custom в вашу папку с миссией
      2) Открываем init.sqf и ищем такие строки:
      if (!isDedicated) then { 0 fadeSound 0; waitUntil {!isNil "dayz_loadScreenMsg"}; dayz_loadScreenMsg = (localize "STR_AUTHENTICATING"); _id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}]; }; 3) Перед закрывающей скобкой }; прописываем это:
      _nil = [] execVM "custom\JAEM\EvacChopper_init.sqf"; 4) Выбираем одно из двух, выполняем действия указанные ниже:
      Если у вас нет своего variables.sqf в папке с миссией:  
       
      Если у вас есть свой variables.sqf в папке с миссией:  

      5) Копируем файлы remoteexec.txt, waypointcondition.txt, waypointstatement.txt в вашу папку с фильтрами BattlEye (\instance_11_Chernarus\BattlEye)

      Настройка параметров:
      Открываем файл EvacChopper_init.sqf (custom\JAEM\EvacChopper_init.sqf), находим нужную строку, редактируем по своему усмотрению:
      evac_chopperPrice = 3; Цена вашего спасения евреями. По умолчанию 3 Брифкейса
       
      evac_needRadio = 0; Обязательно ли радио для того, что бы вызвать хапуг? (0-не нужно, 1-таки извольте)
       
      evac_zoneMarker = 0; Дымовая граната на месте эвакуации (0-не надо, 1-таки не увидим мы без дыма)
       
      evac_minDistance = 500; Дословно: минимальное расстояние, что бы вызвать евреев. Меньше 500 не ставить!
    • By Alex39
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
      Установка:
       
      1)Качаем архив по ссылке : https://yadi.sk/d/5KIm6cly3HsJVj 2)Кидаем папку addons в корень миссий  3)Открываем init.sqf и прописываем: После:  
      dayz_fullMoonNights = true;    
      Данные коды:    
      //Выброс ns_blowout = true; // true / false ns_blowout_dayz = true;// true / false ns_blow_delaymod = 0.50; //blowout delay ns_blow_itemapsi = "ItemRadio"; //ItemAPSI replacement ns_blow_playerdamage = 9000; // damage players without ns_blow_itemapsi can get per blowout ns_blow_emp = false; //Namalsk Only    
      Так же в init.sqf после:    
      #include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"    
      Прописываем:    
      if (isServer) then { _bul = [ns_blow_emp] execVM "addons\blowout\module\blowout_server.sqf"; }; if (!isDedicated) then { _bul = [] execVM "addons\blowout\module\blowout_client.sqf"; };    
      Добавляем коды для description.ext Звуки:     И второй код надо прописать в descripton.ext в самый низ командой    
      #include "addons\blowout\code.hpp"    
      Настройка раз в сколько будет выброс отвечает данное строчка    
      ns_blow_delaymod = 0.50;    
      которая будет в init.sqf (0.50 = раз в 50 почти 60 минут )   P.S.  Что бы знать о приближающем выбросе надо в инвентарь радио кинуть, так же оно и спасает от радиации во время выброса, и некоторые здания, хотя в настройках можно что угодно указать,  на видео я раньше включил, так как я точно не могу сказать когда будет, хоть и поставил на 10 минут  
    • By DrTauren
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
      Нам понадобится:
      1) Navicat
       
      Инструкция:
      1) Заходим в вашу базу данных через Navicat, открываем таблицу traders_data.
      2) Добавляем в таблицу новую строку и редактируем её.
      3) Редактируемые параметры:
      Первая колонка - ID вашего товара. Не трогать, т.к. присваивается автоматически. Вторая колонка - Класс товара. Например HandChemRed.
      Число после класса - Количество этого товара, отдаваемое игроку за одну сделку. Третья колонка - Количество анимаций для успешного завершения покупки. Четвёртая колонка - Цена покупки (вы получаете). Число - количество слитков.  За тем идёт класс товара. Пятая колонка - Цена продажи (вы отдаёте). Заполняется по аналогии с четвёртой коолонкой. Шестая колонка - оставляете значение, равное нулю. Седьмая колонка - ID торговца, у которого должен появиться товар. Что бы понять какой ID вам нужен, просто ищите товар из этой же категории (например сметана и молоко = молочные продукты), смотрите ID торговца, у которого он продаётся и ставите нужное знаение в свою новую строку. Восьмая колонка - ID категории товара. Что бы понять какой ID вам нужен, просто ищите товар из этой же категории (например сметана и молоко = молочные продукты), смотрите ID его категории и ставите нужное знаение в свою новую строку. 4) Сохраняем нашу базу данных, перезапускаем сервер, отправляемся к торговцу и чекаем новый товар ^_^

      P.S. Я, например, добавлял себе на локалку KA137_PMC
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.