Jump to content

Space ghöst

Members
  • Posts

    73
  • Joined

  • Last visited

Reputation

0 Neutral

Contact Methods

Profile Information

  • About me
    Makin' my way in the kerbalverse
  • Location
    Outerspess

Recent Profile Visitors

1,048 profile views
  1. Ok, gotcha! Sorry my C# skills need sharpening I was confused looking at this part: public string persistentState = KSPWheelState.DEPLOYED.ToString(); Btw, I will look into U4 wheel system instead. Also, when I get my head around your system I will gladly volunteer to help out. I will be experimenting with different wheel styles, orientations, and familiarizing myself with all the settings, and try and get a refresher on coding. I recently got a lot of free time on my hands. Thank you for the correction. I know you're very busy so please don't let me take up anymore of your time. You've been extremely helpful! I'll be back in around a week with the correct solution. Update: Rookie mistake with the wheel collider. For some reason I read the post wrong and assumed your couldn't make the wheel collider a child of anything (empty gameObjects work just fine). Now to tackle the suspension / constraints. Update2: Motors working great. Fine tuning everything now. Constraints are kinda strange. Was hoping to get the wheel suspension to move not just vertically, but also follow the rotation of the suspension / lever it looks at. For now the wheels have a little play to give a feel of a suspension, but it's not optimal. Still investigating...
  2. I'll watch a tutorial on how wheels are made in U5 and follow that. Besides not using the actual colliders and making sure not to make the collider a child object of the suspension or steering, it should work with your code. I did try and invert the animation, but the wheels would fall through the ground on deployment. The constraints were removed because my rotating lever would snap back to my anchor after animating to deployed. The deployment slider would only rotate my wheels in the VAB also. Perhaps I'm just making it more difficult than it really is, and have neglected proper object transform alignment / hierarchy / etc. I figured a cursory glance may reveal something, but I don't want anyone to spend too much time on my account. I'll give it another go. Going to fix some pivot orientations in Blender as the rotator lever in the rear point Z down, although the wheels all point Z forward / Y up (old ToshCart implementation). Thank you for the reply! I really appreciate it.
  3. @Shadowmage Hi, thank you for the module! It has motivated me to try and revive an old project of mine. I see that it has worked for others. I was hoping someone could help me as I am having some problems trying to convert my project from the old CleverBobCat / ToshCart mod to this one, unfortunately I can't seem to get my head around getting the deployment, suspension, and motor working. Specifically with getting the wheels to start at the RETRACTED state for placing inside a fairing or such, getting the constraints to keep the rotating lever to stay in place while only rotating as the suspension action, and getting the wheel collider to follow the wheel deployment animation transform path without using a parent object. The problems I face is misalignment of the base lever attached to the cart itself, bouncing / jittering when attempting to use the motors (jitter stops if I remove the motors), and suspension that only transforms y+ (detaching from the model) and not rotating around x-axis. Here's some screenshots and dev build of my Unity project and an example of my config. Image Samples https://imgur.com/a/coaO42l Unity Project https://www.dropbox.com/s/hkijv7ltdc8agse/RTV-Cart.7z?dl=0 MODULE { name = KSPWheelBase WHEEL { colliderName = wheelcolliderFL radius = 0.41 mass = 0.10 travel = 0.30 load = 0.200 } WHEEL { colliderName = wheelcolliderFR radius = 0.41 mass = 0.10 travel = 0.30 load = 0.200 } WHEEL { colliderName = wheelcolliderRL radius = 0.42 mass = 0.10 travel = 0.30 load = 0.200 } WHEEL { colliderName = wheelcolliderRR radius = 0.42 mass = 0.10 travel = 0.30 load = 0.200 } loadRating = 0.2 minLoadRating = 0.2 maxLoadRating = 2.5 maxSpeed = 200 forwardFriction = 1.25 sidewaysFriction = 2 } MODULE { name = KSPWheelSuspension suspensionName = rotatingJointFL suspensionOffset = -0.3 suspensionAxis = 0, 1, 0 } MODULE { name = KSPWheelSuspension suspensionName = rotatingJointFR suspensionOffset = -0.3 suspensionAxis = 0, 1, 0 } MODULE { name = KSPWheelSuspension suspensionName = rotatingJointRL suspensionOffset = -0.3 suspensionAxis = 0, 1, 0 } MODULE { name = KSPWheelSuspension suspensionName = rotatingJointRR suspensionOffset = -0.3 suspensionAxis = 0, 1, 0 } MODULE { name = KSPWheelDeployment animationName = deploywheels retractEffect = retract retractedEffect = retracted deployEffect = deploy deployedEffect = deployed useResourceDeploy = true useResourceRetract = true deployResourceCost = 1 retractResourceCost = 1 deployResourceName = ElectricCharge retractResourceName = ElectricCharge } MODULE { name = KSPWheelDeployCollider colliderNames = wheelcolliderFL, wheelcolliderFR, wheelcolliderRL, wheelcolliderRR colliderRadius = 0.40 } MODULE { name = KSPWheelAdjustableDeployment controlName = Deploy Gear useDeployModule = true TRANSFORM { transformName = rotatorFL localRotation = 45, 0, 0 } TRANSFORM { transformName = rotatorFR localRotation = 45, 0, 0 } TRANSFORM { transformName = rotatorRL localRotation = 135, 0, 0 } TRANSFORM { transformName = rotatorRR localRotation = 135, 0, 0 } } MODULE { name = KSPWheelRotation wheelIndex = 0 wheelMeshName = wheel1_ms rotationAxis = 1, 0, 0 } MODULE { name = KSPWheelRotation wheelIndex = 1 wheelMeshName = wheel2_ms rotationAxis = 1, 0, 0 } MODULE { name = KSPWheelRotation wheelIndex = 2 wheelMeshName = wheel3_m rotationAxis = 1, 0, 0 } MODULE { name = KSPWheelRotation wheelIndex = 3 wheelMeshName = wheel4_m rotationAxis = 1, 0, 0 } MODULE { name = KSPWheelSteering steeringName = steeringFL maxSteeringAngle = 10 steeringAxis = 0, 1, 0 steeringResponse = 0.05 } MODULE { name = KSPWheelSteering steeringName = steeringFR maxSteeringAngle = 10 steeringAxis = 0, 1, 0 steeringResponse = 0.05 } MODULE { name = KSPWheelSteering steeringName = steeringRL maxSteeringAngle = 10 steeringAxis = 0, 1, 0 steeringResponse = 0.05 } MODULE { name = KSPWheelSteering steeringName = steeringRR maxSteeringAngle = 10 steeringAxis = 0, 1, 0 steeringResponse = 0.05 } MODULE { name = KSPWheelBrakes maxBrakeTorque = 20 brakeResponse = 2 } MODULE { name = KSPWheelDustEffects } } If someone could just point me in the right direction I would be eternally grateful.
  4. I need some assistance trying to get the legacy cleverbobcat.dll working with RT again. I can't seem to figure out how to access the correct properties in RT. The cart just says there's no crew and the cart controls are disabled. { public bool controllable; public float mass; public bool onRemoteControl; public bool hasRemoteControlRoute; public double remoteControlDelay; public string menuHint; public void Update(Part part) { mass = 0; onRemoteControl = false; hasRemoteControlRoute = false; remoteControlDelay = 0; controllable = false; if (!part) return; bool hasMechJeb = false, hasCommandPod = false, needsCrew = false, hasCrew = false; // Look for CommandPods, MechJebs, and RemoteTech. // I use Reflection here 'cause I don't want to know does a // player have those plugins installed (and I don't want to // link with that plugin libraries either). if (part.vessel) foreach (Part p in part.vessel.parts) { bool mechJeb = false, remoteTech = false; Type t = p.GetType(), t1 = t; // Mono doesn't know how to compare System.Type with null. // LOL what a ..... )) while ((System.Object)t1 != null) { if (t1.Name == "Part") // stop searching break; if (t1.Name.StartsWith("MuMechJeb")) mechJeb = true; else if (t1.Name == "RemoteTech") remoteTech = true; t1 = t1.BaseType; } if (mechJeb) hasMechJeb = true; if (p.protoModuleCrew.Count > 0) hasCrew = true; if (p.CrewCapacity > 0) needsCrew = true; if (p is CommandPod) hasCommandPod = true; if (remoteTech) { // Once again, I use Reflection to get properties' values. // I do not have a class prototype at this point. BindingFlags b = BindingFlags.Public | BindingFlags.Instance; PropertyInfo inRadioContact = t.GetProperty("hasConnection", , localControl = t.GetProperty("vessel.hasLocalControl", , controlDelay = t.GetProperty("delayBetween", ; try { if (((System.Object)inRadioContact != null) && ((System.Object)localControl != null) && ((System.Object)controlDelay != null)) { onRemoteControl = !(bool)localControl.GetValue(p, null); hasRemoteControlRoute = (bool)inRadioContact.GetValue(p, null); remoteControlDelay = (double)controlDelay.GetValue(p, null); } } catch { } } // Vessel mass... mass += p.mass; } if (hasMechJeb) // disable RemoteTech if the vessel has MechJeb. onRemoteControl = false; if (onRemoteControl) // crew don't count there. Just disable controls if the vessel // needs crew, but does not have one (KSP issue: it blocks control // axes in such a case). controllable = hasRemoteControlRoute && (hasCrew || !needsCrew); else // vessel's under local control, if there is // - either crew on-board, // - or no need in crew, and // - either MechJeb, // - or unmanned command pod. controllable = hasCrew || ((hasMechJeb || hasCommandPod) && !needsCrew); controllable = controllable && part.vessel && part.vessel.isActiveVessel; if (controllable) { if (onRemoteControl) menuHint = String.Format("RC delay {0:0.0}s", remoteControlDelay); else menuHint = ""; } else { if (!part.vessel) menuHint = "No vessel"; else if (!part.vessel.isActiveVessel) menuHint = "It's not an active vessel"; else if (needsCrew && !hasCrew) menuHint = "No crew"; else if (onRemoteControl && !hasRemoteControlRoute) menuHint = "Out of RC"; else menuHint = "No control"; } } } public class CartVesselState If anyone has an idea please let me know. Thanks!
  5. I, too, love to live dangerously! I'll make sure to get some sacrifices volunteers to try the features out.
  6. Right, forgot to mention! Works great. Smooth like honey butter. I'll make sure to put it through rigorous testing. Going to load up the cryo3000 full of Kerbals soon, then off to Duna for a month or so cryo snooze.
  7. I love bees! Ow, stop! Ouch! Oh, honey! Mmmmmm... I appreciate your quick response. I'll mess around with the DEV build for now and will make sure not to pester you about it.
  8. You can download and install the required files and then create a cfg file and copy/paste that code for module manager. You can save the config in your TAC folder (ex: MM_TACL_Declutter.cfg) so module manager can apply the necessary adjustments.
  9. I have two vessels that are in Kerbin orbit. One vessel has two crew and no DF parts and another vessel has four crew with the largest cryo part. If I switch to the tracking station from either vessel and then back to a vessel the exception occurs. The issue doesn't happen the first time I load the game and select a vessel from the tracking station. Although after an exception occurs I have to completely close the KSP.exe for the problem to go away. I haven't tried directly switching from vessel to vessel yet. Also, the cryo chamber is empty. Thanks for your help. I appreciate it. UPDATE: Might be an issue with RemoteTech compatibility. I removed the current RemoteTech reference from the source folder and pointed it to the recent RemoteTech.dll in my KSP folder. I also removed the code for the USI life support mod. After recompiling everything works like normal. If any else comes up I'll let you know! I need to test more.
  10. I'm getting an exception that causes my ship to fly off to no where when switching vessels. The error is in DFIntMemory and it occurs during onVesselChange when resetFreezerCams is called. I'm using the TAC fix that you posted. Here's my logs. Output Log. KSP Log. These are the mods I'm using currently. I'll try and get more info later tonight. Thanks for your time!
  11. Nice to see you're still plugging away, Cilph - and the people who're helping. I'll be interested in taking a look at how tracking dishes and animations will work. Been thinking about rebuilding my rover and maybe a dish or two.
  12. What I do is either select Store in Root or Store in Original Roots when selecting your rigging. Now place your object in the scene. After that select the parent part that will control a group of objects. Then select the animation file from the parent object, it will highlight in yellow the animation file you are using. Select that file in the project window and hit ctrl-d to duplicate it (rename if you wish). From there you can now edit the copied animation file, as you'll have read/write access. PITA, but it works.
  13. Yes and yes. I'd fix those too, but my mobo fried. Should be up and running tomorrow.
  14. I've personnally never experienced any issues. Just followed the instructions on upgrading part tools and that was it. I'm on my phone so I can't get into specifics atm - rebuilding my computer. But it seems like exporting and proptools/internals worked fine.
  15. Thank you! This helped me delete some prop objects that were causing strange behaviors in my game (random explosions).
×
×
  • Create New...