So I'm trying to set up invectors melee combat controller with Ork and was wondering if anyone else has been able to do this? Honestly I'm trying to find out if there is a way to Sync the health and stamina stats of invector with that of Ork.
  • I don't think anyone has done that yet - but it shouldn't be too hard to achieve. You'd just need a small script/component that updates invenctor (or ORK) values. I don't know invector, so I can only give you examples of how to get or set ORK status values :)
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • Ah crap, I suck at coding lol, part or the reason I like your framework so much, the editor is great for quickly putting things together without being much more than a passing hobbyist. So yeah any example or pointers in the right direction I appreciate man.
  • edited February 5
    @blindbrainz - I can get you started on that, as I've done it before with earlier versions of ORK and Invector.

    Are you using the latest versions of both ORK Framework and Invector?
    Which Invector template are you using?
    Lastly, which Unity version are you using?

    EDIT: Also important to know are details such as how you want to calculate damage (from weapons, from environmental hazards, etc). Do you just want to do it the way that Invector does and apply those damage values to the Health status value in ORK, or do you want to be able to use an ORK formula to determine damage? (Which is totally doable, but you can guess which way is more complicated to get working...)

    The same goes for things like Health/Stamina recovery. You can let Invector handle it, but ORK also has the capability to apply status value recovery over time (not sure about suspending/delaying recovery for a time when hit... haven't tried that yet).
    Post edited by Keldryn on
  • Id appreciate the help a ton keldryn. Let me get home and find out what version of ORK im using. For unity its 2018.2 and for invector it's the newest version of the melee controllers. I'm not sure for Ork because my year ran out so I have not been able to update.

    Honestly I'd like Ork to handle those things but Im not great with code so if it's easier to let invector do those things that might be the way to go for me lol.
  • Which one should be the driving force - i.e. should ORK update invector values or invector ORK's stats?
    If you're enjoying my products, updates and support, please consider supporting me on patreon.com!
  • I rather focus on Ork stats. I just want to be able to use the melee system with Ork combatants. So Im just trying to get to the point that during combat the stats of the invector controlled player and enemy are in sync with ORK. I want to use ORKs stat values.
  • And im using ORK 2.17.1. my goal is to b able to use ork for this game but be able to control the combat, locomotion and the camera with invectors melee controller. If its possible.
  • @blindbrainz I've talked a lot about sharing my integration scripts for Opsive Third Person Controller (v2) and ootii Motion Controller for a long time and haven't actually delivered much of anything usable -- of course, I'm not getting paid for it, so nobody really has a right to complain ;-). All three controllers (ootii, Opsive, Invector) share a common base set of scripts that I build upon for each specific integration.

    I attempted to extract some of the core functionality in order to whip up a quick script to get your health and stamina values syncing between ORK and Invector, but... well, it's not a quick and easy job with the way that Invector's code base is structured. (Warning: Technical jargon) The actual character controller class has an inheritance hierarchy about 4 levels deep, with the health stat defined at the opposite end of the chain. At one point in time, the health and stamina stats were implemented as public fields; I see they have added properties that wrap around those fields, but the fields themselves are still referenced all over the place.

    I figured out a strategy to "intercept" all of those calls by overriding methods on a class that inherits from vThirdPersonController, but ultimately I decided that it would be far simpler to update my core integration scripts and build upon those, rather than try and write a single script that I could simply post here for you. :-) Getting ORK's status values fully integrated with any of these advanced character controllers isn't really a simple task, and they way that Invector's code base is structured makes it a far bigger pain in the ass than it needs to be. It's a bit easier if you modify the actual Invector script files in a few places -- and I could post instructions for that -- but I don't like doing that on principle, as it makes it a hassle to update when a new version of the controller is released. Also, you said you're not a coder (and many here aren't), so there's another good reason to avoid that.

    Give me a few days, and I'll see if I can get a basic integration setup working. It won't be complete, but it should handle disabling/enabling the camera and character controls and using ORK's status values for Health and Stamina instead of Invector's.




  • I totally understand man and at the end of the day if you are able to turn out something that could help, even something simple (which I'm sure isn't simple at all on your end but you know what I mean) I'd appreciate it and honestly I can't hire you like a company would but I'd totally be willing to compensate for the script. I'm not a coder by any means, I just like to tell stories and using unity to make simple games of the types that my kids and I like to play is definitely worth it to me and I'd appreciate any help even if it's just being pointed in the right direction so I can figure it out myself!
  • GIL, if I was using Invector to update ORK combatants HP stat, so anytime an invector enemy would damage the player which has the invector Melee controller attached it would just drop the ORK hp at the same time as Invectors so the two stats stay in sync, would that be as simple as saying that ORKs Combatant stat is = to the invector currentHealth somewhere in a scripts update?
  • blindbrainz said: GIL, if I was using Invector to update ORK combatants HP stat, so anytime an invector enemy would damage the player which has the invector Melee controller attached it would just drop the ORK hp at the same time as Invectors so the two stats stay in sync, would that be as simple as saying that ORKs Combatant stat is = to the invector currentHealth somewhere in a scripts update?
    You could do it that way by hooking into the OnReceiveDamage event exposed on vThirdPersonController. You'd then call Combatant.Status[1].ChangeValue(). (Assuming the ID of your Current Health Status Value is 1).

    But you would need to ensure that nothing on the ORK side ever updates the character's health, which which put a lot of limitations on what you can do with Abilities and Formulas. Not to mention if you want the character's Health to improve as he gains levels.

    I never found that the quick & easy solution gave me satisfying results, which is why I went with a more complex but more comprehensive approach that puts the stats management exclusively under ORK's control, uses ORK Abilities and Formulas to calculate weapon or spell damage, etc. I use the character controller's melee and ranged systems right up until the point where damage is calculated -- then I have ORK take over to calculate damage and apply any appropriate status effects. That way you get the best of both worlds.

    I've had it working with each of Motion Controller, Opsive TPC (v1.3), and Invector TPC at one point in time. The trickiest part is getting the inventory system integrated seamlessly such that you use ORK's inventory/equipment data and UI to equip weapons and the character controller places the correct weapon in the character's hand, animates the drawing/sheathing of the weapon, and gets the character into the correct stance. This part has been working almost perfectly with Motion Controller (well it did a few months ago), but I never got around to working the bugs out of the other two versions.

    So the biggest piece of work is gathering up all of my various versions of these controller integrations and putting together a single, up-to-date code base. I started on that a couple of days ago, and I don't think it should take too long. I need to do this anyway... just been putting it off because I haven't felt like doing it. ;-)

    I'll keep you posted. :-)
  • Okay. I would definitely like to use your code when you are done with it. Let me know when you've got it working. I'd appreciate being able to use it in my game a ton, or I'd you decide to sell it or something like people do for integrations on the asset store I'd totally be right there to pay for it! And I appreciate you explaining the workings too, I'm trying to learn on my own so it helps.
Sign In or Register to comment.