Announcement

Collapse
No announcement yet.

Looking for a video tutorial on vehicles

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

  • replied
    Hey Deggenyr. Karma physics Planes are kind of tough. AirPower used the fake planecode/projectiles as I recall (similar to the SpaceFighters) to get their flying working, which is nice, but didn't use karma physics. I tried getting a couple of modified planes working, but most maps weren't large enough to use them, and I lost interest in working on them

    Here is some code I was using to try and implement both flying, and taxi-ing on the run way. I converted the C++ plane flying code into UnrealScript so that I could change the behavior (see the various checks for bOnGround). I print the plane's forward speed on the screen and use the chargebar to indicate thrust as a percentage of MaxThrust. The plane must reach 2000 uus forward speed (what the MinAirSpeed and kMaxSpeed variables are set to) before you can pull back on the mouse to get the plane off the ground. Because of the relative slow speed, I should probably adjust the drag factors a bit and lift calculations since I lose lift pretty fast when I bank this vehicle to turn it. I did get the mouse to bank it a lot faster though....
    Code:
    class TDJetTest extends ONSBomber;
    
    /*
      So, what I've done here is to try and create a more forgiving (e.g. poorly
      implemented and unrealistic, but hopefully fun) model for flight that restricts
      the player from turning too sharply based on their forward velocity.  They can
      then turn as much as I allow without really having to worry about losing lift, BUT
      if they hit a wall they will explode, and they can't do any cool aerobatic tricks
      like stalling & pitching over, or the "fighter jet wheelie"
    
      What I want:
      -Strafe:
          >on the ground turns the Jet, or rather applies a force at the front wheel
           in the lateral direction
          >in the air applies slight banking turn with roughly constant "tightness" that eases in-out
      -Rotation Pitch:
          >on the ground only affect camera... transitions into controlling nose pitch
           after take off
          >in the air control the nose pitch
      -Rotation Yaw:
          >on the ground only affect camera... transitions into controlling nose pitch
           after take off
          >in the air control the roll angle
    
    The "lift" feature seems problematic.... or at least harder to understand/troubleshoot
    so instead lets screw with the KActorGravScale variable so that we change it from 2.0
    while on the ground to 0.0 while flying at some full speed...
    
    */
    
    var     vector  UCForce, UCTorque;
    var     float TDBCurrentThrust;
    var()   InterpCurve   LiftSpeedGravCurve; // Input is forward speed as % of max, output is Kgravity scale
    
    
    var byte TestByteA, TestByteB;
    
    var float MinAirSpeed, MaxAirSpeed;
    var float MaxBrakeDampening;
    var float SavePitchTorque;
    var float SaveBankTorque;
    
    var string SdebugRotDelta, SdebugThrottleStr, SdebugKafStr, SdebugTorqueStr;
    
    
    // Calculate forces for thrust/turning etc. and apply them.
    simulated event UpdateVehicle(float DeltaTime){
        local vector Up, Force, Torque, DirX, DirY, DirZ, Forward, Right, Lift, Thrust,
                     Drag, RelativeWindVelocity, LateralVelocity, NormalizedVelocity,
                     CurPitchTorque, PitchDampening, CurBankTorque, BankDampening,
                     BrakingForce, TaxiTorque;
        local float AngleOfAttack, RelativeWindFactor, NewGravScale, Speed,
                    PitchTorqueScale, BankTorqueScale, TaxiTorqueScale;
        local int i, ViewOffsetPitch, ViewOffsetYaw;
        local rotator ViewOffset;
        local bool bOnGround;
        //local KRigidBodyState rbState;
        local KarmaParams KP;
    
        // Dont go adding forces if vehicle is asleep.
        if( !KIsAwake() )
            return;
    
        //KGetRigidBodyState(rbState); // danger, this function loads and overwrites
        KP = KarmaParams(KParams);
        if(KP == none)
            return;
        //TestByteA++;
        // Calc up (z), right(y) and forward (x) vectors
        GetAxes(Rotation, DirX, DirY, DirZ);
    
        // 'World plane' forward & right vectors ie. no z component.
        Forward = DirX;
        Forward.Z = 0.0f;
        Forward=Normal(Forward);
    
        Right = DirY;
        Right.Z = 0.0f;
        Right=Normal(Right);
    
        Up=vect(0,0,1);
    
        // Get body angular velocity (JTODO: Add AngularVelocity to Actor!)
    
    //////////////////////////////////////////////////////////////////////////////////////////////
    
        if (Controller!=none){
            // FIXME? below, test if the native code may have already wiped this out by resetting to zero
            ViewOffsetPitch = Controller.Rotation.Pitch & 65535;
            ViewOffsetYaw = Controller.Rotation.Yaw & 65535;
            SdebugThrottleStr = "ControllerRotation: Pitch"@Controller.Rotation.Pitch@", Yaw: "@Controller.Rotation.Yaw;
    
            if (ViewOffsetPitch > 32768)
                ViewOffsetPitch -= 65535;
    
            if (ViewOffsetYaw > 32768)
                ViewOffsetYaw -= 65535;
    
            // Reset Controller Rotation
            Controller.SetRotation(Rot(0,0,0)); // <-FIXME? the native code may have already wiped this out
    
            //bOnGround = true;
            for(i=0; i<KP.Repulsors.Length; i++){
                if( KP.Repulsors[i] != None && KP.Repulsors[i].bRepulsorInContact )
                    bOnGround = true;
            }
    
            // THRUST //
            //TestByteB++;
            if (OutputThrust > 0)
            //SdebugThrottleStr = "Throttle: "@Throttle@", OutputThrust: "@OutputThrust@", PlaneState->ServerThrust:"@PlaneState.ServerThrust;
                TDBCurrentThrust = FMin(TDBCurrentThrust + (ThrustAcceleration * DeltaTime), MaxThrust);
            else if (OutputThrust < 0) // only decrease thrust if we are actively trying to slow it down
                TDBCurrentThrust = FMax(TDBCurrentThrust - (ThrustAcceleration * DeltaTime), 0.0);
            //else
            //    TDBCurrentThrust = FMax(TDBCurrentThrust - (ThrustAcceleration * DeltaTime), 0.0);
    
            Thrust = TDBCurrentThrust * DirX;
    
            // RELATIVE WIND //
            LateralVelocity = (Velocity dot DirY) * DirY;
            RelativeWindVelocity = -(Velocity - LateralVelocity); // Remove the Y component of the velocity and take the inverse
            RelativeWindFactor = AirFactor * VSize(RelativeWindVelocity) * VSize(RelativeWindVelocity);
    
            // ANGLE OF ATTACK //
            AngleOfAttack = Acos(FClamp((DirX dot -RelativeWindVelocity) / VSize(RelativeWindVelocity), -1.0, 1.0));
            AngleOfAttack = (AngleOfAttack / 3.14159f) * 360.0f;
            if ((DirZ dot -RelativeWindVelocity) > 0)
                AngleOfAttack *= -1;
    
            // LIFT //
            Lift = DirZ * InterpCurveEval(LiftCoefficientCurve, AngleOfAttack) * RelativeWindFactor; // <- this assumes a certain airspeed to overcome gravity
    
            // "fake lift", really just turning off gravity..
            Speed = Velocity dot DirX;
            NewGravScale = InterpCurveEval(LiftSpeedGravCurve, Speed/MinAirSpeed);
            SdebugThrottleStr = SdebugThrottleStr @ ", GRAVSCALE: "@NewGravScale;
           // KSetActorGravScale(NewGravScale); // <- this works OK, but not great, and seem to be
    
            // DRAG //
            NormalizedVelocity = Normal(Velocity);
            Drag = InterpCurveEval(DragCoefficientCurve, AngleOfAttack) * RelativeWindFactor * -NormalizedVelocity;
    
            // BRAKING when taxiing
            if(bOnGround && OutputRise < 0){
                // add some sort of drag?
                BrakingForce = MaxBrakeDampening * Forward * Speed;
            }
    
            // ADD FORCES AND APPLY
            Force = Thrust + Lift + Drag - LateralVelocity * 0.2 - BrakingForce;
    
    
            ////////////
            // TORQUE //
            ////////////
            ViewOffset.Pitch = ViewOffsetPitch;
            ViewOffset.Yaw = -ViewOffsetYaw;
            ViewOffset.Roll = 0;
    
    
            // Pitching Torque
            PitchTorqueScale = Abs(float(ViewOffset.Pitch) / 4096.0);
            if (ViewOffset.Pitch > 0){
                CurPitchTorque = PitchTorque * FMin(VSize(RelativeWindVelocity)/ MinAirSpeed, 1.0) * PitchTorqueScale * DirY;// MinAirSpeed used to be 3000 in this line
                SavePitchTorque = VSize(CurPitchTorque); // DEBUG
            }else{
                CurPitchTorque = PitchTorque * FMin(VSize(RelativeWindVelocity)/ MinAirSpeed, 1.0) * PitchTorqueScale * -DirY;// MinAirSpeed used to be 3000 in this line
                SavePitchTorque = -1*VSize(CurPitchTorque); // DEBUG
            }
            //// Pitch Dampening
            //PitchDampening = -CurPitchTorque * AngleOfAttack / 90.0;
    
            // Banking Torque
            BankTorqueScale = Abs(float(ViewOffset.Yaw) / 4096.0);
            if (ViewOffset.Yaw > 0){
                CurBankTorque = BankTorque * FMin(VSize(RelativeWindVelocity) / MinAirSpeed, 1.0) * BankTorqueScale * DirX;// MinAirSpeed used to be 3000 in this line
                SaveBankTorque = VSize(CurBankTorque); // DEBUG
            }else{
                CurBankTorque = BankTorque * FMin(VSize(RelativeWindVelocity) / MinAirSpeed, 1.0) * BankTorqueScale * -DirX;// MinAirSpeed used to be 3000 in this line
                SaveBankTorque = -1*VSize(CurBankTorque); // DEBUG
            }
            //// Bank Dampening
            //BankDampening = -CurBankTorque * AngleOfAttack / 90.0;
    
            //StrafeTorque = (200 * -OutputStrafe * OnGroundTorqueScale) * Up;
            if(bOnGround && OutputStrafe != 0){
                //Speed = VSize(Velocity);
                TaxiTorqueScale = 1;// InterpCurveEval(HoverForceCurve, Speed) / 700;
                TaxiTorque = (200 * -OutputStrafe * TaxiTorqueScale) * vect(0,0,1);
            }
            SdebugTorqueStr="TORQUE: Pitch"@SavePitchTorque@", Roll: "@SaveBankTorque;
            Torque = CurPitchTorque + PitchDampening + CurBankTorque + BankDampening + TaxiTorque;
    
            // Apply force/torque to body.
            //debugf(TEXT("BankTorqueScale: %f   ViewOffset.Yaw: %f"), BankTorqueScale, ViewOffset.Yaw);
    
        }
        //KAddForces(Force, Torque); // this can't be called from UScript
        UCForce = Force;
        UCTorque = Torque;
    }
    
    
    simulated function DisplayDebug(Canvas Canvas, out float YL, out float YPos){
        Super.DisplayDebug(Canvas, YL, YPos);
        Canvas.SetDrawColor(255,0,0);
        Canvas.DrawText("TDBThrust = "@TDBCurrentThrust@", TestbyteA "@TestByteA @", TestbyteB "@ TestByteB);
        YPos += YL;
        Canvas.DrawText(SdebugThrottleStr);
        YPos += YL;
        Canvas.DrawText(SdebugTorqueStr);
        YPos += YL;
        //Canvas.DrawText(SdebugKafStr);
        //YPos += YL;
    }
    
    simulated function float ChargeBar()
    {
        return TDBCurrentThrust/MaxThrust;
    }
    
    simulated function KApplyForce(out vector Force, out vector Torque){
        //local float OnGroundTorqueScale, Speed;
        Super.KApplyForce(Force, Torque);
        Force = UCForce;
        Torque = UCTorque;
    
        // Try to add some turning force while on the ground, THIS WORKS PRETTY WELL!
        //Speed = VSize(Velocity);
        //OnGroundTorqueScale = InterpCurveEval(HoverForceCurve, Speed) / 700;
        //Torque += (200 * -OutputStrafe * OnGroundTorqueScale) * vect(0,0,1);
    
        // now zero them out so they don't persist to the next tick
        UCForce = vect(0,0,0);
        UCTorque = vect(0,0,0);
        //SdebugKafStr =" -- Kaf Force: "@Force@", Torque"@Torque;
    }
    
    // try to fix the first person view, to actually view in FP
    simulated function SpecialCalcFirstPersonView(PlayerController PC, out actor ViewActor, out vector CameraLocation, out rotator CameraRotation )
    {
       local vector CamLookAt;//, HitLocation, HitNormal;
       local float LerpAmount;
       local float CurTime;
    
       ViewActor = self;
    
       CurTime = Level.TimeSeconds;
       LerpAmount = 1.0 - ( CameraSwingRatio ** (CurTime - LastCamTime) );
       LastCamTime = CurTime;
          CamLookAt = Location;
          CameraRotation.Roll = Rotation.roll;
          CameraRotation.Yaw = LastCamRot.Yaw + GetRotDiff(Rotation.Yaw, LastCamRot.Yaw) * LerpAmount;
          CameraRotation.Pitch = Rotation.pitch;
    
        CameraLocation = CamLookAt + (FPCamPos >> Rotation);
       LastCamRot = CameraRotation;
    }
    
    
    simulated function DrawHUD(Canvas Canvas)
    {
        local float ScaleX, ScaleY;
        local float DirXSpeed;
    
        super.DrawHUD(Canvas);
        // Draw some bars near the center that represent the forces being applied for
        // pitch and roll, and forward speed
        if (IsLocallyControlled())
        {
            DirXSpeed = Velocity dot vector(Rotation);
            Canvas.Font = Canvas.MedFont;
            ScaleX = Canvas.clipX/1024;
            ScaleY = Canvas.clipY/768;
            Canvas.SetDrawColor (20, 255, 20 ,255);
            Canvas.DrawColor.A = 255;
            Canvas.Style = ERenderStyle.STY_Alpha;
            Canvas.DrawTextJustified("Fwd Speed:"@DirXSpeed, 1, Canvas.clipX/2, Canvas.clipY/2 , Canvas.ClipX/2 + ScaleX*150, Canvas.clipY/2 + ScaleY*15);
            // No Torque Bar code yet...
            //SavePitchTorque =;
            //SaveBankTorque =;
         }
    }
    
    
    defaultproperties
    {
        bShowChargingBar=true // for displaying the thrust!
    
        VehiclePositionString="in a TD Harrier Jet"
        VehicleNameString="TD Harrier Jet"
    
        Mesh=Mesh'Harrier_mesh_v4'
        RedSkin=material'MiG35Skin_shad'
        BlueSkin=material'MiG35Skin_shad'
        skins(1)=material'BHawkInteriorSkin'
        DriverWeapons(0)=(WeaponClass=class'JetMiG35_PilotGun',WeaponBone=tip_R);
    
        Health=2000
        HealthMax=2000
        CollisionHeight=+120.0
        CollisionRadius=380.0
    
        IdleSound=sound'ONSVehicleSounds-S.Flying.Flying02'
        MaxPitchSpeed=3200
        SoundVolume=255
    
        Begin Object Class=KarmaParamsRBFull Name=KParamsHarrier
            KInertiaTensor(0)=3.5
            KInertiaTensor(1)=0.0
            KInertiaTensor(2)=0.0
            KInertiaTensor(3)=10
            KInertiaTensor(4)=0.0
            KInertiaTensor(5)=13
            KCOMOffset=(X=0.65,Y=0.0,Z=0.0)
            KStartEnabled=True
            KFriction=0.6
            KLinearDamping=0.0
            KAngularDamping=1.5
            bKNonSphericalInertia=True
            bHighDetailOnly=False
            bClientOnly=False
            bKDoubleTickRate=True
            KActorGravScale=2.0
            KMaxSpeed=2000//2500.0//4000.0
            KImpactThreshold=300
            bDestroyOnWorldPenetrate=True
            bDoSafetime=True
            Name="KParamsHarrier"
        End Object
        KParams=KarmaParams'KParamsHarrier'
    
        DrawScale=1.0
    
        //VehicleMass=4
    
        //bDrawDriverInTP=False
        //bDrawMeshInFP=True
        //TPCamDistance=500
        //TPCamLookAt=(X=0.0,Y=0.0,Z=0)
        //TPCamWorldOffset=(X=0,Y=0,Z=200)
        FPCamPos=(X=260,Y=0.0,Z=60.0)
        //TPCamDistance=500
        //TPCamLookAt=(X=0.0,Y=0.0,Z=0)
        //TPCamWorldOffset=(X=0,Y=0,Z=200)
        DrivePos=(X=260.0,Y=0.0,Z=60.0)
        EntryPosition=(X=250.0,Y=0.0,Z=0.0)
        EntryRadius=100.0
    
        LiftSpeedGravCurve=(Points=((InVal=0.0,OutVal=2.0),(InVal=0.3,OutVal=1.3),(InVal=0.6,OutVal=0.8),(InVal=0.75,OutVal=0.5),(InVal=0.85,OutVal=0.2),(InVal=1.0,OutVal=0.0),(InVal=4.0,OutVal=0.0)))
        MinAirSpeed=2000//2500
        MaxAirSpeed=3500
        MaxBrakeDampening=0.25
    
        LiftCoefficientCurve=(Points=((InVal=-180,OutVal=0.0),(InVal=-10.0,OutVal=0.0),(InVal=0.0,OutVal=0.4),(InVal=6.0,OutVal=0.8),(InVal=10.0,OutVal=1.2),(InVal=12.0,OutVal=1.4),(InVal=20.0,OutVal=0.8),(InVal=60.0,OutVal=0.6),(InVal=90.0,OutVal=0.0),(InVal=180.0,OutVal=0.0)))
        DragCoefficientCurve=(Points=((InVal=-180,OutVal=0.0),(InVal=-90.0,OutVal=1.2),(InVal=-10.0,OutVal=0.1),(InVal=-5.0,OutVal=0.35),(InVal=0.0,OutVal=0.01),(InVal=5.0,OutVal=0.35),(InVal=10.0,OutVal=0.1),(InVal=15.0,OutVal=0.3),(InVal=60.0,OutVal=1.0),(InVal=90.0,OutVal=1.2),(InVal=180.0,OutVal=0.0)))
        AirFactor=0.00010//<- good for 2000uu airspeed, good for 4000uu airspeed-> 0.00005
    
        HoverForceCurve=(Points=((InVal=0,OutVal=500),(InVal=30,OutVal=700),(InVal=250,OutVal=0)))
        COMHeight=20.0
        MaxThrust=110.0
        PitchTorque=700.0
        BankTorque=700.0
        ThrustAcceleration=60.0
        bHoverOnGround=True
    
        //ImpactDamageThreshold=1000
        ImpactDamageMult=0.01
    
        MomentumMult=0.05
    
        HoverSoftness=0.05//0.9
        HoverPenScale=1.5
        HoverCheckDist=85
    
        ThrusterOffsets(0)=(X=176,Y=0,Z=10)
        ThrusterOffsets(1)=(X=-112,Y=180,Z=10)
        ThrusterOffsets(2)=(X=-112,Y=-180,Z=10)
        ThrusterOffsets(3)=(X=-176,Y=0,Z=10)
    
        ExitPositions(0)=(X=0,Y=500,Z=100)
        ExitPositions(1)=(X=0,Y=-500,Z=100)
        ExitPositions(2)=(X=350,Y=0,Z=100)
        ExitPositions(3)=(X=-350,Y=0,Z=100)
    
        //bZeroPCRotOnEntry=true
        bEjectDriver=true
        bEjectPassengersWhenFlipped=false
        bCanBeBaseForPawns=true
    }
    Last edited by meowcatbuf; 10-14-2019, 10:55 AM.

    Leave a comment:


  • replied
    Hi guys, I need some help with an airplane.

    It is based on ONSPlaneCraft:

    My Current Def. Properties (related to movement/flying) are:

     
    Spoiler


    My problems are:
    The plane flies very unrealistically.
    I need to move the mouse many times like crazy in order to bank the airplane.
    I need to bank almost 90 degrees to get a chance to steer.
    The steering is very slow....

    If anyone has made an unrealistically flying airplane, please share your experience. Thx!
    Last edited by Deggenyr; 09-23-2019, 11:00 AM.

    Leave a comment:


  • replied
    Hi guys, I need to make a driveable TRAIN. meaning a locomotive with a few train sections behind it. I need to be able to control it's speed and direction (as in an actual train obviously)

    Should I go for a scripted variant (some sort of a controllable multikey scritped mover?

    Or should I go for actual vehicle?

    I don't need the train to be able to derail.

    The most simple way I'm thinking is a blocking volume on both sides to form a track, and the vehicle spawned between these blocking volumes, so it will be impossible for it to go off the tracks.

    PLease give me any ideas/suggestions!

    Thx in advance!!!

    Leave a comment:


  • replied
    How many maps should be visible in your mod, just one or two, or a lot? The reason I ask is that the error message listed 2 VCTF maps that couldn't be loaded because the game could not find the resource file 'Halo-EnergyBridge_TX' and 'Halo-CovStarShip_TX' (which I assume are .utx files); if those were the only two maps you had in the folder that would explain it.

    The blank gametype screen was a bit odd though. I'm not sure what else to suggest at the moment, gonna have to think about it some more.

    Leave a comment:


  • replied
    I was reading some of the posts in the link you gave me and wow.
    I didnt know you could make your own single player game/maps in a TC mod.
    After I get the custom menu/gui mod compleatly working, Im there dude (single player game) thats my next project,

    But for now:

    Originally posted by meowcatbuf
    Does your mod log file list any errors?
    I think it does but not sure what to make of it. Here is the Halo_1.log

    Code:
    Log: Log file open, 06/26/18 05:03:41
    Init: Name subsystem initialized
    Init: Detected: Microsoft Windows NT 6.1 (Build: 7601)
    Init: Version: 3369 (128.29)
    Init: Compiled: Nov 23 2005 16:23:34
    Init: Command line: -mod=Halo_1
    Init: Character set: Unicode
    Init: Base directory: C:\UT2004\System\
    Init: Ini:..\Halo_1\System\Halo_1.ini   UserIni:..\Halo_1\System\Halo_1User.ini
    Init: Build label: UT2004 Build UT2004_Build_[2005-11-23_16.22]
    Init: Object subsystem initialized
    Log: Splash screen filename is '..\Help\UT2004Logo.bmp'
    Log:     igdumdim32.dll/Intel(R) HD Graphics 5500
    Log: Game class is 'GameInfo'
    Log: Bringing Level Entry.myLevel up for play (0) appSeconds: 1.500000...
    ScriptLog: GameInfo::InitGame : bEnableStatLogging False
    Log: Browse: NoIntro.ut2?Name=Player?Class=Engine.Pawn?Character=Jakob?team=255?Sex=M
    Log: Collecting garbage
    Log: Purging garbage
    Log: Garbage: objects: 27649->27649; refs: 280498
    Log: Game class is 'CinematicGame'
    Log: Bringing Level NoIntro.myLevel up for play (0) appSeconds: 2.088000...
    ScriptLog: GameInfo::InitGame : bEnableStatLogging False
    Progress: Exporting VCTF-H1-SP_EnergyBridge...
    Warning: Failed to load 'Halo-EnergyBridge_TX': Can't find file for package 'Halo-EnergyBridge_TX'
    Warning: Failed to load 'VCTF-H1-SP_EnergyBridge': Can't find file for package 'Halo-EnergyBridge_TX'
    Warning: Failed to load 'LevelSummary VCTF-H1-SP_EnergyBridge.LevelSummary': Can't find file for package 'Halo-EnergyBridge_TX'
    Warning: Error loading VCTF-H1-SP_EnergyBridge !
    Progress: Exporting VCTF-H1-SP_CovStarShip...
    Warning: Failed to load 'Halo-CovStarShip_TX': Can't find file for package 'Halo-CovStarShip_TX'
    Warning: Failed to load 'VCTF-H1-SP_CovStarShip': Can't find file for package 'Halo-CovStarShip_TX'
    Warning: Failed to load 'LevelSummary VCTF-H1-SP_CovStarShip.LevelSummary': Can't find file for package 'Halo-CovStarShip_TX'
    Warning: Error loading VCTF-H1-SP_CovStarShip !
    Log: ALAudio: Using DirectSound to record audio.
    ScriptLog: New Player Player id=41cd2fbd9fa1b4bf93f427521ef36946
    Log: Opened viewport
    Log: Enter SetRes: 1024x768 Fullscreen 1
    Log: Using back-buffer format 22(32-bit)
    Log: Using depth-buffer format 77(32-bit)
    Log: Creating device
    Log: xD3DHelper::Init (QuadEmulation)
    Log: Startup time: 1.955000 seconds
    Log: Precaching: NoIntro.LevelInfo0
    Log: Static mesh batches: 0 vertex bytes, 0 index bytes
    Log: Allocating 16384 byte dynamic index buffer.
    Log: Finished precaching geometry in 0.011 seconds
    Log: Finished precaching textures in 0.001 seconds
    Warning: Missing Texture Texture Cat2K4Menus.MainMenu.Char01
    Warning: Missing Texture Texture Cat2K4Menus.MainMenu.char02
    Warning: Missing Texture Texture Cat2K4Menus.MainMenu.char03
    Warning: Missing TexPanner TexPanner Cat2K4Menus.MainMenu.PanHuge
    Warning: Missing TexPanner TexPanner Cat2K4Menus.MainMenu.PanBig
    Warning: Missing TexPanner TexPanner Cat2K4Menus.MainMenu.PanSmall
    Warning: Missing Shader Shader Cat2K4Menus.MainMenu.MenuCorner
    Warning: Missing Texture Texture Cat2K4Menus.MainMenu.null
    ScriptLog: *** HELLCAT ***
    Debug: UT2k4CatMainMenu.Opened()   Sender:Package.UT2k4CatMainMenu
    Log: URL: Adding default option Name=Player
    Log: URL: Adding default option Class=Engine.Pawn
    Log: URL: Adding default option Character=Jakob
    Log: URL: Adding default option team=255
    Log: Browse: Index.ut2?disconnect?Name=Player?Class=Engine.Pawn?Character=Jakob?team=255
    Log: Failed; returning to Entry
    ScriptLog: UT2k4CatMainMenu NotifyLevelChange  PendingConnection:False
    Log: GP=FALSE
    Log: Spawning new actor for Viewport WindowsViewport
    ScriptLog: New Player Player id=2752bf93f1effbd9f441cd2a1b443696
    Log: Static mesh batches: 0 vertex bytes, 0 index bytes
    Log: appRequestExit(0)
    Exit: Preparing to exit.
    Log: Purging garbage
    Log: Unbound to Window.dll
    Log: Unbound to Core.dll
    Log: Unbound to Engine.dll
    Exit: Game engine shut down
    Log: Unbound to WinDrv.dll
    Exit: Windows client shut down
    Log: Unbound to D3DDrv.dll
    Log: Unbound to XGame.dll
    Log: Unbound to IpDrv.dll
    Log: Unbound to Editor.dll
    Log: Unbound to Fire.dll
    Log: Unbound to XInterface.dll
    Log: Unbound to UWeb.dll
    Log: Unbound to Onslaught.dll
    Log: Unbound to ALAudio.dll
    Log: Waiting for file streaming thread to finish...
    Exit: OpenAL Audio subsystem shut down.
    Log: Garbage: objects: 28872->0; refs: 280498
    Exit: Object subsystem successfully closed.
    Exit: Exiting.
    Log: FileManager: Reading 0 GByte 43 MByte 377 KByte 248 Bytes from HD took 0.211000 seconds (0.148000 reading, 0.063000 seeking).
    Log: FileManager: 0.109000 seconds spent with misc. duties
    Uninitialized: Name subsystem shut down
    Uninitialized: Memory Allocation Status
    Uninitialized: Curr Memory  0.207M /  3.246M
    Uninitialized: Peak Memory  55.406M /  57.156M
    Uninitialized: Allocs         671 Current /  5849082 Total
    Uninitialized: Log file closed, 06/26/18 05:04:10
    Originally posted by meowcatbuf
    copy the .ucl file from some DM map that is already in your UT2004/System folder and paste it into your UT2004/Halo_l/System folder and see if it shows up in the maplist.
    I did that and still nothing.

    Click image for larger version

Name:	Gametype.jpg
Views:	119
Size:	110.1 KB
ID:	400866

    I took a look at another TC mod ini (I am grabbing at straws I know) and copyed its map link sys, but it still dont work.
    Code:
    [Engagement]
    BotMode=0
    MinPlayers=0
    weaponDrop=None
    bAllowNonTeamChat=False
    FriendlyFireScale=0.000000
    NetWait=5
    bForceRespawn=False
    bAdjustSkill=False
    bAllowTaunts=False
    bAllowTrans=False
    SpawnProtectionTime=2.000000
    LateEntryLives=1
    LoginMenuClass=VCTF
    bAllowPrivateChat=True
    bWeaponStay=True
    bAllowWeaponThrowing=False
    ResetTimeDelay=0
    GoalScore=120
    MaxLives=0
    TimeLimit=120
    TeamScoreLimit=2
    ResetCountDown=0
    RoundTimeLimit=300
    bSwapTeamSpawns=True
    
    [MapListEngagement]
    MapNum=0
    
    [Default MaplistRecord]
    DefaultTitle=Default VCTF
    DefaultGameType=Engagement
    DefaultActive=0
    In the mean while, I will read up more on the fourm/link you gave me and check all links on that thread.
    Thanks meowcatbuf for the info/links.

    Leave a comment:


  • replied
    I've tried looking through the hard drive on my old computer (hadn't turned it on for over 8 months) and was unable to locate the "base TC mod" file I was looking for (I think one of the old BeyondUnreal hosted sites like Chimeric, Fraghouse etc. had a coder who had put together the base mod, maybe it was meltdown?)

    Anyways, I took a look at the old .ini file for my mod. Does your mod log file list any errors? You made need to setup a default maplist record class in your mod for your gametype, and/or make sure that you mod/system folder also has copies of the .ucl files for the maps you want to try and play on. So for instance, copy the .ucl file from some DM map that is already in your UT2004/System folder and paste it into your UT2004/Halo_l/System folder and see if it shows up in the maplist.

    [EDIT] It was Parser and his SP Framework file that had the base TC mod code, the forum was here at Fraghouse section of the BU forums.
    Last edited by meowcatbuf; 06-26-2018, 10:33 PM.

    Leave a comment:


  • replied
    Click image for larger version

