Jump to content

Alskari

Members
  • Posts

    245
  • Joined

  • Last visited

Everything posted by Alskari

  1. If you have any interest in writing a plugin I can point you to a useful bit of code I have accidentally stumbled upon. Currently I just want my IVAs to stay still though.
  2. All you people wanting hollow asteroids for bases... I also have an interest in this, however I quickly decided I didn't care to sort through all the collision mesh sub pieces required. If one of you would be interested in learning, or at least helping, let me know.
  3. Thanks, I'll upload the fix along with a few other changes later today. Yeah I would not recommend putting 24 habitation cubes in the same spot... maybe I need to make a low poly version. The all also have a spotlight, so that isn't ideal either. I'll check out the error, I don't know that I was testing for it with the Zelus command pod. Anyway I'll be looking into a fix.
  4. Doesn't seem to work. I've looked at the source code and it seems fairly simple but I'm still focusing on the sfr code. This will eventually be on my list of things to do.
  5. My latest iteration on the code. Now the IVA spins around in a sphere about the center of the part. EDIT: I've managed to get the position of the IVAs correct. Check out HSH for the latest iteration of code. I still have not resolved the orientation issues, currently I can either get all IVAs to the correct orientation for the root part, or everything wrong but at least varying by part, or everything wrong and spinning wildly.
  6. The RPM + sfr code makes for a good deal of lag. I would recommend going into the ExampleMFD file and bumping the refresh rate to something more manageable. I have been trying to fix the problem with the sfr code, but to no avail. Not sure about the debug, some people get that, I don't. Haven't looked into it yet. I'm not sure what you mean about the workstation attaching on the bottom helping with the root issue. As for a bridge, I would like to make this possible, probably through radial attachable 'desks' or something. And also a sweet command chair, but all that is on hold until I figure out how to replace the sfr code. As for a totally free build option with walls and floors... I will probably get around to eventually adding something. The biggest problem right now is how KSP treats attaching parts and the wild flexing that would occur from having walls and floors not joined completely together. However, I would encourage you to download the 'Custom Rooms' pack and take a look at the OctoStarter blender file. Consider making a few parts. I would be glad to help troubleshoot the process. Not 100% clear on what your suggestion is w/ symmetry. You are correct when you assume I'm all about node based building. Thank you for your feedback, glad you're enjoying the parts. Honestly I think they are probably too light if anything. However, if you come across a particular part that you feel is not right please let me know. :-| ... I have questions... but I don't think I want to know the answers. Good to hear from you again! I always enjoy your creations. Not 100% clear on what you mean by partwise. I do have some super neat looking collapsible spiral stairs which could be set up to integrate so you could make a several cube tall staircase. I made them extremely complicated and then depressed myself when trying to animate them. I will probably work on them after the inset door and fixing the sfr code. Science parts would be very cool, but for now I'm going to leave them alone. I've gone back and forth about what kind of piece they should be, and I've not been super excited about any of my ideas yet. I've actually started playing KSP again, so I think some good ideas may pop up as I start getting familiar with using these parts.
  7. Placeholder I'll fill this out in a bit. This is a pretty big update so I'll be a bit slow on all this. EDIT: Goat Simulator is preventing any further effort. Let me know about any bugs you find not already listed.
  8. Below is an example of the IVA issues experienced when using the sfr module. The only workaround currently available is to have only one sfr using cockpit per vessel and make it the root part of the vessel. (the first part added in the VAB is the root part) Thanks to likke_A_boss for the pictures:
  9. It could be done, but it would require a commitment to self imposed rules by the player. It wouldn't be difficult to make a part set which used the TAC system, but unfortunately while a kerbal is EVA I don't know of a way to cause resources to be consumed in the vessel. Additionally I don't know how you'd tell if they were inside the vessel or just outside nearby.
  10. The fuel tanks or plugs are the only method currently. I'm planning on phasing out those parts, just FYI. Thanks! Post some screenshots when you're done.
  11. Alright so this is what I'm trying to work with. The red text is where I've been screwing around. All I ever seem to get is the position and roation of the root part. Can someone explain why I can't seem to access anything about the part accessing the PartModule? public class sfrInternal : PartModule { private Transform kspParent; private Vector3 kspPosition; private Quaternion kspRotation; private bool isActive; private bool packed; public override void OnAwake() { base.OnAwake(); } public override void OnLoad(ConfigNode node) { base.OnLoad(node); } public override void OnSave(ConfigNode node) { base.OnSave(node); } public override void OnStart(PartModule.StartState state) { base.OnStart(state); } public override void OnUpdate() { base.OnUpdate(); if (!part.internalModel) { part.CreateInternalModel(); part.vessel.SetActiveInternalPart(part); kspParent = part.transform;//InternalCamera.Instance.transform.parent; if (!part.internalModel) part.internalModel.SetVisible(true); part.internalModel.transform.parent = part.transform; part.internalModel.transform.localRotation = new Quaternion(0.0f, 0.7f, -0.7f, 0.0f); part.internalModel.transform.localPosition = Vector3.zero; if (part.protoModuleCrew.Count > 0) { part.internalModel.Initialize(part); part.internalModel.enabled = true; using (List<ProtoCrewMember>.Enumerator enumerator = ((List<ProtoCrewMember>)part.protoModuleCrew).GetEnumerator()) { while (enumerator.MoveNext()) { ProtoCrewMember current = enumerator.Current; if (current.seat && !part.vessel.packed) { current.seat.enabled = true; current.seat.SpawnCrew(); } if (current.KerbalRef) { current.KerbalRef.enabled = true; current.KerbalRef.kerbalCam.cullingMask = 1; } } } using (List<InternalSeat>.Enumerator enumerator = part.internalModel.seats.GetEnumerator()) { while (enumerator.MoveNext()) { InternalSeat current = enumerator.Current; if (current.kerbalRef) current.SpawnCrew(); if (current.portraitCamera != null) current.portraitCamera.cullingMask = 65537; } } } } Exception exception; if (isActive != part.vessel.isActiveVessel && !vessel.packed) { isActive = part.vessel.isActiveVessel; if (part.internalModel && part.protoModuleCrew.Count > 0) { part.vessel.SetActiveInternalPart(part); part.internalModel.Initialize(part); using (List<InternalSeat>.Enumerator enumerator = part.internalModel.seats.GetEnumerator()) { while (enumerator.MoveNext()) { InternalSeat current = enumerator.Current; current.enabled = true; if (current.portraitCamera) current.portraitCamera.cullingMask = 1; } } try { using (List<ProtoCrewMember>.Enumerator enumerator = part.protoModuleCrew.GetEnumerator()) { while (enumerator.MoveNext()) { ProtoCrewMember current = enumerator.Current; if (current.seat && !part.vessel.packed) { current.seat.enabled = true; current.seat.SpawnCrew(); } if (current.KerbalRef) { current.KerbalRef.enabled = true; current.KerbalRef.kerbalCam.cullingMask = 1; } } } } catch (Exception ex) { exception = ex; } } } try { if (sfrUtility.FindCamera("InternalCamera") && part.vessel.isActiveVessel) { [COLOR="#FF0000"] sfrUtility.ChangeLayer(part.internalModel.transform, 16); part.internalModel.transform.parent = kspParent; // = InternalCamera.Instance.transform.parent; part.internalModel.transform.localRotation = new Quaternion(0.0f, 0.7f, -0.7f, 0.0f); //Working at root part.internalModel.transform.localPosition = Vector3.zero; //Working at root[/COLOR] } else { sfrUtility.ChangeLayer(part.internalModel.transform, 0); part.internalModel.SetVisible(true); part.internalModel.gameObject.SetActive(true); part.internalModel.transform.parent = part.transform; part.internalModel.transform.localRotation = new Quaternion(0.0f, 0.7f, -0.7f, 0.0f); part.internalModel.transform.localPosition = Vector3.zero; } } catch (Exception ex) { exception = ex; } try { using (List<ProtoCrewMember>.Enumerator enumerator = part.protoModuleCrew.GetEnumerator()) { while (enumerator.MoveNext()) { ProtoCrewMember current = enumerator.Current; if (current.seat) { current.seat.enabled = true; if (current.seat.portraitCamera) current.seat.portraitCamera.cullingMask = (65537); } if (current.KerbalRef) { current.KerbalRef.enabled = true; current.KerbalRef.kerbalCam.cullingMask = (65537); if (current.KerbalRef.kerbalCamOverlay) current.KerbalRef.kerbalCamOverlay.layer = 16; } } } } catch (Exception ex) { exception = ex; } } } }
  12. In the case of a PartModule class how does one differentiate between the specific part's localPosition and the vessel's root part localPosition? I have a new PartModule I'm attempting to get working, and I keep returning 0,0,0 as the localPosition of the part no mater where it is in the vessel.
  13. Thanks guys! I was working from the phone and didn't think to manually check the link.
  14. Upload the picture to a site where I can view it. And I'll take a look. In other news the IVA issues caused by the sfr code have not yet been resolved. However I have made major headway in decompiling his .dll into the actual source code. Hopefully this week will finally see a release.
  15. Anyone interested in play testing a new batch of parts please message me.
  16. Handy. I'd love to have the same thing for landing legs. Mine currently don't seem to utilize the suspension options.
  17. Glad to see this active. I'll make a few mounts for use on HSH creations if needed.
  18. Yep. I'll fix it when I get off work today. I appreciate the bug report.
  19. It is an issue which I believed I had fixed. I'm assuming you have the latest download? If so it is possible that I grabbed the wrong .mu file. Ergh.
  20. The above comments are correct, but not specifically the reason your part is attaching oddly. Your nodes are defined incorrectly. Depending on how you've made them there are different fixes, but I'm going to assume you used an empty transform in Unity. If that is the case the blue arrow (z axis) should be pointing along the axis you want to use to attach the part.
  21. These look great. How hard would it be to make a no-helmet variety?
  22. Progress? So after this I think I'm going to tackle landing legs, when I'm not trying to understand C#.
  23. The sfr code has some functionality as far as hatches opening and closing already. Obviously it has other issues though. Any help with displaying just kerbals from an internal model would be amazing. I may beg codepoet for some help.
×
×
  • Create New...