Jump to content

Fuchs

Member
  • Posts

    406
  • Joined

  • Days Won

    5

Posts posted by Fuchs

  1. Not all Vehicles can be selled ,but you have the option to save them into the Database !

    I had only the a little piece of time for testing it.

    Tested with 1.0.4 but newer ones should also work !

     

    May u not changed all dzms settings to ems ,i need to test if it works with !!!!

     

    Uralwreck,Sniper,Angry Axemans were not working like they should for now !

    EMS Boxes were also not included in the Pre Release !

  2. Install Instructions [server.pbo]

     

     

    Part#1 

    Unpack your Server.pbo with your [e.g.] pbo manager ,open system folder and open the server monitor with notepad++ 

    Server.pbo>system>server_monitor.sqf

     

    Part#2

    Now press CTRL+F  [opens search on notepad++] for the allowConnection = true; line

    allowConnection = true;
    

    And insert the line below above it.
     

    [] ExecVM "\z\addons\dayz_server\EMS\DZMSInit.sqf";
    

    So it looks like

    
    	call compile preprocessFileLineNumbers "\z\addons\dayz_server\helievac\init.sqf";
            call compile preprocessFileLineNumbers "\z\addons\dayz_server\DZAI\init\dzai_initserver.sqf";
            [] ExecVM "\z\addons\dayz_server\WAI\init.sqf";
    	[] ExecVM "\z\addons\dayz_server\EMS\DZMSInit.sqf";
    	allowConnection = true;
    
  3. EMS 0.3


    Showtime


     

    Based on the code/work from Vampire' DZMS !

    http://opendayz.net/threads/beta-dzms-dayz-mission-system.18421/


    THX for the permission to use it for EMS !


    Why now this step ?

    There was a need for it to step over the new system !

    The code is better written and similar to WAI !

    Only one thing has to be added to get it installed !

    I know Vampire since a long time !He helped me out much in the past !


    Feature List:

    • Option to save vehicles to the database!
    • If Vehicle Saving is off, Users are warned when entering vehicles!
    • Randomized Crate Loot! No more static crate loot!
    • Adjustable Body Despawn Time!
    • Optional: AI Ran Over have no gear!
    • 2 Missions at a time
    • No more "Novy Sobor Bug"!
    • DZMS is completely server sided! No marker files needed in the Mission PBO!
    • DZMS is rewrote with all maps in mind, not just Chernarus. Hence the Generic Rename.
    • No more messy mission code! DZMS uses functions for most code.
    • Simple Install! DZMS Requires a single line edit. No more server_cleanup confusion!
    • No more junk code! (Anyone who has read add_unit_server will understand)
    • DZMS has a simple Configuration File, no more digging through code
    • More Missions soon!
    • Get behind the AI code and adding DZAI [tests running]

    Requirements:


    Difficulty

    • Some knowledge of Epoch Server & Mission file locations
    • How to use PBO manager to unpack and pack PBO files
    • Easy : ~ 5 minutes
    • Downaload @ https://github.com/TheFuchs/EMS-0.3
  4. Selfbloodbag restrictions : working with Epoch [GAZ_Vodnik_MedEvac , Land_A_Hospital]

    //////////////////////////////////////////////////////////////////////////////////////////////
    //    Script writen by Krixes																	//
    //    Infection chance and some comments added by Player2									//
    //    Combat check added by istealth														//
    //																							//
    //	Version 1.4																				//
    //																							//
    // Change Log:																			    //
    // 1: Added bloodbag use timer																//
    // 2: Added a timer for the amount of time before player can use self bloodbag again		//
    //////////////////////////////////////////////////////////////////////////////////////////////
    
    //private ["_bloodAmount","_humanityBool","_infectionChance","_humanityNegBool","_humanityNegAmount","_humanityAmount","_infectedLifeLost","_infectedLifeBool","_lastBloodbag","_bloodbagLastUsedTime","_bloodbagTime","_bloodbagUseTime","_bloodbagUsageTime","_incombat","_timeout"];
    private ["_bloodAmount","_humanityBool","_infectionChance","_humanityNegBool","_humanityNegAmount","_humanityAmount","_infectedLifeLost","_infectedLifeBool","_lastBloodbag","_bloodbagLastUsedTime","_bloodbagTime","_bloodbagUseTime","_bloodbagUsageTime","_HospitalDistance","_AmbulanceDistance","_Bloodmultiplier","_Infectionmultiplier","_Hospital_enable","_Ambulance_enable","_Anywhere_enable","_nearHospital","_playerASL1","_playerASLx","_playerASLy","_playerASLz","_playerASLz2","_playerASL2","_decke","_Hospitalfound","_Ambulancefound","_bloodAmount","_infectionChance"]; 
    
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Config Start-----------------------------------------------------------------------------------------------------------------------//
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    
    _bloodAmount = 4000; // Amount of blood to give to player
    _bloodbagUseTime = 20; // Amount of time it takes in second for the player to use the self bloodbag
    _bloodbagLastUsedTime = 60; // Amount of time in seconds before player can use self bloodbag again after a succesful use
    
    _infectionChance = 10; // Percent chance of player infection on self bloodbag (10 = 10% | 2 = 50% | 1 = 100%)
    _infectedLifeBool = true; // Whether the player can loose life if infected (True = On | False = off)
    _infectedLifeLost = 1000; // Amount of life to loose in becomes infected
    
    _humanityBool = true; // Whether the player can get humanity from giving self a bloodbag (True = On | False = off)
    _humanityAmount = 50; // Amount of humanity to give player if _humanityBool is true (250 is default for normal bloodbags)
    
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Config End-------------------------------------------------------------------------------------------------------------------------//
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    _HospitalDistance = 21; //Max distancewithin Hospital
    _AmbulanceDistance = 5; // Max. Distance to get Ambulancebonus
    _Bloodmultiplier = 1; // Blood amount multiplier (1 if not in Hospital or near Ambulance, 1.5 if near an Ambulance, 2 if near a Hospital, The Multiplier for Ambulance and Hospital get set later)
    _Infectionmultiplier = 0.5; // Multiplier for infectionchance if in Hospital 0.5, 0.75 for an Ambulance, 1 if not in a Hospital (The higher the Value the lower the chance to get infected (it must never get 0 because of division by 0)
    _Hospital_enable = 1; // 1 enables SelfBloodbag in Hospitals
    _Ambulance_enable = 1; // 1 enables SelfBloodbag near Ambulances
    _Anywhere_enable = 0; // 1 enables SelfBloodBag anywhere; (Turns automatically on if _Hospital_enable = 0 and _Ambulance_enable = 0;)
     
    _nearHospital = false;
    if ((_Hospital_enable == 0) && (_Ambulance_enable == 0)) then { // Check if _Hospital_enable & _Ambulance_enable disabled
        _Anywhere_enable = 1;
        };
    if (_Anywhere_enable == 1) then {
            _nearHospital = true;
    }; 
    if (_Hospital_enable == 1)  then { // if Hospital enabled
            _playerASL1 = getPosASL player;
            _playerASLx = _playerASL1  select 0;
            _playerASLy = _playerASL1  select 1;
            _playerASLz = _playerASL1  select 2;
            _playerASLz2 = _playerASLz + 40;
            _playerASL2 = [_playerASLx,_playerASLy,_playerASLz2];
            _decke = lineIntersects[_playerASL1,_playerASL2]; //überprüft ob sich zwischen dem Player und (Player+40m höhe) ein Objekt befindet (benötigt unbedingt ASL Koordinaten)
            _Hospitalfound = count nearestObjects[player,["Land_A_Hospital"],_HospitalDistance]; // check if near Hospital
            if ((_Hospitalfound > 0) && _decke) then {
                    _nearHospital = true;
                    _Bloodmultiplier = 2; // multiplier to Bloodamount
                    _Infectionmultiplier = 0.5; //multiplier to Infectionchance
                };
        }; 
    if (_Ambulance_enable == 1)  then {
            _Ambulancefound = count nearestObjects[player,["GAZ_Vodnik_MedEvac"],_AmbulanceDistance]; // check if near Vodnik
            if (_Ambulancefound > 0 ) then {
                    _nearHospital = true;
                    _Bloodmultiplier = 0.75;
                }; 
        };
    _bloodAmount = _bloodAmount * _Bloodmultiplier; // Calculate bloodamount & Infectionchance with the multiplier
    _infectionChance = _infectionChance / _Infectionmultiplier;
     
    if(!_nearHospital) exitWith { // Abort messegas if Conditions not met
            if ((_Hospital_enable == 1) && (_Ambulance_enable == 0)) then {
                cutText [format["You need to be inside a Hospital to do this !!!"], "PLAIN DOWN"];
            };
            if ((_Hospital_enable == 0) && (_Ambulance_enable == 1)) then {
                cutText [format["You need to be near an Ambulance to do this !!!"], "PLAIN DOWN"];
            };
            if ((_Hospital_enable == 1) && (_Ambulance_enable == 1)) then {
                cutText [format["You need to be near a Hospital or an Ambulance to do this !!!"], "PLAIN DOWN"];
            };
    };
    
    ///////////////////////////////////////////////////////////////////////////////
    // Everything below need not be modified unless you know what you are doing! //
    ///////////////////////////////////////////////////////////////////////////////
    
    _bloodbagTime = time - lastBloodbag; // Variable used for easy reference in determining the self bloodbag cooldown
    _bloodbagUsageTime = time;
    _timeout = player getVariable["combattimeout", 0];
    _inCombat = if (_timeout >= diag_tickTime) then { true } else { false };
    
    if(_bloodbagTime < _bloodbagLastUsedTime) exitWith { // If cooldown is not done then exit script
    	cutText [format["You may to wait a while,you faggot^^ %1!",(_bloodbagTime - _bloodbagLastUsedTime)], "PLAIN DOWN"]; //display text at bottom center of screen when players cooldown is not done
    };
    
    if (_inCombat) then { // Check if in combat
        cutText [format["You are in Combat and cannot give yourself a Bloodbag"], "PLAIN DOWN"]; //display text at bottom center of screen when in combat
    } else {
    
    	player removeAction s_player_selfBloodbag; //remove the action from users scroll menu
    	
    	player playActionNow "Medic"; //play bloodbag animation
    	
    	////////////////////////////////////////////////
    	// Fancy cancel if interrupted addition start //
    	////////////////////////////////////////////////
    	r_interrupt = false; // public interuppt variable
    	_animState = animationState player; // get the animation state of the player
    	r_doLoop = true; // while true sets whether to continue self bloodbagging
    	_started = false; // this starts as false as a check
    	_finished = false; // this starts as false and when true later sets players blood
    	while {r_doLoop} do {
    		_animState = animationState player; // keep checking to make sure player is in correct animation
    		_isMedic = ["medic",_animState] call fnc_inString; // checking to make sure the animstate is the medic animation still
    		if (_isMedic) then {
    			_started = true; // this is a check to make sure everything is still ok
    		};
    		if(!_isMedic && !r_interrupt && (time - _bloodbagUsageTime) < _bloodbagUseTime) then {
    			player playActionNow "Medic"; //play bloodbag animation
    			_isMedic = true;
    		};
    		if (_started && !_isMedic && (time - _bloodbagUsageTime) > _bloodbagUseTime) then {
    			r_doLoop = false; // turns off the loop
    			_finished = true; // set finished to true to finish the self bloodbag and give player health/humanity
    			lastBloodbag = time; // the last self bloodbag time
    		};
    		if (r_interrupt) then {
    			r_doLoop = false; // if interuppted turns loop off early so _finished is never true
    		};
    		sleep 0.1;
    	};
    	r_doLoop = false; // make sure loop is off on successful self bloodbag
    	///////////////////////////////////////////////
    	// Fancy cancel if interrupted addition end //
    	//////////////////////////////////////////////
    
    	if (_finished) then {
    		player removeMagazine "ItemBloodbag"; //remove the used bloodbag from inventory
    
    		r_player_blood = r_player_blood + _bloodAmount; //set players LOCAL blood to a certain ammount
    		
    		if(r_player_blood > 12000) then {
    			r_player_blood = 12000; // If players blood is greater then max amount allowed set it to max allowed (this check keeps an error at bay)
    		};
    		
    		// check if infected
    		if (random(_infectionChance) < 1) then {
    			r_player_infected = true; //set players client to show infection
    			player setVariable["USEC_infected",true,true]; //tell the server the player is infected
    			cutText [format["You have used a bloodbag on yourself but the bloodbag was infected!"], "PLAIN DOWN"]; //display text at bottom center of screen if infected
    			
    			// check for if loosing life on infection is turned on
    			if(_infectedLifeBool) then {
    				r_player_blood = r_player_blood - _infectedLifeLost; //set players LOCAL blood to a certain ammount
    				player setVariable["USEC_BloodQty",r_player_blood,true]; //save this blood ammount to the database
    			} else { // if loosing life is turned off
    				r_player_lowblood = false; //set lowblood setting to false
    				10 fadeSound 1; //slowly fade their volume back to maximum
    				"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; //disable post processing blur effect
    				"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1],  [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; //give them their colour back
    				r_player_lowblood = false; //just double checking their blood isnt low
    				player setVariable["USEC_BloodQty",r_player_blood,true]; //save this blood ammount to the database
    			};
    		} else { // if not infected
    			r_player_lowblood = false; //set lowblood setting to false
    			10 fadeSound 1; //slowly fade their volume back to maximum
    			"dynamicBlur" ppEffectAdjust [0]; "dynamicBlur" ppEffectCommit 5; //disable post processing blur effect
    			"colorCorrections" ppEffectAdjust [1, 1, 0, [1, 1, 1, 0.0], [1, 1, 1, 1],  [1, 1, 1, 1]];"colorCorrections" ppEffectCommit 5; //give them their colour back
    			r_player_lowblood = false; //just double checking their blood isnt low
    			player setVariable["USEC_BloodQty",r_player_blood,true]; //save this blood ammount to the database
    	 
    			cutText [format["OMG u used a bloodbag on your own,your good to go!"], "PLAIN DOWN"]; //display text at bottom center of screen on succesful self bloodbag
    		};
    		
    		// check if giving player humanity is on
    		if(_humanityBool) then {
    			[player,_humanityAmount] call player_humanityChange; // Set players humanity based on amount listed in config area
    		};
    	} else {
    		// this is for handling if interrupted
    		r_interrupt = false;
    		player switchMove "";
    		player playActionNow "stop";
    		cutText [format["Mission Bloodbag yourself ,aborted!"], "PLAIN DOWN"]; //display text at bottom center of screen on interrupt
    	};
    };
    

    http://opendayz.net/threads/restrict-krixes-selfbloodbag-only-to-a-special-location.10440/

  5. Announcement !!!

     

     

    EMS is currently under a rebuild !

     

    Current issues reported :

     

    EMS not starting ,stuck on black screen...i also noticed this issue on myself !

     

    We will begin start the rebuild today ...

     

    More infos soon !

     

    We start with Vampires 1.0 Release !

     

    Planned Features :

     

    Mission Timeout and clearing mission when nobody enters the area !

     

    Vehicles will be reanamed and or if fail when try to sell them ,we gonna add damage to them !

  6. May a little update ahead but i'm not sure if i can release it in that state !

     

    Now i got the Heli evac by using a call to dzai to protect the vehicle[working],if it's internally tested we will update it with EMS asap!

     

    So all of this won't be needed anymore !

    
     
    Around line 22 look for this:
    {
    diag_log(format["Non-string Object: ID %1 UID %2", _objectID, _uid]);
    //force fail
    _objectID = "0";
    _uid = "0";
    };
    Insert this after it:
    if (_object getVariable "Sarge" == 1) exitWith {};
    comment this out and add the line below :
     //if (_objectID == "0" && _uid == "0") then
    and add
    if (_objectID == "0" && _uid == "0" && (vehicle _object getVariable ["Sarge",0] != 1)) then
    
    Located: dayz_server\init\server_functions.sqf
     
    Around line 298 look for this:
    if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x)  && !((typeOf vehicle _x) in DZE_safeVehicle)) then {
    Replace with this:
    if (vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x) && (vehicle _x getVariable ["Sarge",0] != 1) && !((typeOf vehicle _x) in DZE_safeVehicle)) then {
    
×
×
  • Create New...