Jump to content
Sign in to follow this  
AKK

Rifle Qualifacation

Recommended Posts

I got bored one day and after a while of sqs debuging and o2 debuging I created a funcional M16a2 range based on the variouse ranges I have qualified on.

It gathers target hit info and gross score which, is presented at the end of the session

My question is: Is there any uses in the community for this type of addon?

Share this post


Link to post
Share on other sites

This addon does however need a good scripter to look at the scripts. I am sure that they could be optimized. Although my scripting is poor it still works with very rare problems which are only encountered when using crewserve or stronger type weapons.

Quote[/b] ]Maybe for training and testing new rifles

I thought that maybe squads could use it to check the mustard of people wanting to join.

I also did it to help promote better aiming habits for myself.

I attemted to make one so that AI could be tested out for response and acuracy but I hit some walls and left that alone and started a Civy timed pistol range and score board(which are working although there are some bugs).

if anyones interested

Pic1

pic2

pic3

pic4

pic5

Share this post


Link to post
Share on other sites

Well I would love to get it out there but I scincearly think the scripts need some work,

Here is the controll script which gets its info from a script run through the init EH. I think that somehow it needs some dynamic additions to allow globals to be used in the editor to change target times etc.

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">

; ***************************************

; Operation Flashpoint Script

; ***************************************

; Target Controll Script Version 2.0    By AKK

;****************************************

; Version 1.85 and higher recomended

; Version 1.75 required

;****************************************

_t1 = _this select 0

_t2 = _this select 1

_t3 = _this select 2

_t4 = _this select 3

_t5 = _this select 4

_t6 = _this select 5

_t7 = _this select 6

_obj = _this select 7

; These set the indavidual target statistics/info up.

_t1s1 = 0

_t2s1 = 0

_t3s1 = 0

_t4s1 = 0

_t5s1 = 0

_t6s1 = 0

_t7s1 = 0

_t1s2 = 0

_t2s2 = 0

_t3s2 = 0

_t4s2 = 0

_t5s2 = 0

_t6s2 = 0

_t7s2 = 0

; This is the global peramiter/Variable obtained from the Useraction portion of the "300_meter" model (in the CPP).

@ startrange == 1

goto "start"

; ******************************************************************************************

***************************

; This portion is the statistical gatherer for the indavidual target stats

; when the target(_t) chosen has been hit the script routs here for a stat update.

; And procedes to match and upgrade the "_t" hit info to the right target by adding + 1 to the correct "_t" variable.

; The "_round2" refers to the round  of the range that the data is for.  IE == 0 is the first round and == 1 is the second.

; I added more _variables than nescisary as I had intended to do a more "dynamic" statistic info screen

; But alas I am still a noob at this stuff!

#stats

? _t == _t1 && _round2 == 0 : _t1s1 = _t1s1 + 1; _t = nil

? _t == _t2  && _round2 == 0 : _t2s1 = _t2s1 + 1; _t = nil

? _t == _t3  && _round2 == 0 : _t3s1 = _t3s1 + 1; _t = nil

? _t == _t4  && _round2 == 0 : _t4s1 = _t4s1 + 1; _t = nil

? _t == _t5  && _round2 == 0 : _t5s1 = _t5s1 + 1; _t = nil

? _t == _t6  && _round2 == 0 : _t6s1 = _t6s1 + 1; _t = nil

? _t == _t7  && _round2 == 0 : _t7s1 = _t7s1 + 1; _t = nil

? _t == _t1  && _round2 == 1 : _t1s2 = _t1s2 + 1; _t = nil

? _t == _t2  && _round2 == 1 : _t2s2 = _t2s2 + 1; _t = nil

? _t == _t3  && _round2 == 1 : _t3s2 = _t3s2 + 1; _t = nil

? _t == _t4  && _round2 == 1 : _t4s2 = _t4s2 + 1; _t = nil

? _t == _t5  && _round2 == 1 : _t5s2 = _t5s2 + 1; _t = nil

? _t == _t6  && _round2 == 1 : _t6s2 = _t6s2 + 1; _t = nil

