Jump to content

simicsko

Member
  • Content Count

    77
  • Joined

  • Last visited

  • Medals

Posts posted by simicsko


  1. Hi all!

    I would like to ask for a little help: We wanted to play a mission with three machines (my machine is the server), but one of the machines displays the following error and is rejected by the server:

    "0:00:00)cba_vesrioning - ace - Version Mismatch!" (Machine:Charlie_1 (Player) version: 3.16.0.72, serverVersion: 3.16.1.74, Level:4)"

    We deleted the CBA_A3 MOD on the client, unsubscribed on STEAM, then resubscribed, the same error remained.

    In the MOD list, on the property page of CBA_A3, we see the same parameters on all three machines:

    Author CBATeam

    Last Update 2023.10.25. 21:28

    File size: 3,9 MB

    Status: Ready

    Multiplayer: Signed

    The other machine connects without any problems.

    Does anyone have any idea what could be causing this?

    Thanks in advance


  2. Hi all!

    I would like to ask for a little help: We wanted to play a mission with three machines (my machine is the server), but one of the machines displays the following error and is rejected by the server:

    "0:00:00)cba_vesrioning - ace - Version Mismatch!" (Machine:Charlie_1 (Player) version: 3.16.0.72, serverVersion: 3.16.1.74, Level:4)"

    We deleted the CBA_A3 MOD on the client, unsubscribed on STEAM, then resubscribed, the same error remained.

    In the MOD list, on the property page of CBA_A3, we see the same parameters on all three machines:

    Author CBATeam

    Last Update 2023.10.25. 21:28

    File size: 3,9 MB

    Status: Ready

    Multiplayer: Signed

    The other machine connects without any problems.

    Does anyone have any idea what could be causing this?

    Thanks in advance


  3. On 11/16/2017 at 3:12 PM, HazJ said:

    Quick example, probably needs cleaning up a little!

    
    disableSerialization;
    
    cutRsc ["RscTitleDisplayEmpty", "PLAIN"];
    _display = uiNamespace getVariable "RscTitleDisplayEmpty";
    
    _bar = _display ctrlCreate ["RscPicture", 100];
    _bar ctrlSetPosition [(0.3 * safezoneW + safezoneX), (0.04 * safezoneH + safezoneY), (0.4 * safezoneW), (0.04 * safezoneH)];
    _bar ctrlSetText "#(argb,8,8,3)color(0,0,0,0.75)";
    _bar ctrlCommit 0;
    
    _progress = _display ctrlCreate ["RscPicture", 200];
    _progress ctrlSetPosition [(0.3 * safezoneW + safezoneX), (0.04 * safezoneH + safezoneY), (0.05 * safezoneW), (0.04 * safezoneH)];
    _progress ctrlSetText "#(argb,8,8,3)color(1,1,1,1)";
    _progress ctrlCommit 0;
    
    _progressPosition = ctrlPosition _progress;
    _progressPosition set [0, 0.86];
    _progress ctrlSetPosition _progressPosition;
    _progress ctrlCommit 1;

     

    Hi,

    How to remove the progress bar from the screen after it has run?


  4. 21 hours ago, Larrow said:

    Oops my mistake, as pierremgi says I forgot to add the heli as an array.

    No problem! 🙂

    Could you help me as much as how I can start the process on behalf of the player from the Scroll menu?

    I tried to include what you wrote for object init, but for some reason it doesn't work. The first menu item is self-healing, it works perfectly. But calling the helikpoter doesn't:

    menu0 =  {
    	
    	player addAction[("<t color=""#7FFF00"">" + ("Heal Yourself") +"</t>"),{execVM "MEDICAL\selfHealing.sqf"}];	
    
    	player addAction
    	[
    		("<t color=""#00FF00"">" + ("PlayerName") +"</t>"), 
    		{
    			params ["_target", "_caller", "_actionId", "_arguments"];
    			[_caller] execVM "PlayerName.sqf";
    		},
    		nil,
    		1,
    		false,
    		true
    	];
    
    }; []spawn menu0;
    
    hint "PLAYER MENU LOADED";

    I tried a trigger (that might be the problem), which detects the spawning of the aforementioned players Alpha_1 and Bravo_1 (Object varNames) and starts the Scrollmenu.sqf script:

    Trigger Condition:
    Alpha_1 inArea thisTrigger;
    
    On Activation:
    execVM "ScrollMenu.sqf";

    I would like to solve it with a menu so that the options are not limited by the number of radios that can be called with the trigger (Alpha to India).


  5. On 3/18/2023 at 3:14 PM, Larrow said:

    Provide a simple stripped down test mission.

    The helicopter, slingload jeep, two players and the object with action on it, so we can see where you are going wrong.

     

    Brilliant solution! 👌

    Working perfectly.

    I found out why the helicopter didn't start: In the original mission, I started the helicopter with a trigger that was assigned with a waypoint activation. That's why it didn't start. 🙂

    One small thing: at the last waypoint, this line did not delete the helicopter:

    _Supp1wp3 setWaypointStatements ["true", "{deleteVehicle _x;}forEach ( crew Supply_Heli_1 + Supply_Heli_1 );"];

    I replaced it with this one, it works like this:

    _Supp1wp3 setWaypointStatements ["true", "{deleteVehicle _x;}forEach crew Supply_Heli_1; deleteVehicle Supply_Heli_1;"];

    Dear Larrow, thank you very much for your help! 😉


  6. 16 minutes ago, Larrow said:

    Of course, you have "PlayerName" as STRING for the title. What do you want? each player to have an action named... ? 

     

    What exactly is SupplyTransport_1 ? Should be a group as you adding a waypoint to it. 

     

    I want the helicopter to be able to call any player to their position.

     

    The SupplyTransport_1 is the name of the helicopter group (Composition Variable Name).


  7. 2 hours ago, Larrow said:

    This will only ever happen if the host uses the action because of the isServer.

     

    A waypoint only has one waypointStatement, all you're doing here is immediately replacing the first with the second. Same for both waypoints.

     

     

    Separate out the slingLoading stuff into its own function and remoteExec it on the server/where the vehicle is local.

    
    //Description.ext
    
    class CfgFunctions {
    	class supportFunctions {
    		tag = "TAG";
    		class sling {
    			file = "functions";
    			class slingSupport {};
    		};
    	};
    };
    
    //functions\fn_slingSupport.sqf
    
    params[ "_caller" ];
    
    _success1 = Supply_Heli_1 setSlingLoad SJeep_1;
    
    _POS11 = getPosATL _caller;
    _POS13 = getMarkerPos "Supp_WP3";
    
    _Supp1wp1 = SupplyTransport_1 addWaypoint [_POS11, 0];
    _Supp1wp1 setWaypointType "UNHOOK"; 
    _Supp1wp1 setWaypointSpeed "FULL";
    _Supp1wp1 setWaypointBehaviour "CARELESS"; 
    _Supp1wp1 setWaypointCombatMode "GREEN";
    _Supp1wp1 setWaypointStatements  ["true", "Supply_Heli_1 flyInHeight 10;"];
    //Make sure heli is at a decent height before dropping the sling load
    _Supp1wp1 setWaypointStatements  ["true", "
    	[] spawn {
    		Supply_Heli_1 flyInHeight 10;
    		waituntil{ getPosATL Supply_Heli_1 select 2 <= 11 };
    		_success1 = Supply_Heli_1 setSlingLoad objNull;
    	};
    "];
    
    _Supp1wp3 = SupplyTransport_1 addWaypoint [_POS13, 0];
    _Supp1wp3 setWaypointType "MOVE"; 
    _Supp1wp3 setWaypointSpeed "FULL";
    _Supp1wp3 setWaypointBehaviour "CARELESS"; 
    _Supp1wp3 setWaypointCombatMode "GREEN";
    _Supp1wp3 setWaypointStatements ["true", "{deleteVehicle _x;}forEach ( crew Supply_Heli_1 + Supply_Heli_1 );"];
    
    //Object Init
    this addAction
    [
    	("<t color=""#00FF00"">" + ("PlayerName") +"</t>"), 
    	{
    		params ["_target", "_caller", "_actionId", "_arguments"];
    		[_caller] execVM "PlayerName.sqf";
    	},
    	nil,
    	1,
    	false,
    	true
    ];
    
    //PlayerName.sqf
    
    params ["_caller"];
    
    //As you were using Alpha_1/Bravo_1 global vars I presume this is set in the unit var field so will be their vehicleVarName
    _caller sideChat format[ "%1 requesting vehicle support!", vehicleVarName _caller ];
    
    sleep 5;
    
    //This will only be seen by the caller
    ["VEHICLE SUPPORT STARTED"] spawn BIS_fnc_infoText;
    
    //Call the function handling the sling support on the server( 2 ) 
    //As its an AI vehicle this is more than likely where it is located
    [ _caller ] remoteExec[ "TAG_fnc_slingSupport", 2 ];

    Untested

    The following is still the problem: "PlayerName" appears in the object's menu, and when called, it attaches the jeep to the helicopter, but the helicopter does not start.

    I don't understand why the helicopter doesn't start, even though what you wrote seems logical. Do you have an idea?


  8. 11 hours ago, Harzach said:

    Use available params.

     

    addAction:

    
    this addAction
    [
    	("<t color=""#00FF00"">" + ("PlayerName") +"</t>"), 
    	{
    		params ["_target", "_caller", "_actionId", "_arguments"];
    		[_caller] execVM "PlayerName.sqf";
    	},
    	nil,
    	1,
    	false,
    	true
    ];

    If I put the "this addiction" section in the init field of an object, then "PlayerName" appears in the object's menu, and when called, it attaches the jeep to the helicopter, but the helicopter does not start. I think it's because the "_POS11 = position _caller;" command cannot identify the caller, so it cannot create a waypoint.

    Do you have an idea?

     


  9. 19 hours ago, mrcurry said:

    You don't give us a lot to work with 🙂

     

     

    I'm sorry if I ask too much but I'm just learning scripting and I haven't managed to solve the secret of this "local" or "non-local" execution yet. 🙂

    The goal is to:

    There is a helicopter and a jeep on standby at the base and can be called to the battlefield with a trigger. When the script starts, the helicopter will bring the jeep to the location where the player is standing at the moment of the request. Then it goes back to the base (Supp_WP3) and is deleted.

    My son and I used to play together. Thus, there are two playable units in the mission, called Alpha_1 and Bravo_1.

    I would like to solve it within a script so that the given helicopter takes the jeep to the player who requests it. If I write it in a separate script for Alpha_1 and Bravo_1 (using getPosATL Alpha_1 and getPosATL Bravo_1 methods), it works great.

    But if the script is written in the following way, it will always recognize the Alpha_1 player who is hosting the mission. Of course, the name Player1 and Player2 is replaced by our real Arma3 name.

    It was also observed that if I remove the "if (isServer)" condition from the script, the helikpoter does not perform the "UNHOOK" task, it just descends with it, but does not release it, but raises it again.

    So I would like your help to understand why these things are not working. 🙂 What do I do wrong?

    _name = name player;
    
    if (_name == "Player1") then {Alpha_1 sideChat "Alpha_1 requesting vehicle support!";};
    
    if (_name == "Player2") then {Bravo_1 sideChat "Bravo_1 requesting vehicle support!";};
    
    sleep 5;
    
    ["VEHICLE SUPPORT STARTED"] spawn BIS_fnc_infoText;
    
    if (isServer) then { 
    
    _success1 = Supply_Heli_1 setSlingLoad SJeep_1;
    
    _POS11 = position player;
    _POS13 = getMarkerPos "Supp_WP3";
    
    _Supp1wp1 = SupplyTransport_1 addWaypoint [_POS11, 0];
    	_Supp1wp1 setWaypointType "UNHOOK"; 
    	_Supp1wp1 setWaypointSpeed "FULL";
    	_Supp1wp1 setWaypointBehaviour "CARELESS"; 
    	_Supp1wp1 setWaypointCombatMode "GREEN";
    	_Supp1wp1 setWaypointStatements  ["true", "Supply_Heli_1 flyInHeight 10;"];
    	_Supp1wp1 setWaypointStatements  ["true", "_success1 = Supply_Heli_1 setSlingLoad objNull;"];
    
    _Supp1wp3 = SupplyTransport_1 addWaypoint [_POS13, 0];
    	_Supp1wp3 setWaypointType "MOVE"; 
    	_Supp1wp3 setWaypointSpeed "FULL";
    	_Supp1wp3 setWaypointBehaviour "CARELESS"; 
    	_Supp1wp3 setWaypointCombatMode "GREEN";
    	_Supp1wp2 setWaypointStatements  ["true", "Supply_Heli_1 flyInHeight 5;"];
    	_Supp1wp3 setWaypointStatements ["true", "{deleteVehicle _x;}forEach crew Supply_Heli_1; deleteVehicle Supply_Heli_1;"];
    
    }; 

     


  10. Hello All!

    How to use a script on behalf of a specific player in multiplayer mode?

    There is an object whose INIT field contains this line to run the script (for testing):

    
    this addAction [("<t color=""#00FF00"">" + ("PlayerName") +"</t>"), "PlayerName.sqf",[],1,false,true];

    This is the content of the PlayerName.sqf script:

    _playerName = name player;
    if (_name == "Playername1") then {hint "Hello Alpha_1";};
    if (_name == "Playername2") then {hint "Hello Bravo_1";};
    hint str _playerName;

    Playername1 runs the server and Playername2 is the client.

    If I run it with PlayerName1, it shows "Hello Alpha_1", but if I run it with Playername2, it doesn't. The goal is to execute different code depending on the player's name. Can someone help me with this?


  11. 11 hours ago, Harzach said:

     

    When I copy/paste your code into TypeSQF, I get the same thing. When I paste it into a code block here, I see a corrupt character (red dot) in that position. If I clean that character and paste back into TypeSQF, all is well.

     

    ALWAYS USE CODE BLOCKS ON THE FORUM. 

     

    2ynu4CX.png

     

    Ohh my God! Really!
    That made me joke! 😮

     

    "ALWAYS USE CODE BLOCKS ON THE FORUM." -> All right. Thank you very much for your help! 😉

    • Like 1

  12. 11 hours ago, pierremgi said:

     

     

    Hello!

    There is some syntax error because I get the following error:

     

    ...Error Missing )

     

    IF I try the apple method instead of the pear

     

    If I try getMarkerPos _ConvoyPos method instead of getMarkerPos ("RC1Spawn" + str _i), it works, but then, as you mentioned, the vehicles collide at the spawn.

    I don't see what's missing syntactically. Do you have an idea?

     

    The TypeSQF Editor writes that: Line 6: Syntax Error ("RC1Spawn" + str _i).

     

    [] spawn {
     convoyGroup1=createGroup EAST;
      for "_i" from 0 to 3 do 
      {
        _newVeh = createVehicle ["O_MRAP_02_gmg_F", getMarkerPos ("RC1Spawn" + str _i) ,[], 0, "none"];
        _newVeh setDir 110;
        _newVeh setConvoySeparation 20;
        createVehicleCrew _newVeh;
        crew _newVeh joinSilent convoyGroup1;
        sleep 0.5;
      };
     
      _RC1wp1 = convoyGroup1 addWaypoint [getmarkerpos "RedConv1wp1", 0];
      _RC1wp1 setWaypointType "MOVE";
      _RC1wp1 setWaypointSpeed "FULL";
      _RC1wp1 setWaypointBehaviour "COMBAT";
      _RC1wp1 setWaypointFormation "COLUMN";
    };


  13. 4 hours ago, pierremgi said:

    Your code works when the created vehicle is same side than your group but you must pass the crew, not the vehicle for joinSilent command:

     

    something like: 

    
    [] spawn {
     convoyGroup1=createGroup EAST;
      _ConvoyPos = "RedConv1_Init1";
      for "_i" from 0 to 3 do {
        _newVeh= createVehicle ["O_MRAP_02_gmg_F",getMarkerPos _ConvoyPos,[], 0, "none"];
        _newVeh setDir 110;
        _newVeh setConvoySeparation 20;
        createVehicleCrew _newVeh;
        crew _newVeh joinSilent convoyGroup1;
        sleep 0.5;
      };
     
      _RC1wp1 = convoyGroup1 addWaypoint [getmarkerpos "RedConv1wp1", 0];
      _RC1wp1 setWaypointType "MOVE";
      _RC1wp1 setWaypointSpeed "FULL";
      _RC1wp1 setWaypointBehaviour "COMBAT";
      _RC1wp1 setWaypointFormation "COLUMN";
    };

     

    Note aside: you should use this alternative syntax avoiding a stack of exploding vehicle. Spawning all vehicles on the same spot is messy anyway because for head of convoy is spawning first, then is stuck by other vehicles.

    use several markers, name them "mk0", "mk1"...

    and spawn at   getMarkerPos ("mk" + str _i) 

     

     

    Thanks for the instructions, I'll try it in the evening and send you feedback. 😉

     


  14. Hi all!

     

    There is such a convoy script, but for some reason it is only willing to work with blue vehicles. If I set the B_MRAP_01_F vehicle, they spawn and go in a column to the waypoint. However, if I set a red vehicle (e.g. O_MRAP_02_gmg_F), they spawn but do not even start the engine. What could be causing this? Here is the script:

     

    convoyGroup1=createGroup EAST;
    _ConvoyPos = "RedConv1_Init1";
    for "_i" from 0 to 3 do
    {

        _newVeh="B_MRAP_01_F" createVehicle getMarkerPos _ConvoyPos;
        _newVeh setDir 110;
        _newVeh setConvoySeparation 20;
        createVehicleCrew _newVeh;
        [_newVeh] joinSilent convoyGroup1;

        sleep 0.5;
    };

    _RC1wp1 = convoyGroup1 addWaypoint [getmarkerpos "RedConv1wp1", 0];
        _RC1wp1 setWaypointType "MOVE";
        _RC1wp1 setWaypointSpeed "FULL";
        _RC1wp1 setWaypointBehaviour "COMBAT";
        _RC1wp1 setWaypointFormation "COLUMN";

     

    Thanks in advance.


  15. My son and I (to avoid shooting soldiers) downloaded the Max Terminator MOD. Since you have to shoot a lot at these robots to destroy them, they are also too accurate, so I thought of this solution. So their accuracy is maintained, but they take fewer shots to destroy. This was the final solution:

     

    {   
            _x addEventHandler ["HandleDamage",

               {
                params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint", "_directHit"];
                   If (typeOf _unit == "Max_terminator_skeleton") then

                       {
                       If (_damage > 0.3) then { _unit setdamage 1};
                       };
               }
            
           ];

    }foreach allunits

     

     

    cool=azroul13, Thanks for your help! 😉


  16. 3 hours ago, cool=azroul13 said:

    unit_affected addEventHandler ["HandleDamage", {

    params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint", "_directHit"];

    If !( isPlayer _unit) then { // check if the unit is not a player

    If (_damage > 0.8) then { // check damage

    _unit setdamage 1 //kill the unit

    };

    };

    }];

     

    It works! Thank you very much; 😉

×