Jump to content

jOoPs

Member
  • Posts

    105
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by jOoPs

  1. 	class Vehicles
    	{
    		items=1;
    		class Item0
    		{
    			position[]={6277.0088, 0.18027619, 7817.2988};
    			azimut=-245.55611;
    			special="NONE";
    			id=100;
    			side="EMPTY";
    			vehicle="ZavoraAnim";
    			skill=0.60000002;
    			text="barGate1";
    			init="this allowDammage false; this enableSimulation true; this animate [""bargate"",1]; this SetVectorUp [0,0,1];";
    		};
    	};

    put that class into your mission.sqm - above class Markers

    and this is the trigger i use.. and it works.

     

            class Item2
            {
                position[]={6344.8081,304.99023,7806.7598};
                activationBy="WEST";
                repeating=1;
                interruptable=1;
                age="UNKNOWN";
                name="zonestary";
                expCond="(player distance zonestary) < 100;";
                expActiv="barGate1 animate [""bargate"",0];";
                expDesactiv="barGate1 animate [""bargate"",1];";
                class Effects
                {
                };
            };

    cheers

  2. 1. if the spawnselection-dialog doesnt appears, you missed to call the patched player_monitor.sqf/fsm files

    2. if you spawn after selection on an "default" randomspawn, then you missed to update your serverfiles (server_playerSetup.sqf)

    3. to avoid empty worldcoords make sure you have bugfixed your compiles.sqf (endLoadingScreen; >>>> endMission "END1";) and dont miss to add _spawnSelection = 9; to your varibales.sqf

  3. update your crash_spawner.sqf in server\modules\... with that one...

     

    private ["_guaranteedLoot","_randomizedLoot","_spawnChance","_spawnMarker","_spawnRadius","_spawnFire","_fadeFire","_crashModel","_lootTable","_crashName","_spawnRoll","_position","_crash","_config","_hasAdjustment","_newHeight","_adjustedPos","_num","_itemTypes","_index","_weights","_cntWeights","_nearby","_itemType","_needsrelocated","_istoomany","_pos","_lootPos"];
    
    _guaranteedLoot = 3;
    _randomizedLoot = 4;
    _spawnChance = 0.50;
    _spawnMarker = 'center';
    // _spawnRadius = 5000;
    _spawnRadius = HeliCrashArea;
    _spawnFire = true;
    _fadeFire = false;
    _minLootRadius = 4;
    _maxLootRadius = 4;
    _spawnRoll = random 1;
    if (_spawnRoll <= _spawnChance) then {
    	_crashModel = ["UH60Wreck_DZ","UH1Wreck_DZ","UH60_NAVY_Wreck_DZ","UH60_ARMY_Wreck_DZ","UH60_NAVY_Wreck_burned_DZ","UH60_ARMY_Wreck_burned_DZ","Mass_grave_DZ"] call BIS_fnc_selectRandom;
    
    	if(_crashModel == "Mass_grave_DZ") then {
    		_lootTable = "MassGrave";
    	} else {
    		_lootTable = "HeliCrash";
    	};
    	_maxLootRadius = _maxLootRadius - _minLootRadius;
    	_crashName = getText (configFile >> "CfgVehicles" >> _crashModel >> "displayName");
    
    	// Loop for a new location without any vehicles
    	_needsrelocated = true;
    	while {_needsrelocated} do {
    		_position = [getMarkerPos _spawnMarker,0,_spawnRadius,10,0,2000,0] call BIS_fnc_findSafePos;
    		_istoomany = _position nearObjects ["AllVehicles",10];
    		if((count _istoomany) == 0) then { _needsrelocated = false; };
    	};
    
    	//diag_log(format["CRASHSPAWNER: Spawning '%1' with loot table '%2' NOW! (%3) at: %4", _crashName, _lootTable, time, str(_position)]);
    
    	_crash = createVehicle [_crashModel,_position, [], 0, "CAN_COLLIDE"];
    	// Randomize the direction the wreck is facing
    	_crash setDir round(random 360);
    
    	// Using "custom" wrecks (using the destruction model of a vehicle vs. a prepared wreck model) will result
    	// in the model spawning halfway in the ground. To combat this, an OPTIONAL configuration can be tied to
    	// the CfgVehicles class you've created for the custom wreck to define how high above the ground it should
    	// spawn. This is optional.
    	_config = configFile >> "CfgVehicles" >> _crashModel >> "heightAdjustment";
    	_hasAdjustment = isNumber(_config);
    	_newHeight = 0;
    	if (_hasAdjustment) then {
    		_newHeight = getNumber(_config);
    	};
    
    	// Must setPos after a setDir otherwise the wreck won't level itself with the terrain
    	_adjustedPos = [(_position select 0), (_position select 1), _newHeight];
    	//diag_log(format["DIAG: Designated Position: %1", str(_adjustedPos)]);
    	_crash setPos _adjustedPos;
    
    	// I don't think this is needed (you can't get "in" a crash), but it was in the original DayZ Crash logic
    	PVDZE_serverObjectMonitor set [count PVDZE_serverObjectMonitor,_crash];
    
    	_crash setVariable ["ObjectID","1",true];
    	_pos = getPos _crash;
    	// Disable simulation server side
    	_crash enableSimulation false;
    
    	_num = round(random _randomizedLoot) + _guaranteedLoot;
    
    	if(_crashModel == "Mass_grave_DZ") then {
    		_spawnFire = false;
    		_num = _num * 2;
    	};
    
    	if (_spawnFire) then {
    		//["PVDZE_obj_Fire",[_crash,2,time,false,_fadeFire]] call broadcastRpcCallAll;
    		PVDZE_obj_Fire = [_crash,2,time,false,_fadeFire];
    		publicVariable "PVDZE_obj_Fire";
    		_crash setvariable ["fadeFire",_fadeFire,true];
    	};
    
    	if (DZE_MissionLootTable) then {
    		_itemTypes = [] + getArray (missionConfigFile >> "CfgBuildingLoot" >> _lootTable >> "lootType");
    	} else {
    		_itemTypes = [] + getArray (configFile >> "CfgBuildingLoot" >> _lootTable >> "lootType");
    	};
    	_CBLBase = dayz_CBLBase find (toLower(_lootTable));
    	_weights = dayz_CBLChances select _CBLBase;
    	_cntWeights = count _weights;
    
    	for "_x" from 1 to _num do {
    		//create loot
    		_maxLootRadius = (random _maxLootRadius) + _minLootRadius;
    		_lootPos = [_pos, _maxLootRadius, random 360] call BIS_fnc_relPos;
    		_index1 = floor(random _cntWeights);
    		_index2 = _weights select _index1;
    		_itemType = _itemTypes select _index2;
    		[_itemType select 0, _itemType select 1, _lootPos, 5] call spawn_loot;
    	};
    	// ReammoBox is preferred parent class here, as WeaponHolder wouldn't match MedBox0 && other such items.
    	_nearby = _pos nearObjects ["ReammoBox", sizeOf(_crashModel)];
    	{ _x setVariable ["permaLoot",true]; } count _nearBy;
    };
    

     

    cheers

  4. Hello,

     

    Is anyone still actively working on this script or no? I've added it to my server but the spawns do not work, doesn't matter what you select the game uses the old spawning system (random position). I've installed the mod correctly, pretty damn sure i did ;).

     

    If anyone knows how to resolve this issue, please let me know.

     

    Kind Regards,

    Dutchy

     

    1. if the spawnselection-dialog doesnt appears, you missed to call the patched player_monitor.sqf/fsm files

    2. if you spawn after selection on an "default" randomspawn, then you missed to update your serverfiles (server_playerSetup.sqf)

    3. to avoid empty worldcoords make sure you have bugfixed your compiles.sqf (endLoadingScreen; >>>> endMission "END1";) and dont miss to add _spawnSelection = 9; to your varibales.sqf

     

    cheers

  5. no wonder.. you have renamed most of the needed soundclassnames...

     

    here is your description.ext, it should work now...

    ////////////////////////////////#include "blowout\config\sound.hpp"
    respawn = "BASE";
    respawndelay = 5;
    onLoadMission= "DayZ Epoch Chernarus";
    OnLoadIntro = "Welcome to DayZ Epoch Chernarus";
    OnLoadIntroTime = False;
    OnLoadMissionTime = False;
    disabledAI = true;
    disableChannels[]={0,2,6};
    enableItemsDropping = 0;
     
     
    briefing = 0;
    debriefing = 0;
     
    onPauseScript = "";
    loadScreen = "picture.jpg";
     
    class Header
    {
     gameType = COOP;            //DM, Team, Coop, ...
     minPlayers = 1;             //min # of players the mission supports
     maxPlayers = 100;            //Max # of players the mission supports
    };
     
    aiKills = 1;
    diagRadio = 1;
    diagHit = 1;
     
    class RscText
    {
            type = 0;
            idc = -1;
            x = 0;
            y = 0;
            h = 0.037;
            w = 0.3;
            style = 0x100;
            font = Zeppelin32;
            SizeEx = 0.03921;
            colorText[] = {1,1,1,1};
            colorBackground[] = {0, 0, 0, 0};
            linespacing = 1;
    };
    class RscPicture
    {
            access=0;
            type=0;
            idc=-1;
            style=48;
            colorBackground[]={0,0,0,0};
            colorText[]={1,1,1,1};
            font="TahomaB";
            sizeEx=0;
            lineSpacing=0;
            text="";
    };
    class RscLoadingText : RscText
    {
            style = 2;
            x = 0.323532;
            y = 0.666672;
            w = 0.352944;
            h = 0.039216;
            sizeEx = 0.03921;
            colorText[] = {0.543,0.5742,0.4102,1.0};
    };
    class RscProgress
    {
            x = 0.344;
            y = 0.619;
            w = 0.313726;
            h = 0.0261438;
            texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
            colorFrame[] = {0,0,0,0};
            colorBar[] = {1,1,1,1};
    };
    class RscProgressNotFreeze
    {
            idc = -1;
            type = 45;
            style = 0;
            x = 0.022059;
            y = 0.911772;
            w = 0.029412;
            h = 0.039216;
            texture = "#(argb,8,8,3)color(0,0,0,0)";
    };
    //
    // the loading screen itself
    //
    class DayZ_loadingScreen
    {
            idd = -1;
            duration = 10e10;
            fadein = 0;
            fadeout = 0;
            name = "loading screen";
            class controlsBackground
            {
                    class blackBG : RscText
                    {
                            x = safezoneX;
                            y = safezoneY;
                            w = safezoneW;
                            h = safezoneH;
                            text = "";
                            colorText[] = {0,0,0,0};
                            colorBackground[] = {0,0,0,1};
                    };
                    /*
                    class nicePic : RscPicture
                    {
                            style = 48 + 0x800; // ST_PICTURE + ST_KEEP_ASPECT_RATIO
                            x = safezoneX + safezoneW/2 - 0.25;
                            y = safezoneY + safezoneH/2 - 0.2;
                            w = 0.5;
                            h = 0.4;
                            text = "img\nicePic.paa";
                    };
                    */
            };
            class controls
            {
                    class Title1 : RscLoadingText
                    {
                            text = "$STR_LOADING"; // "Loading" text in the middle of the screen
                    };
                    class CA_Progress : RscProgress // progress bar, has to have idc 104
                    {
                            idc = 104;
                            type = 8; // CT_PROGRESS
                            style = 0; // ST_SINGLE
                            texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
                    };
                    class CA_Progress2 : RscProgressNotFreeze // progress bar that will go reverse
                    {
                            idc = 103;
                    };
                    class Name2: RscText // the text on the top-left
                    {
                            idc = 101;
                            x = 0.05;
                            y = 0.029412;
                            w = 0.9;
                            h = 0.04902;
                            text = "";
                            sizeEx = 0.05;
                            colorText[] = {0.543,0.5742,0.4102,1.0};
                    };
            };
    };
     
    //Snap building
    #include "custom\snap_pro\snappoints.hpp"
     
    //menu right click
    #include "custom\extra_rc.hpp"
     
    //Spawn point
    #include "spawn\defines.hpp"
    #include "spawn\halo.hpp"
    #include "spawn\spawn.hpp"
     
    //Code Changer
    #include "ckc\ckc_defines.hpp"
    #include "ckc\ckc_ui.hpp"
    #include "ckc\ckc_SafeUI.hpp"
     
     
    //sounds Bombardement and Fire dance
    class CfgSounds
     
    {
      sounds[]={nam,eve,puk,fox,off,start,begin,detect,wave,hit1,hit2,hit3,voices,wave1,wave2,wave3,drone1,drone2,misc4};
    class nam
      {
        name = "Siren1";
        sound[] = {SirenLoopMono.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class eve
      {
        name = "Siren2";
        sound[] = {Sirens.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class puk
      {
        name = "Siren3";
        sound[] = {Sirens2.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class fox
        {
        name="fox";
        sound[]={fox.ogg,0.9,1};
        titles[] = {};
        };
    /*
    class off
    {
        name = "apsi_off";
        sound[] = {blowout\sounds\apsi_off.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class start
      {
        name = "apsi_start";
        sound[] = {blowout\sounds\apsi_start.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class begin
      {
        name = "blowout_begin";
        sound[] = {blowout\sounds\blowout_begin.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class detect
        {
        name="blowout_detect";
        sound[]={blowout\sounds\blowout_detect.ogg,0.9,1};
        titles[] = {};
        };
    class wave
      {
        name = "blowout_full_wave";
        sound[] = {blowout\sounds\blowout_full_wave.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class hit1
      {
        name = "blowout_hit_1";
        sound[] = {blowout\sounds\blowout_hit_1.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class hit2
      {
        name = "blowout_hit_2";
        sound[] = {blowout\sounds\blowout_hit_2.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class hit3
        {
        name="blowout_hit_3";
        sound[]={blowout\sounds\blowout_hit_3.ogg,0.9,1};
        titles[] = {};
        };
    class voices
      {
        name = "blowout_psy_voices";
        sound[] = {blowout\sounds\blowout_psy_voices.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class wave1
      {
        name = "blowout_wave_1";
        sound[] = {blowout\sounds\blowout_wave_1.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class wave2
        {
        name="blowout_wave_2";
        sound[]={blowout\sounds\blowout_wave_2.ogg,0.9,1};
        titles[] = {};
        };
    class wave3
      {
        name = "blowout_wave_3";
        sound[] = {blowout\sounds\blowout_wave_3.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class drone1
      {
        name = "fx_drone1";
        sound[] = {blowout\sounds\fx_drone1.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class drone2
      {
        name = "fx_drone2";
        sound[] = {blowout\sounds\fx_drone2.ogg, db-6, 1.0};
        titles[] = {""};
      };
    class misc4
        {
        name="fx_misc4";
        sound[]={blowout\sounds\fx_misc4.ogg,0.9,1};
        titles[] = {};
        };
    */
    /////////// blowoout sfxcfg start ///////////
        class bl_begin
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_begin.ogg",3.162278,1.0};
    		titles[] = {};
    	};
    	class bl_hit1
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_hit_1.ogg",1.584893,1.0};
    		titles[] = {};
    	};
    	class bl_hit2
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_hit_2.ogg",1.584893,1.0};
    		titles[] = {};
    	};
    	class bl_hit3
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_hit_3.ogg",1.584893,1.0};
    		titles[] = {};
    	};
    	class bl_wave1
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_wave_1.ogg",1.584893,1.0};
    		titles[] = {};
    	};
    	class bl_wave2
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_wave_2.ogg",1.584893,1.0};
    		titles[] = {};
    	};
    	class bl_wave3
    	{
    		name = "NS blowout_begin";
    		sound[] = {"blowout\sounds\blowout_wave_3.ogg",1.584893,1.0};
    		titles[] = {};
    	};
    	class bl_psi
    	{
    		name = "NS blowout_psi";
    		sound[] = {"blowout\sounds\blowout_psy_voices.ogg",1.778279,1.0};
    		titles[] = {};
    	};
    	class bl_full
    	{
    		name = "NS blowout_full";
    		sound[] = {"blowout\sounds\blowout_full_wave.ogg",1.778279,1.0};
    		titles[] = {};
    	};
    	class bl_detect
    	{
    		name = "NS blowout_detect";
    		sound[] = {"blowout\sounds\blowout_detect.ogg",1.778279,1.0};
    		titles[] = {};
    	};
    	class apsi_on
    	{
    		name = "NS apsi_on";
    		sound[] = {"blowout\sounds\apsi_start.ogg",1.778279,1.0};
    		titles[] = {};
    	};
    	class apsi_off
    	{
    		name = "NS apsi_off";
    		sound[] = {"blowout\sounds\apsi_off.ogg",1.778279,1.0};
    		titles[] = {};
    	};
    	class ns_fx_misc4
    	{
    		name = "Misc strange wind";
    		sound[] = {"blowout\sounds\fx_misc4.ogg",1.0,1.0};
    		titles[] = {};
    	};
    	class ns_fx_drone1
    	{
    		name = "Drone 1";
    		sound[] = {"blowout\sounds\fx_drone1.ogg",1.0,1.0};
    		titles[] = {};
    	};
    	class ns_fx_drone2
    	{
    		name = "Drone 2";
    		sound[] = {"blowout\sounds\fx_drone2.ogg",1.0,1.0};
    		titles[] = {};
    	};
    /////////// blowoout sfxcfg end ///////////
    };
     
    //Blowout
     
    class RscTextNS
    {
        idc = -1;
        type = 0;
        style = 2;
        LineSpacing = 1.0;
        h = 0.04;
        ColorBackground[] = {1,1,1,0.2};
        ColorText[] = {0.1,0.1,0.1,1};
        font = "BitStream";
        SizeEx = 0.025;
    };
     
    class RscTitles {
        class RscAPSI_h1
        {
            idd = -1;
            duration = 4;
            fadein = 0;
            movingEnable = 0;
            enableSimulation = 0;
            enableDisplay = 0;
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.5;
                    h = 0.03;
                    text = "APSI: Stronger activity of floax field has been detected..";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {1.0,0.2,0.1,1};
                };
            };
        };
        class RscAPSI_h2: RscAPSI_h1
        {
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.4;
                    h = 0.03;
                    text = "APSI: EVR sequence detected..";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {1.0,0.0,0.2,1};
                };
            };
        };
        class RscAPSI_h3: RscAPSI_h1
        {
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.4;
                    h = 0.03;
                    text = "APSI: EM and PSI protection enabled..";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {0.0,1.0,0.2,1};
                };
            };
        };
        class RscAPSI_h4: RscAPSI_h1
        {
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.4;
                    h = 0.03;
                    text = "APSI: Ready..";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {0.0,1.0,0.2,1};
                };
            };
        };
        class RscAPSI_h5: RscAPSI_h1
        {
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.4;
                    h = 0.03;
                    text = "APSI: EVR sequence start..";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {1.0,0.0,0.2,1};
                };
            };
        };
        class RscAPSI_h6: RscAPSI_h1
        {
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.4;
                    h = 0.03;
                    text = "APSI: End of EVR..";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {0.0,1.0,0.2,1};
                };
            };
        };
        class RscAPSI_ha: RscAPSI_h1
        {
            class controls
            {
                class APSILog: RscTextNS
                {
                    x = 0.5;
                    y = 0.99;
                    w = 0.4;
                    h = 0.03;
                    text = "Blowout module, v1.0, by Sumrak.";
                    colorBackground[] = {0.5,0.5,0.5,0.4};
                    ColorText[] = {0.0,1.0,0.2,1};
                };
            };
        };
    };
    

     

    cheers

  6. 	class NS_zombie1: SoldierGB
    	{
    		nameSound = "veh_man";
    		faction = "MUT";
    		scope = 2;
    		vehicleClass = "NST_mut";
    		weapons[] = {"Throw","Put","mut_heart","APSI"};
    		magazines[] = {};
    		respawnweapons[] = {"Throw","Put","mut_heart","APSI"};
    		respawnmagazines[] = {};
    		model = "\nst\NS_mutants\zomb\NS_zombie1.p3d";
    

    mut_heart is an weapon, so you are right using addWeapon.. if you are using infiStar other AdminTools try to spawn mut_heart, if this fails youre missing to include an namalsk-module(watch error-message)...

    	class mut_heart: ItemCore
    	{
    		scope = 2;
    		displayName = "$STR_MUT_HEART";
    		picture = "\nst\ns2\inv\heart_icon_ca.paa";
    		descriptionShort = "$STR_MUT_HEART_DESC";
    	};
    

    located in ns2.pbo

     

    cheers

  7. lets extend the Merlin with some useractions...

     

    what you need ...

     

    (server.pbo - server_monitor.sqf/server_publishVehicle2.sqf/server_publishVehicle3.sqf)

        //BAF_Merlin_DZE add door actions
        if (_object isKindOf "BAF_Merlin_HC3_D") then {
            _object setVariable ["Merlin_Doors", 0, true];
            _object setVariable ["Merlin_Ramp", 0, true];
        };

     

    (client - varibales.sqf)

        s_player_merlin_doors = -1;
        s_player_merlin_ramp = -1;

     

        dayz_MerlinVehicle = objNull;

     

    (client - fn_selfActions.sqf)

    // option to add Merlin Doors/Ramp-action
    if ( _inVehicle && (_vehicle isKindOf "BAF_Merlin_HC3_D") ) then {
    	dayz_MerlinVehicle = _vehicle;
    	if (s_player_merlin_doors < 0) then {
    		s_player_merlin_doors = dayz_MerlinVehicle addAction ["open/close doors", "custom\Merlin_Doors.sqf",dayz_MerlinVehicle,-10,false,true,"","player == driver _target"];
    	};
    	if (s_player_merlin_ramp < 0) then {
    		s_player_merlin_ramp = dayz_MerlinVehicle addAction ["open/close ramp", "custom\Merlin_Ramp.sqf",dayz_MerlinVehicle,-10,false,true,"","player == driver _target"];
    	};
    } else {
    	dayz_MerlinVehicle removeAction s_player_merlin_doors;
    	s_player_merlin_doors = -1;
    	dayz_MerlinVehicle removeAction s_player_merlin_ramp;
    	s_player_merlin_ramp = -1;
    };
    

    (client - files - Merlin_Doors.sqf)

    if (isNil "merlinDoors") then { merlinDoors = 0; };
    if (merlinDoors == 0) then { merlinDoors = 1; } else { merlinDoors = 0; };
    
    private["_vcl"];
    _vcl = _this select 0; //vehicle player;
    _vcl animate ["DVERE_L", merlinDoors];
    _vcl animate ["DVERE_L_POP", merlinDoors];
    _vcl animate ["DVERE_P", merlinDoors];
    _vcl animate ["DVERE_P_POP", merlinDoors];
    _vcl setVariable ["Merlin_Doors", merlinDoors,true];
    

    (client - files - Merlin_Ramp.sqf)

    if (isNil "merlinRamp") then { merlinRamp = 0; };
    if (merlinRamp == 0) then { merlinRamp = 1; } else { merlinRamp = 0; };
    
    private["_vcl"];
    _vcl = _this select 0;
    _vcl animate ["rampa", merlinRamp];
    _vcl setVariable ["Merlin_Ramp", merlinRamp,true];
    

    if you followed the tutorial of previous post, you should be able to handle this code-snippets ;)

  8. unpack your mission.pbo

     

    inside create a folder named "custom" (or how ever you want call it)

    create a file named "An2_ammo.sqf" and put that code into it

    private["_ammo","_vehicle","_hasAmmo","_text","_weapon","_weaponname","_ammoname"];
        _vehicle = _this select 0;
        _weapon = "M240"; //vehicleweapon
        _ammo = "100Rnd_762x51_M240"; //weaponammo
        _weaponname = _weapon; //cant read from config, coz there is no turret or what ever - so its hardcoded
        _ammoname = getText (configFile >> "cfgMagazines" >> _ammo >> "displayName");
        _text = [_ammoname,_weaponname];
        
        _hasAmmo = _ammo in magazines player;
        if (_hasAmmo) exitWith {
            player removeMagazine _ammo;
            ["<t size='0.6'>3</t>",0,0.8,0.5,0,0,8] spawn BIS_fnc_dynamicText;
            sleep 1;
            ["<t size='0.6'>2</t>",0,0.8,0.5,0,0,8] spawn BIS_fnc_dynamicText;
            sleep 1;
            ["<t size='0.6'>1</t>",0,0.8,0.5,0,0,8] spawn BIS_fnc_dynamicText;
            sleep 1;
            _vehicle addMagazine _ammo;
            cutText [format[(localize "str_epoch_player_127"),_ammoname], "PLAIN DOWN"];
        };
        cutText [format[(localize "str_epoch_player_128"),_text], "PLAIN DOWN"];
    

    ...and save it.

     

     

    open your customized "fn_selfaction.sqf" and search for that code-block...

    if (!DZE_ForceNameTagsOff) then {
    	if (s_player_showname < 0 && !_isPZombie) then {
    		if (DZE_ForceNameTags) then {
    			s_player_showname = 1;
    			player setVariable["DZE_display_name",true,true];
    		} else {
    			s_player_showname = player addAction [localize "STR_EPOCH_ACTIONS_NAMEYES", "\z\addons\dayz_code\actions\display_name.sqf",true, 0, true, false, "",""];
    			s_player_showname1 = player addAction [localize "STR_EPOCH_ACTIONS_NAMENO", "\z\addons\dayz_code\actions\display_name.sqf",false, 0, true, false, "",""];
    		};
    	};
    };
    

    after it place that code-block...

     

    // option to add ammo to An2 PKT gun
    if(_inVehicle && (_vehicle isKindOf "An2_DZ")) then {
    	if (s_player_an2_reload < 0) then {
    		dayz_An2Vehicle = _vehicle;
    		s_player_an2_reload = dayz_An2Vehicle addAction ["Add AMMO to M240 gun", "custom\An2_ammo.sqf",dayz_An2Vehicle,-10,false,true,"","player == driver _target"];
    	};
    } else {
    	dayz_An2Vehicle removeAction s_player_an2_reload;
    	s_player_an2_reload = -1;
    };
    

     

    now open your customized "variables.sqf" and search for that lines...

     

            s_player_heli_lift = -1;
    	s_player_heli_detach = -1;
    	s_player_lockUnlock_crtl = -1;
    

     

    after it insert this line ...

            s_player_an2_reload = -1;
    

    so it looks like ...

    	s_player_heli_lift = -1;
    	s_player_heli_detach = -1;
    	s_player_lockUnlock_crtl = -1;
    	s_player_an2_reload = -1;
    

    now search for ...

            DZE_myHaloVehicle = objNull;
    	dayz_myLiftVehicle = objNull;
    

    add after ...

            dayz_An2Vehicle = objNull;
    

    so it looks like ...

            DZE_myHaloVehicle = objNull;
    	dayz_myLiftVehicle = objNull;
    	dayz_An2Vehicle = objNull;
    

    ... save file.

     

    thats all in your missionfile.. so repack it.

     

     

    now unpack your server.pbo file or open it with pbomanager...

    next open "system\server_monitor.sqf" and search for that line ...

             _object setFuel _fuel;
    

    after it insert ..

    if (_object isKindOf "AN2_DZ") then {
         _object addWeapon "M240_veh";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
    };
    

    ...thats all in server_monitor.sqf.. save it!

     

     

    next step... open "compile\server_publishVehicle2.sqf" and search for that lines...

            clearWeaponCargoGlobal  _object;
    	clearMagazineCargoGlobal  _object;
    

     after insert ....

    if (_object isKindOf "AN2_DZ") then {
         _object addWeapon "M240_veh";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
    };
    

    ready, save!

     

    last step open "compiles\server_publishVehicle3.sqf" and search for that lines ...

            _object setVariable ["ObjectID", _oid, true];
    	
    	_object setVariable ["lastUpdate",time];
    	
    	_object setVariable ["CharacterID", _characterID, true];
    

    and insert BEFORE that code-block..

    if (_object isKindOf "AN2_DZ") then {
         _object addWeapon "M240_veh";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
         _object addMagazine "100Rnd_762x51_M240";
    };
    

    save!

     

    finally repack your server.pbo..

     

     

    note: an russian plane with nato-weapons?? tztztztz...

  9. Using  jOops version. We don't run weighting and I can't get the weight icon to turn off??

     

    try replacing your player_updategui.sqf with that one...

    /* bloodloss & bloodgain not implemented yet! */
    /* cheers...  jOoPs */
    
    private ["_display","_uiNumber","_ctrlWeight","_bloodText","_ctrlCombatBorder","_ctrlCombatBorder2","_ctrlBloodOuter","_ctrlFoodBorder","_ctrlThirstBorder","_ctrlTempBorder","_ctrlBlood","_ctrlBleed","_bloodVal","_ctrlFood","_ctrlThirst","_thirstVal","_foodVal","_ctrlTemp","_tempVal","_combatVal","_array","_ctrlEar","_ctrlEye","_ctrlCombat","_ctrlFracture","_visualText","_visual","_audibleText","_audible","_blood","_thirstLvl","_foodLvl","_tempImg","_thirst","_food","_temp","_bloodLvl","_tempLvl","_color","_string","_humanity","_size","_friendlies","_charID","_rcharID","_rfriendlies","_rfriendlyTo","_distance","_targetControl","_humanityTarget"];
    disableSerialization;
    
    _foodVal = 		1 - (dayz_hunger / SleepFood);
    _thirstVal = 	1 - (dayz_thirst / SleepWater);
    _tempVal 	= 	1 - ((dayz_temperatur - dayz_temperaturmin)/(dayz_temperaturmax - dayz_temperaturmin));	// Normalise to [0,1]
    _combatVal =	1 - dayz_combat; // May change later to be a range of red/green to loosely indicate 'time left in combat'
    
    if (uiNamespace getVariable ['DZ_displayUI', 0] == 1) exitWith {
    	_array = [_foodVal,_thirstVal];
    	_array
    };
    
    _display = uiNamespace getVariable 'DAYZ_GUI_display';
    
    _ctrlBloodOuter = _display displayCtrl 1200;
    _ctrlFoodBorder = _display displayCtrl 1201;
    _ctrlThirstBorder = _display displayCtrl 1202;
    _ctrlTempBorder = _display displayCtrl 1208;
    _ctrlCombatBorder = _display displayCtrl 1207; 
    _ctrlCombatBorder2 = _display displayCtrl 1211; 
    
    
    //Border white
    _ctrlBloodOuter ctrlSetTextColor [1,1,1,1];
    _ctrlFoodBorder ctrlSetTextColor [1,1,1,1];
    _ctrlThirstBorder ctrlSetTextColor [1,1,1,1];
    _ctrlTempBorder ctrlSetTextColor [1,1,1,1];
    _ctrlCombatBorder ctrlSetTextColor [1,1,1,1]; 
    _ctrlCombatBorder2 ctrlSetTextColor [1,1,1,1]; 
    
    _ctrlBlood = 	_display displayCtrl 1300;
    _ctrlBleed = 	_display displayCtrl 1303;
    _bloodVal =		r_player_blood / r_player_bloodTotal;
    _ctrlFood = 	_display displayCtrl 1301;
    _ctrlThirst = 	_display displayCtrl 1302;
    _ctrlTemp 	= 	_display displayCtrl 1306;					//TeeChange
    _ctrlEar = 		_display displayCtrl 1304;
    _ctrlEye = 		_display displayCtrl 1305;
    //_ctrlHumanity = _display displayCtrl 1207;
    _ctrlCombat = _display displayCtrl 1307;
    _ctrlFracture = 	_display displayCtrl 1203;
    
    //only show the weight-icon if R3F-weight-system is running ;)
    /*
    if (DZE_R3F_WEIGHT) then {
    	_ctrlWeight = 	_display displayCtrl 1210;
    };
    */
    
    //Food/Water/Blood
    _ctrlBlood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_bloodVal))),(Dayz_GUI_G * _bloodVal),(Dayz_GUI_B * _bloodVal), 1];
    _ctrlFood ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_foodVal))),(Dayz_GUI_G * _foodVal),(Dayz_GUI_B * _foodVal), 1];
    _ctrlThirst ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_thirstVal))),(Dayz_GUI_G * _thirstVal),(Dayz_GUI_B * _thirstVal), 1];
    _ctrlTemp ctrlSetTextColor [(Dayz_GUI_R + (0.3 * (1-_tempVal))), (Dayz_GUI_G * _tempVal), _tempVal, 1];	// Color ranges from iceblue (cold) to red (hot) // << Already Done :)
    _ctrlCombat ctrlSetTextColor		[(Dayz_GUI_R + (0.3 * (1-_combatVal))),(Dayz_GUI_G * _combatVal),(Dayz_GUI_B * _combatVal), 0.5];
    
    /*
    	Blood: round((r_player_blood / 2) / 1000) = _bloodLvl (6 = full, 1 = empty)
    	Thirst: round(_thirstVal / 0.25) = _thirstLvl (4 = full, 0 = empty)
    	Hunger: round(_foodVal / 0.25) = _foodLvl (4 = full, 0 = empty)
    	Temp: round(dayz_temperatur) = tempLvl (>= 36 = full <= 28 = empty)
    */
    
    _blood = "";
    _thirst = "";
    _food = "";
    _temp = "";
    _tempImg = 0;
    _bloodLvl = round((r_player_blood / 2) / 1000);
    _thirstLvl = round(_thirstVal / 0.25);
    _foodLvl = round(_foodVal / 0.25);
    _tempLvl = round(dayz_temperatur);
    
    _bloodText = "\z\addons\dayz_code\gui\status\status_blood_border";
    if (r_player_infected) then { _bloodText = _bloodText + "_sick_ca.paa"; }
    else { _bloodText = _bloodText + "_CA.paa"; };
    _ctrlBloodOuter ctrlSetText _bloodText;
    
    
    if (_bloodLvl <= 0) then {
    	_blood = "\z\addons\dayz_code\gui\status\status_blood_inside_1_ca.paa";
    } else {
    	_blood = "\z\addons\dayz_code\gui\status\status_blood_inside_" + str(_bloodLvl) + "_ca.paa";
    };
    
    if (_thirstLvl < 0) then { _thirstLvl = 0 };
    _thirst = "\z\addons\dayz_code\gui\status\status_thirst_inside_" + str(_thirstLvl) + "_ca.paa";
    
    if (_foodLvl < 0) then { _foodLvl = 0 };
    _food = "\z\addons\dayz_code\gui\status\status_food_inside_" + str(_foodLvl) + "_ca.paa";
    
    switch true do {
    	case (_tempLvl >= 36): { _tempImg = 4 };
    	case (_tempLvl > 33 and _tempLvl < 36): { _tempImg = 3 };
    	case (_tempLvl >= 30 and _tempLvl <= 33): { _tempImg = 2 };
    	case (_tempLvl > 28 and _tempLvl < 30): { _tempImg = 1 };
    	default { _tempImg = 0 };
    };
    
    
    _temp = "\z\addons\dayz_code\gui\status\status_temp_" + str(_tempImg) + "_ca.paa";
    
    _ctrlBlood ctrlSetText _blood;
    _ctrlThirst ctrlSetText _thirst;
    _ctrlFood ctrlSetText _food;
    _ctrlTemp ctrlSetText _temp;
    
    // Visual:
    _visual = (dayz_disVisual / 185) min 1;
    if (_visual < 0.2) then {_visual = 0.2;};
    _ctrlEye  ctrlSetTextColor [1, 1, 1, _visual];
    
    // Audible
    _audible = (dayz_disAudial / 40) min 1;
    if (_audible < 0.2) then {_audible = 0.2;};
    _ctrlEar ctrlSetTextColor [1, 1, 1, _audible];
    
    //Fracture
    if (!canStand player) then {
    	if (!(ctrlShown _ctrlFracture)) then {
    		r_fracture_legs = true;
    		_ctrlFracture ctrlShow true;
    	};
    };
    
    //	Flashing
    if (_combatVal == 0) then { _ctrlCombat call player_guiControlFlash; };
    if (_bloodVal < 0.2) then { _ctrlBlood call player_guiControlFlash; };
    if (_thirstVal < 0.2) then { _ctrlThirst call player_guiControlFlash; };
    if (_foodVal < 0.2) then { _ctrlFood call player_guiControlFlash; };
    if (_tempVal > 0.8) then { _ctrlTemp call player_guiControlFlash; } else { _ctrlTemp ctrlShow true; };
    if (r_player_injured) then { _ctrlBleed call player_guiControlFlash; };
    
    //only show the weight-icon if R3F-weight-system is running ;)
    /*
    if (DZE_R3F_WEIGHT) then {
    	if (R3F_Weight < 125) then {
    		_ctrlWeight ctrlShow false;
    	} else {
    		if (R3F_Weight > 250) then {
    			_ctrlWeight call player_guiControlFlash;
    		} else {
    			_ctrlWeight ctrlShow true;
    		};
    	};
    };
    */
    //this should disable the permanent showing weight-icon
    _ctrlWeight = _display displayCtrl 1210;
    _ctrlWeight ctrlSetText "";
    _ctrlWeight ctrlShow false;
    //this should disable the permanent showing weight-icon
    
    /*
    Opt-in tag system with friend tagging
    */
    _targetControl = _display displayCtrl 1199;
    _string = "";
    _humanityTarget = cursorTarget;
    if (!isNull _humanityTarget and isPlayer _humanityTarget and alive _humanityTarget) then {
    
    	_distance = (player distance _humanityTarget);
    
    	if (_distance < DZE_HumanityTargetDistance) then {
    		
    		_size = (1-(floor(_distance/5)*0.1)) max 0.1;
    
    		// Display name if player opt-in or if friend
    		_friendlies = player getVariable ["friendlies", []];
    		_charID = player getVariable ["CharacterID", "0"];
    
    		_rcharID = _humanityTarget getVariable ["CharacterID", "0"];
    		_rfriendlies = _humanityTarget getVariable ["friendlies", []];
    		_rfriendlyTo = _humanityTarget getVariable ["friendlyTo", []];
    			
    		if ((_rcharID in _friendlies) and (_charID in _rfriendlies)) then {
    
    			if (!(_charID in _rfriendlyTo)) then {
    
    				// diag_log format["IS FRIENDLY: %1", _player];
    				_rfriendlyTo set [count _rfriendlyTo, _charID];
    				_humanityTarget setVariable ["friendlyTo", _rfriendlyTo, true];
    				
    				// titleText [format[(localize "STR_EPOCH_ACTIONS_17"), (name _humanityTarget)], "PLAIN DOWN"];
    
    			};
    	
    			// <br /><t %2 align='center' size='0.7'>Humanity: %3</t>
    
    			_color = "color='#339933'";
    			_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
    		
    		} else {
    
    			// Humanity checks
    			_humanity = _humanityTarget getVariable ["humanity",0];
    
    			_color = "color='#ffffff'";
    			if(_humanity < -5000) then {
    				_color = "color='#ff0000'";
    			} else {
    				if(_humanity > 5000) then {
    					_color = "color='#3333ff'";
    				};
    			};
    			if(_humanityTarget getVariable ["DZE_display_name", false]) then {
    				_string = format["<t %2 align='center' size='%3'>%1</t>",(name _humanityTarget),_color,_size];
    			};
    		};
    	};
    };
    
    // update gui if changed
    if (dayz_humanitytarget != _string) then {
    	_targetControl ctrlSetStructuredText (parseText _string);
    	dayz_humanitytarget = _string;
    };
    
    _array = [_foodVal,_thirstVal];
    _array
    

     

    cheers

  10. It would be really nice if the Players are always in Combat when the first sign of Blowout shows up. So now ppl mostly log off and back in after Blowout.

    Is that possible?

     

    you need to add/change some lines in blowout_client.sqf ..

     

    search for... diag_log format["[NAC BLOWOUT CLIENT] :: ns_blow_prep = %1 Blowout is preparing, take a cover!", ns_blow_prep];

    right before add...

     

        if (ns_blowout_dayz) then {

            player setVariable["startcombattimer", 1, true];

        };

     

    this should it.. cheers

  11. str_playerstats_journal_1 = "My name is %1.  I woke up %2 somewhere in %3; an area of the infected hell hole also known as %4.";
    str_playerstats_journal_2 = "The date is %5, and %6";
    
    str_playerstats_journal_1_a = "tonight";
    str_playerstats_journal_1_b = "this evening";
    str_playerstats_journal_1_c = "this afternoon";
    str_playerstats_journal_1_d = "this morning";
    str_playerstats_journal_1_e = "last night";
    str_playerstats_journal_1_f = "yesterday evening";
    str_playerstats_journal_1_g = "yesterday afternoon";
    str_playerstats_journal_1_h = "early yesterday";
    str_playerstats_journal_1_i = "a while ago";
    
    str_playerstats_journal_month_1 = "January";
    str_playerstats_journal_month_2 = "February";
    str_playerstats_journal_month_3 = "March";
    str_playerstats_journal_month_4 = "April";
    str_playerstats_journal_month_5 = "May";
    str_playerstats_journal_month_6 = "June";
    str_playerstats_journal_month_7 = "July";
    str_playerstats_journal_month_8 = "August";
    str_playerstats_journal_month_9 = "September";
    str_playerstats_journal_month_10 = "October";
    str_playerstats_journal_month_11 = "November";
    str_playerstats_journal_month_12 = "December";
    
    str_playerstats_journal_2_date = "%2 %1, %3";
    str_playerstats_journal_2_info_1 = "it's my first day here since waking up on the shore.";
    str_playerstats_journal_2_info_2 = "I've only been here a day, so still getting used to what's going on.";
    str_playerstats_journal_2_info_3 = "I've been here %1 days and counting.";
    
    str_playerstats_journal_3_1 = "At least I haven't got any broken bones";
    str_playerstats_journal_3_2 = "The situation looks dire.  I've got multiple broken bones";
    str_playerstats_journal_3_3 = "Things could be better. My leg is broken";
    str_playerstats_journal_3_4 = "Things aren't so good.  My arm is broken";
     
    str_playerstats_journal_4_1 = ", although I do feel really sick";
    str_playerstats_journal_4_2 = ", I feel really feverish";
    
    str_playerstats_journal_5_1 = " and I'm fading fast from lack of blood.";
    str_playerstats_journal_5_2 = " and I've lost a lot of blood.";
    str_playerstats_journal_5_3 = " and I've lost some blood.";
    str_playerstats_journal_5_4 = " and I've got some minor wounds.";
    str_playerstats_journal_5_5 = " but somehow I don't appear have lost any blood.  Strange.";
    str_playerstats_journal_5_6 = " but I'm physically pale from loss of blood.";
    str_playerstats_journal_5_7 = " but I've lost a lot of blood.";
    str_playerstats_journal_5_8 = " but I've lost some blood.";
    str_playerstats_journal_5_9 = " but apart from some minor wounds that need tending to, I'm in pretty good shape.";
    str_playerstats_journal_5_10 = " but quite strangely the sickness hasn't affected my wellbeing.";
    str_playerstats_journal_5_11 = " and I'm in full health.";
    
    str_playerstats_journal_6_1 = "Good thing I've got a blood bag on me.  Now if only there was someone who could hook me up...";
    str_playerstats_journal_6_2 = "Good thing I've got a blood bag in my backpack.  Now if only there was someone who could hook me up...";
    str_playerstats_journal_6_3 = "I really need to get a transfusion from somewhere.  If only I had a blood bag.";
    
    str_playerstats_journal_7_1 = "Good news is I've got my trusty %1 to defend myself with.";
    str_playerstats_journal_7_2 = "I've got a %1 but it won't be much use in this daylight.";
    str_playerstats_journal_7_3 = "I've got a %1 which is perfect for seeing in this dark.  I guess other survivors can see me flashing it about though.  Not sure if that's a good thing or not given the circumstances.";
    str_playerstats_journal_7_4 = "I've got a damn %1 so people better watch out.";
    str_playerstats_journal_7_5 = "Good news is I'm packing a %1 and I've got some ammo for it.";
    str_playerstats_journal_7_6 = "Good news is I'm packing a %1 and I've got some ammo for it.  I should probably reload it though seeing as it's empty.";
    str_playerstats_journal_7_7 = "Good news is I've found a %1 but I haven't got any ammo for it.";
    str_playerstats_journal_7_8 = "For some reason I think it's a good idea to wander about without arming myself.  Maybe I should try and find a weapon.";
    
    private ["_ys","_ms","_ds","_b","_2","_6","_7","_8","_9","_10","_str_left_text","_1","_3","_4","_5","_blood_in_pack","_blood_in_inv","_mag_arr","_backpack","_11","_mags_for_weap","_mssv_cnt","_weapon","_config"];
    
    _str_left_text = "<t size = '1.4' font = 'Zeppelin33' color = '#000000' shadow = 'false' align = 'left'>"
    			+str_playerstats_journal_1+
    			"<br /><br />"
    			+str_playerstats_journal_2+
    			"<br /><br />%7%8%9  %10<br /><br />%11</t>";
    
    _1 = name player;
    /*
    if (player hasWeapon "ItemWatch") then
    {
    	if (dayz_Survived == Dayz_logonDate) then // only interested if the same - assume server will only run over one day before restart
    	{
    		switch (true) do
    		{
    			case (Dayz_logonTime > 20): {_2 = str_playerstats_journal_1_a};
    			case (Dayz_logonTime > 17): {_2 = str_playerstats_journal_1_b};
    			case (Dayz_logonTime > 12): {_2 = str_playerstats_journal_1_c};
    			default {_2 = str_playerstats_journal_1_d};
    		};
    	} else
    	{
    		switch (true) do
    		{
    			case (Dayz_logonTime > 20): {_2 = str_playerstats_journal_1_e};
    			case (Dayz_logonTime > 17): {_2 = str_playerstats_journal_1_f};
    			case (Dayz_logonTime > 12): {_2 = str_playerstats_journal_1_g};
    			default {_2 = str_playerstats_journal_1_h};
    		};
    	};
    } else
    {
    	_2 = str_playerstats_journal_1_i;
    };
    
    _3 = Dayz_logonTown;
    
    _4 = worldName;
    
    _ys = str (date select 0);
    _ms = "";
    _ds = str (date select 2);
    
    switch (true) do
    {
    	case (date select 1 == 1):{_ms = str_playerstats_journal_month_1};
    	case (date select 1 == 2):{_ms = str_playerstats_journal_month_2};
    	case (date select 1 == 3):{_ms = str_playerstats_journal_month_3};
    	case (date select 1 == 4):{_ms = str_playerstats_journal_month_4};
    	case (date select 1 == 5):{_ms = str_playerstats_journal_month_5};
    	case (date select 1 == 6):{_ms = str_playerstats_journal_month_6};
    	case (date select 1 == 7):{_ms = str_playerstats_journal_month_7};
    	case (date select 1 == 8):{_ms = str_playerstats_journal_month_8};
    	case (date select 1 == 9):{_ms = str_playerstats_journal_month_9};
    	case (date select 1 == 10):{_ms =str_playerstats_journal_month_10};
    	case (date select 1 == 11):{_ms =str_playerstats_journal_month_11};
    	case (date select 1 == 12):{_ms =str_playerstats_journal_month_12};
    };
    
    _5 = format[str_playerstats_journal_2_date, _ds, _ms, _ys];
    
    // can't test dayz_Survived at home
    
    switch (true) do
    {
    	case (dayz_Survived == 0): {_6 = str_playerstats_journal_2_info_1};
    	case (dayz_Survived == 1): {_6 = str_playerstats_journal_2_info_2};
    	case (dayz_Survived > 1): {_6 = format [str_playerstats_journal_2_info_3, dayz_Survived]};
    	default {};
    };
    
    switch (true) do
    {
    	case (!r_fracture_legs && !r_fracture_arms): {_7 = str_playerstats_journal_3_1};
    	case (r_fracture_legs && r_fracture_arms): {_7 = str_playerstats_journal_3_2};
    	case (r_fracture_legs): {_7 = str_playerstats_journal_3_3};
    	case (r_fracture_arms): {_7 = str_playerstats_journal_3_4};
    	default {};
    };
    
    switch (true) do
    {
    	case (r_player_infected):
    	{
    		if (!r_fracture_legs && !r_fracture_arms) then
    		{
    			_8 = str_playerstats_journal_4_1;
    		} else
    		{
    			_8 = str_playerstats_journal_4_2;
    		};
    	};
    	default {_8 = ""};
    };
    
    if (r_fracture_legs || r_fracture_arms) then
    {
    	switch (true) do
    	{
    		case (r_player_blood < 3000): {_9 = str_playerstats_journal_5_1};
    		case (r_player_blood < 6000): {_9 = str_playerstats_journal_5_2};
    		case (r_player_blood < 9000): {_9 = str_playerstats_journal_5_3};
    		case (r_player_blood < 11000): {_9 = str_playerstats_journal_5_4};
    		case (r_player_blood == 12000): {_9 = str_playerstats_journal_5_5};
    		default {_9 = "."};
    	};
    }else
    {
    	switch (true) do
    	{
    		case (r_player_blood < 3000): {_9 = str_playerstats_journal_5_6};
    		case (r_player_blood < 6000): {_9 = str_playerstats_journal_5_7};
    		case (r_player_blood < 9000): {_9 = str_playerstats_journal_5_8};
    		case (r_player_blood < 11000): {_9 = str_playerstats_journal_5_9};
    		case (r_player_blood == 12000):
    		{
    			if (r_player_infected) then
    			{
    				_9 = str_playerstats_journal_5_10;
    			} else
    			{
    				_9 = str_playerstats_journal_5_11;
    			};
    		};
    		default {_9 = "."};
    	};
    };
    
    _blood_in_pack = false;
    _backpack = unitBackpack player;
    
    if (!isNull _backpack) then
    {
    	_mag_arr = getMagazineCargo _backpack;
    	if ("ItemBloodbag" in (_mag_arr select 0)) then
    	{
    		_blood_in_pack = true;
    	};
    };
    _blood_in_inv = false;
    
    if ("ItemBloodbag" in (magazines player)) then
    {
    	_blood_in_inv = true;
    };
    
    _10 = "";
    
    if (r_player_blood < 9000 && (_blood_in_inv || _blood_in_pack)) then
    {
    	if (_blood_in_inv) then
    	{
    		_10 = str_playerstats_journal_6_1;
    	} else
    	{
    		_10 = str_playerstats_journal_6_2;
    	};
    };
    if (r_player_blood < 9000 && ! _blood_in_inv && ! _blood_in_pack) then
    {
    	_10 = str_playerstats_journal_6_3;
    };
    
    _11 = "";
    
    _weapon = currentWeapon player;
    _config = configFile >> "CfgWeapons";
    
    // possibly filter out torch and the dayz_throwweapon thingy too.  Need to get feedback..
    
    if (_weapon != "" && _weapon != "Throw" && _weapon != "Put" && _weapon != "Flare") then
    {
    	switch (true) do
    	{
    		case (getText (_config >> _weapon >> "melee") == "true"): // used getText as config entry had "" marks around it.
    		{
    			_11 = format [str_playerstats_journal_7_1, getText (_config >> _weapon >> "displayName")];
    		};
            case (_weapon == "ItemFlashlight" || _weapon == "ItemFlashlightRed"):
    		{
    			if (sunOrMoon == 1) then
    			{
    				_11 = format [str_playerstats_journal_7_2, getText (_config >> _weapon >> "displayName")];
    			} else
    			{
    				_11 = format [str_playerstats_journal_7_3, getText (_config >> _weapon >> "displayName")];
    			};
    		};
    		case (_weapon == "Makarov"):
    		{
    			_11 = format [str_playerstats_journal_7_4, getText (_config >> _weapon >> "displayName")];
    		};
    		default
    		{
    			_mags_for_weap = getArray (_config >> _weapon >> "magazines");
    
    			_mssv_cnt = false;
    			{
    				if (_x in _mags_for_weap) then
    				{
    					_mssv_cnt = true;
    				};
    			} forEach (magazines player);
    
    			if (_mssv_cnt) then
    			{
    				if (player ammo _weapon > 0) then
    				{
    					_11 = format [str_playerstats_journal_7_5, getText (configFile >> "CfgWeapons" >> _weapon >> "displayName")];
    				} else
    				{
    					_11 = format [str_playerstats_journal_7_6, getText (configFile >> "CfgWeapons" >> _weapon >> "displayName")];
    				};
    			} else
    			{
    				_11 = format [str_playerstats_journal_7_7, getText (_config >> _weapon >> "displayName")];
    			};
    		};
    	};
    } else
    {
    	_11 = str_playerstats_journal_7_8;
    };
    
    // left page
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1800) ctrlSetStructuredText parseText format [_str_left_text, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11];
    */
    
    private["_moon","_spawnselection","_survivors","_players","_y","_x"];
    _moon = switch (dayz_fullMoonNights) do {
    	case "true": { "Yes" };
    	case "false": { "No" };
    };
    
    if(isNil "dayz_spawnselection") then {
    		dayz_spawnselection = false;
    	};
    
    _spawnselection = switch (dayz_spawnselection) do {
    	case "0": { "Yes" };
    	case "1": { "No" };
    };
    
    _players = [];
    {
    	_y = _x;
    	if (isPlayer _y) then
    	{
    		{_players = _players + [_x];} forEach (crew _y);
    	};
    } forEach ([0,0,0] nearEntities ['AllVehicles', 10000000]);
    _survivors = {isPlayer _x} count _players;
    
    	// left page
    	((uiNamespace getVariable "horde_myDisplay") displayCtrl 1800) ctrlSetStructuredText parseText format ["
    					<br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Health: 	 </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%1</t><br/>
    					<br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Hunger: 			 </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%2%</t><br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Thirst: 		 </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%3%</t><br/>
    					<br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Temp: 			 </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%5</t><br/>
    					<br />
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Humanity: 		 </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%6</t><br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Zombies: 		 </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%7</t><br/>
    					<br />
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>SpawnSelection: 	     </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%4</t><br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='left'>Full Moon: 	     </t><t size='2' font='Zeppelin33' align='right' color='#FF0033'>%12</t><br/>
    					<br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='center'>Survived: %8 Day(s)</t><br/>
    					<br />
    					<t size='2' font='Zeppelin33' color = '#000000' align='center'>Survivors:%9</t><br/>
    					<br/>
    					<t size='2' font='Zeppelin33' color = '#000000' align='center'>FPS:%10, FPSMin:%11</t><br/>
    					",
    					(round(r_player_blood)),
    					//(player getVariable['USEC_BloodQty', r_player_blood]),
    					//(r_player_bloodpersec),
    					//(r_player_foodstack),
    					//(r_player_bloodregen),
    					(round(dayz_hunger)),
    					(round(dayz_thirst)),
    					(_spawnselection),
    					(round(dayz_temperatur)),
    					(player getVariable['humanity', 0]),
    					({alive _x} count entities "zZombie_Base"),
    					(dayz_Survived),
    					(_survivors),
    					(round diag_fps),
    					(round diag_fpsmin),
    					(_moon)
    				];
    
    // right page - blank until humanity is checked
    
    _b = "<img size = '5' image = '\z\addons\dayz_communityassets\pictures\playerstats\tally\0.paa'/>";
    
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1801) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1802) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1803) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1804) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1805) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1806) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1807) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1808) ctrlSetStructuredText parseText format ["%1", _b];
    ((uiNamespace getVariable "horde_myDisplay") displayCtrl 1809) ctrlSetStructuredText parseText format ["%1", _b];
    

    replace content of epeen_setText_journal.sqf file with this...

     

    cheers

  12. Hi all! 

     

    It's not worked for new loot tables.. this error:

     

    replace content of fn_bases.sqf with this...

    /*
           Created exclusively for ArmA2:OA - DayZMod.
           Please request permission to use/alter/distribute from project leader (R4Z0R49).
    	   adapted and modified by jOoPs
    */
    private ["_b","_amount","_radius","_lootMinRadius","_lootMaxRadius","_objectMinRadius","_objectMaxRadius","_randomObjects","_guaranteedObjects","_randomLoot","_guaranteedLoot","_nextPos","_basePos","_tmpobject","_qty","_baseClass","_centerPos","_placeSearchRadius","_placeMinDistance","_addLoot","_addWrecks","_placeSearchExpr","_small","_medium","_large","_placePrecision","_campList","_time"];
    
    _qty = _this select 0;
    _centerPos = getMarkerPos (_this select 1);
    _placeSearchRadius = _this select 2;
    _placeMinDistance = _this select 3;
    
    // add some loot around the camp
    _addLoot = {
    private ["_clutter","_index","_lootMaxRadius2","_itemType","_position","_item","_nearby","_basePos","_baseClass","_lootMinRadius","_lootMaxRadius","_randomLoot","_guaranteedLoot","_lootTable","_num","_itemTypes","_weights","_cntWeights","_config", "_CBLBase","_index1","_index2"];
    
    	_basePos = _this select 0;
    	_baseClass = _this select 1;
    	_lootMinRadius = _this select 2;
    	_lootMaxRadius = _this select 3;
    	_randomLoot = _this select 4;
    	_guaranteedLoot = _this select 5;
    	_lootMaxRadius2 = _lootMaxRadius + 5;
    		
    			_lootTable = ["HeliCrash","HeliCrash_No50s"] call BIS_fnc_selectRandom;
    		
    		    _num = round(random _randomLoot) + _guaranteedLoot;
    			if (DZE_MissionLootTable) then {
    				_itemTypes = [] + getArray (missionConfigFile >> "CfgBuildingLoot" >> _lootTable >> "lootType");
    			} else {
    				_itemTypes = [] + getArray (configFile >> "CfgBuildingLoot" >> _lootTable >> "lootType");
    			};
    			_CBLBase = dayz_CBLBase find (toLower(_lootTable));
    			_weights = dayz_CBLChances select _CBLBase;
    			_cntWeights = count _weights;
    	
    			for "_x" from 1 to _num do {
    				//create loot
    				_index1 = floor(random _cntWeights);
    				_index2 = _weights select _index1;
    				_itemType = _itemTypes select _index2;
    				
    				_position = [];
    				_position = [_basePos,_lootMinRadius,_lootMaxRadius,0,0,0,0] call BIS_fnc_findSafePos;
    				_position = [_position select 0,_position select 1,0];
    				
    				if ((count _position) >= 2) then {
    					_position set [2,0];
    					_item = [_itemType select 0, _itemType select 1, _position, 1] call spawn_loot;
    					_item setVariable ["permaLoot",true];
    					
    					if (dayz_spawnInfectedSite_clutterCutter == 1) then { // shift loot upward to 5cm
    						_position set [2,0.05];
    						_item setPosATL _position;
    					}
    					else { if (dayz_spawnInfectedSite_clutterCutter >= 2) then { // cutterclutter
    						_clutter = createVehicle ["ClutterCutter_small_2_EP1", _position, [], 0, "CAN_COLLIDE"];
    						_clutter setPos _position;
    						if (dayz_spawnInfectedSite_clutterCutter == 3) then { // debug
    							createVehicle ["Sign_sphere100cm_EP1", [_position select 0, _position select 1, 0.30], [], 0, "CAN_COLLIDE"];					
    						};
    					};};
    					sleep 0.001;
    					diag_log(format["Infected Camps: Loot spawn at '%1:%3' with loot table '%2'", _baseClass, str(_itemType), _basePos]); 
    
    					// ReammoBox is preferred parent class here, as WeaponHolder wouldn't match MedBox0 and other such items.
    					_nearby = _basePos nearObjects ["ReammoBox", _lootMaxRadius2];
    					{
    						_x setVariable ["permaLoot",true];
    					} forEach _nearby;
    				};
    			}; // loot loop
    };
    
    // add some dead bodies and veh wrecks all around
    _addWrecks = {
    	private ["_randomObjects","_guaranteedObjects","_position","_basePos","_objectMinRadius","_objectMaxRadius","_Bodys","_randomvehicle","_chance","_DeadBody","_wreck","_z"];
    	_basePos = _this select 0;
    	_objectMinRadius = _this select 1;
    	_objectMaxRadius = _this select 2;
    	_randomObjects = _this select 3;
    	_guaranteedObjects = _this select 4;
    	_z = 0;
    
        while {_z < ((round(random _randomObjects)) + _guaranteedObjects)} do {
    		_position = [_basePos,_objectMinRadius,_objectMaxRadius,1,0,20,0] call BIS_fnc_findSafePos;
    		_position = [_position select 0,_position select 1,0];
    		_Bodys = ["Body1","Body2"] call BIS_fnc_selectRandom;
    		_randomvehicle = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","BMP2Wreck","T72Wreck","LADAWreck"] select round(random 4);
    		_chance = random 1;
    		if (_chance < 0.9) then {
    			_DeadBody = createVehicle [_Bodys, _position, [], 0, "CAN_COLLIDE"];
    		} else {
    			_wreck = createVehicle [_randomvehicle, _position, [], 0, "CAN_COLLIDE"];
    		};
    		_z = _z + 1;
    	};
    };
    
    
    _placeSearchExpr = "(5 * forest) + (4 * trees) + (3 * meadow) - (20 * houses) - (30 * sea)";
    _small = ["Camp1_Small","Camp2_Small","Camp3_Small"];
    _medium = ["Camp2_Medium","Camp3_Medium","Camp4_Medium","Camp5_Medium"]; // "Camp2_Medium","Camp3_Medium","Camp4_Medium","Camp5_Medium"];
    _large = [];
    _baseArray = ["Camp1_Small","Camp2_Small","Camp3_Small","Camp2_Medium","Camp3_Medium","Camp4_Medium","Camp5_Medium"]; //use this for selection
    
    _placePrecision = 30;
    _amount = 0;
    _radius = 0;
    _lootMinRadius = 0; 
    _lootMaxRadius = 0; 
    _objectMinRadius = 0; 
    _objectMaxRadius = 0; 
    _randomObjects = 0; 
    _guaranteedObjects = 0; 
    _randomLoot = 0; 
    _guaranteedLoot = 0;
    _baseClass = "";
    _campList = [];
    _basePos = [];
    _markerPos = getMarkerPos "respawn_west";
    _b = _qty * 20;
    
    _time = time;
    _tmpobject = "Land_HouseV2_05" createVehicleLocal _markerPos;
    while {(_b > 0) && (_qty > 0) && (round(time - _time) < 35)} do {
    	_baseClass = _baseArray select round(random ((count _baseArray) - 1));
    	if (_baseClass in _small) then { _amount = 10; _radius = 100; _lootMinRadius = 8; _lootMaxRadius = 13; _objectMinRadius = 10; _objectMaxRadius = 20; _randomObjects = 8; _guaranteedObjects = 2; _randomLoot = 3; _guaranteedLoot = 4; };
    	if (_baseClass in _medium) then { _amount = 25; _radius = 150; _lootMinRadius = 13; _lootMaxRadius = 20; _objectMinRadius = 10; _objectMaxRadius = 20; _randomObjects = 8; _guaranteedObjects = 2; _randomLoot = 4; _guaranteedLoot = 5; };
    	if (_baseClass in _large) then { _amount = 40; _radius = 200; _lootMinRadius = 20; _lootMaxRadius = 30; _objectMinRadius = 10; _objectMaxRadius = 20; _randomObjects = 8; _guaranteedObjects = 2; _randomLoot = 5; _guaranteedLoot = 6; };
    	{
    		if (_x select 1 > 3) then {
    			_basePos = _x select 0;
    			if (count _basePos >= 2) then {
    				_basePos set [2, 0];
    				_nextPos = _basePos findEmptyPosition [0, _placePrecision, "Land_HouseV2_05"];
    				_basePos = _nextPos;
    				if (count _basePos >= 2) then {
    					_basePos set [2, 0];
    					_tmpobject setPosATL _basePos;
    					//sleep 0.003;
    					_basePos = _tmpobject modelToWorld (boundingCenter _tmpobject); 
    					//sleep 0.003;
    					_basePos set [2, 0];
    					_tmpobject setPosATL _markerPos;
    					//sleep 0.003;
    					_basePos = _basePos isFlatEmpty [0, 0, _lootMaxRadius * 0.03, _lootMaxRadius, 0, false, objNull];
    					if (count _basePos >= 2) then {
    						_basePos set [2, 0];
    						if ((0 == count (nearestObjects [_basePos, [], _lootMaxRadius])) AND {(0 == { ((_x select 0) distance _basePos) < _placeMinDistance } count _campList)}) then {
    							_campList set [count _campList, [_basePos,_amount,_radius]];
    							//diag_log(format["%1 found a nice spot at %2 (%3)", __FILE__, _basePos call fa_coor2str,_x select 1]);
    							[_basePos, random 360, _baseClass] call spawnComposition;
    							[_basePos, _baseClass, _lootMinRadius, _lootMaxRadius, _randomLoot, _guaranteedLoot] call _addLoot;
    							[_basePos, _lootMinRadius, _lootMaxRadius, _randomObjects, _guaranteedObjects] call _addWrecks; //more removable wreckshit ??
    							_qty = _qty - 1;
    						};
    					};
    				};
    			};
    			//sleep 0.01;
    		};
    	_b = _b - 1;
    	} forEach selectBestPlaces [_centerPos, _placeSearchRadius, _placeSearchExpr, _placePrecision, _qty];
    };
    deleteVehicle _tmpobject;
    
    diag_log(format["%1: found %2 camps spots in %3 sec.", __FILE__, count _campList, round(time - _time)]);
    
    _campList
     
    

     

    this is for DZE 105x - its untest, tell me if its working.

     

    cheers

  13. Just installed it on a server. Is there a way to narrow the circle? I pick balota and constantly end on the west side of cherno... closer to cherno then balota. Berezhino spawn can spawn 2km away.

     

    take a look into your mission init.sqf...

    spawnArea = 1500; // Default = 1500

     

    now open and edit server_playerSetup.sqf in your server.pbo and search for ..

    _position = ([(getMarkerPos _mkr),0,spawnArea,10,0,2000,spawnShoremode] call BIS_fnc_findSafePos);

     

    replace the 2000 with spawnArea

     

    this should be all..now you can configurate it via init.sqf spawnArea variable

     

    cheers

  14. Omg deal with it. There are buildings standard in arma 2/OA that's ate buggy and even kill you... you going to bitch to them devs also?

     

    oh cmon.. dont missunderstand me.. i only reported that the new buildings causes massive clipping bugs and devs should take an eye on it... think about removing some of them or inform their "building-"provider the bugs.. i really like arma and dze-mod.. weathersystem, 24h-daysystem, sundawn - you should know what i mean - just a really nice simulation. and i have alot respect for dze-devs - and the work they have done. fast updates, nice community, fresh ideas... a kind of quality, which other mods never will reach... and yes i m a bit pissed of that step (or two) backwards in quality. just dont look the pictures.. go to tc-stary-sobor - infihack your weathersystem remove clouds, make a sunny day - and take a look on it. or go to NWAF in night with nvg and visit that new buildings - most of the original buildings next to new buildings are effected from the bugged-buildings.. its not funny to see buildings without textures(inside &outside)... clippingbugs or shades filling the whole screen from buildings that more then 20m away... i know arma has many many bugs, but i think its not okay to add more bugs, destroying things which run fine before, only to give players something new - to hold them.. thats pure quantity-over-quality-thinking. dayz-community isnt grown in the past month, the different mods are fighting for every single player. but that cant be the way - isnt it the goal to keep the quality?

×
×
  • Create New...