Jump to content

JohnKalo

Member
  • Content Count

    1111
  • Joined

  • Last visited

  • Medals

Posts posted by JohnKalo


  1. Audacity can be used to play with the sound. Lower at first and then higher. So as to simulate a say3d. And the sound can activate with:

     

    NameOfChopper distance NameOfPlayer < NumberOfMeters

     

    as a condition. In Arma editing simple things many times do not work so you have to use anything effective that you can think of. While having optimization and quality gameplay in mind. 


  2. Why use sound and not music? In the description.txt :

     

    class CfgMusic
    {
    	tracks[] = {};
    	class MyIntro
    	{
    		// display name
    		name	= "My intro music";
    
    		// filename, volume, pitch
    		sound[]	= { "\music\filename.ogg", db + 10, 1.0 };
    	};
    	class Ludwig9
    	{
    		name	= "Ludwig Van Beethoven's Ninth Symphony";
    		sound[]	= { "\music\ludwig9.ogg", db + 10, 1.0 };
    	};
    };

    and then on a trigger go to the far end of the menu and in one of the tabs you will find a Music section. There you will be able to find the music. With sounds I recall having a similar issue back in the day so I had switched to music.

    • Like 1

  3. @pierremgi Well in that case a:

    NameOfPilot enableSimulation false;
    Spoiler

    would do the trick. But about modules and such I do not know how the creating process is like so I could be wrong on that one. Could that module work for landing on movable ships too? Because. at least last time I checked, for the Hellenic Navy Addon you have to attach the chopper to the ship and that is not good. Suddenly the engine freezes and such. Landing can be tweaked but on take-off it is an issue.

     

    @Salty_Pepper Glad it all worked out 👍

    • Like 1

  4. Once the helicopter lands and is at the landing area (setTriggerOwner the chopper to the trigger) you can use the trigger with a condition:

     

    this && isTouchingGround NameOfChopper

     

    whereas in the activation a simple:

     

    NameOfChopper disableAI "MOVE";

     

    and with a condition:

     

    NameOfPlayer in NameOfChopper

     

    you can have an activation

     

    NameOfChopper enableAI "MOVE";

    When simple things do not happen after so many efforts :smash:    

    • Like 3

  5. July shall not pass before ...

     

     

    Episode 09 - Robotic Persuasion RELEASE!

     

    pic1.jpg

     

    In this mission testing it was really crazy. While everything started well a glitch appeared. There was one unit that had frozen. Shooting at it caused no damage and he had no weapon. You see his weapon was moving around with no body carrying it and it was shooting and killing us. Like a ghost being on a shooting rampage. I was literally crying out of laughter about this but sadly after many continuous and simultaneous respawns the save loadout function glitched as well. The result was that we respawned with different hostile side weapons. It was something that eventually ruined the experience.

     

    Apart from the above and yet another minor glitch everything went well and we managed to end the mission successfully. In order to avoid the glitches for good I had to make multiple adjustments. I even placed safety triggers just in case and implemented some testing group ideas so as to make the mission smoother. However if any sort of glitch is still there please notify me about it. It goes without saying that everything is tested multiple times in the editor before the hosted server so it is really hurtful when things go so wrong.

     

    Also due to an addOn a glitch has been discovered in Missions 05 and 06. I have asked for the issue to be fixed but since it might take a while I will change what needed so as to defeat that glitch after 72 hours have passed following the discovery.

     

    Moreover Mission 10 is also ready and awaiting testing. It is the Campaign Finalle and it will be released once tested.

     

    Aditionally updates have been made to the credits sections. To the post and to the missions 01 to 04. The 05-08 missions also will need an update. Just waiting on the addon glitch to be resolved.

     

    Last but not least hope you guys have an amazing time playing these missions and that the ending will satisfy you all. We should not forget that the ending will depend on your choices in the final mission!

    • Like 1

  6. In the init.sqf :

     

    waitUntil { !isNull player };
    
    
    addMissionEventHandler ["EntityKilled", {
    	params ["_unit", "_killer", "_instigator", "_useEffects"];
    	
    	if(isPlayer _unit)then{
    		[_unit, [profileNamespace, "inventory_var"]] call BIS_fnc_saveInventory;
    	}else{
    		[_unit, [missionNamespace, "inventory_var"]] call BIS_fnc_saveInventory;
    	};
    }];
    
    addMissionEventHandler ["EntityRespawned", {
    	params ["_entity", "_corpse"];
    	if(isPlayer _entity)then{
    		[_entity, [profileNamespace, "inventory_var"]] call BIS_fnc_loadInventory;
    	}else{
    		[_entity, [missionNamespace, "inventory_var"]] call BIS_fnc_loadInventory;
    	};
    }];

    It might pop up an error at the beggining. It does work though. The "error" only occurred after a game update.


  7. Thank you very much for the detailed description. Still complicating since the only code training I have is a Python class. The rest is via simple experience with already existing scripts. This will need some time to be developed. I will see what I can do because time is short and I would really like the mission to be ready till the first days of August. In the worst case scenario I will use the initial setting with a sleep inbetween so as not to cause a lag freeze. Yes [this] is when directly added to the init of the unit. So many things to do and so hot these days 😓


  8. Has been some time since I asked. Mission 09 took a lot more work than expected. Anyways, all of the above do not work. There is no error or anything but the AI just does not go anywhere for some reason. Here is the script:

     

    if (!isServer) exitWith {};
    sleep random 1;
    
    // Set variables
    _unit 				= _this select 0;
    _maxWaitTime 		= if (count _this > 2) then {_this select 2} else {30};
    _excludedPositions 	= if (count _this > 3) then {_this select 3} else {[]};
    _startingPos 		= if (count _this > 4) then {_this select 4} else {-1};
    _debug 				= if (count _this > 6) then {_this select 6} else {false};
    
    
    _position = getPos _unit;
    _house = nearestBuilding _unit;
    _numOfBuildingPos = 0;
    _currentBuildingPos = 0;
    _lastBuildingPos = 0;
    _waitTime = 0;
    _timeout = 0;
    
    
    _name = vehicleVarName _unit;
    
    
    if (isNil _name) then 
    {
    	_name = format["Guard x%1y%2", floor (_position select 0), floor (_position select 1)]
    };
    
    
    _unit setBehaviour "SAFE";
    _unit setBehaviour "UP";
    	
    
    
    // Find number of positions in building
    while {!((_house buildingPos _numOfBuildingPos) isEqualTo [0,0,0])} do {
    	_numOfBuildingPos = _numOfBuildingPos + 1;
    };
    
    // DEBUGGING - Mark house on map, mark building positions ingame, broadcast information
    if (_debug) then {
    	for [{_i = 0}, {_i <= _numOfBuildingPos}, {_i = _i + 1}] do	{
    		if (!(_i in _excludedPositions)) then {	
    			_arrow = "Sign_Arrow_F" createVehicle (_house buildingPos _i);
    			_arrow setPos (_house buildingpos _i);
    		};
    	};
    	player globalChat format["%1 - Number of available positions: %2", _name, _numOfBuildingPos]; 
    	if (count _excludedPositions > 0) then
    	{
    		player globalChat format["%1 - Excluded positions: %2", _name, _excludedPositions]; 
    	};
    	
    	_marker = createMarker [_name, position _unit];
    	_marker setMarkerType "mil_dot";
    	_marker setMarkerText _name;
    	_marker setMarkerColor "ColorGreen";
    };
    
    // Put unit at random starting pos.
    while {_startingPos in _excludedPositions || _startingPos < 0} do {
    	_startingPos = floor(random _numOfBuildingPos);
    };
    
    if (_startingPos > _numOfBuildingPos - 1) then {
    	_startingPos = _numOfBuildingPos - 1
    };
    
    if (_numOfBuildingPos > 0) then {
    	_unit setPos (_house buildingPos _startingPos); 
    	_unit setPos (getPos _unit);
    };
    
    // DEBUGGING - broadcast starting position
    if (_debug) then {
    	player globalChat format["%1 - starting at building pos %2", _name, _startingPos]
    };
    
    // Have unit patrol inside house
    while {alive _unit && (_numOfBuildingPos - count _excludedPositions) > 0} do {
    
    	if (_numOfBuildingPos < 2) exitWith {};
    	
    	while {_lastBuildingPos == _currentBuildingPos || _currentBuildingPos in _excludedPositions} do	{
    		_currentBuildingPos = floor(random _numOfBuildingPos);
    	};
    	
    	_waitTime = floor(random _maxWaitTime);
    	_unit doMove (_house buildingPos _currentBuildingPos);
    	_unit moveTo (_house buildingPos _currentBuildingPos);
    	sleep 0.5;
    	_timeout = time + 50;
    	waitUntil {moveToCompleted _unit || {moveToFailed _unit || {!alive _unit || _timeout < time}}};
    	if (_timeout < time) then {_unit setPos (_house buildingPos _currentBuildingPos)};
    	
    	// DEBUGGING - move marker to new position
    	if (_debug) then {
    		_name setMarkerPos position _unit; 
    		_text = format["%1: moving to pos %2", _name, _currentBuildingPos]; 
    		_name setMarkerText _text;
    	};
    	
    	sleep _waitTime;
    	_lastBuildingPos = _currentBuildingPos;
    };
    
    // DEBUGGING - Change marker color if script ends
    if (_debug) then {
    	player globalChat format["%1 - ended house patrol loop", _name];
    	_name setMarkerColor "ColorRed";
    };

    I should again mention that the script is not mine but by Tophe of Östgöta Ops [OOPS] . In usual circumstances the above would not be needed since for realism all units load at the start but with Mission 10 it will be needed. Oh and the directions of the author:

     

    Quote

    HOW TO USE:
    Place unit close to a house and put this in the init field:  
    guard = [this] execVM "HousePatrol.sqf"

     

    The above script has been changed a bit. There were many other optional settings for the patrol but they had optimization issues while not offering anything so with my spectacular scripting skills I just erased all parts that were not needed 😂

×