|
|
Line 4: |
Line 4: |
|
| |
|
| ---- | | ---- |
|
| |
| Taehl's Objective Weapons mod-in-progress:
| |
|
| |
|
| <uscript> | | <uscript> |
| class EONSScorpion extends ONSRV;
| | // put code here |
| | </uscript> |
|
| |
|
| var () class<Emitter> AfterburnerClass[2];
| | <pre> |
| var Emitter Afterburner[2];
| | Log: Log file open, 06/20/08 19:43:29 |
| var () Vector AfterburnerOffset[2];
| | Init: Version: 3547 |
| var () Rotator AfterburnerRotOffset[2];
| | Init: Epic Internal: 0 |
| var bool bAfterburnersOn;
| | Init: Compiled: May 29 2008 15:47:24 |
| | | Init: Command line: make -useunpublished -engineini="D:\Eigene Dateien\My Games\Unreal Tournament 3\UTGame\Src\WebScores\MakeEngine.ini" -editorini="D:\Eigene Dateien\My Games\Unreal Tournament 3\UTGame\Src\WebScores\MakeEditor.ini" -log=MakeWebScores.log |
| var bool bBoost; //Boost functionality
| | Init: Base directory: S:\Unreal Tournament 3\Binaries\ |
| var float BoostForce;
| | Init: Character set: Unicode |
| var float BoostTime;
| | Log: GConfig::LoadFile has loaded file: D:\Eigene Dateien\My Games\Unreal Tournament 3\UTGame\Src\WebScores\MakeEditor.ini |
| var int BoostCount;
| | Log: GConfig::LoadFile has loaded file: ..\UTGame\Config\UTEditorUserSettings.ini |
| var Sound BoostSound, BoostReadySound;
| | Log: GConfig::LoadFile has loaded file: ..\UTGame\Config\UTCompat.ini |
| var float BoostRechargeTime;
| | Log: GConfig::LoadFile has loaded file: D:\Eigene Dateien\My Games\Unreal Tournament 3\UTGame\Src\WebScores\MakeEngine.ini |
| var float BoostRechargeCounter;
| | Log: GConfig::LoadFile has loaded file: ..\UTGame\Config\UTGame.ini |
| var bool bPrimed; //When the detonator is primed, collisions cause the vehicle to explode
| | Log: GConfig::LoadFile has loaded file: ..\UTGame\Config\UTInput.ini |
| | | Log: GConfig::LoadFile has loaded file: ..\UTGame\Config\UTUI.ini |
| var int SelfDestructDamage;
| | Log: Deleting old log file MakeWebScores-backup-2008.06.20-19.43.29.log |
| var int SelfDestructDamageRadius;
| | [...] |
| var class<DamageType> SelfDestructDamageType;
| | Heading: --------------------UWeb - Release-------------------- |
| var int SelfDestructMomentum;
| | Log: Scanning InternetLink |
| | | Log: Scanning TcpLink |
| var Pawn OriginalDriver;
| | Log: Scanning WebConnection |
| | | Log: Scanning WebServer |
| | | Log: Scanning WebApplication |
| replication
| | Log: Scanning HelloWeb |
| {
| | Log: Scanning ImageServer |
| reliable if(Role==ROLE_Authority)
| | Log: Scanning WebRequest |
| bBoost, bPrimed, BoostCount, BoostRechargeCounter, OriginalDriver;
| | Log: Scanning WebResponse |
| }
| | Heading: --------------------WebScores - Release-------------------- |
| | | Log: Analyzing... |
| | | Log: FactoryCreateText: Class with ClassFactoryUC (0 1 ..\UTGame\Src\WebScores\Classes\WebScores.uc) |
| simulated function PostNetBeginPlay()
| | Log: Class: WebScores extends WebApplication |
| {
| | Log: Imported: Class WebScores.WebScores |
| Super(ONSWheeledCraft).PostNetBeginPlay();
| | Log: Parsing WebScores |
| }
| | Log: Compiling WebScores |
| | | Log: Importing Defaults for WebScores |
| | | Log: Success: Compiled 915 line(s), 62 statement(s). |
| function TakeDamage(int Damage, Pawn instigatedBy, Vector Hitlocation, Vector Momentum, class<DamageType> DamageType)
| |
| {
| |
| if ( (ClassIsChildOf(DamageType, class'DamTypeShockBeam')) || (ClassIsChildOf(DamageType, class'DamTypeONSMine')) )
| |
| Damage *= 0.8;
| |
| Momentum *= 0.35;
| |
| | |
| if (bBoost && instigatedBy != none && instigatedBy != self)
| |
| Damage *= 2;
| |
| | |
| Super.TakeDamage(Damage, instigatedBy, Hitlocation, Momentum, damageType);
| |
| }
| |
| | |
| | |
| function ChooseFireAt(Actor A)
| |
| {
| |
| Fire(0);
| |
| }
| |
| | |
| | |
| function AltFire(optional float F)
| |
| {
| |
| Super(ONSWheeledCraft).AltFire(F);
| |
| }
| |
| | |
| | |
| function ClientVehicleCeaseFire(bool bWasAltFire)
| |
| {
| |
| Super(ONSWheeledCraft).ClientVehicleCeaseFire(bWasAltFire);
| |
| }
| |
| | |
| | |
| function VehicleFire(bool bWasAltFire)
| |
| {
| |
| if(bWasAltFire)
| |
| {
| |
| Boost();
| |
| }
| |
| | |
| Super(ONSWheeledCraft).VehicleFire(bWasAltFire);
| |
| }
| |
| | |
| | |
| function VehicleCeaseFire(bool bWasAltFire)
| |
| {
| |
| Super(ONSWheeledCraft).VehicleCeaseFire(bWasAltFire);
| |
| }
| |
| | |
| | |
| function Boost()
| |
| {
| |
| //If we're already boosting, then prime the detonator
| |
| if (bBoost)
| |
| {
| |
| bPrimed = true;
| |
| PlaySound(BoostReadySound, SLOT_Misc, 128,,,160);
| |
| }
| |
| | |
| // If we have a boost ready and we're not currently using it
| |
| if (BoostCount > 0 && !bBoost)
| |
| {
| |
| BoostRechargeCounter=0;
| |
| PlaySound(BoostSound, SLOT_Misc, 128,,,64); //Boost sound Pitch 160
| |
| bBoost = true;
| |
| BoostCount--;
| |
| }
| |
| }
| |
| | |
| | |
| simulated event Timer()
| |
| {
| |
| // when boost time exceeds time limit, turn it off and disable the primed detonator
| |
| bBoost = false;
| |
| bPrimed = false;
| |
| EnableAfterburners(bBoost);
| |
| }
| |
| | |
| //
| |
| simulated function EnableAfterburners(bool bEnable)
| |
| {
| |
| // Don't bother on dedicated server, this controls graphics only
| |
| if(Level.NetMode != NM_DedicatedServer)
| |
| {
| |
| //Because we want the trail emitters to look right (proper team color and not strangely angled at startup) we need to create our emitters every time we boost
| |
| if (bEnable)
| |
| {
| |
| // Create boosting emitters.
| |
| Afterburner[0] = spawn(AfterburnerClass[Team], self,, Location + (AfterburnerOffset[0] >> Rotation) );
| |
| Afterburner[0].SetBase(self);
| |
| Afterburner[0].SetRelativeRotation(AfterburnerRotOffset[0]);
| |
| | |
| Afterburner[1] = spawn(AfterburnerClass[Team], self,, Location + (AfterburnerOffset[1] >> Rotation) );
| |
| Afterburner[1].SetBase(self);
| |
| Afterburner[1].SetRelativeRotation(AfterburnerRotOffset[1]);
| |
| }
| |
| else
| |
| {
| |
| if (Afterburner[0] != none)
| |
| Afterburner[0].Destroy();
| |
| if (Afterburner[1] != none)
| |
| Afterburner[1].Destroy();
| |
| }
| |
| }
| |
| | |
| bAfterburnersOn = bEnable; // update state of afterburners
| |
| }
| |
| | |
| | |
| function Died(Controller Killer, class<DamageType> damageType, vector HitLocation)
| |
| {
| |
| if (Level.NetMode != NM_DedicatedServer)
| |
| {
| |
| if (Afterburner[0] != none)
| |
| Afterburner[0].Destroy();
| |
| if (Afterburner[1] != none)
| |
| Afterburner[1].Destroy();
| |
| }
| |
| | |
| Super.Died(Killer, damageType, HitLocation);
| |
| }
| |
| | |
| | |
| simulated function Destroyed()
| |
| {
| |
| if (Level.NetMode != NM_DedicatedServer)
| |
| {
| |
| if (Afterburner[0] != none)
| |
| Afterburner[0].Destroy();
| |
| if (Afterburner[1] != none)
| |
| Afterburner[1].Destroy();
| |
| }
| |
| | |
| Super.Destroyed();
| |
| }
| |
| | |
| | |
| simulated function Tick(float DT)
| |
| {
| |
| //If bAfterburnersOn and boost state don't agree
| |
| if (bBoost != bAfterburnersOn)
| |
| {
| |
| // it means we need to change the state of the vehicle (bAfterburnersOn)
| |
| // to match the desired state (bBoost)
| |
| EnableAfterburners(bBoost); // show/hide afterburner smoke
| |
| | |
| // if we just enabled afterburners, set the timer
| |
| // to turn them off after set time has expired
| |
| if (bBoost)
| |
| {
| |
| SetTimer(BoostTime, false);
| |
| }
| |
| }
| |
|
| |
| if (Role == ROLE_Authority)
| |
| {
| |
| // Afterburners recharge after the change in time exceeds the specified charge duration
| |
| BoostRechargeCounter+=DT;
| |
| if (BoostRechargeCounter > BoostRechargeTime)
| |
| {
| |
| if (BoostCount < 1)
| |
| {
| |
| BoostCount++;
| |
| PlaySound(BoostReadySound, SLOT_Misc,128);
| |
| }
| |
| BoostRechargeCounter = 0;
| |
| }
| |
| }
| |
| | |
| Super.Tick(DT);
| |
| }
| |
| | |
| | |
| simulated event KApplyForce(out vector Force, out vector Torque)
| |
| {
| |
| Super.KApplyForce(Force, Torque); // apply other forces first
| |
| | |
| if(bBoost && bVehicleOnGround)
| |
| {
| |
| Force += vector(Rotation); // get direction of vehicle
| |
| Force += Normal(Force) * BoostForce; // apply force in that direction
| |
| }
| |
| }
| |
| | |
| | |
| simulated function float ChargeBar()
| |
| {
| |
| if (BoostCount != 1)
| |
| return FClamp(BoostRechargeCounter/BoostRechargeTime, 0.0, 0.999);
| |
| else
| |
| return 0.999;
| |
| }
| |
| | |
| | |
| function KDriverEnter(Pawn P)
| |
| {
| |
| Super.KDriverEnter(P);
| |
| | |
| //Handle ejection stuff
| |
| if (P.ShieldStrength >= 50)
| |
| bEjectDriver=true;
| |
| else
| |
| bEjectDriver=false;
| |
|
| |
| //Store the driver in case he bails before we self-destruct
| |
| OriginalDriver = P;
| |
| | |
| }
| |
| | |
| function DriverLeft()
| |
| {
| |
| //Reset driver ejection
| |
| bEjectDriver=false;
| |
| Super.DriverLeft();
| |
| }
| |
| | |
| | |
| // event called when Karmic actor hits with impact velocity over KImpactThreshold
| |
| // Used for handling self-destruct boost
| |
| event KImpact(actor other, vector pos, vector impactVel, vector impactNorm)
| |
| {
| |
| Super.KImpact(Other, Pos, ImpactVel, ImpactNorm);
| |
| | |
| if (bPrimed && VSize(impactVel) > 500)
| |
| {
| |
| SuperEjectDriver();
| |
| ScorpionSelfDestruct(Other);
| |
| }
| |
| }
| |
| | |
| /*
| |
| UT2004 Build UT2004_Build_[2005-11-23_16.22]
| |
| | |
| OS: Windows XP 5.1 (Build: 2600)
| |
| CPU: GenuineIntel Unknown processor @ 3004 MHz with 2047MB RAM
| |
| Video: NVIDIA GeForce 8800 GT (6906)
| |
| | |
| General protection fault!
| |
| | |
| History: KHandleCollisions <- KUpdateContacts <- KTickLevelKarma <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- TickLevel <- UGameEngine::Tick <- Level Tricky <- UpdateWorld <- MainLoop <- FMallocWindows::Free <- FMallocWindows::Realloc <- 10910191 0 FArray <- FArray::Realloc <- 0*2 <- FMallocWindows::Free
| |
| | |
| | |
| UT2004 Build UT2004_Build_[2005-11-23_16.22]
| |
| | |
| OS: Windows XP 5.1 (Build: 2600)
| |
| CPU: GenuineIntel Unknown processor @ 3004 MHz with 2047MB RAM
| |
| Video: NVIDIA GeForce 8800 GT (6906)
| |
|
| |
|
| | Log: Scripts successfully compiled - saving package 'D:\Eigene Dateien\My Games\Unreal Tournament 3\Binaries\..\UTGame\Unpublished\CookedPC\Script\WebScores.u' |
| | Log: === Critical error: === |
| General protection fault! | | General protection fault! |
|
| |
|
| History: KHandleCollisions <- KUpdateContacts <- KTickLevelKarma <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- TickLevel <- UGameEngine::Tick <- Level Stygian-32p-RC1a <- UpdateWorld <- MainLoop <- FMallocWindows::Free <- FMallocWindows::Realloc <- 10910191 0 FArray <- FArray::Realloc <- 0*2 <- FMallocWindows::Free | | History: Address = 0xbde764 (filename not found) |
| | |
|
| |
|
| UT2004 Build UT2004_Build_[2005-11-23_16.22]
| | Exit: Executing UObject::StaticShutdownAfterError |
| | | Exit: Executing UWindowsClient::ShutdownAfterError |
| OS: Windows XP 5.1 (Build: 2600)
| | Log: Shutting down FaceFX... |
| CPU: GenuineIntel Unknown processor @ 3004 MHz with 2047MB RAM
| | Log: FaceFX shutdown. |
| Video: NVIDIA GeForce 8800 GT (6906)
| | Exit: Exiting. |
| | | Exit: Name subsystem shutting down |
| General protection fault!
| | Uninitialized: Log file closed, 06/20/08 19:43:54 |
| | | </pre> |
| History: CopyContacts <- KHandleCollisions <- KUpdateContacts <- KTickLevelKarma <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- TickLevel <- UGameEngine::Tick <- Level Stygian-32p-RC1a <- UpdateWorld <- MainLoop <- FMallocWindows::Free <- FMallocWindows::Realloc <- 10910191 0 FArray <- FArray::Realloc <- 0*2 <- FMallocWindows::Free
| |
| | |
| | |
| UT2004 Build UT2004_Build_[2005-11-23_16.22]
| |
| | |
| OS: Windows XP 5.1 (Build: 2600)
| |
| CPU: GenuineIntel Unknown processor @ 3004 MHz with 2047MB RAM
| |
| Video: NVIDIA GeForce 8800 GT (6906)
| |
| | |
| General protection fault!
| |
| | |
| History: KPerContactCB <- CopyContacts <- KHandleCollisions <- KUpdateContacts <- KTickLevelKarma <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- TickLevel <- UGameEngine::Tick <- Level Stygian-32p-RC1a <- UpdateWorld <- MainLoop <- FMallocWindows::Free <- FMallocWindows::Realloc <- 10910191 0 FArray <- FArray::Realloc <- 0*2 <- FMallocWindows::Free
| |
| | |
| */
| |
| | |
| | |
| function SuperEjectDriver()
| |
| {
| |
| local Pawn OldPawn;
| |
| local vector EjectVel;
| |
| local EONSScorpionSelfDestructInv Inv;
| |
| local EONSScorpionEjectionInv Inv2;
| |
| | |
| OldPawn = Driver;
| |
| | |
| KDriverLeave( true );
| |
| | |
| if ( OldPawn == None )
| |
| return;
| |
| | |
| EjectVel = VRand();
| |
| EjectVel.Z = 0;
| |
| EjectVel = (Normal(EjectVel)*0.2 + Vect(0,0,1)) * EjectMomentum;
| |
| | |
| OldPawn.Velocity = EjectVel;
| |
| | |
| //Create our inventory items to absorb the self-destruct damage and some falling damage
| |
| Inv = spawn(class'EONSScorpionSelfDestructInv', OldPawn,,, rot(0,0,0));
| |
| Inv.GiveTo(OldPawn);
| |
| Inv2 = spawn(class'EONSScorpionEjectionInv', OldPawn,,, rot(0,0,0));
| |
| Inv2.GiveTo(OldPawn);
| |
| | |
| | |
| OldPawn.SpawnTime = Level.TimeSeconds;
| |
| OldPawn.PlayTeleportEffect( false, false);
| |
| }
| |
| | |
| function ScorpionSelfDestruct(optional Actor Target)
| |
| {
| |
| local Pawn DamageDoer;
| |
| | |
| if (Driver != None)
| |
| DamageDoer = Driver;
| |
| else
| |
| DamageDoer = OriginalDriver;
| |
| | |
| // apply damage to hit vehicle
| |
| if (SVehicle(Target) != None)
| |
| {
| |
| Target.TakeDamage(SelfDestructDamage, DamageDoer, Location, vect(0,0,0), SelfDestructDamageType);
| |
| //HurtRadius(SelfDestructDamage, SelfDestructDamageRadius, SelfDestructDamageType, SelfDestructMomentum, Location);
| |
| Self.TakeDamage(SelfDestructDamage, DamageDoer, Location, vect(0,0,0), SelfDestructDamageType);
| |
| }
| |
| // We we've hit another actor, but NOT a player (just run players over)
| |
| else if(Target != None && xPawn(Target) == None)
| |
| {
| |
| Target.TakeDamage(SelfDestructDamage, DamageDoer, Location, vect(0,0,0), SelfDestructDamageType);
| |
| //HurtRadius(SelfDestructDamage, SelfDestructDamageRadius, SelfDestructDamageType, SelfDestructMomentum, Location);
| |
| Self.TakeDamage(SelfDestructDamage, DamageDoer, Location, vect(0,0,0), SelfDestructDamageType);
| |
| }
| |
| // If we're just exploding, not hitting anything
| |
| else if(Target == None)
| |
| {
| |
| Target.TakeDamage(SelfDestructDamage, DamageDoer, Location, vect(0,0,0), SelfDestructDamageType);
| |
| //HurtRadius(SelfDestructDamage, SelfDestructDamageRadius, SelfDestructDamageType, SelfDestructMomentum, Location);
| |
| Self.TakeDamage(SelfDestructDamage, DamageDoer, Location, vect(0,0,0), SelfDestructDamageType);
| |
| }
| |
| | |
| //Log("We hit: "$Other);
| |
| //HurtRadius(SelfDestructDamage, SelfDestructDamageRadius, SelfDestructDamageType, SelfDestructMomentum, Location);
| |
| //if (Pawn(Other) != none)
| |
| // Log("Pawn(Other) Health: "$Pawn(Other).Health);
| |
| //Self.TakeDamage(SelfDestructDamage, Driver, Location, vect(0,0,0), SelfDestructDamageType);
| |
| }
| |
| | |
| | |
| | |
| defaultproperties
| |
| {
| |
| Mesh=Mesh'ONSVehicles-A.RV'
| |
| VehiclePositionString="in an EONS Scorpion"
| |
| VehicleNameString="EONS Scorpion"
| |
| bReplicateAnimations=True
| |
| | |
| RedSkin=Shader'VMVehicles-TX.RVGroup.RVChassisFinalRED'
| |
| BlueSkin=Shader'VMVehicles-TX.RVGroup.RVChassisFinalBLUE'
| |
| | |
| DriverWeapons(0)=(WeaponClass=Class'EONSScorpionProjectileLauncher',WeaponBone="ChainGunAttachment")
| |
| bHasAltFire=False
| |
| | |
| bShowChargingBar=true
| |
| BoostForce=1600.000000 //2000
| |
| BoostTime=2.000000
| |
| BoostCount=1
| |
| BoostSound=Sound'AssaultSounds.SkShipAccel01'
| |
| BoostReadySound=Sound'AssaultSounds.HnShipFireReadyl01'
| |
| BoostRechargeTime=8.000000
| |
|
| |
| SelfDestructDamage=400
| |
| SelfDestructDamageRadius=750
| |
| SelfDestructDamageType=class'DamTypeEONSScorpionSelfDestruct'
| |
| SelfDestructMomentum=20000
| |
| | |
| | |
| AfterburnerClass(0)=class'EONSScorpionBoostTrailEmitterRed'
| |
| AfterburnerClass(1)=class'EONSScorpionBoostTrailEmitterBlue'
| |
| AfterburnerOffset(0)=(X=-110.000000,Y=-21.000000,Z=-1.000000)
| |
| AfterburnerOffset(1)=(X=-110.000000,Y=21.000000,Z=-1.000000)
| |
| AfterburnerRotOffset(0)=(Yaw=32768)
| |
| AfterburnerRotOffset(1)=(Yaw=32768)
| |
| | |
| DestroyedVehicleMesh=StaticMesh'ONSDeadVehicles-SM.RVDead'
| |
| DestructionEffectClass=class'Onslaught.ONSSmallVehicleExplosionEffect'
| |
| DisintegrationEffectClass=class'Onslaught.ONSVehDeathRV'
| |
| DestructionLinearMomentum=(Min=200000,Max=300000)
| |
| DestructionAngularMomentum=(Min=100,Max=150)
| |
| DisintegrationHealth=-25
| |
| ImpactDamageMult=0.0010
| |
| | |
| Health=300
| |
| HealthMax=300
| |
| CollisionHeight=+40.0
| |
| CollisionRadius=+100.0
| |
| DriverDamageMult=0.20
| |
| bSeparateTurretFocus=true
| |
| RanOverDamageType=class'DamTypeEONSScorpionRoadkill'
| |
| CrushedDamageType=class'DamTypeEONSScorpionPancake'
| |
| | |
| DrawScale=1.0
| |
| DrawScale3D=(X=1.0,Y=1.0,Z=1.0)
| |
| | |
| FPCamPos=(X=15,Y=0,Z=25)
| |
| TPCamLookat=(X=0,Y=0,Z=0)
| |
| TPCamWorldOffset=(X=0,Y=0,Z=100)
| |
| TPCamDistance=375
| |
| | |
| bDoStuntInfo=true
| |
| bAllowAirControl=True
| |
| DaredevilThreshInAirSpin=100.0
| |
| DaredevilThreshInAirPitch=300.0
| |
| DaredevilThreshInAirRoll=300.0
| |
| DaredevilThreshInAirTime=1.7
| |
| DaredevilThreshInAirDistance=25.0
| |
| | |
| AirTurnTorque=35.0
| |
| AirPitchTorque=55.0
| |
| AirPitchDamping=55.0
| |
| AirRollTorque=35.0
| |
| AirRollDamping=35.0
| |
| | |
| bDrawDriverInTP=true
| |
| bDrawMeshInFP=true
| |
| bHasHandbrake=true
| |
| bAllowBigWheels=true
| |
| | |
| DrivePos=(X=2.0,Y=0.0,Z=38.0)
| |
| | |
| MaxViewYaw=16000
| |
| MaxViewPitch=16000
| |
| | |
| IdleSound=sound'ONSVehicleSounds-S.RV.RVEng01'
| |
| StartUpSound=sound'ONSVehicleSounds-S.RV.RVStart01'
| |
| ShutDownSound=sound'ONSVehicleSounds-S.RV.RVStop01'
| |
| EngineRPMSoundRange=9000
| |
| SoundVolume=180
| |
| IdleRPM=500
| |
| RevMeterScale=4000
| |
| | |
| StartUpForce="RVStartUp"
| |
| | |
| SteerBoneName="SteeringWheel"
| |
| SteerBoneAxis=AXIS_Z
| |
| SteerBoneMaxAngle=90
| |
| | |
| EntryPosition=(X=0,Y=0,Z=0)
| |
| EntryRadius=160.0
| |
| | |
| ExitPositions(0)=(X=0,Y=-165,Z=100)
| |
| ExitPositions(1)=(X=0,Y=165,Z=100)
| |
| ExitPositions(2)=(X=0,Y=-165,Z=-100)
| |
| ExitPositions(3)=(X=0,Y=165,Z=-100)
| |
| | |
| HeadlightCoronaOffset(0)=(X=86,Y=30,Z=7)
| |
| HeadlightCoronaOffset(1)=(X=86,Y=-30,Z=7)
| |
| HeadlightCoronaMaterial=Material'EpicParticles.flashflare1'
| |
| HeadlightCoronaMaxSize=65
| |
| | |
| bMakeBrakeLights=true
| |
| BrakeLightOffset(0)=(X=-100,Y=23,Z=7)
| |
| BrakeLightOffset(1)=(X=-100,Y=-23,Z=7)
| |
| BrakeLightMaterial=Material'EpicParticles.flashflare1'
| |
| | |
| HeadlightProjectorOffset=(X=90,Y=0,Z=7)
| |
| HeadlightProjectorRotation=(Yaw=0,Pitch=-1000,Roll=0)
| |
| HeadlightProjectorMaterial=Texture'VMVehicles-TX.RVGroup.RVProjector'
| |
| HeadlightProjectorScale=0.3
| |
| | |
| DamagedEffectOffset=(X=60,Y=10,Z=10)
| |
| DamagedEffectScale=1.0
| |
| | |
| WheelPenScale=1.2
| |
| WheelPenOffset=0.01
| |
| WheelSoftness=0.025
| |
| WheelRestitution=0.1
| |
| WheelAdhesion=0.05 //0.01
| |
| 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=15.0
| |
| WheelSuspensionOffset=0.0
| |
| WheelSuspensionMaxRenderTravel=15.0
| |
| TurnDamping=35
| |
| | |
| HandbrakeThresh=200
| |
| FTScale=0.03
| |
| ChassisTorqueScale=0.4
| |
| | |
| MinBrakeFriction=4.0
| |
| MaxBrakeTorque=25.0 //20
| |
| MaxSteerAngleCurve=(Points=((InVal=0,OutVal=25.0),(InVal=1500.0,OutVal=11.0),(InVal=1000000000.0,OutVal=11.0)))
| |
| SteerSpeed=200 //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 //-.5
| |
| GearRatios[1]=0.5 //.4
| |
| GearRatios[2]=0.65 //0.65
| |
| GearRatios[3]=0.85 //0.85
| |
| GearRatios[4]=1.1 //1.1
| |
| ChangeUpPoint=2000
| |
| ChangeDownPoint=1000
| |
| LSDFactor=1.0
| |
| | |
| VehicleMass=5.5
| |
| | |
| 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.25,Y=0.0,Z=-0.4)
| |
| bDestroyOnWorldPenetrate=True
| |
| bDoSafetime=True
| |
| Name="KParams0"
| |
| End Object
| |
| KParams=KarmaParams'KParams0'
| |
| | |
| Begin Object Class=SVehicleWheel Name=RRWheel
| |
| BoneName="tire02"
| |
| BoneRollAxis=AXIS_Y
| |
| BoneSteerAxis=AXIS_Z
| |
| BoneOffset=(X=0.0,Y=7.0,Z=0.0)
| |
| WheelRadius=24
| |
| bPoweredWheel=True
| |
| bHandbrakeWheel=True
| |
| SteerType=VST_Fixed
| |
| SupportBoneAxis=AXIS_X
| |
| SupportBoneName="RRearStrut"
| |
| End Object
| |
| Wheels(0)=SVehicleWheel'RRWheel'
| |
| | |
| Begin Object Class=SVehicleWheel Name=LRWheel
| |
| BoneName="tire04"
| |
| BoneRollAxis=AXIS_Y
| |
| BoneSteerAxis=AXIS_Z
| |
| BoneOffset=(X=0.0,Y=-7.0,Z=0.0)
| |
| WheelRadius=24
| |
| bPoweredWheel=True
| |
| bHandbrakeWheel=True
| |
| SteerType=VST_Fixed
| |
| SupportBoneAxis=AXIS_X
| |
| SupportBoneName="LRearStrut"
| |
| End Object
| |
| Wheels(1)=SVehicleWheel'LRWheel'
| |
| | |
| Begin Object Class=SVehicleWheel Name=RFWheel
| |
| BoneName="tire"
| |
| BoneRollAxis=AXIS_Y
| |
| BoneSteerAxis=AXIS_Z
| |
| BoneOffset=(X=0.0,Y=7.0,Z=0.0)
| |
| WheelRadius=24
| |
| bPoweredWheel=True
| |
| SteerType=VST_Steered
| |
| SupportBoneAxis=AXIS_X
| |
| SupportBoneName="RFrontStrut"
| |
| End Object
| |
| Wheels(2)=SVehicleWheel'RFWheel'
| |
| | |
| Begin Object Class=SVehicleWheel Name=LFWheel
| |
| BoneName="tire03"
| |
| BoneRollAxis=AXIS_Y
| |
| BoneSteerAxis=AXIS_Z
| |
| BoneOffset=(X=0.0,Y=-7.0,Z=0.0)
| |
| WheelRadius=24
| |
| bPoweredWheel=True
| |
| SteerType=VST_Steered
| |
| SupportBoneAxis=AXIS_X
| |
| SupportBoneName="LFrontStrut"
| |
| End Object
| |
| Wheels(3)=SVehicleWheel'LFWheel'
| |
| | |
| GroundSpeed=940.0000
| |
| CenterSpringForce="SpringONSSRV"
| |
| | |
| HornSounds(0)=sound'ONSVehicleSounds-S.Horn06'
| |
| HornSounds(1)=sound'ONSVehicleSounds-S.Dixie_Horn'
| |
| | |
| MaxDesireability=0.4
| |
| ObjectiveGetOutDist=1500.0
| |
| bCanDoTrickJumps=true
| |
| }
| |
| </uscript> | |