Page 3 of 7 FirstFirst 1234567 LastLast
Results 21 to 30 of 69

Thread: Pop-Up Targets (Firing Range)

  1. #21
    Master Sergeant
    Join Date
    Jul 18 2009
    Location
    Austin, Texas
    Posts
    634
    Author of the Thread
    What I want is a qualification range with 5 targets. I want 1-3 random targets popping up at a time until 25 targets have been popped up. We nearly have this. Currently instead of just 25 targets popping up, it is actually 25 groups (1-3 per) of targets popping up, which obviously throws everything off.

    Now, if this can not be achieved, just 1 target at a time is perfectly fine with me, I just need to change some sleep times.


  2. #22
    Yea I have not yet got that far with mine... I currently have 2 operational firing ranges... Of which either can be set for a random 20 targets or a random 10 targets (for rifles and pistols) i am going to be working on a machine gun range which will popup a group of targets at a time...

    When I get that far I'll let you know... Lot's of demands on me right now to get this mission done for the unit heh.

  3. #23
    This is about it for me, 3 targets per set = 24 total targets with scoring.






    Code:
    //////////////////////////////////////////////////////////////////
    // Function file for Armed Assault
    // Created by: TODO: Author Name
    //////////////////////////////////////////////////////////////////
    //                 How to use. 
    // 1. Place a popup target and name it to pt1 
    // 2. copy it 8 times and it will auto name the targets
    // 3. place this line in a trigger or init  nul=[] execVM "popup.sqf" 
     
    _inc     = 0;
    _count   = 0;
    _targets = [pt1,pt1_1, pt1_2, pt1_3, pt1_4, pt1_5, pt1_6, pt1_7];
    _many    =  count _targets;
    nopop=true;
    {_x  animate["terc",1]} forEach _targets;
    _rnumber1=0;
    _rnumber2=0;
    _rnumber3=0;
    
    hint "Setting up the Range";
    sleep 2;
    hint "Ready";
    sleep 2;
    
    
    while {_inc<8} do 
    {
    _rnumber1 = random _many;
    _int = _rnumber1%1;
    _rnumber1 = _rnumber1-_int;
    
    while {(_rnumber1 == _rnumber2) or (_rnumber1 == _rnumber3) or (_rnumber2 == _rnumber3)} do
    {  
    _rnumber2 = random _many;
    _int = _rnumber2%1;
    _rnumber2 = _rnumber2-_int;
    
    _rnumber3 = random _many;
    _int = _rnumber3%1;
    _rnumber3 = _rnumber3-_int;
    };
    
    _rtarget1 = _targets select _rnumber1;
    _rtarget2 = _targets select _rnumber2;
    _rtarget3 = _targets select _rnumber3;
    
    _rtarget1 animate["terc", 0];
    _rtarget2 animate["terc", 0];
    _rtarget3 animate["terc", 0];
    
    sleep 3;
    
     if (_rtarget1 animationPhase "terc" > 0.1) then
    {
    		_count = _count+1;
    		    };
     if (_rtarget2 animationPhase "terc" > 0.1) then
    
    {
    		_count = _count+1;
    		    };
     if (_rtarget3 animationPhase "terc" > 0.1) then
    {
    		_count = _count+1;
    		    };
    		    
     hint format ["Targets :%1 Hit :%2",(_inc+1)*3,_count];
    _rtarget1 animate["terc", 1];
    _rtarget2 animate["terc", 1];
    _rtarget3 animate["terc", 1];
    sleep 2;
    _inc = _inc + 1;
    };
    sleep 8;
    hint "Session Complete";
    Last edited by F2k Sel; Jul 22 2009 at 17:26.

  4. #24
    Master Sergeant
    Join Date
    Jul 18 2009
    Location
    Austin, Texas
    Posts
    634
    Author of the Thread
    Nice. So, I tried that script, and found 2 problems. But the good thing is we are almost finished :P

    1. Too many targets were up at certain times, should only be 1-3. Again, if this can not be achieved, just 1 at a time is fine.

    2. It scored the hits exactly how I wanted it (1 target hit = +1 to hit counter), but it still counted every group of targets as 1 target. Half way there!

    And I had a question... is there anything you can put into the script so it does not activate at the beginning of the map, and only by trigger? I've got the trigger set up and it works fine, but I don't want the script to always activate at the beginning of the map.

  5. #25
    while {(_rnumber1 == _rnumber2) or (_rnumber1 == _rnumber3) or (_rnumber2 == _rnumber3)} do
    {
    _rnumber2 = random _many;
    _int = _rnumber2%1;
    _rnumber2 = _rnumber2-_int;

    _rnumber3 = random _many;
    _int = _rnumber3%1;
    _rnumber3 = _rnumber3-_int;
    };


    I think I understand what this loop is doing but not the condition.

    Instead of doing this in sets like _inc<8 could we not start it off like this instead?


    _totalTargets = 25;
    _numTargets = 0;


    while {_numTargets < _totalTargets} do
    {

    have a random number [1-3] say _popNum

    inside a loop that loops around _popNum times and checks (_numTargets < _totalTargets), have it pick a random target and pop it up. and at every instance of that loop increment _numTargets.

    }

    I am still learning the syntax for this language but I am sure that code will work if implemented.

  6. #26
    It's just a matter of keeping track of all the loops, it would be quite easy to randomise the set of three.

    You would just need to randomize these two lines

    Code:
    _rtarget2 animate["terc", 0];
    _rtarget3 animate["terc", 0];

    Something like
    Code:
    If (random+2 >1 ) do {
    _rtarget2 animate["terc", 0];
    
    };
    if (random+3 >1 ) do {
    _rtarget3 animate["terc", 0];
    };
    You would only need two as one at least would always be true or there may be no popop that set.

    I haven't tested any of this so it may be buggy.

    OConnell [3rd ID] way would could also help but it does get hard to keep the syntax correct and nested whiles and IF's.

    It is also getting difficult to keep the count of the targets with everything being random.


    As for what the CONDITION does, it simply compares the random numbers and if they are duplicated it forces it to pick again until it has three unique numbers.
    It's also the reason I needed to make the random numbers whole number as it's much easier to work with.


    I haven't tested any of this so it may be buggy.




    Thinking a bit more if you removed the WHILE with the CONDITION check and fixed the syntax you would get a varying number of popups if the numbers did duplicated.
    Then you would just have to count the ones that popup until they reach the total you require.
    Last edited by F2k Sel; Jul 22 2009 at 23:34.

  7. #27
    I've had one last go and I think it's ok now.

    You can select the total number of targets, number that will popup randomly per set 1-3 and the time allowed for hitting the target.

    Code:
    //                 How to use. 
    // 1. Place a popup target and name it to pt1 
    // 2. copy it 8 times and it will auto name the targets
    // 3. place this line in a trigger or init  nul=[max,set,time] execVM "popup.sqf" 
    // max  is the total number of targets that will popup
    // set is the max number of targets that can popup per set upto a max of 3
    // time is the amount of time to hit the targets before they go down
    
      
    _maxtarg  = _this select 0;
    _numtargs = _this select 1;
    _skill    = _this select 2;
    
    _targets = [pt1,pt1_1, pt1_2, pt1_3, pt1_4, pt1_5, pt1_6, pt1_7];// target names 
    _many    =  count _targets; // count the number of possible targets
    
    _inc     = 0;// keeps track of the number of popup targets triggered 
    _score   = 0;// keep count of the targets hit
    
    
    {_x  animate["terc",1]} forEach _targets;//puts the targets down before the start
    
    _rnumber1=0; 
    _rnumber2=0;
    _rnumber3=0;
    
    _flag1=0;
    _flag2=0;
    
    nopop=true; // sets them to stay down until triggered to popup
    
    hint "Setting up the Range";
    sleep 2;
    hint "Ready";
    sleep 2;
    
    
    while {_inc<_maxtarg} do 
    {
    _rnumber1 = random _many;
    _int = _rnumber1%1;
    _rnumber1 = _rnumber1-_int;
    
    
    // 1. Check for duplicate targets 
    while {(_rnumber1 == _rnumber2) or (_rnumber1 == _rnumber3) or (_rnumber2 == _rnumber3)} do
    {  
    _rnumber2 = random _many;
    _int = _rnumber2%1;
    _rnumber2 = _rnumber2-_int;
    
    _rnumber3 = random _many;
    _int = _rnumber3%1;
    _rnumber3 = _rnumber3-_int;
    };
    // 1. END
    
    // 2. Set the targets that will popup
    _rtarget1 = _targets select _rnumber1;
    _rtarget2 = _targets select _rnumber2;
    _rtarget3 = _targets select _rnumber3;
    // 2. END
    
    // 3. Popup target one always active
    _rtarget1 animate["terc", 0];
    _inc=_inc+1;
    // 3. END
    
    // 3a. Check to see if more than one target is required and opopup at random
    // 3b. second target
    If (_numtargs > 1 ) then
    {
    if ((random 2 > 1) and (_inc < _maxtarg)) then
    {
    _rtarget2 animate["terc", 0];
    _inc=_inc+1;
    _flag1=1;
    };
    };
    //3b. END
    
    //3c. Third target
    If (_numtargs > 2 ) then
    {
    if ((random 2 < 1) and (_inc < _maxtarg)) then
    {
    _rtarget3 animate["terc", 0];
    _inc=_inc+1;
    _flag2=1;
    };
    };
    // 3c. END
    // 3a. END
    
    // 4. Time allowed for shooting.
    sleep _skill; 
    // 4. END 
    
    // 5. Check to see if targets have been hit and count the score
     if (_rtarget1 animationPhase "terc" > 0.1) then
    {
    		_score = _score+1;
    		    };
     if ((_rtarget2 animationPhase "terc" > 0.1) and (_flag1 == 1)) then
    
    {
    		_score = _score+1;
    		    };
     if ((_rtarget3 animationPhase "terc" > 0.1) and (_flag2 == 1)) then
    {
    		_score = _score+1;
    		    };
    // 4. END		    
    
    // 5. Display Score		    
     hint format ["Targets :%1 Hit :%2",_inc,_score];
    // 5. END
    
    // 6. Reset targets down and restet flags
    _rtarget1 animate["terc", 1];
    _rtarget2 animate["terc", 1];
    _rtarget3 animate["terc", 1];
    _flag1=0;
    _flag2=0;
    // 6. END
    
    sleep 2;
    };
    sleep 8;
    hint "Session Complete";
    I haven't done any fancy intro or exiting script it's just a basic hit and score routine.
    Last edited by F2k Sel; Jul 23 2009 at 23:39.

  8. #28
    Master Sergeant
    Join Date
    Jul 18 2009
    Location
    Austin, Texas
    Posts
    634
    Author of the Thread
    No problem, all I need is a basic hit and score routine. I can add the rest myself. I am away from my gaming computer for the weekend, but I will try this out on Sunday and get back to you. Thanks very much.

  9. #29
    Like I posted in Schilly's this is the code I use and you should Download the Mission for the whole scripts that run together to make it work but the only problem is it don't keep score it did in ArmA1 so it must be a simple fix.

    Code:
    _targetTime = _this select 0;
    
    if (not RangeRunning) then
    {
    	rangeRunning = true;
    
    	playSound "voice1";
    
    	Hits_Lane1 = 0;
    	Hits_Lane2 = 0;
    	Hits_Lane3 = 0;
    	Hits_Lane4 = 0;
    	Hits_Lane5 = 0;
    	Hits_Lane6 = 0;
    
    	if (isServer) then
    	{
    		sleep 5.5;
    
    		_i = 0;
    		while {_i < 10} do
    		{
    			_target = [1, 6] call CSL_GetRandomInteger;
    
    			switch (_target) do
    			{
    				case 1:
    				{
    					_eh = t50_1  addeventhandler ["hit", {Hits_Lane1 = Hits_Lane1 + 1; _this select 0 setDamage 0;}];
    					_eh = t50_2  addeventhandler ["hit", {Hits_Lane2 = Hits_Lane2 + 1; _this select 0 setDamage 0;}];
    					_eh = t50_3  addeventhandler ["hit", {Hits_Lane3 = Hits_Lane3 + 1; _this select 0 setDamage 0;}];
    					_eh = t50_4  addeventhandler ["hit", {Hits_Lane4 = Hits_Lane4 + 1; _this select 0 setDamage 0;}];
    					_eh = t50_5  addeventhandler ["hit", {Hits_Lane5 = Hits_Lane5 + 1; _this select 0 setDamage 0;}];
    					_eh = t50_6  addeventhandler ["hit", {Hits_Lane6 = Hits_Lane6 + 1; _this select 0 setDamage 0;}];
    
    					t50_1  animate["terc",0];
    					t50_2  animate["terc",0];
    					t50_3  animate["terc",0];
    					t50_4  animate["terc",0];
    					t50_5  animate["terc",0];
    					t50_6  animate["terc",0];
    				};
    				case 2:
    				{
    					_eh = t75_1  addeventhandler ["hit", {Hits_Lane1 = Hits_Lane1 + 1; _this select 0 setDamage 0;}];
    					_eh = t75_2  addeventhandler ["hit", {Hits_Lane2 = Hits_Lane2 + 1; _this select 0 setDamage 0;}];
    					_eh = t75_3  addeventhandler ["hit", {Hits_Lane3 = Hits_Lane3 + 1; _this select 0 setDamage 0;}];
    					_eh = t75_4  addeventhandler ["hit", {Hits_Lane4 = Hits_Lane4 + 1; _this select 0 setDamage 0;}];
    					_eh = t75_5  addeventhandler ["hit", {Hits_Lane5 = Hits_Lane5 + 1; _this select 0 setDamage 0;}];
    					_eh = t75_6  addeventhandler ["hit", {Hits_Lane6 = Hits_Lane6 + 1; _this select 0 setDamage 0;}];
    
    					t75_1  animate["terc",0];
    					t75_2  animate["terc",0];
    					t75_3  animate["terc",0];
    					t75_4  animate["terc",0];
    					t75_5  animate["terc",0];
    					t75_6  animate["terc",0];
    				};
    				case 3:
    				{
    					_eh = t100_1  addeventhandler ["hit", {Hits_Lane1 = Hits_Lane1 + 1; _this select 0 setDamage 0;}];
    					_eh = t100_2  addeventhandler ["hit", {Hits_Lane2 = Hits_Lane2 + 1; _this select 0 setDamage 0;}];
    					_eh = t100_3  addeventhandler ["hit", {Hits_Lane3 = Hits_Lane3 + 1; _this select 0 setDamage 0;}];
    					_eh = t100_4  addeventhandler ["hit", {Hits_Lane4 = Hits_Lane4 + 1; _this select 0 setDamage 0;}];
    					_eh = t100_5  addeventhandler ["hit", {Hits_Lane5 = Hits_Lane5 + 1; _this select 0 setDamage 0;}];
    					_eh = t100_6  addeventhandler ["hit", {Hits_Lane6 = Hits_Lane6 + 1; _this select 0 setDamage 0;}];
    
    					t100_1 animate["terc",0];
    					t100_2 animate["terc",0];
    					t100_3 animate["terc",0];
    					t100_4 animate["terc",0];
    					t100_5 animate["terc",0];
    					t100_6 animate["terc",0];
    				};
    				case 4:
    				{
    					_eh = t125_1  addeventhandler ["hit", {Hits_Lane1 = Hits_Lane1 + 1; _this select 0 setDamage 0;}];
    					_eh = t125_2  addeventhandler ["hit", {Hits_Lane2 = Hits_Lane2 + 1; _this select 0 setDamage 0;}];
    					_eh = t125_3  addeventhandler ["hit", {Hits_Lane3 = Hits_Lane3 + 1; _this select 0 setDamage 0;}];
    					_eh = t125_4  addeventhandler ["hit", {Hits_Lane4 = Hits_Lane4 + 1; _this select 0 setDamage 0;}];
    					_eh = t125_5  addeventhandler ["hit", {Hits_Lane5 = Hits_Lane5 + 1; _this select 0 setDamage 0;}];
    					_eh = t125_6  addeventhandler ["hit", {Hits_Lane6 = Hits_Lane6 + 1; _this select 0 setDamage 0;}];
    
    					t125_1 animate["terc",0];
    					t125_2 animate["terc",0];
    					t125_3 animate["terc",0];
    					t125_4 animate["terc",0];
    					t125_5 animate["terc",0];
    					t125_6 animate["terc",0];
    				};
    				case 5:
    				{
    					_eh = t150_1  addeventhandler ["hit", {Hits_Lane1 = Hits_Lane1 + 1; _this select 0 setDamage 0;}];
    					_eh = t150_2  addeventhandler ["hit", {Hits_Lane2 = Hits_Lane2 + 1; _this select 0 setDamage 0;}];
    					_eh = t150_3  addeventhandler ["hit", {Hits_Lane3 = Hits_Lane3 + 1; _this select 0 setDamage 0;}];
    					_eh = t150_4  addeventhandler ["hit", {Hits_Lane4 = Hits_Lane4 + 1; _this select 0 setDamage 0;}];
    					_eh = t150_5  addeventhandler ["hit", {Hits_Lane5 = Hits_Lane5 + 1; _this select 0 setDamage 0;}];
    					_eh = t150_6  addeventhandler ["hit", {Hits_Lane6 = Hits_Lane6 + 1; _this select 0 setDamage 0;}];
    
    					t150_1 animate["terc",0];
    					t150_2 animate["terc",0];
    					t150_3 animate["terc",0];
    					t150_4 animate["terc",0];
    					t150_5 animate["terc",0];
    					t150_6 animate["terc",0];
    				};
    				case 6:
    				{
    					_eh = t200_1  addeventhandler ["hit", {Hits_Lane1 = Hits_Lane1 + 1; _this select 0 setDamage 0;}];
    					_eh = t200_2  addeventhandler ["hit", {Hits_Lane2 = Hits_Lane2 + 1; _this select 0 setDamage 0;}];
    					_eh = t200_3  addeventhandler ["hit", {Hits_Lane3 = Hits_Lane3 + 1; _this select 0 setDamage 0;}];
    					_eh = t200_4  addeventhandler ["hit", {Hits_Lane4 = Hits_Lane4 + 1; _this select 0 setDamage 0;}];
    					_eh = t200_5  addeventhandler ["hit", {Hits_Lane5 = Hits_Lane5 + 1; _this select 0 setDamage 0;}];
    					_eh = t200_6  addeventhandler ["hit", {Hits_Lane6 = Hits_Lane6 + 1; _this select 0 setDamage 0;}];
    
    					t200_1 animate["terc",0];
    					t200_2 animate["terc",0];
    					t200_3 animate["terc",0];
    					t200_4 animate["terc",0];
    					t200_5 animate["terc",0];
    					t200_6 animate["terc",0];
    				};
    			};//switch (_target) do
    
    			sleep _targetTime;
    
    			switch (_target) do
    			{
    				case 1:
    				{
    					t50_1  animate["terc",1];
    					t50_2  animate["terc",1];
    					t50_3  animate["terc",1];
    					t50_4  animate["terc",1];
    					t50_5  animate["terc",1];
    					t50_6  animate["terc",1];
    				};
    				case 2:
    				{
    					t75_1  animate["terc",1];
    					t75_2  animate["terc",1];
    					t75_3  animate["terc",1];
    					t75_4  animate["terc",1];
    					t75_5  animate["terc",1];
    					t75_6  animate["terc",1];
    				};
    				case 3:
    				{
    					t100_1 animate["terc",1];
    					t100_2 animate["terc",1];
    					t100_3 animate["terc",1];
    					t100_4 animate["terc",1];
    					t100_5 animate["terc",1];
    					t100_6 animate["terc",1];
    				};
    				case 4:
    				{
    					t125_1 animate["terc",1];
    					t125_2 animate["terc",1];
    					t125_3 animate["terc",1];
    					t125_4 animate["terc",1];
    					t125_5 animate["terc",1];
    					t125_6 animate["terc",1];
    				};
    				case 5:
    				{
    					t150_1 animate["terc",1];
    					t150_2 animate["terc",1];
    					t150_3 animate["terc",1];
    					t150_4 animate["terc",1];
    					t150_5 animate["terc",1];
    					t150_6 animate["terc",1];
    				};
    				case 6:
    				{
    					t200_1 animate["terc",1];
    					t200_2 animate["terc",1];
    					t200_3 animate["terc",1];
    					t200_4 animate["terc",1];
    					t200_5 animate["terc",1];
    					t200_6 animate["terc",1];
    				};
    			};//switch (_target) do
    
    			sleep 1;
    
    			t50_1  removeAllEventHandlers "hit";
    			t50_2  removeAllEventHandlers "hit";
    			t50_3  removeAllEventHandlers "hit";
    			t50_4  removeAllEventHandlers "hit";
    			t50_5  removeAllEventHandlers "hit";
    			t50_6  removeAllEventHandlers "hit";
    			t75_1  removeAllEventHandlers "hit";
    			t75_2  removeAllEventHandlers "hit";
    			t75_3  removeAllEventHandlers "hit";
    			t75_4  removeAllEventHandlers "hit";
    			t75_5  removeAllEventHandlers "hit";
    			t75_6  removeAllEventHandlers "hit";
    			t100_1 removeAllEventHandlers "hit";
    			t100_2 removeAllEventHandlers "hit";
    			t100_3 removeAllEventHandlers "hit";
    			t100_4 removeAllEventHandlers "hit";
    			t100_5 removeAllEventHandlers "hit";
    			t100_6 removeAllEventHandlers "hit";
    			t125_1 removeAllEventHandlers "hit";
    			t125_2 removeAllEventHandlers "hit";
    			t125_3 removeAllEventHandlers "hit";
    			t125_4 removeAllEventHandlers "hit";
    			t125_5 removeAllEventHandlers "hit";
    			t125_6 removeAllEventHandlers "hit";
    			t150_1 removeAllEventHandlers "hit";
    			t150_2 removeAllEventHandlers "hit";
    			t150_3 removeAllEventHandlers "hit";
    			t150_4 removeAllEventHandlers "hit";
    			t150_5 removeAllEventHandlers "hit";
    			t150_6 removeAllEventHandlers "hit";
    			t200_1 removeAllEventHandlers "hit";
    			t200_2 removeAllEventHandlers "hit";
    			t200_3 removeAllEventHandlers "hit";
    			t200_4 removeAllEventHandlers "hit";
    			t200_5 removeAllEventHandlers "hit";
    			t200_6 removeAllEventHandlers "hit";
    
    			_i = _i + 1;
    
    		}; //while {_i < 10} do
    
    		t50_1  animate["terc",1];
    		t50_2  animate["terc",1];
    		t50_3  animate["terc",1];
    		t50_4  animate["terc",1];
    		t50_5  animate["terc",1];
    		t50_6  animate["terc",1];
    		t75_1  animate["terc",1];
    		t75_2  animate["terc",1];
    		t75_3  animate["terc",1];
    		t75_4  animate["terc",1];
    		t75_5  animate["terc",1];
    		t75_6  animate["terc",1];
    		t100_1 animate["terc",1];
    		t100_2 animate["terc",1];
    		t100_3 animate["terc",1];
    		t100_4 animate["terc",1];
    		t100_5 animate["terc",1];
    		t100_6 animate["terc",1];
    		t125_1 animate["terc",1];
    		t125_2 animate["terc",1];
    		t125_3 animate["terc",1];
    		t125_4 animate["terc",1];
    		t125_5 animate["terc",1];
    		t125_6 animate["terc",1];
    		t150_1 animate["terc",1];
    		t150_2 animate["terc",1];
    		t150_3 animate["terc",1];
    		t150_4 animate["terc",1];
    		t150_5 animate["terc",1];
    		t150_6 animate["terc",1];
    		t200_1 animate["terc",1];
    		t200_2 animate["terc",1];
    		t200_3 animate["terc",1];
    		t200_4 animate["terc",1];
    		t200_5 animate["terc",1];
    		t200_6 animate["terc",1];
    
    
    		_scores = "player sideChat '";
    
    		if ((count list Lane1ShootingArea) > 0) then {_scores = format["%1Lane 1 %2 hits. ", _scores, Hits_Lane1];};
    		if ((count list Lane2ShootingArea) > 0) then {_scores = format["%1Lane 2 %2 hits. ", _scores, Hits_Lane2];};
    		if ((count list Lane3ShootingArea) > 0) then {_scores = format["%1Lane 3 %2 hits. ", _scores, Hits_Lane3];};
    		if ((count list Lane4ShootingArea) > 0) then {_scores = format["%1Lane 4 %2 hits. ", _scores, Hits_Lane4];};
    		if ((count list Lane5ShootingArea) > 0) then {_scores = format["%1Lane 5 %2 hits. ", _scores, Hits_Lane5];};
    		if ((count list Lane6ShootingArea) > 0) then {_scores = format["%1Lane 6 %2 hits. ", _scores, Hits_Lane6];};
    
    		_scores = format["%1';", _scores];
    
    		//player sideChat _scores;
    
    		//Display chat in each group once
    		ChatLogic = "Logic" createVehicle [random 100, random 100];
    		ChatLogic setVehicleInit _scores;
    
    		processInitCommands;
    
    		rangeRunning = false;
    		publicVariable "rangeRunning";
    
    	};//if (isServer) then
    
    
    };//if (not rangeRunning) then
    
    
    sleep 30;
    
    deleteVehicle ChatLogic;
    Mission: http://arma2.7thcavalry.us/BootCamp.utes.pbo

  10. #30
    Master Sergeant
    Join Date
    Jul 18 2009
    Location
    Austin, Texas
    Posts
    634
    Author of the Thread
    How does it work compared to the script we have been messing with in this thread? Looks a bit too in depth and complicated compared to what we are trying to accomplish.

Page 3 of 7 FirstFirst 1234567 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •