Jump to content

=101AD=Richard

Member
  • Content Count

    95
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by =101AD=Richard


  1. I have a script to move a image in front of a shooter, The range master not the shooter starts the script from a remote location and I want these images to move in front of the shooter. The problem is the attachto command is executing locally becuase the script is I think. I want just the attachto to execute globally how can I do that?

    //////////////////////////////////////////////////////////////////
    // Function file for Armed Assault
    // Created by: Richard / Dodes
    //////////////////////////////////////////////////////////////////
    
    _inc     = 0;
    _count   = 0;
    _count1   = 0;
    _count2   = 0;
    _targets = [pt3, pt3_1, pt3_2, pt3_3, pt3_4];
    _many    =  count _targets;
    _many1    =  count _targets;
    _many2    =  count _targets;
    nopop=true;
    {_x  animate["terc",1]} forEach _targets;
    
    R1Start attachTo [R1Ins,[2.7,-.05,.8]];
    "Welcome to the 172nd Infantry Brigade's Live Fire Rifle Qualification Range; Lane 1" call CBA_fnc_systemChat;
    sleep 3;
    "Lane 1: Setting up the Range" call CBA_fnc_systemChat;
    "Lane 1: Please Step up to the line in the Standing Position" call CBA_fnc_systemChat;
    sleep 3;
    "Lane 1: The Qualification Course will begin in 5 Seconds" call CBA_fnc_systemChat;
    sleep 3;
    "Lane 1: The Qualification Course will begin in 2 Seconds" call CBA_fnc_systemChat;
    sleep 2;
    "Lane 1: Begin!" call CBA_fnc_systemChat;
    detach R1Start;
    R1Start attachTo [R1Ins,[2.7,-.05,-5]];
    R1Standing attachTo [R1Ins,[2.7,-.05,.8]];
    sleep 3;
    detach R1Standing;
    R1Standing attachTo [R1Ins,[2.7,-.05,-5]];
    
    
    while {_inc<20} do 
    {
    _rnumber = floor random _many;
    _rtarget = _targets select _rnumber;
    _rtarget animate["terc", 0];
    sleep 4;
    if (_rtarget animationPhase "terc" > 0.1) then
    {
    	_count = _count+1;
    	    };
    _rtarget animate["terc", 1];
    _inc = _inc + 1;
    };
    R1Crouch attachTo [R1Ins,[2.7,-.05,.8]];
    sleep 4;
    detach R1Crouch;
    R1crouch attachTo [R1Ins,[2.7,-.05,-5]];
    "Lane 1: Go to Crouch Position" call CBA_fnc_systemChat;
    sleep 4;
    _inc1  = 0;
    
    while {_inc1<10} do 
    {
    _rnumber1 = floor random _many1;
    _rtarget1 = _targets select _rnumber1;
    _rtarget1 animate["terc", 0];
    sleep 4;
    if (_rtarget1 animationPhase "terc" > 0.1) then
    {
    	_count1 = _count1+1;
    	    };
    _rtarget1 animate["terc", 1];
    _inc1 = _inc1 + 1;
    };
    R1Prone attachTo [R1Ins,[2.7,-.05,.8]];
    sleep 4;
    detach R1Prone;
    R1Prone attachTo [R1Ins,[2.7,-.05,-5]];
    "Lane 1: Go to Prone Position" call CBA_fnc_systemChat;
    sleep 4;
    
    _inc2 = 0;
    
    while {_inc2<10} do 
    {
    _rnumber2 = floor random _many2;
    _rtarget2 = _targets select _rnumber2;
    _rtarget2 animate["terc", 0];
    sleep 4;
    if (_rtarget2 animationPhase "terc" > 0.1) then
    {
    	_count2 = _count2+1;
    	    };
    _rtarget2 animate["terc", 1];
    _inc2 = _inc2 + 1;
    };
    R1Complete attachTo [R1Ins,[2.7,-.05,.8]];
    sleep 4;
    detach R1Complete;
    R1Complete attachTo [R1Ins,[2.7,-.05,-5]];
    sleep 4;
    "Lane 1: Course Complete" call CBA_fnc_systemChat;
    [West, "HQ"] sidechat format ["Lane 1: Targets :%1 Hit-T :%2",_inc2+_inc+_inc1,_count+_count1+_count2];
    
    


  2. I have a range script Im trying to have to chat with one person that is on the firing range, I do not want to use all the players in the server because i will have multiple at once, So what I need is how can I find out the player that is within a trigger or marker set on the firing line so I can have it chat with that player. An no I dont just want him to start the script


  3. Ok I would like to have it so in multiplayer you can go up to bleachers and sit down multiple people, I have this script for a chair but how would I do it so the script would check if seat 1 is taken then put them in seat two. I can get all the points of the bleacher to sit but I dont know how to script it so that it will put a player in spot 2 if spot 1 is empty.

    _chair = _this select 0; 
    _unit = _this select 1; 
    
    _unit switchMove "sitUnarm_L_idleLoop2"; 
    _unit setPos (getPos _chair); 
    _unit setDir ((getDir _chair) - 90); 
    standup = _unit addaction ["Stand Up", "101st_scripts\chair\r_chairup.sqf"];  
    _unit setpos [getpos _unit select 0, getpos _unit select 1,((getpos _unit select 2) +4)];
    

    ---------- Post added 12-06-2012 at 12:02 AM ---------- Previous post was 12-05-2012 at 11:03 PM ----------

    Ok its been awhile, I started finding all the available spots on the bleachers but ran into a problem, I cannot adjust the height, I can edit where but he always ends in the same height. Not sure how I can fix this. I tried ATL and ASL but I haven't done any scripting in awhile so I probably missed something.


  4. Ok I was modifing this script to work into a target range the pop 3 targets at a time, I have that working fine. But The count target that are hit is not working correctly. I think I has to do with this line.

    if ((_rtarget select 1) animationPhase "terc" > 0.1) then
    {
    	_count1 = _count1+1;
    	    };

    I am trying to get it to count if 1 2 or 3 will be hit. If you hit 2 only 2 count if 1, one counts, if 3 3 counts. Now the targets do pop up correctly. But It still does not count correctly. This is what I have so far can anyone help me out with this. It hint it count SCALAR everytime, not sure what that means

    _inc     = 0;
    _count   = 0;
    _pt = [pt2, pt2a, pt2b];
    _pt1 = [pt2_1, pt2_1a, pt2_1b];
    _pt2 = [pt2_2, pt2_2a, pt2_2b];
    _pt3 = [pt2_3, pt2_3a, pt2_3b];
    _pt4 = [pt2_4, pt2_4a, pt2_4b];
    _pt5 = [pt2_5, pt2_5a, pt2_5b];
    _pt6 = [pt2_6, pt2_6a, pt2_6b];
    _pt7 = [pt2_7, pt2_7a, pt2_7b];
    _dtargets = [pt2, pt2a, pt2b, pt2_1, pt2_1a, pt2_1b, pt2_2, pt2_2a, pt2_2b, pt2_3, pt2_3a, pt2_3b, pt2_4, pt2_4a, pt2_4b, pt2_5, pt2_5a, pt2_5b, pt2_6, pt2_6a, pt2_6b, pt2_7, pt2_7a, pt2_7b];
    _targets = [_pt1, _pt, _pt2, _pt3, _pt4, _pt5, _pt6, _pt7];
    _many    =  count _targets;
    nopop=true;
    {_x  animate["terc",1]} forEach _dtargets;
    
    [West, "HQ"] sidechat "Welcome to the 101st Airborne's 2nd Live Fire Rifle Qualification Range";
    sleep 5;
    [West, "HQ"] sidechat "Begin!";
    
    
    while {_inc<60} do 
    {
    _rnumber = floor random _many;
    _rtarget = _targets select _rnumber;
    //_rtarget animate["terc", 0];
    {_x animate["terc", 0];} forEach _rtarget;
    sleep 8;
    if ((_rtarget select 0) animationPhase "terc" > 0.1) then
    {
    	_count = _count+1;
    	    };
    if ((_rtarget select 1) animationPhase "terc" > 0.1) then
    {
    	_count1 = _count1+1;
    	    };
    if ((_rtarget select 2) animationPhase "terc" > 0.1) then
    {
    	_count2 = _count2+1;
    	    };
    _countt = _count+_count1+_count2;
      [West, "HQ"] sidechat format ["Targets :%1 Hit :%2",_inc+3,_countt];
    {_x animate["terc", 1];} forEach _rtarget;
    _inc = _inc + 3;
    };
    sleep 8;
    [West, "HQ"] sidechat "Session Complete,";
    

    CORRECT BELOW

    _inc     = 0;
    _count   = 0;
    _count1 = 0;
    _count2 = 0;
    _pt = [pt2, pt2a, pt2b];
    _pt1 = [pt2_1, pt2_1a, pt2_1b];
    _pt2 = [pt2_2, pt2_2a, pt2_2b];
    _pt3 = [pt2_3, pt2_3a, pt2_3b];
    _pt4 = [pt2_4, pt2_4a, pt2_4b];
    _pt5 = [pt2_5, pt2_5a, pt2_5b];
    _pt6 = [pt2_6, pt2_6a, pt2_6b];
    _pt7 = [pt2_7, pt2_7a, pt2_7b];
    _dtargets = [pt2, pt2a, pt2b, pt2_1, pt2_1a, pt2_1b, pt2_2, pt2_2a, pt2_2b, pt2_3, pt2_3a, pt2_3b, pt2_4, pt2_4a, pt2_4b, pt2_5, pt2_5a, pt2_5b, pt2_6, pt2_6a, pt2_6b, pt2_7, pt2_7a, pt2_7b];
    _targets = [_pt1, _pt, _pt2, _pt3, _pt4, _pt5, _pt6, _pt7];
    _many    =  count _targets;
    nopop=true;
    {_x  animate["terc",1]} forEach _dtargets;
    
    [West, "HQ"] sidechat "Welcome to the 101st Airborne's 2nd Live Fire Rifle Qualification Range";
    sleep 5;
    [West, "HQ"] sidechat "Begin!";
    
    
    while {_inc<60} do 
    {
    _rnumber = floor random _many;
    _rtarget = _targets select _rnumber;
    //_rtarget animate["terc", 0];
    {_x animate["terc", 0];} forEach _rtarget;
    sleep 8;
    if ((_rtarget select 0) animationPhase "terc" > 0.1) then
    {
    	_count = _count+1;
    	    };
    if ((_rtarget select 1) animationPhase "terc" > 0.1) then
    {
    	_count1 = _count1+1;
    	    };
    if ((_rtarget select 2) animationPhase "terc" > 0.1) then
    {
    	_count2 = _count2+1;
    	    };
    _countt = _count+_count1+_count2;
      [West, "HQ"] sidechat format ["Targets :%1 Hit :%2",_inc+3,_countt];
    {_x animate["terc", 1];} forEach _rtarget;
    _inc = _inc + 3;
    };
    sleep 8;
    [West, "HQ"] sidechat "Session Complete,";
    


  5. I am designing a script to add a flag to a pole and raise it, Everything works fine in my editor but when you put it in a dedicated server you cannot add the flag properly because it is being executed locality, I have tried a few things that I thought would work but no luck as of yet. The flag will only show to the person who uses the addaction, would I be better off making the command a global command with event handlers or another way. I tried to use setobjecttexture but this did not seem to work the code I am trying is below. any help would be appreciated.

    _chair = (fp);
    _unit = _this select 1; 
    _id = _this select 2;
    dfp removeAction _id;
    dfp removeAction lflag;
    fp removeAction lflag;
    dfp removeAction aflag;
    
    _chair setFlagTexture "\ca\ca_e\data\flag_us_co.paa";
    rflag = dfp addaction ["Raise Flag","raiseflag.sqf",[fp,true]];
    dflag = dfp addaction ["Detach Flag","detachflag.sqf",[dfp,true]];
    


  6. Ok I know this has been discussed before but I cant figure my problem out. This script is for a training map so a chase chopper can call of a malfunction of the training chopper. So far I added

    Init.sqf

    "main" addPublicVariableEventHandler {[] execVM "101st_scripts\153a\motor.sqf";};
    
    "tail" addPublicVariableEventHandler {[] execVM "101st_scripts\153a\tail.sqf";};
    
    "fuel" addPublicVariableEventHandler {[] execVM "101st_scripts\153a\lowfuel.sqf";};
    
    "repair" addPublicVariableEventHandler {[] execVM "101st_scripts\153a\repair.sqf";};
    
    "all" addPublicVariableEventHandler {[] execVM "101st_scripts\153a\all.sqf";};

    Then I have a info stand that has a addaction to add the actions to the helicopter

    Call.sqf

    _tail = c1 addaction ["Disable Tailrotor","101st_scripts\153a\tailstart.sqf"];
    _main = c1 addaction ["Disable main Rotor","101st_scripts\153a\mainrotorstart.sqf"];
    _all = c1 addaction ["Disable all systems","101st_scripts\153a\allstart.sqf"];
    _fuel = c1 addaction ["Drain Fuel","101st_scripts\153a\fuelstart.sqf"];
    _repair = c1 addaction ["Repair Chopper","101st_scripts\153a\repairstart.sqf"];

    Then to show a example of one since they are all similar are

    Tailstart.sqf

    tail = true;
    
    publicVariable "tail";

    tail.sqf

    tc1 setHit ["mala vrtule", 1]; 
    

    I cannot get it to happen globally in the dedicated server so when you tell the trainee chopper to disable the main rotor nothing happens. What did I do wrong?


  7. Had another idea on this, seems to work OK on a dedi server, haven't tested it with JIP though.

    Place a marker anywhere in the editor called AMspawn then place an invisible helipad named hp1 where you want the ammo box to be.

    Finally put the code below at the end of x_client\x_playerammobox.sqf

    _AM1 = "BAF_BasicWeapons" createVehiclelocal (getMarkerPos "AMspawn");
    [_AM1] call FUNC(weaponcargo);
    [_AM1,_box_array] execFSM "fsms\PlayerAmmobox.fsm";
    player reveal _AM1;
    player reveal _AM1;
    _AM1 attachTo [hp1,[-6,0,1.35]];
    _AM1 addAction ["Save gear layout" call d_fnc_BlueText, "x_client\x_savelayout.sqf"];
    _AM1 addAction ["Clear gear layout" call d_fnc_BlueText, "x_client\x_clearlayout.sqf"];
    _AM1 addAction ["Get Backpack" call FUNC(BlueText), "x_client\x_getbackpack.sqf"];
    

    You may want to add the line _AM1 allowDamage false; although the crate will respawn it will be empty. Remember to comment out the backpack line if your not using the OA version.

    Hope this helps.

    Thanx Ill have to try this out in the dedi, otherwise it works great in editor, Thank you

×