xezon 0 Posted June 26, 2004 Hi Guys, the last two days I worked on a new little project - a lifting platform. With that object you can move up and down to reach higher positions. You don't any scripts for animating or something else, only to activate the different commands to move up and down. If you are interested watch this movie: http://home.arcor.de/parvus/Mr.Burns/Lift_for_OFP.wmv 4,20 MB, 1 min Thanks to Parvus for hosting, thanks to Falcon for modeling and thanks Jeff for helping a bit  Feedback is welcome! Share this post Link to post Share on other sites
NeMeSiS 11 Posted June 26, 2004 sounds usefull, downloading now! Share this post Link to post Share on other sites
Sgt.Che 0 Posted June 26, 2004 Moin xezon, didn't u say that PinguShooting would be your last OFP project. Keep on working. Share this post Link to post Share on other sites
xezon 0 Posted June 26, 2004 Well I make Pingushooting V3.0 now - for the BIS Mapper Competition. PS: Pingu is now playable! Share this post Link to post Share on other sites
BraTTy 0 Posted June 26, 2004 Good stuff there,nice work. I am curious how you made the thing fall apart when it fell over. Nice video and you do realize that you can only lift active objects. Share this post Link to post Share on other sites
xezon 0 Posted June 26, 2004 Nice video and you do realize that you can only lift active objects. Thats right, but with a little additional script you can lift static object as well, no problem. Share this post Link to post Share on other sites
cbfasi 4 Posted June 26, 2004 Glad to see the lift principal in use somewhere other than aircraft carrier elevators, great work. Share this post Link to post Share on other sites
TYsiEK 0 Posted June 26, 2004 Are you using multiple animations ? I'm making V-22 Osprey and I need to make multiple animation to move engine and rotors once. Share this post Link to post Share on other sites
xezon 0 Posted June 27, 2004 Are you using multiple animations ? Of course. Share this post Link to post Share on other sites
-ZG-BUZZARD 0 Posted June 27, 2004 Umm... one question, is this addon available somewhere? Cuz it's just too damn useful for taking screenshots!!! ME WANTS ZHIS!!! PLZ!!! P.S.: As it is a vehicle, is it driveable or towable?? Share this post Link to post Share on other sites
wizzywig 0 Posted June 27, 2004 i also would like to test a early beta of this also maybe a tute on animations would also be cool Share this post Link to post Share on other sites
xezon 0 Posted June 27, 2004 No it's not a vehicle for driving around (there's no place for a driver and no drivingwheel ) . I will release it with my next version of Pingushooting (for the BIS Competition). Share this post Link to post Share on other sites
Pappy Boyington 0 Posted June 27, 2004 No it's not a vehicle for driving around (there's no place for a driver and no drivingwheel ) . I will release it with my next version of Pingushooting (for the BIS Competition). Â one suggestion on pingushooting make it multiplayer (for at least 2 players) sorry to get off topic Share this post Link to post Share on other sites
xezon 0 Posted June 28, 2004 I have no idea how to make it MP compatible. The last three years I maked only SP missions. Maybe someone help me... Share this post Link to post Share on other sites
-ZG-BUZZARD 0 Posted June 28, 2004 No it's not a vehicle for driving around (there's no place for a driver and no drivingwheel ) . I will release it with my next version of Pingushooting (for the BIS Competition). Â Is it or could you make it tow-able then? That would be soooo cool!! Share this post Link to post Share on other sites
Nathanz 0 Posted June 30, 2004 Whoaaa  When it tips over and crashes is soo cool  Something like that would be VERY cool if it were used for a plane crashing etc  edit: Or a bridge... Share this post Link to post Share on other sites
WackyIraqi 2 Posted June 30, 2004 it would be easy to make it drive, just like in real life, the controls where u make it go up and down, also have the moving controls for driving, drives with a joystick i think, but i dont think these ofp guys were ever handed a gameboy or something to them, only a car...... Share this post Link to post Share on other sites
xezon 0 Posted July 3, 2004 Ok, here is how i did it work: First I definied my object as a human: men. Take care at the memory in the p3d file and do not use Fire Geometry, just create that LOD and make a little Box in the ground. I just took the config by the TCP:TestDog makers and put in basic animations. But you don't need to make this object movable with animation, just define it as a soldier. Quote[/b] ]class CfgMovesMCHebebuehne: CfgMovesMC{ access=1; vehicleActions="CfgVehicleActions"; class Actions{...........................}; class StatesExt { class CivilBase: Default { aiming="aimingNo"; actions="CivilActions"; duty=-1; disableWeapons=1; interpolateTo[]={"CivilDying",0.100000,"CivilDyingVer2",0.100000}; interpolationSpeed=3; }; class Civil: CivilBase { file="\Pingu\anims\Hebbase.rtm"; speed=1; looped=1.5; soundEnabled=0; variantAfter[]={1,3,6}; variantsAI[]={"Civil",0.200000,"CivilStillV1",0.800000}; equivalentTo="Civil"; interpolateTo[]={"CombatThrowGrenadeStart",1,"CombatRunThrowGrenadeStart",1,"Civi lDying",0.100000,"CivilDyingVer2",0.100000}; interpolateFrom[]={"CombatThrowGrenadeEnd",1}; }; class CivilStillV1: Civil { actions="CivilActions"; file="\Pingu\anims\Hebbase.rtm"; speed=1; looped=0; soundEnabled=0; duty=-1; }; class CivilWalkF: CivilBase { file="\Pingu\anims\Hebbase.rtm"; speed=1; looped=0; duty=1.5; soundEnabled=1; relSpeedMin=0.700000; relSpeedMax=1.000000; }; class CivilWalkLF: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilWalkRF: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilWalkL: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilWalkR: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilWalkLB: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilWalkRB: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilWalkB: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunF: CivilWalkF { file="\Pingu\anims\Hebbase.rtm"; speed=1; looped=0; duty=-0.500000; soundEnabled=1; }; class CivilRunLF: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunRF: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunL: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunR: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunLB: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunRB: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilRunB: CivilRunF { file="\Pingu\anims\Hebbase.rtm"; }; class CivilDying: DefaultDie { actions = NoActions; file="\Pingu\anims\Hebbase.rtm"; speed=0.3; looped=false; onLandEnd=true; //soundEnabled=false; interpolateFrom[]={}; connectTo[]={CivilDead,1}; }; class CivilDead: CivilDying { actions = DeadActions; file="\Pingu\anims\Hebbase.rtm"; speed=SPEED_STATIC; looped=true; onLandBeg=true; onLandEnd=true; soundEnabled=false; terminal = true; // all movement stops here connectFrom[]={}; interpolateFrom[]={}; connectTo[]={DeadState,10}; variantsPlayer[]={CivilDead,0.5,CivilDeadVer2}; variantAfter[]={0,0,0}; // select variant immediatelly equivalentTo=CivilDead; }; class CivilDyingVer2: CivilDying { file="\Pingu\anims\Hebbase.rtm"; connectTo[]={CivilDeadVer2,1}; }; class CivilDeadVer2: CivilDead { file="\Pingu\anims\Hebbase.rtm"; }; }; class Interpolations{..................}; }; Hebbase.rtm is my static animation created with OFP Anim 0.98 by Dschulle. Now take a look at the playmove class. I just make my animation I need and put it in the playmove classes. Quote[/b] ]class CfgNonAIVehicles{};class CfgManActions{}; class CfgMovesMC { class Default {}; class DefaultDie: Default {}; class StandBase: Default {}; class States { // Lift playmove animations class Hebhoch: StandBase { actions = SitActions; file="\Pingu\anims\Hebhoch.rtm"; speed=0.2; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Hebrunter_static, 1, Hebrunter_static2, 1, Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebhoch_static: StandBase { actions = SitActions; file="\Pingu\anims\Hebbase2.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static2, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebhoch_static2: StandBase { actions = SitActions; file="\Pingu\anims\Hebbase2.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebrunter: StandBase { actions = SitActions; file="\Pingu\anims\Hebrunter.rtm"; speed=0.2; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Hebhoch_static, 1, Hebhoch_static2, 1, Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebrunter_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebrunter_static: StandBase { actions = SitActions; file="\Pingu\anims\Hebbase.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebrunter_static2, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebrunter_static2: StandBase { actions = SitActions; file="\Pingu\anims\Hebbase.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebrunter_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebkipp_static: StandBase { actions = SitActions; file="\Pingu\anims\Hebdead.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static2, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebkipp_static2: StandBase { actions = SitActions; file="\Pingu\anims\Hebdead.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebkipp: StandBase { actions = SitActions; file="\Pingu\anims\Hebdie.rtm"; speed=0.3; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Hebhoch_static, 1, Hebhoch_static2, 1, Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebkipp_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Heb_tuer_auf_static: StandBase { actions = SitActions; file="\Pingu\anims\Heb_tuer_auf_base.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Heb_tuer_auf_static2, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Heb_tuer_auf_static2: StandBase { actions = SitActions; file="\Pingu\anims\Heb_tuer_auf_base.rtm"; speed=99; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Heb_tuer_auf_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Heb_tuer_auf: StandBase { actions = SitActions; file="\Pingu\anims\Heb_tuer_auf.rtm"; speed=1; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Hebhoch_static, 1, Hebhoch_static2, 1, Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Heb_tuer_auf_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Heb_tuer_zu: StandBase { actions = SitActions; file="\Pingu\anims\Heb_tuer_zu.rtm"; speed=1; looped=0; soundEnabled=1; soundOverride=""; soundEdge1=0.1; soundEdge2=0.1; duty = RestDuty; interpolationSpeed=50; connectFrom[]={Heb_tuer_auf_static, 1, Heb_tuer_auf_static2, 1, Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; }; }; I have 5 animations: Hebhoch.rtm (move up) Hebrunter.rtm (move down) Hebdie.rtm (die, fall to ground) Heb_tuer_auf.rtm (open door) Heb_tuer_zu.rtm (close door) Additional I need static animation for each animation! Thats very important, cause if the lift move up, we want that he stays there until we say him he have to move down. Look at these important part of the playmove class: class Hebhoch: StandBase { actions = SitActions; file="\Pingu\anims\Hebhoch.rtm"; speed=0.2; looped=0; connectFrom[]={Hebrunter_static, 1, Hebrunter_static2, 1, Civil, 1, Stand, 1, StandVar2, 1, StandVar3, 1}; connectTo[]={Hebhoch_static, 1}; interpolateTo[]={StandDying,0.1,StandDyingVer2,0.1};          }; class Hebhoch_static: StandBase { file="\Pingu\anims\Hebbase2.rtm"; speed=99; looped=0; connectTo[]={Hebhoch_static2, 1};        }; class Hebhoch_static2: StandBase { file="\Pingu\anims\Hebbase2.rtm"; speed=99; looped=0; connectTo[]={Hebhoch_static, 1};       }; I created class Hebhoch for the animation to move up. It is connected from the static move up animation and it connect to the 2 way static move up postion. Hebhoch_static connect to Hebhoch_static2 and Hebhoch_static2 to Hebhoch_static. The result is a loop all the time. These loop has the effect, that you can start now a new animation. Have a look at the time intervall (99 = small time). These two animations looped very fast to each other. If you tell the Lift, he have to open his door just write (UNIT playmove "Heb_tuer_auf"). Hope you understand this, my english is not great  If you do that part of the config you can simply add the animated objects as a proxy to vehicles for nice animations at the vehicle. The animation object is like a soldier who sits in the vehicle and drive it.  Share this post Link to post Share on other sites