? _t == _t7  && _round2 == 1 : _t7s2 = _t7s2 + 1; _t = nil

goto "1"

; ******************************************************************************************

***************************

#start

; This is the Target order info for the brain/loop. This can or could be changed to any order

_tarray = [ _t1, _t4, _t6,_t2, _t7, _t6, _t1, _t4, _t3, _t5, _t7, _t5, _t3, _t6, _t4, _t2, _t7, _t3, _t5, _t2]

; This is the timing info for the brain/loop. This is the time that the targets will stay up.

; for each "25" count there is about a 1 second wait Ie: "_tcount = [50,50,50,25,75]"

; would be [2 seconds, 2 seconds, 2 seconds, 1 second, 3 seconds]

_tcount = [50,75,87,75,100,87,50,75,75,87,100,87,75,87,75,75,100,75,87,75]

; Just more counting variables

_round2 = 0

_lcount = 0

qscore = 0

; This pops up the targets for a "peek"

titletext ["HOLD YOUR FIRE!","plain",0.5]

~3

_t1 animate ["target_hit",0]

~0.5

_t2 animate ["target_hit",0]

~0.5

_t3 animate ["target_hit",0]

~0.5

_t4 animate ["target_hit",0]

~0.5

_t5 animate ["target_hit",0]

~0.5

_t6 animate ["target_hit",0]

~0.5

_t7 animate ["target_hit",0]

~2

; Just a skipable intro

? noRIntro : goto "Introskip"

goto "noskip"

#Introskip

cuttext ["Get Ready","Plain Down"]

; Lays the targets back down for the start (and ensures they are not dammaged)

#noskip

~1

_t1 animate ["target_hit",1]; _t1 setdammage 0

_t2 animate ["target_hit",1]; _t2 setdammage 0

_t3 animate ["target_hit",1]; _t3 setdammage 0

_t4 animate ["target_hit",1]; _t4 setdammage 0

_t5 animate ["target_hit",1]; _t5 setdammage 0

_t6 animate ["target_hit",1]; _t6 setdammage 0

_t7 animate ["target_hit",1]; _t7 setdammage 0

_pcount = 10

; This is the timer for the beginning to let the player get ready

#waitloop

~1

cuttext ["","plain",4]

_pcount = _pcount - 1

? _pcount == 0 : goto "1a"

playsound "beep_r"

titletext [format ["%1 ", _pcount],"plain down",0.5]

goto "waitloop"

; ******************************************************************************************

***************************

; THE BRAINS OF THE JOB!!

; Not very impresive though.

; not a whole lot to it but, it sure took me long enough to debug the bastard!!

#1a

_i = -1

#1

_lcount = _lcount + 1

; This determines which round it it is in so that it can either exit or go to the "half way " loop at the bottom of this script

? _lcount == 21 && _round2 == 0 : _round2 = 1; goto "round2"

? _lcount == 21 && _round2 == 1 : _told setdammage 0; goto "exit"

_count = 0

_i = _i + 1

_t = _tarray select _i

_t say "target_lift"

~1

_t animate ["target_hit",0]

; This sets the dammge of the previouse target to zero so that the "#liftloop" wont skip any targets due to excess dammage.

_told setdammage 0

; this reverts "_told" back to a "nothing" variable so that it can be reassigned to the current target(_t).

; this may be unnecisary to do but I have had conflicts in the past with one variable bieng assigned tp two objects (when I did not want that).

_told = nil

_told = _tarray select _i

#liftloop

~0.0001

_count = _count + 1

? getdammage _t >.0001 && _round2 == 0 : _t animate ["target_hit",1]; qscore= qscore + 1; goto "stats"

? getdammage _t >.0001 && _round2 == 1 : _t animate ["target_hit",1]; qscore= qscore + 1; goto "stats"

? _count == _tcount select _i : _t animate ["target_hit",1]; goto "1"

goto "liftloop"

; ******************************************************************************************

***************************

#EXIT

; resets the start variable

startrange = 0

;Sends all the target hit info gatherd on to another script

