Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 17, 2018 23:28:37 GMT
I know this is intended to demonstrate a potential way to integrate spells into Invector, and is intended as a developer shared asset. That being said, having to reverse engineer the code isn't really a great use of time if the demo scenes aren't working on an initial run. Loading up the demo scenes to see how things are intended to be wired together is critical to understanding how it it is supposed to work. Even as a developer with over 25 years of experience, attempting to read the mind of the developer is not a task that I've seen anyone master no matter how much time they've spent trying. I've learned quite a bit experimenting with the shared code, and appreciate it being shared. It's a decent example of how to integrate with Invector, and a good set of code to reference in creating my own integrations. Thanks! thing is that the demo scenes were working when this was released, many of these breaks were caused by unity 2017 and invector deciding to change all the namespaces, later releases have focused on keeping the core scene (features) working, which as you stated it was and after a quick run through the only things that were wrong with them were needing the v3 version of the animator and the v2 version of the inventory. the only part that isnt working at this stage is the lobby load scene functionality the only thing wrong with the wizards was needing the V2 invectory prefab as the default. the code is actually commented very heavily on purpose, so you should find this easy to reference, and by no means was this ever going to be just add to your project and your game is done, no reverse engineering required but some level of understanding how the components link together was always going to be the case. Best point of reference for that, is the wizards, in one function you have a long list of all the components being added and linked. hope you find this easier going with the latest release, any issues do feel free to point out, i do keep updating this asset which is a live part of my own work note that the actual idea was that as an open source asset, that other developers would see the advantage of contributing code hie, i've tried all the downloads and they all seem to finish download at 6mb or 4mb and the zip files are all corrupt, please assist hmmm, the zip for the latest release is in the hundreds of megs, i have just downloaded the zip from github.com/ShadesOfInsomnia/SpellSystem/releases for 2.2, it definatly doesnt come down as corrupt, the alternative is to use the github desktop app to download the repository, try a different browser, this appears to be a problem with either your net connection or PC
|
|
|
Post by gamifytheworld on May 18, 2018 1:07:34 GMT
I know this is intended to demonstrate a potential way to integrate spells into Invector, and is intended as a developer shared asset. That being said, having to reverse engineer the code isn't really a great use of time if the demo scenes aren't working on an initial run. Loading up the demo scenes to see how things are intended to be wired together is critical to understanding how it it is supposed to work. Even as a developer with over 25 years of experience, attempting to read the mind of the developer is not a task that I've seen anyone master no matter how much time they've spent trying. I've learned quite a bit experimenting with the shared code, and appreciate it being shared. It's a decent example of how to integrate with Invector, and a good set of code to reference in creating my own integrations. Thanks! thing is that the demo scenes were working when this was released, many of these breaks were caused by unity 2017 and invector deciding to change all the namespaces, later releases have focused on keeping the core scene (features) working, which as you stated it was and after a quick run through the only things that were wrong with them were needing the v3 version of the animator and the v2 version of the inventory. the only part that isnt working at this stage is the lobby load scene functionality the only thing wrong with the wizards was needing the V2 invectory prefab as the default. the code is actually commented very heavily on purpose, so you should find this easy to reference, and by no means was this ever going to be just add to your project and your game is done, no reverse engineering required but some level of understanding how the components link together was always going to be the case. Best point of reference for that, is the wizards, in one function you have a long list of all the components being added and linked. hope you find this easier going with the latest release, any issues do feel free to point out, i do keep updating this asset which is a live part of my own work note that the actual idea was that as an open source asset, that other developers would see the advantage of contributing code Understood. I guess my comment came off as being snarky or something, and that was not intentional. I should say that I agree with you that the asset is not something to just add in and instant game. Unity is very much a programmers game engine, and that requires learning a lot of stuff. There is both understanding programming, and also understanding how Unity does things. Then on top of that, there is Invector and any third party code on top of that. Getting that stuff to work is not for the faint of heart. I've managed to get it working quite well, but many folks probably won't be able to (even experienced programmers) without some considerable effort. I would love to contribute to the effort in some way. I've actually been writing some code for a standalone skill tree, stats, and leveling system that I would like to somehow integrate with Invector. One of the things I notice is how integrating with Invector creates a bit of a "tight coupling" with the add-on that makes it difficult to to maintain. I am not sure how to solve that just yet. Anyway, if my comment came off the wrong way, it was unintentional. I've learned a lot from you sharing your code, and it also made me rethink some things about how Invector might be restructured to make it easier to create integrations.
|
|
lhide
Junior vMember
Posts: 25
|
Post by lhide on May 18, 2018 8:02:18 GMT
I have created 2 Playmaker actions one to get any skill value and another to set any skill value, since by itself Playmaker cannot get or set any other skill value but the first one, so here it goes, i hope it helps someone: Scripts
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 18, 2018 21:10:54 GMT
Understood. I guess my comment came off as being snarky or something, and that was not intentional. I should say that I agree with you that the asset is not something to just add in and instant game. Unity is very much a programmers game engine, and that requires learning a lot of stuff. There is both understanding programming, and also understanding how Unity does things. Then on top of that, there is Invector and any third party code on top of that. Getting that stuff to work is not for the faint of heart. I've managed to get it working quite well, but many folks probably won't be able to (even experienced programmers) without some considerable effort. I would love to contribute to the effort in some way. I've actually been writing some code for a standalone skill tree, stats, and leveling system that I would like to somehow integrate with Invector. One of the things I notice is how integrating with Invector creates a bit of a "tight coupling" with the add-on that makes it difficult to to maintain. I am not sure how to solve that just yet. Anyway, if my comment came off the wrong way, it was unintentional. I've learned a lot from you sharing your code, and it also made me rethink some things about how Invector might be restructured to make it easier to create integrations. peace mate, and no offence was taken, i fully understand the frustration that integrating assets can generate, we have all been there. adding a skill tree would actually be more than great, but could you link it up to the extensive spell system stats abilities, place it alongside the character info screen in the UI, if yes then i think many including myself would find this a massive boost, all additions are welcome 100%. the key is to prevent all invector users from having to re invent the wheel, the more we can combine work on core systems that we all need the greater the time saving for everyone I have created 2 Playmaker actions one to get any skill value and another to set any skill value, since by itself Playmaker cannot get or set any other skill value but the first one, so here it goes, i hope it helps someone: oh mate, your a star, those two actions have given me an idea, what better way of showing people how to access via code the various spell system components than by a set of playmaker actions, and it does also allow people that want to stay top level (which playmaker is amazing for) to get skin in the game i have extended your code, note that your getSkillValue action was ignoring the skill value from equipment, i have changed it to use an accessor i added two releases ago i have also added a get player action, and updated your two actions to get the leveling system from a game object to avoid hard coding they can now be chained together like this i have added your playmaker actions and my additional to the bleeding edge branch of github github.com/ShadesOfInsomnia/SpellSystem/tree/bleeding-edge/Invector-3rdPersonController/Add-ons/ShadesSpellSystem/Playmakerif you make anymore actions or have one that you want but are not sure how to get what you need, please do post thanks very much, all contributions are very welcome
|
|
lhide
Junior vMember
Posts: 25
|
Post by lhide on May 21, 2018 14:13:50 GMT
I have created 2 Playmaker actions one to get any skill value and another to set any skill value, since by itself Playmaker cannot get or set any other skill value but the first one, so here it goes, i hope it helps someone: oh mate, your a star, those two actions have given me an idea, what better way of showing people how to access via code the various spell system components than by a set of playmaker actions, and it does also allow people that want to stay top level (which playmaker is amazing for) to get skin in the game i have extended your code, note that your getSkillValue action was ignoring the skill value from equipment, i have changed it to use an accessor i added two releases ago i have also added a get player action, and updated your two actions to get the leveling system from a game object to avoid hard coding they can now be chained together like this i have added your playmaker actions and my additional to the bleeding edge branch of github github.com/ShadesOfInsomnia/SpellSystem/tree/bleeding-edge/Invector-3rdPersonController/Add-ons/ShadesSpellSystem/Playmaker if you make anymore actions or have one that you want but are not sure how to get what you need, please do post thanks very much, all contributions are very welcome If i am a star you guys are a constellation, best addon in the forums and its tottally free! I've integrated your system with my game were i use a custom system for equipment, so thats why i did not use the equipment stats! There will be some more playmaker actions along the development so i'll post them here when they are done. Since you've asked if you could help, can you point the way for creating a spell that after it does damage the particles come back to the player filling a certain ammount of life or mana? ps.: thanks for updating the actions and for this awesome addon!
|
|
samet
New vMember
Posts: 7
|
Post by samet on May 23, 2018 10:17:07 GMT
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on May 24, 2018 23:31:17 GMT
insomnia I'm using google translate, sorry for the bad english :( I tried to tell the problem on the video. is the problem the character moving forward whilst spell casting? if yes, are you using the full body layer of the animator? Since you've asked if you could help, can you point the way for creating a spell that after it does damage the particles come back to the player filling a certain ammount of life or mana? i was more meaning help with playmaker actions but no worries, right well u need to have a think about the effect your trying to achieve, i would take a look at the spell script, specifically the homing part and make a new script, link it to invectors hit event, so that on hit, a particle effect gets sent back to the player, when the particle effect collides, then add either health or mana as desired
|
|
|
Post by shadex on May 25, 2018 0:41:05 GMT
Since you've asked if you could help, can you point the way for creating a spell that after it does damage the particles come back to the player filling a certain ammount of life or mana? ps.: thanks for updating the actions and for this awesome addon!
To make a drain spell like that, take your normal spell and in the projectile script where it has the On Collision prefab, add a second on collision prefab and add homing projectile set to the player that On Collision heals the player (our heal spell example).
To do this on death, simply have the enemy spawn the heal particle on the death animation.
Also if you want to get tricky, you can make particles that are effected by physic's, and spawn a an inverse constant explosion (Reverse Gravity) and it will suck the particles tword the player if you want a more procedural look.
|
|
|
Post by shadex on May 25, 2018 0:43:45 GMT
Either put the spells on Fully Body Layer (attacks interupt spells) or make a new layer, and put the spells on the new layer (Spells Interupt Attacks)
|
|
|
Post by newbie on May 30, 2018 22:44:24 GMT
Guys any body know how to debug this error "SpellTarget = GameObject.FindWithTag ("MainCamera").GetComponent<vLockOnTargetControl> " can locate those "vLockOnTargetControl"
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 2, 2018 19:43:36 GMT
Guys any body know how to debug this error "SpellTarget = GameObject.FindWithTag ("MainCamera").GetComponent<vLockOnTargetControl> " can locate those "vLockOnTargetControl" would help if you post the actual error from the console as your description doesnt specifiy even which file the code line is in are u using the latest version of both the spell system and invector? as there was a set of namespace changes that could cause that either way to debug, - check that component does exist on the main camera - if it does - open visual studio on the source file by double clicking the error in unity - place a breakpoint (F9) on the line - hit attach to unity in visual studio and press play in unity - cause the error and the code will break on the breakpoint - inspect the variables and see what is wrong watch i would recommend more code training b4 you continue your game, its more than essential
|
|
|
Post by newbie on Jun 3, 2018 2:36:12 GMT
Yes the 3 script is fine and working and also they have namespace error and i alreaday fix it i'm trying to locate vLockOnTargetControl on Invector but it doesn't exist some lock script are V LockOnShooter , etc are there. . . yes i'm using latest Invector Shooter Template.
|
|
Deleted
Deleted Member
Posts: 0
|
Post by Deleted on Jun 3, 2018 21:06:10 GMT
Yes the 3 script is fine and working and also they have namespace error and i alreaday fix it i'm trying to locate vLockOnTargetControl on Invector but it doesn't exist some lock script are V LockOnShooter , etc are there. . . yes i'm using latest Invector Shooter Template. this doesnt exist in my project either, this isnt really spell system question, i think you need to ask invector about this as it seems to be an issue caused by upgrading also the line you posted SpellTarget = GameObject.FindWithTag ("MainCamera").GetComponent<vLockOnTargetControl>
this isnt part of the spell system instead the spell system finds the lock on via a function in globalfuncs.cs
/// <summary> /// Find the player lock on if enabled /// </summary> /// <returns>Transform that is currently locked onto.</returns> public static Transform GetLockOn() { GameObject player = FindPlayerInstance(); // get the player instance from invector if (player) { // valid? #if !VANILLA vLockOn lockon = player.GetComponent<vLockOn>(); // grab the lock on component if (lockon) { // found? return lockon.currentTarget; // send the current target back } else { // fraid not return null; // no lock on } #else return null; // none invector lock on code here #endif } else { // player not found return null; // no lock on } } also note that your code is without fail safe, if for any reason GameObject.FindWithTag doesnt return the camera then your function will crash
|
|
|
Post by newbie on Jun 3, 2018 23:32:01 GMT
Thank you @insomnia
|
|
|
Post by cincera92 on Jun 21, 2018 17:36:53 GMT
I just downloaded the newest version of the Spell system and Invector Combat&Melee, but it seems that I have some trouble with it.
The vItemEnums script comes up with an error that says "The namespace `Invector.vItemManager' already contains a definition for `vItemAttributes'." I also cannot equip or use spells, even in the demo scenes, even though they are in the inventory and weapons. Everything else appears to work fine but I just cannot seem to make it work and I'm at a bit of a loss.
I hope that some of you might have an idea on how to get around this or that you might've faced the same problem.
|
|