Name:	mainmenuscreenshot.jpg
Views:	166
Size:	169.8 KB
ID:	400846

    I found a custom menu that makes ut2004 look like ut2003.
    So I changed its texture files to look like Halo.
    I put the stuff in the mod folder, changed the ini file.
    I ran it from the mod folder and the new menu works but now the maps dont show up.
    I changed pointer and text but it still look the same.

    Code:
    [URL]
    Protocol=ut2004
    ProtocolDescription=Unreal Protocol
    Name=Player
    Map=Index.ut2
    LocalMap=NoIntro.ut2
    NetBrowseMap=Entry.ut2
    Host=
    Portal=
    MapExt=ut2
    EXEName=UT2004.exe
    SaveExt=usa
    Port=7777
    Class=Engine.Pawn
    Character=Gorge
    
    [FirstRun]
    FirstRun=3369
    
    [Engine.Engine]
    RenderDevice=D3DDrv.D3DRenderDevice
    ;RenderDevice=D3D9Drv.D3D9RenderDevice
    ;RenderDevice=Engine.NullRenderDevice
    ;RenderDevice=OpenGLDrv.OpenGLRenderDevice
    ;RenderDevice=PixoDrv.PixoRenderDevice
    AudioDevice=ALAudio.ALAudioSubsystem
    NetworkDevice=IpDrv.TcpNetDriver
    DemoRecordingDevice=Engine.DemoRecDriver
    Console=XInterface.ExtendedConsole
    GUIController=GUI2K4.UT2K4GUIController
    StreamPlayer=Engine.StreamInteraction
    Language=int
    Product=UT2004
    GameEngine=Engine.GameEngine
    EditorEngine=Editor.EditorEngine
    DefaultGame=XGame.XDeathmatch
    DefaultServerGame=XGame.XDeathmatch
    ViewportManager=WinDrv.WindowsClient
    ;ViewportManager=SDLDrv.SDLClient
    Render=Render.Render
    Input=Engine.Input
    Canvas=Engine.Canvas
    DetectedVideoMemory=2048
    ServerReadsStdin=False
    CdPath=G:\CD1
    
    [Core.System]
    PurgeCacheDays=30
    SavePath=../Save
    CachePath=../Cache
    CacheExt=.uxx
    SpeechPath=../Speech
    Paths=../System/*.u
    Paths=../Maps/*.ut2
    Paths=../Textures/*.utx
    Paths=../Sounds/*.uax
    Paths=../Music/*.umx
    Paths=../StaticMeshes/*.usx
    Paths=../Animations/*.ukx
    Paths=../Saves/*.uvx
    Suppress=DevLoad
    Suppress=DevSave
    Suppress=DevNetTraffic
    Suppress=DevGarbage
    Suppress=DevKill
    Suppress=DevReplace
    Suppress=DevCompile
    Suppress=DevBind
    Suppress=DevBsp
    Suppress=DevNet
    Suppress=DevKarma
    Suppress=RecordCache
    Suppress=MapVoteDebug
    Suppress=Init
    suppress=MapVote
    Suppress=VoiceChat
    Suppress=ChatManager
    Suppress=Timer
    Suppress=DevLIPSinc
    CacheRecordPath=../Halo_1/System/*.ucl
    MusicPath=../Halo_1/Music
    Paths=../Halo_1/System/*.u
    Paths=../Halo_1/Maps/*.ut2
    Paths=../Halo_1/Textures/*.utx
    Paths=../Halo_1/Sounds/*.uax
    Paths=../Halo_1/StaticMeshes/*.usx
    Paths=../Halo_1/Animations/*.ukx
    
    [Engine.GameEngine]
    CacheSizeMegs=32
    UseSound=True
    VoIPAllowVAD=False
    ServerActors=IpDrv.MasterServerUplink
    ServerActors=UWeb.WebServer
    ServerPackages=Core
    ServerPackages=Engine
    ServerPackages=Fire
    ServerPackages=Editor
    ServerPackages=IpDrv
    ServerPackages=UWeb
    ServerPackages=GamePlay
    ServerPackages=UnrealGame
    ServerPackages=XEffects
    ServerPackages=XPickups
    ServerPackages=XGame
    ServerPackages=XWeapons
    ServerPackages=XInterface
    ServerPackages=Vehicles
    ServerPackages=TeamSymbols_UT2003
    ServerPackages=TeamSymbols_UT2004
    ServerPackages=BonusPack
    ServerPackages=SkaarjPack_rc
    ServerPackages=SkaarjPack
    ServerPackages=UTClassic
    ServerPackages=UT2k4Assault
    ServerPackages=Onslaught
    ServerPackages=GUI2K4
    ServerPackages=UT2k4AssaultFull
    ServerPackages=OnslaughtFull
    ServerPackages=xVoting
    UseStaticMeshBatching=True
    ColorHighDetailMeshes=False
    ColorSlowCollisionMeshes=False
    ColorNoCollisionMeshes=False
    ColorWorldTextures=False
    ColorPlayerAndWeaponTextures=False
    ColorInterfaceTextures=False
    MainMenuClass=XInterfCat2k4.UT2K4CatMainMenu
    ;MainMenuClass=GUI2K4.UT2K4MainMenu
    ConnectingMenuClass=GUI2K4.UT2K4ServerLoading
    DisconnectMenuClass=GUI2K4.UT2K4DisconnectOptionPage
    LoadingClass=GUI2K4.UT2K4SP_LadderLoading
    SinglePlayerMenuClass=GUI2K4.UT2K4SP_Main
    ServerPackages=OnslaughtBP
    
    [WinDrv.WindowsClient]
    WindowedViewportX=800
    WindowedViewportY=600
    FullscreenViewportX=1024
    FullscreenViewportY=768
    MenuViewportX=640
    MenuViewportY=480
    Brightness=0.800000
    Contrast=0.700000
    Gamma=0.800000
    UseJoystick=True
    CaptureMouse=True
    StartupFullscreen=True
    ScreenFlashes=True
    NoLighting=False
    MinDesiredFrameRate=35.000000
    AnimMeshDynamicLOD=0.000000
    Decals=True
    Coronas=True
    DecoLayers=True
    Projectors=True
    NoDynamicLights=False
    ReportDynamicUploads=False
    TextureDetailInterface=Higher
    TextureDetailTerrain=Higher
    TextureDetailWeaponSkin=Higher
    TextureDetailPlayerSkin=Higher
    TextureDetailWorld=Higher
    TextureDetailRenderMap=Higher
    TextureDetailLightmap=Higher
    NoFractalAnim=False
    ScaleHUDX=0.000000
    MouseXMultiplier=1.000000
    MouseYMultiplier=1.000000
    UseSpeechRecognition=True
    WeatherEffects=True
    DrawDistanceLOD=1.000000
    
    [SDLDrv.SDLClient]
    WindowedViewportX=640
    WindowedViewportY=480
    FullscreenViewportX=800
    FullscreenViewportY=600
    MenuViewportX=640
    MenuViewportY=480
    Brightness=0.800000
    Contrast=0.700000
    Gamma=0.800000
    UseJoystick=False
    JoystickNumber=0
    IgnoreHat=False
    JoystickHatNumber=0
    CaptureMouse=True
    StartupFullscreen=True
    ScreenFlashes=True
    NoLighting=False
    MinDesiredFrameRate=35.000000
    AnimMeshDynamicLOD=0.0
    Decals=True
    Coronas=True
    DecoLayers=True
    Projectors=True
    NoDynamicLights=False
    ReportDynamicUploads=False
    TextureDetailInterface=Normal
    TextureDetailTerrain=Normal
    TextureDetailWeaponSkin=Normal
    TextureDetailPlayerSkin=Normal
    TextureDetailWorld=Normal
    TextureDetailRenderMap=Normal
    TextureDetailLightmap=UltraHigh
    TextureMaxLOD=0
    TextureMinLOD=0
    NoFractalAnim=False
    WeatherEffects=True
    DrawDistanceLOD=1.0
    IgnoreUngrabbedMouse=False
    AllowUnicodeKeys=False
    AllowCommandQKeys=True
    MacFakeMouseButtons=True
    MacKeepAllScreensOn=False
    TextToSpeechFile=
    MacNativeTextToSpeech=True
    
    [ALAudio.ALAudioSubsystem]
    UseEAX=False
    Use3DSound=False
    UseDefaultDriver=True
    CompatibilityMode=False
    MaxEAXVersion=255
    UsePrecache=True
    ReverseStereo=False
    Channels=32
    MusicVolume=1.000000
    AmbientVolume=0.500000
    SoundVolume=1.000000
    VoiceVolume=4.000000
    VolumeScaleRec=0.100000
    DopplerFactor=1.000000
    Rolloff=0.500000
    TimeBetweenHWUpdates=15.000000
    DisablePitch=False
    LowQualitySound=False
    UseVoIP=True
    UseVAD=False
    UseSpatializedVoice=False
    SpatializedVoiceRadius=100000.000000
    EnhancedDenoiser=False
    LocalZOffset=0.000000
    
    [IpDrv.TcpNetDriver]
    AllowDownloads=True
    ConnectionTimeout=20.0
    InitialConnectTimeout=200.0
    AckTimeout=1.0
    KeepAliveTime=0.2
    MaxClientRate=15000
    MaxInternetClientRate=10000
    SimLatency=0
    RelevantTimeout=5.0
    SpawnPrioritySeconds=1.0
    ServerTravelPause=4.0
    NetServerMaxTickRate=20
    LanServerMaxTickRate=35
    DownloadManagers=IpDrv.HTTPDownload
    DownloadManagers=Engine.ChannelDownload
    AllowPlayerPortUnreach=False
    LogPortUnreach=False
    MaxConnPerIPPerMinute=5
    LogMaxConnPerIPPerMin=False
    
    [IpServer.UdpServerQuery]
    GameName=ut2
    
    [IpDrv.MasterServerUplink]
    DoUplink=True
    UplinkToGamespy=True
    SendStats=True
    ServerBehindNAT=False
    DoLANBroadcast=False
    bIgnoreUTANBans=False
    
    [IpDrv.MasterServerLink]
    LANPort=11777
    LANServerPort=10777
    MasterServerList=(Address="ut2004master1.epicgames.com",Port=28902)
    MasterServerList=(Address="ut2004master2.epicgames.com",Port=28902)
    
    [IpDrv.HTTPDownload]
    RedirectToURL=
    ProxyServerHost=
    ProxyServerPort=3128
    UseCompression=True
    
    [Engine.DemoRecDriver]
    AllowDownloads=True
    DemoSpectatorClass=UnrealGame.DemoRecSpectator
    MaxClientRate=25000
    ConnectionTimeout=15.0
    InitialConnectTimeout=200.0
    AckTimeout=1.0
    KeepAliveTime=1.0
    SimLatency=0
    RelevantTimeout=5.0
    SpawnPrioritySeconds=1.0
    ServerTravelPause=4.0
    NetServerMaxTickRate=30
    LanServerMaxTickRate=30
    
    [Engine.GameReplicationInfo]
    ServerName=UT2004 Server
    ShortName=UT2 Server
    ServerRegion=0
    AdminName=
    AdminEmail=
    MessageOfTheDay=
    
    [D3DDrv.D3DRenderDevice]
    DetailTextures=True
    HighDetailActors=True
    SuperHighDetailActors=True
    UsePrecaching=True
    UseTrilinear=True
    AdapterNumber=-1
    ReduceMouseLag=False
    UseTripleBuffering=False
    UseHardwareTL=True
    UseHardwareVS=True
    UseCubemaps=True
    DesiredRefreshRate=60
    UseCompressedLightmaps=True
    UseStencil=False
    Use16bit=False
    Use16bitTextures=False
    MaxPixelShaderVersion=255
    UseVSync=False
    LevelOfAnisotropy=1
    DetailTexMipBias=0.000000
    DefaultTexMipBias=-0.500000
    UseNPatches=False
    TesselationFactor=1.000000
    CheckForOverflow=False
    AvoidHitches=False
    OverrideDesktopRefreshRate=False
    ReportUnusedTextures=False
    DecompressTextures=False
    TerrainLOD=0
    SkyboxHack=False
    LowQualityTerrain=False
    
    [D3D9Drv.D3D9RenderDevice]
    DetailTextures=True
    HighDetailActors=True
    SuperHighDetailActors=True
    UsePrecaching=True
    UseTrilinear=True
    AdapterNumber=-1
    ReduceMouseLag=True
    UseTripleBuffering=False
    UseHardwareTL=True
    UseHardwareVS=True
    UseCubemaps=True
    DesiredRefreshRate=60
    UseCompressedLightmaps=True
    UseStencil=False
    Use16bit=False
    Use16bitTextures=False
    MaxPixelShaderVersion=255
    UseVSync=False
    LevelOfAnisotropy=1
    DetailTexMipBias=0.0
    DefaultTexMipBias=-0.5
    UseNPatches=False
    TesselationFactor=1.0
    CheckForOverflow=False
    OverrideDesktopRefreshRate=False
    
    [OpenGLDrv.OpenGLRenderDevice]
    DetailTextures=True
    HighDetailActors=True
    SuperHighDetailActors=True
    UsePrecaching=True
    UseCompressedLightmaps=True
    UseTrilinear=True
    UseStencil=False
    MaxTextureUnits=8
    VARSize=32
    ReduceMouseLag=True
    UseVSync=False
    LevelOfAnisotropy=1.0
    DetailTexMipBias=0.0
    DefaultTexMipBias=-0.5
    UseVBO=False
    UseVSync=False
    AppleVA=1
    MultisampleBuffers=0
    MultisampleSamples=0
    MultisampleHint=2
    
    [PixoDrv.PixoRenderDevice]
    FogEnabled=True
    Zoom2X=True
    SimpleMaterials=True
    LimitTextureSize=True
    LowQualityTerrain=True
    TerrainLOD=10
    SkyboxHack=True
    FilterQuality3D=1
    FilterQualityHUD=1
    HighDetailActors=False
    SuperHighDetailActors=False
    ReduceMouseLag=False
    DesiredRefreshRate=0
    DetailTexMipBias=0.000000
    Use16bitTextures=False
    Use16bit=True
    UseStencil=False
    UseCompressedLightmaps=False
    DetailTextures=False
    UsePrecaching=True
    
    [Engine.NullRenderDevice]
    DetailTextures=True
    HighDetailActors=True
    SuperHighDetailActors=True
    UsePrecaching=True
    UseCompressedLightmaps=True
    UseStencil=False
    
    [Editor.EditorEngine]
    UseSound=True
    CacheSizeMegs=32
    GridEnabled=True
    SnapVertices=False
    SnapDistance=1.000000
    GridSize=(X=4.000000,Y=4.000000,Z=4.000000)
    RotGridEnabled=True
    RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024)
    GameCommandLine=-log
    FovAngleDegrees=90.000000
    GodMode=True
    AutoSave=True
    AutoSaveTimeMinutes=5
    AutoSaveIndex=6
    UseAxisIndicator=True
    MatineeCurveDetail=0.1
    ShowIntWarnings=False
    UseSizingBox=True
    RenderDevice=D3DDrv.D3DRenderDevice
    AudioDevice=ALAudio.ALAudioSubsystem
    NetworkDevice=IpDrv.TcpNetDriver
    DemoRecordingDevice=Engine.DemoRecDriver
    Console=Engine.Console
    Language=ute
    AlwaysShowTerrain=False
    UseActorRotationGizmo=False
    LoadEntirePackageWhenSaving=0
    EditPackages=Core
    EditPackages=Engine
    EditPackages=Fire
    EditPackages=Editor
    EditPackages=UnrealEd
    EditPackages=IpDrv
    EditPackages=UWeb
    EditPackages=GamePlay
    EditPackages=UnrealGame
    EditPackages=XGame_rc
    EditPackages=XEffects
    EditPackages=XWeapons_rc
    EditPackages=XPickups_rc
    EditPackages=XPickups
    EditPackages=XGame
    EditPackages=XWeapons
    EditPackages=XInterface
    EditPackages=XAdmin
    EditPackages=XWebAdmin
    EditPackages=Vehicles
    EditPackages=BonusPack
    EditPackages=SkaarjPack_rc
    EditPackages=SkaarjPack
    EditPackages=UTClassic
    EditPackages=UT2k4Assault
    EditPackages=Onslaught
    EditPackages=GUI2K4
    EditPackages=UT2k4AssaultFull
    EditPackages=OnslaughtFull
    EditPackages=xVoting
    EditPackages=StreamlineFX
    EditPackages=UTV2004c
    EditPackages=UTV2004s
    EditPackages=OnslaughtBP
    EditPackages=H1_Vehicles
    EditPackages=H1_Weapons
    CutdownPackages=Core
    CutdownPackages=Editor
    CutdownPackages=Engine
    CutdownPackages=Fire
    CutdownPackages=GamePlay
    CutdownPackages=GUI2K4
    CutdownPackages=IpDrv
    CutdownPackages=UT2K4Assault
    CutdownPackages=Onslaught
    CutdownPackages=UnrealEd
    CutdownPackages=UnrealGame
    CutdownPackages=UTClassic
    CutdownPackages=UWeb
    CutdownPackages=Vehicles
    CutdownPackages=XAdmin
    CutdownPackages=XEffects
    CutdownPackages=XGame
    CutdownPackages=XGame_rc
    CutdownPackages=XInterface
    CutdownPackages=XPickups
    CutdownPackages=XPickups_rc
    CutdownPackages=XWeapons
    CutdownPackages=XWeapons_rc
    CutdownPackages=XWebAdmin
    CutdownPackages=XVoting
    
    [UWeb.WebServer]
    Applications[0]=xWebAdmin.UTServerAdmin
    ApplicationPaths[0]=/ServerAdmin
    Applications[1]=xWebAdmin.UTImageServer
    ApplicationPaths[1]=/images
    bEnabled=False
    ListenPort=80
    
    [Engine.Console]
    ConsoleHotKey=9
    TimePerTitle=30.000000
    TimePerDemo=60.000000
    TimePerSoak=3600.000000
    TimeTooIdle=60.000000
    DemoLevels[0]=DM-Curse3
    DemoLevels[1]=DM-Antalus
    DemoLevels[2]=CTF-Chrome
    DemoLevels[3]=DOM-SunTemple
    DemoLevels[4]=BR-Endagra
    TimeBeforeReboot=5.000000
    DemoLevels[5]=
    DemoLevels[6]=
    DemoLevels[7]=
    DemoLevels[8]=
    DemoLevels[9]=
    DemoLevels[10]=
    DemoLevels[11]=
    DemoLevels[12]=
    DemoLevels[13]=
    DemoLevels[14]=
    DemoLevels[15]=
    DemoLevels[16]=
    DemoLevels[17]=
    DemoLevels[18]=
    DemoLevels[19]=
    DemoLevels[20]=
    DemoLevels[21]=
    DemoLevels[22]=
    DemoLevels[23]=
    DemoLevels[24]=
    DemoLevels[25]=
    DemoLevels[26]=
    DemoLevels[27]=
    DemoLevels[28]=
    DemoLevels[29]=
    DemoLevels[30]=
    DemoLevels[31]=
    DemoLevels[32]=
    DemoLevels[33]=
    DemoLevels[34]=
    DemoLevels[35]=
    DemoLevels[36]=
    DemoLevels[37]=
    DemoLevels[38]=
    DemoLevels[39]=
    DemoLevels[40]=
    DemoLevels[41]=
    DemoLevels[42]=
    DemoLevels[43]=
    DemoLevels[44]=
    DemoLevels[45]=
    DemoLevels[46]=
    DemoLevels[47]=
    DemoLevels[48]=
    DemoLevels[49]=
    DemoLevels[50]=
    DemoLevels[51]=
    DemoLevels[52]=
    DemoLevels[53]=
    DemoLevels[54]=
    DemoLevels[55]=
    DemoLevels[56]=
    DemoLevels[57]=
    DemoLevels[58]=
    DemoLevels[59]=
    DemoLevels[60]=
    DemoLevels[61]=
    DemoLevels[62]=
    DemoLevels[63]=
    
    [Engine.AccessControl]
    AdminPassword=
    GamePassword=
    bBanByID=True
    LoginDelaySeconds=0.000000
    IPPolicies=ACCEPT;*
    
    [Engine.GameInfo]
    GoreLevel=2
    MaxSpectators=2
    MaxPlayers=16
    AutoAim=1.000000
    GameSpeed=1.000000
    bChangeLevels=True
    bStartUpLocked=False
    bNoBots=False
    bAttractAlwaysFirstPerson=False
    NumMusicFiles=13
    bEnableStatLogging=false
    HUDType=Engine.Hud
    MaxLives=0
    TimeLimit=0
    GoalScore=0
    GameStatsClass=IpDrv.MasterServerGameStats
    SecurityClass=UnrealGame.UnrealSecurity
    AccessControlClass=Engine.AccessControl
    VotingHandlerType=xVoting.xVotingHandler
    MaxIdleTime=0.000000
    bAllowBehindView=False
    bAdminCanPause=False
    bWeaponShouldViewShake=True
    bLowGore=False
    bLargeGameVOIP=False
    GameDifficulty=0.000000
    MaplistHandlerType=
    ServerSkillLevel=
    
    [Engine.AmbientSound]
    AmbientVolume=0.25
    
    [Engine.LevelInfo]
    PhysicsDetailLevel=PDL_Medium
    MeshLODDetailLevel=MDL_Medium
    bLowSoundDetail=False
    DecalStayScale=1.0
    bNeverPrecache=false
    bShouldPreload=True
    bDesireSkinPreload=True
    MaxClientFrameRate=+90.0
    
    [XInterface.ExtendedConsole]
    ConsoleHotKey=192
    NeedPasswordMenuClass=GUI2K4.UT2K4GetPassword
    bSpeechMenuUseMouseWheel=True
    bSpeechMenuUseLetters=False
    SMOriginX=0.010000
    SMOriginY=0.300000
    LetterKeys[0]=IK_Q
    LetterKeys[1]=IK_W
    LetterKeys[2]=IK_E
    LetterKeys[3]=IK_R
    LetterKeys[4]=IK_A
    LetterKeys[5]=IK_S
    LetterKeys[6]=IK_D
    LetterKeys[7]=IK_F
    LetterKeys[8]=IK_Z
    LetterKeys[9]=IK_X
    MusicManagerClassName=GUI2K4.StreamPlayer
    MaxScrollbackSize=128
    PasswordPromptMenu=
    ChatMenuClass=GUI2K4.UT2K4InGameChat
    StatsPromptMenuClass=GUI2K4.UT2K4StatsPrompt
    WaitingGameClassName=
    ServerInfoMenu=GUI2K4.UT2K4ServerInfo
    bDemoJogKeys=True
    
    [XGame.xDeathMatch]
    HUDType=XInterface.HudBDeathMatch
    MaxLives=0
    TimeLimit=20
    GoalScore=25
    bTeamScoreRound=False
    bPlayersMustBeReady=False
    bAllowTaunts=True
    bForceRespawn=False
    bWeaponStay=true
    bCustomPreload=False
    NetWait=5
    bAdjustSkill=False
    bAllowTrans=False
    SpawnProtectionTime=2.000000
    LateEntryLives=1
    LoginMenuClass=GUI2K4.UT2K4PlayerLoginMenu
    bAllowPrivateChat=True
    bAllowWeaponThrowing=True
    ResetTimeDelay=0
    
    [XGame.xTeamGame]
    HUDType=XInterface.HudBTeamDeathMatch
    MaxLives=0
    TimeLimit=20
    GoalScore=60
    bTeamScoreRound=False
    bPlayersMustBeReady=False
    bAllowTaunts=True
    FriendlyFireScale=0.000000
    MaxTeamSize=16
    bForceRespawn=False
    bWeaponStay=true
    bAllowNonTeamChat=False
    NetWait=5
    bAdjustSkill=False
    bAllowTrans=False
    SpawnProtectionTime=2.000000
    LateEntryLives=1
    LoginMenuClass=GUI2K4.UT2K4PlayerLoginMenu
    bAllowPrivateChat=True
    bAllowWeaponThrowing=True
    ResetTimeDelay=0
    
    [XGame.xCTFGame]
    HUDType=XInterface.HudBCaptureTheFlag
    MaxLives=0
    TimeLimit=20
    GoalScore=3
    bTeamScoreRound=False
    bPlayersMustBeReady=False
    bAllowTaunts=True
    FriendlyFireScale=0.000000
    MaxTeamSize=16
    bForceRespawn=False
    bWeaponStay=true
    bAllowNonTeamChat=False
    NetWait=5
    bAdjustSkill=False
    bAllowTrans=True
    SpawnProtectionTime=2.000000
    LateEntryLives=1
    LoginMenuClass=GUI2K4.UT2K4PlayerLoginMenu
    bAllowPrivateChat=True
    bAllowWeaponThrowing=True
    ResetTimeDelay=0
    
    [XGame.xDoubleDom]
    HUDType=XInterface.HudBDoubleDomination
    MaxLives=0
    TimeLimit=20
    GoalScore=3
    bTeamScoreRound=False
    bPlayersMustBeReady=False
    bAllowTaunts=True
    TimeToScore=10
    TimeDisabled=10
    FriendlyFireScale=0
    MaxTeamSize=16
    bForceRespawn=False
    bWeaponStay=true
    
    [XGame.xBombingRun]
    HUDType=XInterface.HudBBombingRun
    MaxLives=0
    TimeLimit=20
    GoalScore=15
    bTeamScoreRound=False
    bPlayersMustBeReady=False
    bAllowTaunts=True
    FriendlyFireScale=0
    MaxTeamSize=16
    bForceRespawn=False
    bWeaponStay=true
    
    [Engine.MaplistManager]
    Games=(GameType="BonusPack.xLastManStandingGame",ActiveMaplist="Default LMS")
    Games=(GameType="BonusPack.xMutantGame",ActiveMaplist="Default MUT")
    Games=(GameType="Onslaught.ONSOnslaughtGame",ActiveMaplist="Default ONS")
    Games=(GameType="SkaarjPack.Invasion",ActiveMaplist="Default INV")
    Games=(GameType="UT2k4Assault.ASGameInfo",ActiveMaplist="Default AS")
    Games=(GameType="XGame.xBombingRun",ActiveMaplist="Default BR")
    Games=(GameType="XGame.xCTFGame",ActiveMaplist="Default CTF")
    Games=(GameType="XGame.xDeathMatch",ActiveMaplist="Default DM")
    Games=(GameType="XGame.xDoubleDom",ActiveMaplist="Default DOM2")
    Games=(GameType="XGame.xTeamGame",ActiveMaplist="Default TDM")
    Games=(GameType="XGame.xVehicleCTFGame",ActiveMaplist="Default VCTF")
    Games=(GameType="XGame.InstagibCTF",ActiveMaplist="Default ICTF")
    Games=(GameType="HaloGametypes.HaloInvasion",ActiveMaplist="Default INV0")
    
    [XInterface.MapListDeathMatch]
    MapNum=0
    Maps=DM-RRAJIGAR
    Maps=DM-RANKIN
    Maps=DM-CORRUGATION
    Maps=DM-DE-GRENDELKEEP
    Maps=DM-DE-IRONIC
    Maps=DM-DE-OSIRIS2
    Maps=DM-GESTALT
    Maps=DM-IRONDEITY
    Maps=DM-METALLURGY
    Maps=DM-Deck17
    Maps=DM-Antalus
    Maps=DM-Asbestos
    Maps=DM-Curse4
    
    [XInterface.MapListTeamDeathMatch]
    MapNum=0
    Maps=DM-RRAJIGAR
    Maps=DM-RANKIN
    Maps=DM-CORRUGATION
    Maps=DM-DE-GRENDELKEEP
    Maps=DM-DE-IRONIC
    Maps=DM-DE-OSIRIS2
    Maps=DM-GESTALT
    Maps=DM-IRONDEITY
    Maps=DM-METALLURGY
    Maps=DM-Deck17
    Maps=DM-Antalus
    Maps=DM-Asbestos
    Maps=DM-Curse4
    
    [XInterface.MapListCaptureTheFlag]
    MapNum=0
    Maps=CTF-ABSOLUTEZERO
    Maps=CTF-MOONDRAGON
    Maps=CTF-GRASSYKNOLL
    Maps=CTF-COLOSSUS
    Maps=CTF-SMOTE
    Maps=CTF-DOUBLEDAMMAGE
    Maps=CTF-AVARIS
    Maps=CTF-BRIDGEOFFATE
    Maps=CTF-FaceClassic
    Maps=CTF-CHROME
    Maps=CTF-Citadel
    Maps=CTF-Orbital2
    
    [XInterface.MapListDoubleDomination]
    MapNum=0
    Maps=DOM-ATLANTIS
    Maps=DOM-ACCESS
    Maps=DOM-ASWAN
    Maps=DOM-JUNKYARD
    Maps=DOM-RENASCENT
    Maps=DOM-SUNTEMPLE
    Maps=DOM-SCORCHEDEARTH
    
    [XInterface.MapListBombingRun]
    MapNum=0
    Maps=BR-TWINTOMBS
    Maps=BR-BRIDGEOFFATE
    Maps=BR-CANYON
    Maps=BR-COLOSSUS
    Maps=BR-SERENITY
    Maps=BR-SkyLine
    Maps=BR-Anubis
    
    [BonusPack.MapListMutant]
    Maps=DM-RRAJIGAR
    Maps=DM-RANKIN
    Maps=DM-CORRUGATION
    Maps=DM-DE-GRENDELKEEP
    Maps=DM-DE-IRONIC
    Maps=DM-DE-OSIRIS2
    Maps=DM-GESTALT
    Maps=DM-IRONDEITY
    Maps=DM-METALLURGY
    Maps=DM-Deck17
    Maps=DM-Antalus
    Maps=DM-Asbestos
    Maps=DM-Curse4
    
    [BonusPack.MapListLastManStanding]
    Maps=DM-RRAJIGAR
    Maps=DM-RANKIN
    Maps=DM-CORRUGATION
    Maps=DM-DE-GRENDELKEEP
    Maps=DM-DE-IRONIC
    Maps=DM-DE-OSIRIS2
    Maps=DM-GESTALT
    Maps=DM-IRONDEITY
    Maps=DM-METALLURGY
    Maps=DM-Deck17
    Maps=DM-Antalus
    Maps=DM-Asbestos
    Maps=DM-Curse4
    
    [Onslaught.ONSMapListOnslaught]
    Maps=ONS-TORLAN?LinkSetup=Default
    Maps=ONS-ARCTICSTRONGHOLD?LinkSetup=Default
    Maps=ONS-CROSSFIRE?LinkSetup=Default
    Maps=ONS-DRIA?LinkSetup=Default
    Maps=ONS-SEVERANCE?LinkSetup=Default
    
    [Skaarjpack.MapListSkaarjInvasion]
    MapNum=0
    
    [UT2K4Assault.ASMapList]
    Maps=AS-CONVOY
    Maps=AS-FALLENCITY
    Maps=AS-MOTHERSHIP
    Maps=AS-GLACIER
    Maps=AS-ROBOTFACTORY
    Maps=AS-JUNKYARD
    
    [UnrealEd.UnrealEdEngine]
    AutoSaveIndex=2
    GridEnabled=True
    SnapVertices=False
    SnapDistance=1.000000
    GridSize=(X=1.000000,Y=1.000000,Z=1.000000)
    RotGridEnabled=True
    RotGridSize=(Pitch=1024,Yaw=1024,Roll=1024)
    UseSizingBox=True
    UseAxisIndicator=True
    FovAngleDegrees=90.000000
    GodMode=True
    AutoSave=True
    AutosaveTimeMinutes=5
    GameCommandLine=-log
    AlwaysShowTerrain=False
    UseActorRotationGizmo=False
    LoadEntirePackageWhenSaving=False
    ShowIntWarnings=False
    CacheSizeMegs=32
    UseSound=True
    UseStaticMeshBatching=True
    ServerReadsStdin=False
    DetectedVideoMemory=2048
    C_WorldBox=(B=107,G=0,R=0,A=255)
    C_GroundPlane=(B=63,G=0,R=0,A=255)
    C_GroundHighlight=(B=127,G=0,R=0,A=255)
    C_BrushWire=(B=63,G=63,R=255,A=255)
    C_Pivot=(B=0,G=255,R=0,A=255)
    C_Select=(B=127,G=0,R=0,A=255)
    C_Current=(B=0,G=0,R=0,A=255)
    C_AddWire=(B=255,G=127,R=127,A=255)
    C_SubtractWire=(B=63,G=192,R=255,A=255)
    C_GreyWire=(B=163,G=163,R=163,A=255)
    C_BrushVertex=(B=0,G=0,R=0,A=255)
    C_BrushSnap=(B=0,G=0,R=0,A=255)
    C_Invalid=(B=163,G=163,R=163,A=255)
    C_ActorWire=(B=0,G=63,R=127,A=255)
    C_ActorHiWire=(B=0,G=127,R=255,A=255)
    C_Black=(B=0,G=0,R=0,A=255)
    C_White=(B=255,G=255,R=255,A=255)
    C_Mask=(B=0,G=0,R=0,A=255)
    C_SemiSolidWire=(B=0,G=255,R=127,A=255)
    C_NonSolidWire=(B=32,G=192,R=63,A=255)
    C_WireBackground=(B=0,G=0,R=0,A=255)
    C_WireGridAxis=(B=119,G=119,R=119,A=255)
    C_ActorArrow=(B=0,G=0,R=163,A=255)
    C_ScaleBox=(B=11,G=67,R=151,A=255)
    C_ScaleBoxHi=(B=157,G=149,R=223,A=255)
    C_ZoneWire=(B=0,G=0,R=0,A=255)
    C_Mover=(B=255,G=0,R=255,A=255)
    C_OrthoBackground=(B=163,G=163,R=163,A=255)
    C_StaticMesh=(B=255,G=255,R=0,A=255)
    C_VolumeBrush=(B=225,G=196,R=255,A=255)
    C_ConstraintLine=(B=0,G=255,R=0,A=255)
    C_AnimMesh=(B=28,G=221,R=221,A=255)
    C_TerrainWire=(B=255,G=255,R=255,A=255)
    bSlowRefChecking=False
    
    [Onslaught.ONSOnslaughtGame]
    OvertimeCoreDrainPerSec=20
    bRandSetupAfterReset=False
    bSwapSidesAfterReset=True
    bAllowNonTeamChat=False
    FriendlyFireScale=0.000000
    NetWait=15
    bForceRespawn=False
    bAdjustSkill=False
    bAllowTaunts=True
    bAllowTrans=False
    SpawnProtectionTime=2.000000
    LateEntryLives=1
    LoginMenuClass=GUI2K4.UT2K4OnslaughtLoginMenu
    bAllowPrivateChat=True
    bWeaponStay=True
    bAllowWeaponThrowing=True
    ResetTimeDelay=11
    GoalScore=3
    MaxLives=0
    TimeLimit=20
    
    [UnrealGame.TeamGame]
    bBalanceTeams=True
    bPlayersBalanceTeams=True
    
    [UnrealGame.DeathMatch]
    MinNetPlayers=1
    RestartWait=30
    bTournament=False
    bAutoNumBots=True
    bColoredDMSkins=False
    bPlayersMustBeReady=False
    bWaitForNetPlayers=True
    bAllowPlayerLights=False
    bForceDefaultCharacter=False
    NamePrefixes[0]=Mr_
    NamePrefixes[1]=
    NamePrefixes[2]=The_Real_
    NamePrefixes[3]=Evil_
    NamePrefixes[4]=
    NamePrefixes[5]=Owns_
    NamePrefixes[6]=
    NamePrefixes[7]=Evil_
    NamePrefixes[8]=
    NamePrefixes[9]=
    NameSuffixes[0]=
    NameSuffixes[1]=_is_lame
    NameSuffixes[2]=
    NameSuffixes[3]=
    NameSuffixes[4]=_sucks
    NameSuffixes[5]=
    NameSuffixes[6]=_OwnsYou
    NameSuffixes[7]=
    NameSuffixes[8]=_jr
    NameSuffixes[9]='s_clone
    
    [UnrealGame.UnrealMPGameInfo]
    BotMode=5
    MinPlayers=0
    EndTimeDelay=4.000000
    BotRatio=1.000000
    
    [xVoting.xVotingHandler]
    VoteTimeLimit=70
    ScoreBoardDelay=5
    bAutoOpen=True
    MidGameVotePercent=50
    bScoreMode=False
    bAccumulationMode=False
    bEliminationMode=False
    MinMapCount=2
    MapVoteHistoryType=xVoting.MapVoteHistory_INI
    RepeatLimit=4
    DefaultGameConfig=0
    bDefaultToCurrentGameType=True
    bMapVote=False
    bKickVote=False
    bMatchSetup=False
    KickPercent=51
    bAnonymousKicking=True
    MapListLoaderType=xVoting.DefaultMapListLoader
    ServerNumber=1
    CurrentGameConfig=0
    
    [xVoting.DefaultMapListLoader]
    bUseMapList=False
    MapNamePrefixes=
    
    [Engine.VoiceChatReplicationInfo]
    bEnableVoiceChat=True
    bAllowLocalBroadcast=True
    MaxChatters=0
    LocalBroadcastRange=1000.000000
    DefaultBroadcastRadius=20.000000
    VoIPInternetCodecs=CODEC_48NB
    VoIPLANCodecs=CODEC_48NB
    VoIPLANCodecs=CODEC_96WB
    
    [Engine.BroadcastHandler]
    bMuteSpectators=False
    bPartitionSpectators=False
    
    [IpDrv.UdpGamespyQuery]
    MinNetVer=0
    OldQueryPortNumber=7787
    bRestartServerOnPortSwap=True
    bDebugPortSwaps=True
    So what am I doing wrong?

    Leave a comment:


  • replied
    Yeah, there was a way to do that (a bunch of the TC mods had their own really slick looking menus), but I don't quite recall how. You usually ended up having to edit all of the little GUI textures yourself (to make them your preferred color as I recall), but the I think it was just a couple of classes.

    When I'd worked on my own TC mod, I used a simple "base mod" that someone had put together for other to use and build on, I recall it being pretty straight forward to setup. I'll see if I can find the zip file.

    Leave a comment:


  • replied
    The link you gave me fixed the problem.
    Now I have vehicles in my mod.

    I changed the folder paths on the MyMod.ini inside of the MyMod folder.

    Paths=../MyMod/Animations/*.ukx
    Paths=../MyMod/Help/*.ukx
    Paths=../MyMod/Maps/*.ut2
    Paths=../MyMod/Music/*.umx
    Paths=../MyMod/Sounds/*.uax
    Paths=../MyMod/StaticMeshes/*.uax
    Paths=../MyMod/System/*.u
    Paths=../MyMod/Textures/*.utx

    Then I made a shortcut to UnrealEd and in the properties/target I add this command line
    C:\UT2004\System\unrealed.exe -mod=MyMod

    Then I was able to add vehicles to my mod maps.

    Thanks meowcatbuf

    ------------------------
    One other thing:

    In the "UDN - Two - ImprovedModSupport" link under the script packages section,
    it mentions the MyModGUI but it does not tell you how you create one.
    Is there a way to copy the ut2004 menu/gui code and textures so I can create a custom menu/gui in the MyMod folder?

    Leave a comment:


  • replied
    Hi Maxx, I had my mod running in its own folder using UT2K4's mod system at one time, but I don't know if I ever actually compiled anything in that folder. I think I compiled the .u files normally in the UT200/System directory and then just moved them to the other folder afterwards. I think you can specify extra folder paths in the .ini file so that the compiler can check other folders... but its been over ten years since I tired that.

    These two old links over at the UDN2 may help
    PublicModResource
    Improved Mod Support

    Leave a comment:


  • replied
    I am having a problem getting my vehicles into a total conversion mod.
    The TC mod is in a folder called Halo_1, I was able to run my custom maps from the Halo_1 folder
    but when I try to compile my vehicles in that folder I get this error.

    Code:
    Init: Base directory: C:\UT2004\System\
    
    Heading: ------------------------H1_Vehicles - Release-------------------------
    Warning: Failed to load 'H1_Vehicles.u': Can't find file 'H1_Vehicles.u'
    Warning: Failed loading package: Can't find file 'H1_Vehicles.u'
    Log: Analyzing...
    Critical: Can't find files matching H1_Vehicles\Classes\*.uc
    Exit: Executing UObject::StaticShutdownAfterError
    Critical: UMakeCommandlet::Main
    Exit: Exiting.
    Do I need to put all files in one folder to compile or do something different?

    Leave a comment:


  • replied
    ut2004isdead/Max: Most of that arc-projectile effect will be in the projectile class and its effect and explosion effect class. I recommend starting with the ONSPlasmaProjectile as a base class, or maybe just subclass it. It already has similar particle effects already. To get the arcing effect, you will then need to change its Physics mode, either in the default properties or via a 'timer' call sometime after it spawns, to PHYS_Falling. You will have to learn about emitters and experiment a bit to get an effect that you like. I usually just copy and paste and Emitter effect that I like from something else into a new class, then edit it as necessary until I get something I like.

    Here is a simple subclass to start from:

    Code:
    class WraithProjectile extends ONSPlasmaProjectile;
    
    defaultproperties
    {
        ExplosionDecal=class'LinkBoltScorch'
        HitEffectClass=class'Onslaught.ONSPlasmaHitGreen' // <- maybe make a subclass of this, then scale everything larger
       PlasmaEffectClass=class'Onslaught.ONSBluePlasmaFireEffect'  
        Lifespan=5.0 //1.2
        Speed=7000
        MaxSpeed=7000
        AccelerationMagnitude=0.0
        Damage=95 //70
        DamageRadius=350 // 240.0
        MomentumTransfer=4000
        Physics=PHYS_falling // Physics=PHYS_Projectile // <- changed this to have it drop
        DrawType=DT_None
        Style=STY_Additive
        AmbientGlow=100
    }
    @Deggenyr: I think I've seen that before... but I don't quite remember what setting was causing it. You can use 'code' tags by putting the word 'code' in place of the word brackets like this [brackets] code paste goes here [/brackets], to make your default properties paste show up in the forum as a code block (easier to read).

    I have a small ATV vehicle in my own mod that works fairly well, here are the default properties for comparison. I've noticed that small karma physics vehicle seem to behave "squirrely", I don't know if that is just because the forces then applied to them can so easily perturb them or what, just that they seem to get wonky pretty easily. I bumped up the mass of my ATV (to almost half the HellBender's) in a partially successful effort to have be less "bouncy". The other thing to keep track of is where the Vehicle's center of mass is located (it can be adjusted by the Offset in the KarmaParams properties, or by physically shifting the model's center point), and how its collision boxes and wheel traces are interacting, good debug commands can be found here, and here is the old psyonix svehicle tutorial (highly recommend downloading offline copies of these webpages, and any of these UDN2 ones.... they probably won't be around for much longer considering they are already 14+ years old).
    Code:
    defaultproperties
    {
    ...
    
        DrawScale=1.0
        DrawScale3D=(X=1.0,Y=1.0,Z=1.0)
        CollisionRadius=85.0
        bDoStuntInfo=true
    
        AirTurnTorque=35.0
        AirPitchTorque=55.0
        AirPitchDamping=35.0
        AirRollTorque=35.0
        AirRollDamping=35.0
        bHasHandbrake=true
    
    ....
    
        StartUpForce="RVStartUp"
        ShutDownForce="PRVShutDown"
    
        SteerBoneName="Steering"
        SteerBoneAxis=AXIS_Z
        SteerBoneMaxAngle=-25
    
     ....
    
        WheelPenScale=1.2
        WheelPenOffset=0.01
        WheelSoftness=0.025
        WheelRestitution=0.1
        WheelAdhesion=0.0
        WheelLongFrictionFunc=(Points=((InVal=0,OutVal=0.0),(InVal=100.0,OutVal=1.0),(InVal=200.0,OutVal=0.9),(InVal=10000000000.0,OutVal=0.9)))
        WheelLongFrictionScale=1.1
        WheelLatFrictionScale=1.35
        WheelLongSlip=0.001
        WheelLatSlipFunc=(Points=((InVal=0.0,OutVal=0.0),(InVal=30.0,OutVal=0.009),(InVal=45.0,OutVal=0.00),(InVal=10000000000.0,OutVal=0.00)))
        WheelHandbrakeSlip=0.01
        WheelHandbrakeFriction=0.1
        WheelSuspensionTravel=5.0
        WheelSuspensionOffset=-4.0
        WheelSuspensionMaxRenderTravel=5.0
        TurnDamping=35
    
        HandbrakeThresh=200
        FTScale=0.03
        ChassisTorqueScale=0.08
    
        MinBrakeFriction=4.0
        MaxBrakeTorque=20.0
        MaxSteerAngleCurve=(Points=((InVal=0,OutVal=45),(InVal=600.0,OutVal=25.0),(InVal=1100.0,OutVal=10.0),(InVal=1300.0,OutVal=6.0),(InVal=1600.0,OutVal=1.0)))
        SteerSpeed=160
        StopThreshold=100
        TorqueCurve=(Points=((InVal=0,OutVal=9.0),(InVal=200,OutVal=10.0),(InVal=1500,OutVal=11.0),(InVal=2800,OutVal=0.0)))
        EngineBrakeFactor=0.0001
        EngineBrakeRPMScale=0.1
        EngineInertia=0.1
        WheelInertia=0.1
    
        TransRatio=0.15
        GearRatios[0]=-0.5
        GearRatios[1]=0.4
        GearRatios[2]=0.65
        GearRatios[3]=0.85
        GearRatios[4]=1.1
        ChangeUpPoint=2000
        ChangeDownPoint=1000
        LSDFactor=1.0
    
        VehicleMass=1.9 //was 1.1
    
        Begin Object Class=KarmaParamsRBFull Name=KParams0
            KStartEnabled=True
            KFriction=0.5
            KLinearDamping=0.05
            KAngularDamping=0.05
            KImpactThreshold=700
            bKNonSphericalInertia=True
            bHighDetailOnly=False
            bClientOnly=False
            bKDoubleTickRate=True
            KInertiaTensor(0)=1.0
            KInertiaTensor(1)=0.0
            KInertiaTensor(2)=0.0
            KInertiaTensor(3)=3.0
            KInertiaTensor(4)=0.0
            KInertiaTensor(5)=3.0
            KCOMOffset=(X=0.0,Y=0.0,Z=-0.3)
            bDestroyOnWorldPenetrate=True
            bDoSafetime=True
            Name="KParams0"
        End Object
        KParams=KarmaParams'KParams0'
    
        Begin Object Class=SVehicleWheel Name=RRWheel
            BoneName="RRgtTire"
            BoneRollAxis=AXIS_Y
            BoneSteerAxis=AXIS_Z
            BoneOffset=(X=0.0,Y=0.0,Z=0.0)
            WheelRadius=16
            bPoweredWheel=True
            bHandbrakeWheel=True
            SteerType=VST_Fixed
            SupportBoneName=""
            SupportBoneAxis=AXIS_X
        End Object
        Wheels(0)=SVehicleWheel'RRWheel'
    
        Begin Object Class=SVehicleWheel Name=LRWheel
            BoneName="RLftTire"
            BoneRollAxis=AXIS_Y
            BoneSteerAxis=AXIS_Z
            BoneOffset=(X=0.0,Y=0.0,Z=0.0)
            WheelRadius=16
            bPoweredWheel=True
            bHandbrakeWheel=True
            SteerType=VST_Fixed
            SupportBoneName=""
            SupportBoneAxis=AXIS_X
        End Object
        Wheels(1)=SVehicleWheel'LRWheel'
    
        Begin Object Class=SVehicleWheel Name=RFWheel
            BoneName="FRgtTire"
            BoneRollAxis=AXIS_Y
            BoneSteerAxis=AXIS_Z
            BoneOffset=(X=0.0,Y=0.0,Z=0.0)
            WheelRadius=16
            bPoweredWheel=True
            SteerType=VST_Steered
            SupportBoneName=""
            SupportBoneAxis=AXIS_X
        End Object
        Wheels(2)=SVehicleWheel'RFWheel'
    
        Begin Object Class=SVehicleWheel Name=LFWheel
            BoneName="FLftTire"
            BoneRollAxis=AXIS_Y
            BoneSteerAxis=AXIS_Z
            BoneOffset=(X=0.0,Y=0.0,Z=0.0)
            WheelRadius=16
            bPoweredWheel=True
            SteerType=VST_Steered
            SupportBoneName=""
            SupportBoneAxis=AXIS_X
        End Object
        Wheels(3)=SVehicleWheel'LFWheel'
    
        GroundSpeed=920
        bDriverHoldsFlag=false
    }
    Last edited by meowcatbuf; 03-05-2018, 09:47 PM.

    Leave a comment:


  • replied
    I am having trouble with a custom vehicle of mine, the problem is that when I try to steer, the vehicle just stops dead and even starts moving sideways a bit. I tried increasing the output values for MaxSteerAngleCurve, and also reducing the turn damping but I am still not able to fix it.
    My values are:

    MaxSteerAngleCurve=(Points=((OutVal=1000.000000),(InVal=300.000000,OutVal=850.000000),(InVal=500.000000,OutVal=700.000000),(InVal=600.000000,OutVal=600.000000),(InVal=1000000000.000000,OutVal=500.000000)))


    TorqueCurve=(Points=((OutVal=3/*12.000000*/),(InVal=200.000000,OutVal=6/*3.000000*/),(InVal=1500.000000,OutVal=12/*4.000000*/),(InVal=5000,OutVal=16),(InVal=7000,OutVal=20),(InVal=10000000000.000000,OutVal=0.900000)))

    GearRatios(0)=-0.200000
    GearRatios(1)=0.200000
    TransRatio=0.12//0.3//0.120000
    SteeringScaleFactor=4//0.750000//2//0.750000
    ChangeUpPoint=7000//3000.000000
    ChangeDownPoint=1000.000000

    My vehicle has only ONE forward gear.

    ChassisTorqueScale=0.095
    MinBrakeFriction=4.000000

    SteerSpeed=300 //is is the number of Unreal degrees (65536 = 360) per second that the front tires try to turn at. In almost all cases the tires turn at this rate but really it depends on SteerTorque.
    TurnDamping=25

    LSDFactor=1


    WheelSoftness=0.075
    WheelPenScale=1.5//0.9 //0.03 calculated.//2.000000 //higher =more bounce medium value 1
    WheelPenOffset=0.010000
    WheelRestitution=0.100000
    WheelInertia=0.025//0.100000
    WheelLongFrictionFunc=(Points=(,(InVal=100.000000,OutVal=1.000000),(InVal=200.000000,OutVal=0.900000),(InVal=10000000000.000000,OutVal=0.900000)))
    WheelLongSlip=0.001000
    WheelLatSlipFunc=(Points=(,(InVal=30.000000,OutVal=0.009000),(InVal=10000000000.000000)))
    WheelLongFrictionScale=1.500000
    WheelLatFrictionScale=3.000000
    WheelHandbrakeSlip=0.010000
    WheelHandbrakeFriction=0.100000
    WheelSuspensionTravel=7//10//5//15.000000
    WheelSuspensionMaxRenderTravel=15.000000
    //WheelSuspensionOffset //This is the vertical offset of the suspension. This is the number of unreal units to offset the initial position of the wheels by. Positive number will make the wheels closer to the car (more like a sports car) while negative numbers will make the wheels further below the car (like a monster truck).
    WheelSuspensionOffset=-5

    The left and right (physical) wheels are spaced at around 50-60 UUs from each other.
    Wheel Radius is 15.
    All wheels are powered.

    The vehicle is similar in size with the TC 1200 toilet car.
    Last edited by Deggenyr; 03-05-2018, 11:55 AM.

    Leave a comment:


  • replied
    Hey meowcat,

    For the longest time I have wanted to fire a blue plasma arch (if you know what I mean) from my wraith tank.
    Some one told me a long time ago that the HaloUT team made a H1 wraith tank, but I cant find it anywhere.
    I have looked high and low and cant find a mod that does this or something similar.
    The closest thing I found is that standard ut2004 green blob gun. It does fire the blobs in an arch, so I think it is possible.
    I just need to find out how to change its property's (I think) from blob to energy and make it bigger and fire slower.

    So, do you have any ideas how this can be done?

    Leave a comment:


  • replied
    From what it looks like ClientSetViewTarget calls come from other functions in the PlayerController.uc class.

    From what I can tell, the 'KDriverEnter' function in the Vehicle.uc class calls 'C.Possess(self)' on the controller to take charge of the vehicle. Possess (in the PlayerController.uc version) assign the pawn (vehicle in this case) to the controller, then calls the function 'Restart()'. This function then calls 'SetViewTarget()' and also the 'ClientRestart()' function which is replicated down to the Client's version of the controller.

    Leave a comment:

Working...
X