|
本帖最后由 FFUR2007SLX2_5 于 2014-8-13 22:05 编辑
ArmA3 – 15 Years’ Anniversary
From Poseidon to Zeus, 15 years of curiosity, passion and community, celebrating the throne of Hades, that’s the carnival for ArmA holic from all walks of community. I won’t forgive myself without doing anything to this special moment, as I promised, I ganna to have a “flesh search” and providing a splendid gala to all club fans here. I’m sure you can find something interesting from my exposure.
As an extra thread presented with additional info, I separate this one from my tutorial as a standalone one, together with my code fart at the end of this thread, I call it the bonus ball for coding fans, enjoy it.
Those familiar scenes above bring us back to that exciting moment. But before we express our great gratitude, why don’t we take a snap who created those awesome worlds, who made those outrageous works? If you were only told that it was two brothers who established the studio, that’s all right, I’ll show you Salvador Studio or Moricky Studio. So the first question is who is Hades? Just be patient, you’ll know everything but just fallowing my guide.
Bohemia Interactive Studio CEO
Marek Spanel
Congratulations Marek, BI was rewarded with title of independent studio on 2014 developers’ ceremony. You look to be a little bit awkward when you were on the stage, still thinking something better can actually being given?
BI C++ God
Ondrej Martinak
He, who should be the real God of RV engine, created it and optimized it. Cofounder of the Sequence Script (SQS) and Sequence Function (SQF). Not until now should you know that any SQF coders should be the redistributors of his achievement.
Zeus command C++ programmer
Filip Sádovsky
Assistant for Zeus DLC, providing C++ based SQF function that was needed by Karel Moricky. A new comer.
BI Creative Director
Jay Crowe
Time to know this guy; at least I think he should be enough talent on this planet to be the boss of Karel.
BI Senior Designer
Karel Moricky
I think this guy is too famous to be known, if there will still be anyone who asks who is the best SQF coder in this world, this is the answer.
Here are just the active core developers; however, there are still many who works behind the scene, a family photo tells all.
While that’s just a beginning to further our knowledge towards this studio. As my responsibilities here, a coding fan, wanna to show you more that there’s nothing unavailable in this world, let’s be outside and adapt a much more diversified community!
While of course, at the end of thread, I just can’t help sticking on my code fart – a thorough use of setVelocityTransformation, all explanation were updated on biwiki, throw the code if there’ll be anybody who want a cop chasing you : )
- /*
- fnc_tracker
- author: ffur2007slx2_5
- description: Tracks the velocityTransformation within the given time
- params: [obj(Need to be tracked),tracking time(in seconds),end time(stop tracking, last how munch seconds),inputFPS(frame per second),tracker(obj)] spawn fnc_tracker;*/
- private ["_obj","_startTrackingTime","_capturedData","_inputFPS","_sleepTime","_stopTrackingTime","_startTime","_wholeDuration","_tempTime","_tracker","_step0","_step1","_velocityTransformationTime"];
- _obj = [_this,0,objnull,[objnull]] call bis_fnc_param;
- _startTrackingTime = [_this,1,0,[0]] call bis_fnc_param;
- _stopTrackingTime = [_this,2,0,[0]] call bis_fnc_param;
- _inputFPS = [_this,3,1,[1]] call bis_fnc_param;
- _tracker = [_this,4,objnull,[objnull]] call bis_fnc_param;
- if (_inputFPS >= diag_fpsmin) then {_inputFPS = floor (diag_fpsmin*0.9)};
- if (({_x iskindof "man"} count [_obj,_tracker]) > 0) exitwith {["men detected, expect vehicles"] call BIS_fnc_error};
- _startTime = time;
- _wholeDuration = _startTime + _stopTrackingTime;
- _capturedData = [];
- _sleepTime = (1 / _inputFPS);
- _tempTime = 0;
- _step0 = 0;
- _step1 = 1;
- _velocityTransformationTime = linearconversion [0,_sleepTime,_stopTrackingTime,0,1,true];
- private ["_dataOld","_dataNew"];
- while {(!isnull _obj) && (_wholeDuration >= time)} do {
- _capturedData = _capturedData + [[getposasl _obj,velocity _obj,vectordir _obj,vectorup _obj]];
- sleep _sleepTime;
- _tempTime = _tempTime + _sleepTime;
- if (_tempTime >= _startTrackingTime) then {
- _dataOld = _capturedData select _step0;
- _dataNew = _capturedData select _step1;
- _step0 = _step0 + 1;
- _step1 = if (_step1 >= (count _capturedData)) then [{_step0},{_step1 + 1}];
- _tracker setvelocitytransformation [_dataOld select 0,_dataNew select 0,_dataOld select 1,_dataNew select 1,_dataOld select 2,_dataNew select 2,_dataOld select 3,_dataNew select 3,_velocityTransformationTime];
- };
- };
- _capturedData = nil;
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入VME
x
|