Jump to content

t_d

Member
  • Content Count

    447
  • Joined

  • Last visited

  • Medals

Everything posted by t_d

  1. Use this to extract the model.cfg from binarized p3ds. Needs PboDll
  2. If you have an object that has an animation using the wanted source, it should be possible to read out the state with animationPhase command.
  3. here the skeleton of ArmA2 soldiers: class cfgSkeletons { class default; class OFP2_ManSkeleton : default { SkeletonBones[]= { "pelvis","", "spine","pelvis", "spine1","spine", "spine2","spine1", "spine3","spine2", "neck","spine3", "neck1","neck", "head","neck1", "headcutscene","head", "jaw","head", "chin","head", "jaw_rf","head", "jaw_rm","head", "jaw_rs","head", "jaw_lf","head", "jaw_lm","head", "jaw_ls","head", "ear_r","head", "ear_l","head", "lip_lc","head", "lip_lwlb","head", "lip_lwlf","head", "lip_lwm","head", "lip_lwrf","head", "lip_lwrb","head", "lip_rc","head", "lip_uprb","head", "lip_uprf","head", "lip_upm","head", "lip_uplf","head", "lip_uplb","head", "nose_tip","head", "nose_r","head", "nose_l","head", "zig_lt","head", "zig_lm","head", "zig_lb","head", "zig_rt","head", "zig_rm","head", "zig_rb","head", "cheek_r","head", "cheek_l","head", "eyebrow_lb","head", "eyebrow_lm","head", "eyebrow_lf","head", "corr","head", "eyebrow_rf","head", "eyebrow_rm","head", "eyebrow_rb","head", "eye_upr","head", "eye_lwr","head", "eye_upl","head", "eye_lwl","head", "cheek_rf","head", "cheek_rm","head", "cheek_rb","head", "cheek_lf","head", "cheek_lm","head", "cheek_lb","head", "forehead_l","head", "forehead_m","head", "forehead_r","head", "l_eye","head", "r_eye","head", "l_pupila","head", "r_pupila","head", "neck_t","head", "neck_b","head", "neck_r","head", "neck_l","head", "tongue_b","head", "tongue_m","head", "tongue_f","head", "leftshoulder","spine3", "leftarm","leftshoulder", "leftarmroll","leftarm", "leftforearm","leftarmroll", "leftforearmroll","leftforearm", "lefthand","leftforearmroll", "lefthandring","lefthand", "lefthandring1","lefthandring", "lefthandring2","lefthandring1", "lefthandring3","lefthandring2", "lefthandpinky1","lefthandring", "lefthandpinky2","lefthandpinky1", "lefthandpinky3","lefthandpinky2", "lefthandmiddle1","lefthand", "lefthandmiddle2","lefthandmiddle1", "lefthandmiddle3","lefthandmiddle2", "lefthandindex1","lefthand", "lefthandindex2","lefthandindex1", "lefthandindex3","lefthandindex2", "lefthandthumb1","lefthand", "lefthandthumb2","lefthandthumb1", "lefthandthumb3","lefthandthumb2", "rightshoulder","spine3", "rightarm","rightshoulder", "rightarmroll","rightarm", "rightforearm","rightarmroll", "rightforearmroll","rightforearm", "righthand","rightforearmroll", "righthandring","righthand", "righthandring1","righthandring", "righthandring2","righthandring1", "righthandring3","righthandring2", "righthandpinky1","righthandring", "righthandpinky2","righthandpinky1", "righthandpinky3","righthandpinky2", "righthandmiddle1","righthand", "righthandmiddle2","righthandmiddle1", "righthandmiddle3","righthandmiddle2", "righthandindex1","righthand", "righthandindex2","righthandindex1", "righthandindex3","righthandindex2", "righthandthumb1","righthand", "righthandthumb2","righthandthumb1", "righthandthumb3","righthandthumb2", "weapon","spine1", "launcher","spine1", "camera","pelvis", "leftupleg","pelvis", "leftuplegroll","leftupleg", "leftleg","leftuplegroll", "leftlegroll","leftleg", "leftfoot","leftlegroll", "lefttoebase","leftfoot", "rightupleg","pelvis", "rightuplegroll","rightupleg", "rightleg","rightuplegroll", "rightlegroll","rightleg", "rightfoot","rightlegroll", "righttoebase","rightfoot", }; }; }; So a lot of selections need to be renamed it seems.
  4. is *.rvmat in the list of filetypes that gets copied directly?
  5. exitWith { _Fobjarray = _arr select _c; /* true */ }; just remove the ; after _c. Always the value of the last expression is returned which is nothing in this case. EDIT: Oh, seems I missunderstood the problem. ignore me then
  6. I assume priority handles the order of the factions in the editor factions list. If the priority is the same the first faction that occured with that priority is probably set before the other one. So I wouldnt waste much attention on that.
  7. This is probably a programming term. Java and C# have a garbage collector for example that frees memory of variables that arent used anymore. For ArmA2 I think it removes dead bodies or something else that isnt needed anymore.
  8. Execute the script like this myScript=[]execVM "script.sqs"[/Code] Then you can stop it with Terminate myScript
  9. Adding a new one to the config should work I guess: class CfgFactionClasses { class USMC { displayName = "$STR_DN_USMC"; priority = 1; side = 1; }; class CDF { displayName = "$STR_DN_CDF"; priority = 2; side = 1; }; class RU { displayName = "$STR_DN_RU"; priority = 3; side = 0; }; class INS { displayName = "$STR_DN_INS"; priority = 4; side = 0; }; class GUE { displayName = "$STR_DN_GUE"; priority = 5; side = 2; }; class CIV { displayName = "$STR_DN_CHERNARUS"; priority = 6; side = 3; }; class CIV_RU { displayName = "$STR_DN_RU"; priority = 7; side = 3; }; };[/Code]
  10. here ya go: http://dev-heaven.net/projects/cwr-cbt/issues
  11. Thanks to Dev-Heaven we finally have a community bugtracker now. Please send in your bugs: http://dev-heaven.net/projects/show/cwr-cbt
  12. the next release will contain what we have so far and this is not just the stuff from OFP 1.0 ;)
  13. Well looks ok except that "BACKPACK" doesnt need to be in skeletons. Hard to tell what the reason is. Are there any hints in rpt?
  14. does closing and reopening the dialog work?
  15. hmm but this scripts adds 10 to _speed variable, so even if speed _vehicle is 0 then _speed will be 10 and will move along the vectorDir of the vehicle. At least thats the theory.
  16. I would calculate velX more like this: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_vehicle = _this select 0 _speed = (speed _vehicle)/3.6; _speed = _speed + 10; _vecDir = vectorDir _vehicle; _velX = [(_vecDir select 0)*(-_speed),(_vecDir select 1)*(-_speed),(_vecDir select 2)*(-_speed)]; not tested
  17. t_d

    Closures in SQF

    very interesting! btw: for creating a copy of an array: http://community.bistudio.com/wiki/plus_a
  18. Try something like this: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_groupIndexToDelete = x; Group_Array set [_groupIndexToDelete, "DELETE"]; Group_Array - ["DELETE"]; x need to be the index of course.
  19. t_d

    CCIP Functions

    I wrote a function that could be useful for your issue. fWorldToScreen.sqf is given a position (in your case the bomb impact position) and calculates the screen coordinates for it. Should work as long as FOV is 0.7, but havent test it very much. Be careful: the function does not check if the position is seen on screen and will always return some values. fWorldToScreen: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_worldPos = _this; _camPos = positionCameraToWorld [0,0,0]; _camDirPos = positionCameraToWorld [0,0,1]; _camUpPos = positionCameraToWorld [0,1,0]; _tmpObj = "HeliHEmpty" createVehicleLocal [0,0]; _tmpObj setpos _camPos; _camPosASL = getPosASL _tmpObj; _tmpObj setpos _camDirPos; _camDirPosASL = getPosASL _tmpObj; _tmpObj setpos _camUpPos; _camUpPosASL = getPosASL _tmpObj; _vecDirCam = [_camPosASL, _camDirPosASL] call fVectorTo; _vecUpCam = [_camPosASL, _camUpPosASL] call fVectorTo; _tmpObj setpos _camPos; _tmpObj setVectorDir _vecDirCam; _tmpObj setVectorUp _vecUpCam; _relPos = _tmpObj worldToModel _worldPos; deleteVehicle _tmpObj; _fov = 0.7; _aspectRatio = 4/3; _scrDis = _relPos select 1; _d = 2*tan(deg _fov) * _scrDis; _h = _d/sqrt(_aspectRatio*_aspectRatio + 1); _w = _h * _aspectRatio; _x = (_relPos select 0)/_w; _y = (_relPos select 2)/_h; _x = _x + 0.5; _y = 0.5 - _y; [_x,_y] needs VectorLib.sqf (not all of its functions): <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">fVectorAdd = { private['_v1','_v2','_f']; _v1 = _this select 0; _v2 = _this select 1; _f = if (count _this > 2) then { _this select 2 } else { 1 }; [(_v1 select 0) + _f * (_v2 select 0), (_v1 select 1) + _f * (_v2 select 1), (_v1 select 2) + _f * (_v2 select 2)] }; fVectorLength = { sqrt( ((_this select 0)^2) + ((_this select 1)^2) + ((_this select 2)^2) ) }; fVectorNormalize = { private['_l']; _l = _this call fVectorLength; if (_l != 0) then { [(_this select 0) / _l, (_this select 1) / _l, (_this select 2) / _l] } else { [0,0,0] } }; fVectorSubstract = { private['_v1','_v2','_f']; _v1 = _this select 0; _v2 = _this select 1; _f = if (count _this > 2) then { _this select 2 } else { 1 }; [(_v1 select 0) - _f * (_v2 select 0), (_v1 select 1) - _f * (_v2 select 1), (_v1 select 2) - _f * (_v2 select 2)] }; fVectorTo = { [_this select 1, _this select 0] call fVectorSubstract }; fVectorProduct = { private['_v1','_v2','_sp']; _v1 = _this select 0; _v2 = _this select 1; _sp= if (count _this > 2) then { _this select 2 } else { false }; if (_v2 in [_v2]) then { [_v2 * (_v1 select 0), _v2 * (_v1 select 1), _v2 * (_v1 select 2)] } else { if (_sp) then { (_v1 select 0)*(_v2 select 0) + (_v1 select 1)*(_v2 select 1) + (_v1 select 2)*(_v2 select 2) } else { [ (_v1 select 1)*(_v2 select 2) - (_v1 select 2)*(_v2 select 1), - ((_v1 select 0)*(_v2 select 2) - (_v1 select 2)*(_v2 select 0)), (_v1 select 0)*(_v2 select 1) - (_v1 select 1)*(_v2 select 0) ] } } }; fVectorAngle = { private['_v1','_v2','_v1l','_v2l', '_result']; _v1 = _this select 0; if(count _this > 1)then { _v2 = _this select 1; } else { _v2 = [_v1 select 0, _v1 select 1, 0]; }; _v1l = _v1 call fVectorLength; _v2l = _v2 call fVectorLength; if ((_v1l * _v2l) != 0) then { _result = acos(([_v1, _v2, true] call fVectorProduct) / (_v1l * _v2l)) } else { _result = 0; }; _result }; fVectorSide = { private['_vDir','_vUp']; _vDir = vectorDir _this; _vUp = vectorUp _this; ([_vDir,_vUp] call fVectorProduct) call fVectorNormalize };
  20. p3d is MLOD, so not binarized
  21. I guess it is simple not possible. The only way that it would work with rtms is the way you already tried.
  22. Make two listboxes with different sizes and only display the needed one. Probably the easiest workaround.
×