PDA

View Full Version : Scripting sucks...



legacy-CallMeSnow
04-06-2004, 06:49 PM
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'

}

legacy-Mr Evil
04-06-2004, 09:06 PM
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:

class ONSUFO extends ONSHoverCraft;

defaultproperties
{
Mesh=SkeletalMesh'ONSUFO.ONSUFO'
}

EDIT: I mean you should extend ONSHoverBike rather than copying it over, not extend ONSHoverCraft.

legacy-Orion Pax
04-06-2004, 09:52 PM
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.

legacy-Max_Capacitor
04-06-2004, 10:22 PM
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.

legacy-Orion Pax
04-06-2004, 10:58 PM
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

legacy-CallMeSnow
04-07-2004, 12:25 AM
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

legacy-Verizian
04-07-2004, 04:31 AM
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.

legacy-Orion Pax
04-07-2004, 09:24 AM
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

legacy-Harmeister
04-07-2004, 11:28 AM
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.

legacy-CallMeSnow
04-07-2004, 05:00 PM
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"

legacy-Orion Pax
04-07-2004, 05:07 PM
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....

legacy-CallMeSnow
04-07-2004, 06:20 PM
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?

legacy-Orion Pax
04-07-2004, 07:11 PM
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

legacy-CallMeSnow
04-07-2004, 07:24 PM
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...

legacy-Orion Pax
04-07-2004, 08:06 PM
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

legacy-Orion Pax
04-08-2004, 03:21 PM
well I can get it to compile fine. Oh and your collision boxes where a WEEEE bit too big....i reduced it by MANY MANY SIZES. I will send you the new animation file for ya. To be able to see the collision boxes when you make them in the animations browser click on VIEW->COLLISION BOXES and you will see them. If you dont change one of the boxes one time and change em back and it should show up. If you still dont see them then they are too small ( I did this once).

Now...I am having one little difficulty. Right when my map loads and your at the screen where it says press fire to begin. The ship just starts blowing up.

I think its your skeleton in your ship. You need it to be INSIDE of the ship or close to its geometry. I open the animations browser and click VIEW->BONES and i see 1 line going straight up/down from the center of your ship and the bottom of it sticks WAY down from your ship. Do this:

1. Delete your skeleton
2. In ANY VIEW OTHER THAN PERSPECTIVE (dont use perspective view)
3. Put one joint right in the middle of the ship, DEAD CENTER
4. Put your second one in the front.
5. Now press K to reset the joint tool
6. Select your first joint with the joint tool
7. Put your 3rd joint at the rear
8. In your outliner name them ROOT, FRONT, REAR
9. SKIN IT
10. RE-EXPORT it
11. send it to me to test!

You have only 1 joint in there dont ya?

legacy-CallMeSnow
04-08-2004, 06:04 PM
ok i sent it.

legacy-Orion Pax
04-08-2004, 06:06 PM
Nice ufo by the way...and its not too small.....i think its fine....

legacy-CallMeSnow
04-08-2004, 06:24 PM
ty :)
im going to add a jet engine in the back where its raised up, but i was just eager to get a vehicle in the game first.

legacy-Orion Pax
04-08-2004, 07:08 PM
oh and you will need to rotate it so its facing forward in maya or 3ds what ever your using.

right now i am having trouble with it...I can get in it but I cant fly it.....weird.....

legacy-Orion Pax
04-08-2004, 07:24 PM
other than the rotation of the mesh its working now....

now what i would do is add two joints to the little bumps near the cockpit...it looks like your going to put two weapons there....

1. select the joint tool
2. in the top view port select your root joint
3. now click in the left bump
4. press K to reset the joint tool
5. in the top view port select your root joint again
6. now lick in the right bump
7. name the left joint leftweaponbone
8. name the right joint rightweaponbone
9. select your select tool
10. select your root joint so your selecting every thing
11. now rotate it all so its facing forward...i cant remember which way that is...lol.....you will have to just look at every view port to figure that out....lets put it like this....

your ship flies side ways...the engine is to my left and the front of it is to my right and i am facing the left side of the vehicle

legacy-CallMeSnow
04-08-2004, 07:43 PM
those r lights =P
btw did u edit the file i sent u?
if so i need that

legacy-Orion Pax
04-08-2004, 09:41 PM
oh yeah i sent it....DUH...forgot to tell ya..if you havent figure that out yet....

to be honest it worked fine....im not sure if you setup the folders correctly.....or setup your INI file right.....if you still have errors post your directory structure and your ut2004.ini file and i will see if that is your compiling problem

the only problems you had with your script was the weapon bone...and the name of the vehicle....every thing was fine in it...so its not your scripting that sucks...its your setup! :D

legacy-CallMeSnow
04-08-2004, 10:50 PM
well i used the new .uc file and ukx file and it still wont move :(

legacy-Orion Pax
04-08-2004, 10:55 PM
yeah cuz i dont think you set your collision box correctly.....

offset
z=0.4

radii
x=6.5
y=6.5
z=1

make sure your bone name is set to root
and 1's in the bBlock.... sections

after that is should work

legacy-CallMeSnow
04-08-2004, 11:08 PM
i just dont get it. i add exactly what u say and then i save it but when i reopen it my collision boxes are gone..

legacy-Orion Pax
04-08-2004, 11:15 PM
oh yeah duh...once you resave your animations file after the changes you have to recompile your script. I dont know why but you do!

If you use msn add me to your list, same email address!