Announcement

Collapse

The Infinity Blade Forums Have Moved

We've launched brand new Infinity Blade forums with improved features and revamped layout. We've also included a complete archive of the previous posts. Come check out the new Infinity Blade forums.
See more
See less

Scripting sucks...

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Scripting sucks...

    ok i made a vehicle in maya, smooth skinned it, made a character set, and then exported it as ONSUFO.ukx the model is ONSUFO.ONSUFO btw. then i edited the amnta scrip but when i try to compile it, i get this
    Analyzing...
    Parsing ONSUFO
    Compiling ONSUFO
    Importing Defaults for ONSUFO
    Error opening file

    History: UObject::SavePackage <- UMakeCommandlet::Main

    Exiting due to error

    Heres the script which is saved in UT2004\System\ONSUFO\Classes\ONSUFO


    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------
    class ONSUFO extends ONSHoverCraft;

    #exec OBJ LOAD FILE=..\Animations\ONSVehicles-A.ukx
    #exec OBJ LOAD FILE=..\Sounds\ONSVehicleSounds-S.uax
    #exec OBJ LOAD FILE=..\textures\EpicParticles.utx
    #exec OBJ LOAD FILE=..\StaticMeshes\ONSWeapons-SM
    #exec OBJ LOAD FILE=..\textures\VMVehicles-TX.utx

    var() float MaxPitchSpeed;

    var() float JumpDuration;
    var() float JumpForceMag;
    var float JumpCountdown;
    var float JumpDelay, LastJumpTime;

    var() float DuckDuration;
    var() float DuckForceMag;
    var float DuckCountdown;

    var() array<vector> BikeDustOffset;
    var() float BikeDustTraceDistance;

    var() sound JumpSound;
    var() sound DuckSound;

    // Force Feedback
    var() string JumpForce;

    var array<ONSHoverBikeHoverDust> BikeDust;
    var array<vector> BikeDustLastNormal;

    var bool DoBikeJump;
    var bool OldDoBikeJump;

    var bool DoBikeDuck;
    var bool OldDoBikeDuck;
    var bool bHoldingDuck;

    replication
    {
    reliable if (bNetDirty && Role == ROLE_Authority)
    DoBikeJump;
    }

    function Pawn CheckForHeadShot(Vector loc, Vector ray, float AdditionalScale)
    {
    local vector X, Y, Z, newray;

    GetAxes(Rotation,X,Y,Z);

    if (Driver != None)
    {
    // Remove the Z component of the ray
    newray = ray;
    newray.Z = 0;
    if (abs(newray dot X) < 0.7 && Driver.IsHeadShot(loc, ray, AdditionalScale))
    return Driver;
    }

    return None;
    }

    simulated function Destroyed()
    {
    local int i;

    if (Level.NetMode != NM_DedicatedServer)
    {
    for (i = 0; i < BikeDust.Length; i++)
    BikeDust[i].Destroy();

    BikeDust.Length = 0;
    }

    Super.Destroyed();
    }

    simulated function DestroyAppearance()
    {
    local int i;

    if (Level.NetMode != NM_DedicatedServer)
    {
    for (i = 0; i < BikeDust.Length; i++)
    BikeDust[i].Destroy();

    BikeDust.Length = 0;
    }

    Super.DestroyAppearance();
    }

    function bool Dodge(eDoubleClickDir DoubleClickMove)
    {
    Rise = 1;
    return true;
    }

    function ChooseFireAt(Actor A)
    {
    if (Pawn(A) != None && Vehicle(A) == None && VSize(A.Location - Location) < 1500 && Controller.LineOfSightTo(A))
    {
    if (!bWeaponIsAltFiring)
    AltFire(0);
    }
    else if (bWeaponIsAltFiring)
    VehicleCeaseFire(true);

    Fire(0);
    }

    simulated event DrivingStatusChanged()
    {
    local int i;

    Super.DrivingStatusChanged();

    if (bDriving && Level.NetMode != NM_DedicatedServer && BikeDust.Length == 0 && !bDropDetail)
    {
    BikeDust.Length = BikeDustOffset.Length;
    BikeDustLastNormal.Length = BikeDustOffset.Length;

    for(i=0; i<BikeDustOffset.Length; i++)
    if (BikeDust[i] == None)
    {
    BikeDust[i] = spawn( class'ONSHoverBikeHoverDust', self,, Location + (BikeDustOffset[i] >> Rotation) );
    BikeDust[i].SetDustColor( Level.DustColor );
    BikeDustLastNormal[i] = vect(0,0,1);
    }
    }
    else
    {
    if (Level.NetMode != NM_DedicatedServer)
    {
    for(i=0; i<BikeDust.Length; i++)
    BikeDust[i].Destroy();

    BikeDust.Length = 0;
    }
    JumpCountDown = 0.0;
    }
    }

    simulated function Tick(float DeltaTime)
    {
    local float EnginePitch, HitDist;
    local int i;
    local vector TraceStart, TraceEnd, HitLocation, HitNormal;
    local actor HitActor;
    local Emitter JumpEffect;

    Super.Tick(DeltaTime);

    EnginePitch = 64.0 + VSize(Velocity)/MaxPitchSpeed * 64.0;
    SoundPitch = FClamp(EnginePitch, 64, 128);

    JumpCountdown -= DeltaTime;

    CheckJumpDuck();

    if(DoBikeJump != OldDoBikeJump)
    {
    JumpCountdown = JumpDuration;
    OldDoBikeJump = DoBikeJump;
    if (Controller != Level.GetLocalPlayerController())
    {
    JumpEffect = Spawn(class'ONSHoverBikeJumpEffect');
    JumpEffect.SetBase(Self);
    ClientPlayForceFeedback(JumpForce);
    }
    }

    if(Level.NetMode != NM_DedicatedServer && !bDropDetail)
    {
    for(i=0; i<BikeDust.Length; i++)
    {
    BikeDust[i].bDustActive = false;

    TraceStart = Location + (BikeDustOffset[i] >> Rotation);
    TraceEnd = TraceStart - ( BikeDustTraceDistance * vect(0,0,1) );

    HitActor = Trace(HitLocation, HitNormal, TraceEnd, TraceStart, True);

    if(HitActor == None)
    {
    BikeDust[i].UpdateHoverDust(false, 0);
    }
    else
    {
    HitDist = VSize(HitLocation - TraceStart);

    BikeDust[i].SetLocation( HitLocation + 10*HitNormal);

    BikeDustLastNormal[i] = Normal( 3*BikeDustLastNormal[i] + HitNormal );
    BikeDust[i].SetRotation( Rotator(BikeDustLastNormal[i]) );

    BikeDust[i].UpdateHoverDust(true, HitDist/BikeDustTraceDistance);

    // If dust is just turning on, set OldLocation to current Location to avoid spawn interpolation.
    if(!BikeDust[i].bDustActive)
    BikeDust[i].OldLocation = BikeDust[i].Location;

    BikeDust[i].bDustActive = true;
    }
    }
    }
    }

    function VehicleCeaseFire(bool bWasAltFire)
    {
    Super.VehicleCeaseFire(bWasAltFire);

    if (bWasAltFire)
    bHoldingDuck = False;
    }

    simulated function float ChargeBar()
    {
    // Clamp to 0.999 so charge bar doesn't blink when maxed
    if (Level.TimeSeconds - JumpDelay < LastJumpTime)
    return (FMin((Level.TimeSeconds - LastJumpTime) / JumpDelay, 0.999));
    else
    return 0.999;
    }

    simulated function CheckJumpDuck()
    {
    local KarmaParams KP;
    local Emitter JumpEffect, DuckEffect;
    local bool bOnGround;
    local int i;

    KP = KarmaParams(KParams);

    // Can only start a jump when in contact with the ground.
    bOnGround = false;
    for(i=0; i<KP.Repulsors.Length; i++)
    {
    if( KP.Repulsors[i] != None && KP.Repulsors[i].bRepulsorInContact )
    bOnGround = true;
    }

    // If we are on the ground, and press Rise, and we not currently in the middle of a jump, start a new one.
    if (JumpCountdown <= 0.0 && Rise > 0 && bOnGround && !bHoldingDuck && Level.TimeSeconds - JumpDelay >= LastJumpTime)
    {
    PlaySound(JumpSound,,1.0);

    if (Role == ROLE_Authority)
    DoBikeJump = !DoBikeJump;

    if(Level.NetMode != NM_DedicatedServer)
    {
    JumpEffect = Spawn(class'ONSHoverBikeJumpEffect');
    JumpEffect.SetBase(Self);
    ClientPlayForceFeedback(JumpForce);
    }

    if ( AIController(Controller) != None )
    Rise = 0;

    LastJumpTime = Level.TimeSeconds;
    }
    else if (DuckCountdown <= 0.0 && (Rise < 0 || bWeaponIsAltFiring))
    {
    if (!bHoldingDuck)
    {
    bHoldingDuck = True;

    PlaySound(DuckSound,,1.0);

    DuckEffect = Spawn(class'ONSHoverBikeDuckEffect');
    DuckEffect.SetBase(Self);

    if ( AIController(Controller) != None )
    Rise = 0;

    JumpCountdown = 0.0; // Stops any jumping that was going on.
    }
    }
    else
    bHoldingDuck = False;
    }

    simulated function KApplyForce(out vector Force, out vector Torque)
    {
    Super.KApplyForce(Force, Torque);

    if (bDriving && JumpCountdown > 0.0)
    {
    Force += vect(0,0,1) * JumpForceMag;
    }

    if (bDriving && bHoldingDuck)
    {
    Force += vect(0,0,-1) * DuckForceMag;
    }
    }

    static function StaticPrecache(LevelInfo L)
    {
    Super.StaticPrecache(L);

    L.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.HoverExploded.HoverWing');
    L.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehicles-SM.HoverExploded.HoverChair');
    L.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris2');
    L.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris1');
    L.AddPrecacheStaticMesh(StaticMesh'ONSWeapons-SM.PC_MantaJumpBlast');

    L.AddPrecacheMaterial(Material'ExplosionTex.Framed .exp2_frames');
    L.AddPrecacheMaterial(Material'ExplosionTex.Framed .exp1_frames');
    L.AddPrecacheMaterial(Material'ExplosionTex.Framed .we1_frames');
    L.AddPrecacheMaterial(Material'AW-2004Particles.Fire.MuchSmoke1');
    L.AddPrecacheMaterial(Material'AW-2004Particles.Fire.NapalmSpot');
    L.AddPrecacheMaterial(Material'EpicParticles.Fire. SprayFire1');
    L.AddPrecacheMaterial(Material'WeaponSkins.Skins.R ocketTex0');
    L.AddPrecacheMaterial(Material'AW-2004Particles.Energy.JumpDuck');
    L.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.hovercraftFANSblurTEX');
    L.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.hoverCraftRED');
    L.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.hoverCraftBLUE');
    L.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.NewHoverCraftNOcolor');
    L.AddPrecacheMaterial(Material'AW-2004Particles.Energy.AirBlast');
    L.AddPrecacheMaterial(Material'AW-2004Particles.Weapons.SmokePanels2');
    L.AddPrecacheMaterial(Material'Engine.GRADIENT_Fad e');

    }

    simulated function UpdatePrecacheStaticMeshes()
    {
    Level.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehi cles-SM.HoverExploded.HoverWing');
    Level.AddPrecacheStaticMesh(StaticMesh'ONSDeadVehi cles-SM.HoverExploded.HoverChair');
    Level.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris2');
    Level.AddPrecacheStaticMesh(StaticMesh'AW-2004Particles.Debris.Veh_Debris1');
    Level.AddPrecacheStaticMesh(StaticMesh'ONSWeapons-SM.PC_MantaJumpBlast');
    Level.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.hovercraftFANSblurTEX');

    Super.UpdatePrecacheStaticMeshes();
    }

    simulated function UpdatePrecacheMaterials()
    {
    Level.AddPrecacheMaterial(Material'ExplosionTex.Fr amed.exp2_frames');
    Level.AddPrecacheMaterial(Material'ExplosionTex.Fr amed.exp1_frames');
    Level.AddPrecacheMaterial(Material'ExplosionTex.Fr amed.we1_frames');
    Level.AddPrecacheMaterial(Material'AW-2004Particles.Fire.MuchSmoke1');
    Level.AddPrecacheMaterial(Material'AW-2004Particles.Fire.NapalmSpot');
    Level.AddPrecacheMaterial(Material'EpicParticles.F ire.SprayFire1');
    Level.AddPrecacheMaterial(Material'WeaponSkins.Ski ns.RocketTex0');
    Level.AddPrecacheMaterial(Material'AW-2004Particles.Energy.JumpDuck');
    Level.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.hoverCraftRED');
    Level.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.hoverCraftBLUE');
    Level.AddPrecacheMaterial(Material'VMVehicles-TX.HoverBikeGroup.NewHoverCraftNOcolor');
    Level.AddPrecacheMaterial(Material'AW-2004Particles.Energy.AirBlast');
    Level.AddPrecacheMaterial(Material'AW-2004Particles.Weapons.SmokePanels2');
    Level.AddPrecacheMaterial(Material'Engine.GRADIENT _Fade');

    Super.UpdatePrecacheMaterials();
    }

    defaultproperties
    {
    MaxPitchSpeed=1000.000000
    JumpDuration=0.220000
    JumpForceMag=100.000000
    JumpDelay=3.000000
    DuckForceMag=150.000000
    BikeDustOffset(0)=(X=25.000000,Y=80.000000,Z=10.00 0000)
    BikeDustOffset(1)=(X=25.000000,Y=-80.000000,Z=10.000000)
    BikeDustTraceDistance=200.000000
    JumpSound=ONSVehicleSounds-S.HoverBike.HoverBikeJump05
    DuckSound=ONSVehicleSounds-S.HoverBike.HoverBikeTurbo01
    JumpForce="HoverBikeJump"
    ThrusterOffsets(0)=(X=95.000000,Z=10.000000)
    ThrusterOffsets(1)=(X=-10.000000,Y=80.000000,Z=10.000000)
    ThrusterOffsets(2)=(X=-10.000000,Y=-80.000000,Z=10.000000)
    HoverSoftness=0.090000
    HoverPenScale=1.000000
    HoverCheckDist=150.000000
    UprightStiffness=500.000000
    UprightDamping=300.000000
    MaxThrustForce=27.000000
    LongDamping=0.020000
    MaxStrafeForce=20.000000
    LatDamping=0.100000
    TurnTorqueFactor=1000.000000
    TurnTorqueMax=125.000000
    TurnDamping=40.000000
    MaxYawRate=1.500000
    PitchTorqueFactor=200.000000
    PitchTorqueMax=9.000000
    PitchDamping=20.000000
    RollTorqueTurnFactor=450.000000
    RollTorqueStrafeFactor=50.000000
    RollTorqueMax=12.500000
    RollDamping=30.000000
    StopThreshold=100.000000
    DriverWeapons(0)=(WeaponClass=Onslaught.ONSHoverBi kePlasmaGun,WeaponBone="PlasmaGunAttachment")
    bHasAltFire=False
    RedSkin=Shader'VMVehicles-TX.HoverBikeGroup.HoverBikeChassisFinalRED'
    BlueSkin=Shader'VMVehicles-TX.HoverBikeGroup.HoverBikeChassisFinalBLUE'
    IdleSound=ONSVehicleSounds-S.HoverBike.HoverBikeEng02
    StartUpSound=ONSVehicleSounds-S.HoverBike.HoverBikeStart01
    ShutDownSound=ONSVehicleSounds-S.HoverBike.HoverBikeStop01
    StartUpForce="HoverBikeStartUp"
    ShutDownForce="HoverBikeShutDown"
    DestroyedVehicleMesh=ONSDeadVehicles-SM.HoverBikeDead
    DestructionEffectClass=Onslaught.ONSSmallVehicleEx plosionEffect
    DisintegrationEffectClass=Onslaught.ONSVehDeathHov erBike
    DestructionLinearMomentum=(Min=62000.000000,Max=10 0000.000000)
    DestructionAngularMomentum=(Min=25.000000,Max=75.0 00000)
    DamagedEffectScale=0.600000
    DamagedEffectOffset=(X=50.000000,Y=-25.000000,Z=10.000000)
    ImpactDamageMult=0.000100
    HeadlightCoronaOffset(0)=(X=73.000000,Y=10.000000, Z=14.000000)
    HeadlightCoronaOffset(1)=(X=73.000000,Y=-10.000000,Z=14.000000)
    HeadlightCoronaMaterial=Texture'EpicParticles.Flar es.FlashFlare1'
    HeadlightCoronaMaxSize=60.000000
    bDrawDriverInTP=True
    bTurnInPlace=True
    bShowDamageOverlay=True
    bScriptedRise=True
    bShowChargingBar=True
    bDriverHoldsFlag=False
    bCanCarryFlag=False
    DrivePos=(X=-18.438000,Z=60.000000)
    ExitPositions(0)=(Y=300.000000,Z=100.000000)
    ExitPositions(1)=(Y=-300.000000,Z=100.000000)
    ExitPositions(2)=(X=350.000000,Z=100.000000)
    ExitPositions(3)=(X=-350.000000,Z=100.000000)
    ExitPositions(4)=(X=-350.000000,Z=-100.000000)
    ExitPositions(5)=(X=350.000000,Z=-100.000000)
    ExitPositions(6)=(Y=300.000000,Z=-100.000000)
    ExitPositions(7)=(Y=-300.000000,Z=-100.000000)
    EntryRadius=140.000000
    FPCamPos=(Z=50.000000)
    TPCamDistance=500.000000
    TPCamLookat=(X=0.000000,Z=0.000000)
    TPCamWorldOffset=(Z=120.000000)
    VehiclePositionString="in a Manta"
    VehicleNameString="Manta"
    RanOverDamageType=Onslaught.DamTypeHoverBikeHeadsh ot
    CrushedDamageType=Onslaught.DamTypeHoverBikePancak e
    ObjectiveGetOutDist=750.000000
    FlagBone="HoverCraft"
    FlagOffset=(Z=45.000000)
    FlagRotation=(Yaw=32768)
    HornSounds(0)=ONSVehicleSounds-S.Horns.Horn02
    HornSounds(1)=ONSVehicleSounds-S.Horns.La_Cucharacha_Horn
    bCanStrafe=True
    MeleeRange=-100.000000
    GroundSpeed=2000.000000
    HealthMax=200.000000
    Health=200
    Mesh=SkeletalMesh'ONSUFO.ONSUFO'
    SoundRadius=900.000000
    Begin Object Class=KarmaParamsRBFull Name=KParams0
    KInertiaTensor(0)=1.300000
    KInertiaTensor(3)=4.000000
    KInertiaTensor(5)=4.500000
    KLinearDamping=0.150000
    KAngularDamping=0.000000
    KStartEnabled=True
    bHighDetailOnly=False
    bClientOnly=False
    bKDoubleTickRate=True
    bKStayUpright=True
    bKAllowRotate=True
    bDestroyOnWorldPenetrate=True
    bDoSafetime=True
    KFriction=0.500000
    KImpactThreshold=700.000000
    End Object
    KParams=KarmaParamsRBFull'ONSUFO.KParams0'

    }

  • #2
    I think you need to get a better grasp on the concept of object oriented programming. There's a lot of information on it out there in the ether, you just need to search for it.

    You've extended ONSHoverCraft, which means that your new class contains everything that ONSHoverCraft contains automatically, you don't need to copy across all the code as well, only override things you need to change.

    So, try changing your script to look more like this:
    Code:
    class ONSUFO extends ONSHoverCraft;
    
    defaultproperties
    {
    	 Mesh=SkeletalMesh'ONSUFO.ONSUFO'
    }
    EDIT: I mean you should extend ONSHoverBike rather than copying it over, not extend ONSHoverCraft.

    Comment


    • #3
      Well damn I just learned something.

      So Snow...when you exported it from maya into unreal, in the export window did you name the package ONSUFO and the name ONSUFO?

      I made a crappy lookin drop ship that flies and all and I extended it from the raptor and it works fine....just cant figure out how to get the back door to be solid and open/close when I press the alt fire.

      Comment


      • #4
        Orion Pax, you're gonna need to modify the skeletal rig and animation then make it so the secondary fire triggers the open/close animation for the back door instead of the negative vertical boost the raptor originally had.

        Comment


        • #5
          triggering the open/close anime isnt the problem....the problem is making the door solid and able to move it with out having to use a collision box. If I put in a collision box then no one can get in.

          plus i dont know how to export my animations separately.

          and negative vertical boost? Thats the manta your thinking about! lol....

          any who back to his topic

          Comment


          • #6
            yes i exported it as ONSUFO.ONSUFO

            i changed what u said and got this

            Analyzing... Parsing ONSUFO Compiling ONSUFO Importing Defaults for ONSUFO Error opening file History: UObject::SavePackage <- UMakeCommandlet::Main Exiting due to error

            Comment


            • #7
              might be throwing a fit cause the folders in the wrong place.

              You want it as UT2004/ONSUFO not UT2004/system/ONSUFO

              and make sure it's setup right with editpackages in the .ini files.

              Go into unrealEd and bring up the actor browser, uncheck the use actor as parent and placeables only boxes then go to file and export all.
              This will give you the majority of the games source code inside new folders under /UT2004/...


              Anyone have any idea when the UDE version of WOTgreal will be released? it used to rule when scripting ut2003.

              Comment


              • #8
                I didnt even notice that. The file structure should be like this

                ut2004/ONSUFO/Classes

                and your ONSUFO.uc file should be in the classes folder

                then in your ut2004.ini file look for the section that has the "EDITPACKAGES=" in it and add EDITPACKAGES=ONSUFO
                make sure to add it to the end of the rest editpackages or else it wont compile correctly. It has to find them in order

                Comment


                • #9
                  Originally posted by Verizian
                  Anyone have any idea when the UDE version of WOTgreal will be released? it used to rule when scripting ut2003.
                  One can hope very very soon. I've given it into Epic's hands, now we wait and see. On the same note, there is a new version of WOTgreal (the same version as the UDE in fact) that fully supports UT2004, including the mod architecture.

                  Comment


                  • #10
                    ok i moved the folder and am now getting this
                    now it says Object Property Engine.Actor.Mesh: unresolved reference to 'skeletalmesh'car."
                    Object Property Engine.Actor.Kparams: unresolved reference to 'karmaparamsrbfull'car.kparams0"

                    Comment


                    • #11
                      the script you posted above says Mesh=SkeletalMesh'ONSUFO.ONSUFO'
                      for your mesh. if you changed it change it back to that.

                      and your script also says
                      KParams=KarmaParamsRBFull'ONSUFO.KParams0'
                      if you changed that then you need to change it back to that

                      other than that, this is all i can think of......

                      do you have your directories setup like this
                      c:\ut2004\ONSUFO\Classes
                      with ONSUFO.uc inside of the Classes folder? Just making sure that you understand what we were talking about....

                      Comment


                      • #12
                        ok i just had to delete the other ONSUFO folders...
                        so now i see the vehicle in the list in the actors list adn i added it to Ons-Torlon1 (a copy of torlon =P) and it doesnt show up... what should i do?

                        Comment


                        • #13
                          did you add collision boxes to your vehicle in the ANIMATIONS browser? That needs to be done. Your vehicle wont move untill you do that. Make sure to make the collision boxes as close to the vehicle as possible!

                          Next which method are you using to add it to the map? right now just for testing I am using a PAWN

                          in the actors browser click on PAWN->VEHICLE->SVEHICLE->ONSVEHICLE->ONSHOVERCRAFT->ONSUFO

                          make sure its highlighted and you can close the browser

                          right click in any of the views and select ADD ONSUFO HERE

                          Comment


                          • #14
                            yes thats what i used. when i add the colision boxes as they did in the VTM, i never actaully see it like they do...

                            Comment


                            • #15
                              in the animations browser click on VIEW then click on COLLISIONS

                              I had to figure that out on my own

                              ehhh...email me the script file and I will give it a try and see what I can do....not sure any more at this point....

                              admin@3dstormgames.com

                              Comment

                              Working...
                              X