Jump to content

hybridfury

Member
  • Posts

    59
  • Joined

  • Last visited

Posts posted by hybridfury

  1. Yeah that should be easy enough, however with the new major update coming up you can choose to have it a get to the crate mission, a kill mission, or assassination mission and they all work individually to each mission

    OMG I LOVE YOU!  That sounds awesome.  Got a time frame on this update?  I'm fighting the urge to customize this thing, but don't want to with such a big update on the verge.

  2. Got this is my RPT:

    "TIME SYNC: Local Time set to [2013,8,3,21,29]"
    21:29:56 "WAI: Starting mission mayors_mansion"
    21:29:56 "WAI: Mission Mayors Mansion Started At [3626.04,14184.6]"
    21:29:59 "WAI: Spawned a group of 4 bandits at [3626.04,14184.6,0]"
    21:30:01 "WAI: Spawned a group of 4 bandits at [3626.04,14184.6,0]"
    21:30:01 "WAI: Spawned a group of 4 bandits at [3626.04,14184.6,0]"
    21:30:02 "WAI: Spawned a group of 4 bandits at [3626.04,14184.6,0]"
    21:30:02 Warning Message: Bad vehicle type
    21:30:03 "WAI: Spawned a group of 1 bandits at [3626.04,14184.6,0]"
    21:30:03 "WAI: Spawned in 2 M2StaticMG"
    21:30:06 "RUNNING EVENT: crash_spawner on [2014,8,22,21,30]"
    

    It doesn't like the line about the mayor i guess.  Should I worry about this?

    //Troops
    	_rndnum = round (random 3) + 4;
    	[[_position select 0, _position select 1, 0],4,"medium","Random",4,"Random","Random","Random",true] call spawn_group;
    	[[_position select 0, _position select 1, 0],4,"medium","Random",4,"Random","Random","Random",true] call spawn_group;
    	[[_position select 0, _position select 1, 0],4,"Random","Random",4,"Random","Random","Random",true] call spawn_group;
    	[[_position select 0, _position select 1, 0],4,"Random","Random",4,"Random","Random","Random",true] call spawn_group;
    
    	//The Mayor Himself
    	[[_position select 0, _position select 1, 0],1,1,"Random",4,"","Functionary1_EP1_DZ","Random",true] call spawn_group;
    	 
    	[[[(_position select 0) - 15, (_position select 1) + 15, 8],[(_position select 0) + 15, (_position select 1) - 15, 8]],"M2StaticMG","easy","Random",1,2,"Random","Random",true] call spawn_static;
    	 
    
  3. If you would like to run DZMS and Wicked AI together and not have missions overlap -

     

    Here is what we came up with and it seems to work so far as for DZMS looking for WAI markers.  So it should prevent DZMS from spawning on top of WAI, but not WAI spawning on top of DZMS.  Still working on making WAI look for DZMS markers.  Here is my code.  I have a modified DZMS so you will need to take out any references to elite, but the rest should work.  This code is in DZMSFunctions.sqf search for the commented line below and replace what you find under it with what is below.  You will need to add _waimarker and _waiishere to the private line at the top of DZMSfunctions.sqf  Also if you have added any of your own missions and created new marker names for them you will need to create a few new lines to make it search for and see those custom markers.

    //Lets check for minimum mission separation distance
    			_waimarker = getMarkerPos "Mission";
    			_disElite = (_pos distance DZMSEliteCoords);
    			_disMaj = (_pos distance DZMSMajCoords);
    			_disMin = (_pos distance DZMSMinCoords);
    			_waiishere = (_pos distance _waimarker);
    			_okDis = ((_disMaj > 1000) AND (_disMin > 1000) AND (_disElite > 1000) AND (_waiishere > 1000));
    
  4. Ok went about it another way with the help of a friend.  Here is what we came up with and what I am getting ready to test on my server.  We edited the DZMSFunctions.sqf file.  Here is the portion we changed:

    //Lets check for minimum mission separation distance
    			_waimarker = getMarkerPos Mission;
    			_disElite = (_pos distance DZMSEliteCoords);
    			_disMaj = (_pos distance DZMSMajCoords);
    			_disMin = (_pos distance DZMSMinCoords);
    			_waiishere = (_pos distance _waimarker);
    			_okDis = ((_disMaj > 1000) AND (_disMin > 1000) AND (_disElite > 1000) AND (_waiishere > 1000));
    

    Will report back what happens :P

  5. Actually missing a call to _okdis, need to find where to put this in.  Possibly this???

    //Load config
    	ExecVM "\z\addons\dayz_server\WAI\config.sqf";
    
    	waitUntil {configloaded};
    		diag_log "WAI: AI Config File Loaded";
    
    _disMin = (getpos DZMSMinMarker);
    _disMaj = (getpos DZMSMajMarker);
    _disElite = (getpos DZMSEliteMarker);
    _okDis = ((_disMaj > 1000) AND (_disElite > 1000) AND (_disMin > 1000));
    		
    	if(use_blacklist AND _okDis) then {
    		safepos				= [getMarkerPos "center",5,7000,30,0,0.5,0,blacklist];
    	} else {
    		safepos				= [getMarkerPos "center",0,5000,30,0,0.5,0];
    	};
    
    	[] spawn ai_monitor;
    
    	if(static_missions) then {
    		ExecVM "\z\addons\dayz_server\WAI\static\init.sqf";
    	};
    	
    	if (wai_mission_system) then {
    		ExecVM "\z\addons\dayz_server\WAI\missions\init.sqf";
    	};
    
    };
    
    
  6. Ok here is what I came up with:

    //Load config
    	ExecVM "\z\addons\dayz_server\WAI\config.sqf";
    
    	waitUntil {configloaded};
    		diag_log "WAI: AI Config File Loaded";
    
    _disMin = (getpos DZMSMinMarker);
    _disMaj = (getpos DZMSMajMarker);
    _disElite = (getpos DZMSEliteMarker);
    _okDis = ((_disMaj > 1000) AND (_disElite > 1000) AND (_disMin > 1000));
    		
    	if(use_blacklist) then {
    		safepos				= [getMarkerPos "center",5,7000,30,0,0.5,0,blacklist];
    	} else {
    		safepos				= [getMarkerPos "center",0,5000,30,0,0.5,0];
    	};
    
    	[] spawn ai_monitor;
    
    	if(static_missions) then {
    		ExecVM "\z\addons\dayz_server\WAI\static\init.sqf";
    	};
    	
    	if (wai_mission_system) then {
    		ExecVM "\z\addons\dayz_server\WAI\missions\init.sqf";
    	};
    
    };
    
    

    Would this work to detect the markers made by DZMS to prevent mission overlapping?

  7. @hybridfury: To be honest i dont know details about any other AI mod. I would say try and see if you get your desired results. If DZMS uses markers getPos in combination with the marker seems like a nice place to start.

     

    Yah havent tested what I proposed, but dont think it will work and yah i started thinking about using the markers that DZMS creates.  There are 3 of them, DZMSMajMarker, DZMSMinMarker and DZMSEliteMarker.  So what would be the line of code to use for that in conjuction with getpos in WAI?

  8. Would this work?

    #include /dzms/DZMSFunctions.sqf
    
    //Load config
    	ExecVM "\z\addons\dayz_server\WAI\config.sqf";
    
    	waitUntil {configloaded};
    		diag_log "WAI: AI Config File Loaded";
    
    	//Lets check for minimum mission separation distance
    			_disElite = (_pos distance DZMSEliteCoords);
    			_disMaj = (_pos distance DZMSMajCoords);
    			_disMin = (_pos distance DZMSMinCoords);
    			_okDis = ((_disMaj > 1000) AND (_disElite > 1000) AND (_disMin > 1000));
    	
    	if(use_blacklist) then {
    		safepos				= [getMarkerPos "center",5,7000,30,0,0.5,0,blacklist];
    	} else {
    		safepos				= [getMarkerPos "center",0,5000,30,0,0.5,0];
    	};
    
    	[] spawn ai_monitor;
    
    	if(static_missions) then {
    		ExecVM "\z\addons\dayz_server\WAI\static\init.sqf";
    	};
    	
    	if (wai_mission_system) then {
    		ExecVM "\z\addons\dayz_server\WAI\missions\init.sqf";
    	};
    
    };
    
    

    Obviously the include at the top of the file.

  9. I love this mission system, thank you for it!  I do have an inquiry on how to do something though.  I am also using DZMS and just installed Wicked AI last night.  The problem is the missions from the 2 systems overlap each other occasionally.  I know where the separation code is in DZMS to keeps it's own missions from overlapping each other, but how can I have the two mission systems, "talk" to each other so they don't overlap?  Would really like to keep both as I have a highly modified version of DZMS going.

    Ok, better question.  Here is the code from DZMS that determines distance between missions:

    //Lets check for minimum mission separation distance
    			_disElite = (_pos distance DZMSEliteCoords);
    			_disMaj = (_pos distance DZMSMajCoords);
    			_disMin = (_pos distance DZMSMinCoords);
    			_okDis = ((_disMaj > 1000) AND (_disElite > 1000) AND (_disMin > 1000));
    

    And here is the bottom of init.sqf for WAI:

    //Load config
    	ExecVM "\z\addons\dayz_server\WAI\config.sqf";
    
    	waitUntil {configloaded};
    		diag_log "WAI: AI Config File Loaded";
    
    	if(use_blacklist) then {
    		safepos				= [getMarkerPos "center",5,7000,30,0,0.5,0,blacklist];
    	} else {
    		safepos				= [getMarkerPos "center",0,5000,30,0,0.5,0];
    	};
    
    	[] spawn ai_monitor;
    
    	if(static_missions) then {
    		ExecVM "\z\addons\dayz_server\WAI\static\init.sqf";
    	};
    	
    	if (wai_mission_system) then {
    		ExecVM "\z\addons\dayz_server\WAI\missions\init.sqf";
    	};
    
    };
    
    

    How could I incorporate the top DZMS code into WAI so that WAI missions don't spawn on top of DZMS misisons?  Once I figure that out I could probably reverse it so that DZMS checks with WAI before it spawns.  It has something to do with getting each missions system to see eachothers functions i guess?  DZMS needs to check for, "safepos" from WAI and WAI needs to check for, "_disElite, _disMajor and disMinor" from DZMS.

  10. I love this mission system, thank you for it!  I do have an inquiry on how to do something though.  I am also using DZMS and just installed Wicked AI last night.  The problem is the missions from the 2 systems overlap each other occasionally.  I know where the separation code is in DZMS to keeps it's own missions from overlapping each other, but how can I have the two mission systems, "talk" to each other so they don't overlap?  Would really like to keep both as I have a highly modified version of DZMS going.

  11. The script I currently use: http://www.opendayz.net/threads/release-epoch-all-salvage-vehicles-script-v-1-0-german-english.13386/   allows for locked vehicles to be salvaged.  How can I make it so locked vehicles can't be salvaged?  Here is the salvage_vehicle.sqf file:

    	
    
        private ["_part","_cancel","_color","_percent","_string","_handle","_damage","_cmpt","_vehicle","_hitpoints"];
         
        // [ _trader_id, _category, _action ];
        // _activatingPlayer = _this select 1;
         
        _vehicle = _this select 3;
         
        {dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
        // dayz_myCursorTarget = _vehicle;
         
        //_allFixed = true;
        _hitpoints = _vehicle call vehicle_getHitpoints;
        //diag_log format["DEBUG SALVAGE: %1", _hitpoints];
        {                      
                _damage = [_vehicle,_x] call object_getHit;
                _part = "PartGeneric";
         
                //change "HitPart" to " - Part" rather than complicated string replace
                _cmpt = toArray (_x);
                _cmpt set [0,20];
                _cmpt set [1,toArray ("-") select 0];
                _cmpt set [2,20];
                _cmpt = toString _cmpt;
               
                if(["Engine",_x,false] call fnc_inString) then {
                        _part = "PartEngine";
                };
                       
                if(["HRotor",_x,false] call fnc_inString) then {
                        _part = "PartVRotor"; //yes you need PartVRotor to fix HRotor LOL
                };
         
                if(["Fuel",_x,false] call fnc_inString) then {
                        _part = "PartFueltank";
                };
         
                if(["Wheel",_x,false] call fnc_inString) then {
                        _part = "PartWheel";
                };     
                       
                if(["Glass",_x,false] call fnc_inString) then {
                        _part = "PartGlass";
                };
         
                // allow removal of any lightly damaged parts
                 if (_damage < 1 ) then {
                       
                        // Do not allow removal of engine or fueltanks
                        if( _part == "PartGlass" or _part == "PartWheel" or _part == "PartEngine" or _part == "PartVRotor" or _part == "PartFueltank" or _part == "PartGeneric" ) then {
         
                                _color = "color='#ffff00'"; //yellow
                                if (_damage >= 0.5) then {_color = "color='#ff8800'";}; //orange
                                if (_damage >= 0.9) then {_color = "color='#ff0000'";}; //red
         
                                _percent = round(_damage*100);
                                _string = format["<t %2>Remove%1 (%3 %4)</t>",_cmpt,_color,_percent,"%"]; //Remove - Part
                                _handle = dayz_myCursorTarget addAction [_string, "\z\addons\dayz_code\actions\salvage.sqf",[_vehicle,_part,_x], 0, false, true, "",""];
                                s_player_repairActions set [count s_player_repairActions,_handle];
                               
                        };
                };
         
        } forEach _hitpoints;
         
        if(count _hitpoints > 0 ) then {
               
                _cancel = dayz_myCursorTarget addAction ["Cancel", "\z\addons\dayz_code\actions\repair_cancel.sqf","repair", 0, true, false, "",""];
                s_player_repairActions set [count s_player_repairActions,_cancel];
                s_player_repair_crtl = 1;
        };
    
  12. Not sure what happened, everything was working fine and now everytime anyone gets on any of the spawned vehicles they get insta killed.  Running the script on an Overpoch server with Epoch 1.0.5.1 and Overwatch 0.2.5 and latest Arma version.  I know the custom variables file is being called as my JAEM evac chopper mod works, but it is obviously something to do with the DZE_safeVehicle lines.  Any help would be great.  Here is a breakdown of my code:

     

    init.sqf:

    //Load in compiled functions
    call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";				//Initilize the Variables (IMPORTANT: Must happen very early)
    //Custom Variables
    call compile preprocessFileLineNumbers "custom\variables.sqf";
    progressLoadingScreen 0.1;
    

    custom\variables.sqf:

    //Deployable Vehicles Mod
    DZE_safeVehicle = ["MH6J_EP1","CSJ_GyroC","TT650_Civ","MMT_Civ","ParachuteWest","ParachuteC"];​
    
    //JAEM Chopper Evac Mod
    dayz_allowedObjects = dayz_allowedObjects + ["HeliHRescue"];
    

    custom\fn_selfActions.sqf: (code added at very bottom of file)

    //--------------------------------------Deploy Bike----------------------------------
    //-----------------------------------------Start--------------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isBike = typeOf cursorTarget in ["MMT_Civ"];
    
    //BIKE DEPLOY
    if ("ItemToolbox" in _weapons && "PartGeneric" in _mags && "PartWheel" in _mags && "PartWheel" in _mags) then {
    hasBikeItem = true;
    } else { hasBikeItem = false;};
    if((speed player <= 1) && hasBikeItem && _canDo) then {
    if (s_player_deploybike < 0) then {
    s_player_deploybike = player addaction[("<t color=""#4eff00"">" + ("Deploy Bike") +"</t>"),"deployables\mtbike\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploybike;
    s_player_deploybike = -1;
    };
    
    //PACK BIKE
    if((_isBike && "ItemToolbox" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploybike2 < 0) then {
    s_player_deploybike2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Bike") +"</t>"),"deployables\mtbike\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploybike2;
    s_player_deploybike2 = -1;
    };
    //--------------------------------------Deploy Bike----------------------------------
    //------------------------------------------End--------------------------------------
    
    //--------------------------------------Deploy Moped----------------------------------
    //------------------------------------------Start-------------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isMoped = typeOf cursorTarget in ["TT650_Civ"];
    
    //MOPED DEPLOY
    if ("ItemToolbox" in _weapons && "PartGeneric" in _mags && "PartGeneric" in _mags && "PartEngine" in _mags && "PartWheel" in _mags && "PartWheel" in _mags) then {
    hasMopedItem = true;
    } else { hasMopedItem = false;};
    if((speed player <= 1) && hasMopedItem && _canDo) then {
    if (s_player_deploymoped < 0) then {
    s_player_deploymoped = player addaction[("<t color=""#4eff00"">" + ("Deploy Motorcycle") +"</t>"),"deployables\moped\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymoped;
    s_player_deploymoped = -1;
    };
    
    //PACK MOPED
    if((_isMoped && "ItemToolbox" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploymoped2 < 0) then {
    s_player_deploymoped2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Motorcycle") +"</t>"),"deployables\moped\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymoped2;
    s_player_deploymoped2 = -1;
    };
    //--------------------------------------Deploy Moped-----------------------------------
    //-------------------------------------------End---------------------------------------
    
    //--------------------------------------Deploy Mozzie----------------------------------
    //------------------------------------------Start--------------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isMozzie = typeOf cursorTarget in ["CSJ_GyroC"];
    
    //MOZZIE DEPLOY
    if ("ItemToolbox" in _weapons && "PartGeneric" in _mags && "PartGeneric" in _mags && "PartEngine" in _mags && "ItemJerrycan" in _mags && "PartVRotor" in _mags) then {
    hasMozzieItem = true;
    } else { hasMozzieItem = false;};
    if((speed player <= 1) && hasMozzieItem && _canDo) then {
    if (s_player_deploymozzie < 0) then {
    s_player_deploymozzie = player addaction[("<t color=""#4eff00"">" + ("Deploy Mozzie") +"</t>"),"deployables\mozzie\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymozzie;
    s_player_deploymozzie = -1;
    };
    
    //PACK MOZZIE
    if((_isMozzie && "ItemToolbox" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploymozzie2 < 0) then {
    s_player_deploymozzie2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Mozzie") +"</t>"),"deployables\mozzie\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploymozzie2;
    s_player_deploymozzie2 = -1;
    };
    //--------------------------------------Deploy Mozzie-----------------------------------
    //--------------------------------------------End---------------------------------------
    
    //--------------------------------------Deploy Little Bird-----------------------------
    //---------------------------------------------Start-----------------------------------
    _weapons = [currentWeapon player] + (weapons player) + (magazines player);
    _isBird = typeOf cursorTarget in ["MH6J_EP1"];
    
    //BIRD DEPLOY
    if ("ItemToolbox" in _weapons && "PartGeneric" in _mags && "PartGeneric" in _mags && "PartEngine" in _mags && "PartFueltank" in _mags && "PartVRotor" in _mags && "ItemFuelBarrel" in _mags && "PartGlass" in _mags && "PartGlass" in _mags) then {
    hasBirdItem = true;
    } else { hasBirdItem = false;};
    if((speed player <= 1) && hasBirdItem && _canDo) then {
    if (s_player_deploybird < 0) then {
    s_player_deploybird = player addaction[("<t color=""#4eff00"">" + ("Deploy Little Bird") +"</t>"),"deployables\bird\deploy.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploybird;
    s_player_deploybird = -1;
    };
    
    //PACK BIRD
    if((_isBird && "ItemToolbox" in _weapons && (player distance cursorTarget < 10)) and _canDo) then {
    if (s_player_deploybird2 < 0) then {
    s_player_deploybird2 = player addaction[("<t color=""#4eff00"">" + ("Re-Pack Little Bird") +"</t>"),"deployables\bird\pack.sqf","",5,false,true,"", ""];
    };
    } else {
    player removeAction s_player_deploybird2;
    s_player_deploybird2 = -1;
    };
    //--------------------------------------Deploy Little Bird----------------------------------
    //-----------------------------------------------End----------------------------------------​
    
    
  13. Ok, so I have a TON of custom buildings already running on my server, but was wondering something.  I have ran these files 2 different ways and want to know what is the best method.  First, I have had all the files in my mission pbo and the exec calls in the mission init.sqf.  Second, I have had the files in the server pbo with the exec's being called from the server_functions file.  The second method is how I currently have my server setup.  Can someone explain the difference and why which one is better than the other please?

  14. updated: player_monitor151.rar - simply replace the files ..

     

    btw. open your variables.sqf and add after DZE_SaveTime = 30;

    this line: _spawnSelection = 9;

     

    cheers

    IIt's working, but I get an error saying, "dayz resource title serverLogo not found".  I found that bit of code it is referring to in the player_monitor151.fsm file.  While it still allows playing, the error is annoying.  How do I fix it?

×
×
  • Create New...