[_t1s1,_t2s1,_t3s1,_t4s1,_t5s1,_t6s1,_t7s1,_t1s2,_t2s2,_t3s2,_t4s2,_t5s2,_t6s2,_t7s2,qsc

ore] exec "\qual_range\range_controll\300_stat.sqs"

[_t1,_t2,_t3,_t4,_t5,_t6,_t7,_obj] exec "\qual_range\range_controll\300_meter.sqs"

exit

; ******************************************************************************************

***************************

; Again just another timer/counter loop. But they sure are handy!

#round2

hint "You will now have 13 seconds\nto get in the Prone Position"

~3

_pcount = 10

_lcount = 0

#r2loop

~1

_pcount = _pcount - 1

? _pcount == 0 : goto "1a"

playsound "beep_r"

titletext [format ["%1 ", _pcount],"plain down",0.5]

goto "r2loop"

; ******************************************************************************************

***************************

exit

Share this post


Link to post
Share on other sites

err...are u attempting something like this

Quote[/b] ]Malick,Feb. 06 2005,12:38 on VBS's AAR

Well, as far as I know, AAR is a real report with a full debriefing, not only a video replay of the mission. I read that it includes and traces on the map the movements of all troops, who fired a gun, with what efficiency... It gives the overall performance for each side, as compared to OFP that only tells you who you killed, and who died in your squad. It may not seem so much of a revolution, but it is pretty useful.

edit: By the way, is anybody able to script something similar, or is it too complicated to even think of it ? I'm able to tell ingame what the losses are on each side, but can not export it to debriefing...

Share this post


Link to post
Share on other sites

a shame that xezon quit editing for ofp, im sure he´d be able to write a little AAR script  sad_o.gif

the rifle range is a good idea though, thumbs up

Share this post


Link to post
Share on other sites
Quote[/b] ]Could you make a short Mission ;)

none needed all you need is the addon I made. It is self contained all that is needed is to place the addon on the map and it does the rest.

Quote[/b] ]err...are u attempting something like this

No. the above .sqs is the actual range manager that moves the targets up and down as well keeps track of all target hits.

Quote[/b] ]Those pictures looks really good. Im starting to like the idea more and more.

biggrin_o.gif  yaay I hoped people might dig this

I also know how to do round bulls eye targets with point rings  wink_o.gif

thought of it last night

Just think there could be the "Camp Perry" for ofp.

A big ol shootin' match for the community ;)

Share this post


Link to post
Share on other sites

Well if anyone wants to give a hand on this let me know

I surely could use some advice and some input. This is in game and like I said works very well. There is also a 25 meter pistol range (civ style) with an updating scoreboard in this addon. But it has some probs. I mean it works it just needs something.

Also I think that the Stat's display could or should be done in a dialouge for ease of reading. And I have VERY limited dialouge skills

I would also like some ideas for a sniper range and maybe a light and heavy MG range.

The models are simple and do not need to be "fancy".

IE they can be made simply and quickly.

But the main thing is I would appreciate some input from the community.

Any way thanks all.

Share this post


Link to post
Share on other sites
Well if anyone wants to give a hand on this let me know

I surely could use some advice and some input. This is in game and like I said works very well. There is also a 25 meter pistol range (civ style) with an updating scoreboard in this addon. But it has some probs. I mean it works it just needs something.

Also I think that the Stat's display could or should be done in a dialouge for ease of reading. And I have VERY limited dialouge skills

I would also like some ideas for a sniper range and maybe a light and heavy MG range.

The models are simple and do not need to be "fancy".

IE they can be made simply and quickly.

But the main thing is I would appreciate some input from the community.

Any way thanks all.

Wherever a cry for help with scripting, I am here to help! biggrin_o.gif

Sure, I will help, yes, I will, whatcha need?

Share this post


Link to post
Share on other sites

this be perfect for that little addon testing island that has a number of ranges on it. SP-range island I think its called.

Share this post


Link to post
Share on other sites
Quote[/b] ]Wherever a cry for help with scripting, I am here to help!

groovy. smile_o.gif

Well I cant just "simply" explain witout someone looking this over in and out of the game. But mostly I need a good scripter too look @ ALL the scripts and see what if any or all optimizes can be made to ensure  quality and stability.

I also need a CPP guy too do some changes on this to make some class changes. and get the best funcionality.

the rifle range has three scripts

#1: the init which places all the targets and sends all target info to script #2.

#2: is the one I posted which controlls the range

#3: is the printing script which currently dispays all the info with the "HintC" command

The scripts are currently Non Multiplayer compatible. So that should be changed. And Due to the global variables I am using you can only run one M16 range at a time. And like I said. I think the use of dialouges for stat display would be better than using the HintC command.

I also think that these scripts could and should be done so that changes to the timing,scoring,target placement and maybe rounds or other dynamic facets I have not thought of can be made in the editor.

And again I would like some ideas for more ranges and maybe how they should be set up.

The only ranges I ever Qualified on were the M16,Grenade,M203 and Demolition. I also did alot of building at the tank ranges. but thats been some time.

I also recall doing some work at the sniper range at my post but If I remember right it was a simple 1/2 day job and I only remember the basic layout and never saw it in action.

Share this post


Link to post
Share on other sites
Quote[/b] ]Wherever a cry for help with scripting, I am here to help!

groovy. smile_o.gif

Well I cant just "simply" explain witout someone looking this over in and out of the game. But mostly I need a good scripter too look @ ALL the scripts and see what if any or all optimizes can be made to ensure  quality and stability.

I also need a CPP guy too do some changes on this to make some class changes. and get the best funcionality.

the rifle range has three scripts

#1: the init which places all the targets and sends all target info to script #2.

#2: is the one I posted which controlls the range

#3: is the printing script which currently dispays all the info with the "HintC" command

The scripts are currently Non Multiplayer compatible. So that should be changed. And Due to the global variables I am using you can only run one M16 range at a time. And like I said. I think the use of dialouges for stat display would be better than using the HintC command.

I also think that these scripts could and should be done so that changes to the timing,scoring,target placement and maybe rounds or other dynamic facets I have not thought of can be made in the editor.

And again I would like some ideas for more ranges and maybe how they should be set up.

The only ranges I ever Qualified on were the M16,Grenade,M203 and Demolition. I also did alot of building at the tank ranges. but thats been some time.

I also recall doing some work at the sniper range at my post but If I remember right it was a simple 1/2 day job and I only remember the basic layout and never saw it in action.

ok, I can help with the scripts and config.

Share this post


Link to post
Share on other sites
Quote[/b] ]ok, I can help with the scripts and config.

That would be great how would you like to recieve them?

Oh and I'm not trying to shovel off any work. Even if someone just wanted too look at the scripts and stuf and give me some pointers would be great.

I'm just not "Suuuuuuper addon guy to the rescue !!" sad_o.gif so any help is greatly appreciated smile_o.gif

Share this post


Link to post
Share on other sites

This makes me want to download America's Army...

I think a range like that would rock. Surely we need a sniper range and a M203 range... This could be a MP mod "Malden's Army" tounge_o.gif

Share this post


Link to post
Share on other sites

if your ever gonna do any target competitions, you should email Col. Klink and ask how to use DIB on targets (so we can actually see where it was hit)

Share this post


Link to post
Share on other sites
Quote[/b] ]email Col. Klink and ask how to use DIB

Sounds good (although I dont know what that is) tounge_o.gif

Klink's a good and smart feller.

Share this post


Link to post
Share on other sites
Quote[/b] ]ok, I can help with the scripts and config.

That would be great how would you like to recieve them?

Oh and I'm not trying to shovel off any work. Even if someone just wanted too look at the scripts and stuf and give me some pointers would be great.

I'm just not "Suuuuuuper addon guy to the rescue !!" sad_o.gif so any help is greatly appreciated smile_o.gif

PM me.

Share this post


Link to post
Share on other sites

Roger that. on the move.

Say All you snipers out there gimme an idea for a good sniper range smile_o.gif I could geter done in a couple weeks (well a solid beta) wink_o.gif

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×