Aller au contenu

Photo

Circle Visual Effects


  • Veuillez vous connecter pour répondre
15 réponses à ce sujet

#1
WoC_Builder

WoC_Builder
  • Members
  • 225 messages
Does anyone know how these are controlled?  I am trying to make sure that the circles do not disappear when transitioning areas, but see nothing in the spells.2da that stands out as a setting that affects circles, like Silence, magic circle against Alignment, Battletide, etc.

#2
Lightfoot8

Lightfoot8
  • Members
  • 2 535 messages
AoE use the settings from vfx_persistent.2da

#3
Shadooow

Shadooow
  • Members
  • 4 471 messages

WoC_Builder wrote...

Does anyone know how these are controlled?  I am trying to make sure that the circles do not disappear when transitioning areas, but see nothing in the spells.2da that stands out as a setting that affects circles, like Silence, magic circle against Alignment, Battletide, etc.

another thing fixed in community patch already...

#4
Alex Warren

Alex Warren
  • Members
  • 179 messages

ShaDoOoW wrote...
another thing fixed in community patch already...

I thought this was a game engine bug. If you managed to find a fix would you mind sharing?

#5
WoC_Builder

WoC_Builder
  • Members
  • 225 messages

Alex Warren wrote...

ShaDoOoW wrote...
another thing fixed in community patch already...

I thought this was a game engine bug. If you managed to find a fix would you mind sharing?


Indeed.  :)  I looked to your vfx_persistent.2da for an example, and saw that the "DurationVFX" entries were all blank (****).  Changing that however did not seem to repair the issue in my testing, as when I crossed an area transition, the Battletide circle still seemed to disappear.  This told me that there is another setting that I am missing.

Can you give a nod to the right direction I should look?  :whistle:   Please? :blush:

#6
Shadooow

Shadooow
  • Members
  • 4 471 messages
By default, circle VFX is driven by DurationVFX which applies the invisible vfx effect on aura object itself.

Due to the bug in engine, this effect is lost when changing area.

What I did is that I disabled this VFX and applied the circle VFX on character from spellscript.

It however works a bit differently after then. The circle will be invisible for anyone who cannot see the caster (which might not be desired behavior) although the default circle is. Also DurationVFX collumn is client-side so if player install community patch on server without vfx_persistent.2da in their haks and without community patch instaled, such player will not see the circle even after cast.

If you do what I did and you keep also vfx_persistent befault you will see two circles (as the default will be a bit slower or might even stuck).

The scripting of this is my work and its unique, nowhere at vault you will find 100% working and reliable solution. Rabidness has issue when two auras met each other, mine does not.

Alex Warren wrote...

I thought this was a game engine bug. If you managed to find a fix would you mind sharing?

But I did - Its inside community patch that is free to download. With every release there are scripts and includes included so you don't have to install it just to take single fix.

Modifié par ShaDoOoW, 06 juin 2012 - 07:58 .


#7
Alex Warren

Alex Warren
  • Members
  • 179 messages

ShaDoOoW wrote...
But I did - Its inside community patch that is free to download. With every release there are scripts and includes included so you don't have to install it just to take single fix.

Aye, of course. I have your latest patch, and I did checked scripts for magic circle spells, but I haven't noticed anything unusual. Probably becasue most spell scripts apply visual effect this way ;)
Thank you!

#8
WoC_Builder

WoC_Builder
  • Members
  • 225 messages

ShaDoOoW wrote...


But I did - Its inside community patch that is free to download. With every release there are scripts and includes included so you don't have to install it just to take single fix.


And thank you.  :D

#9
Shadooow

Shadooow
  • Members
  • 4 471 messages
TIP: if you want to retain default behavior of the vfx i would try to re-apply the circle vfx on AOE object in every area using OnEnter

#10
ShadowM

ShadowM
  • Members
  • 768 messages
Thanks for the information Shadooow, I put the fixes into the next HR base :) I thought it was engine glitch too.

#11
Shadooow

Shadooow
  • Members
  • 4 471 messages

ShadowM wrote...

Thanks for the information Shadooow, I put the fixes into the next HR base :) I thought it was engine glitch too.

Im wondering how did you fixed it in your HR. Same way as I did?

Because now Im starting to think that its not the best way to do that. At least not for my project. Found out that on servers without Patch, Player with won't be able to see the circles at all. Now - its true that thats rather issue of the given PW yet still. Im talking about Bastions of War. They dont allow to cast silence in base for the reason that the aura wouldnt be visible then. Problem is that if they were used my solution, the aura couldnt be seen unless you see also aura owner. I guess that correct behavior, the aura itself is only imaginary, it does not have any color and the circle around player is only for player (not character) info. Yet in pvp-based modules the old behavior might be desired - seeing the aura of the invisible player coming in might give advantage.

So to fix it, I was thinking, maybe I could reuse different AOE from vfx_persistent that has not any VFX applied by default, but since various auras have various size, that would require to reuse some unused lines like VFX_MOB_CIRCLAW, VFX_MOB_CIRCCHAOS etc. which would created compatibility issue with CC like PRC that uses these lines. Adding new lines isnt possible as CEP and PRC already used everything upwards. Another idea is to store the area of the first time of AOE appearance and try to apply circle VFX everytime in AOE OnEnter when area stored doenst match area current. That would be probably 100% reliable solution without issues as: it would be 100% backwards compatible. Client with patch would see the circles in module without normally (only in area of creation). The AOE circle VFX behavior would match the default behavior - always visible even when owner isn't.

EDIT: seems that applying vfxs on AOE object doesnt work
EDIT2: I guess ill simply keep the default VFXs on AOEs in order to maintain backwards compatibility with new script that applies the circle from spellscript so in first area, there will be two of these circles - might be issue for some servers with AOEs slowed down, but better for players

Modifié par ShaDoOoW, 09 juillet 2012 - 07:27 .


#12
ShadowM

ShadowM
  • Members
  • 768 messages
Well did you apply the visuals and AOE with EffectLinkEffects?
Sample:
effect eAOE = EffectAreaOfEffect(AOE_MOB_SILENCE);
effect eVisuals =EffectVisualEffect(272,FALSE);
effect eLinked =EffectLinkEffects(eAOE,eVisuals);
int nDuration = GetCasterLevel(OBJECT_SELF);
object oTarget = GetSpellTargetObject();
int nMetaMagic = GetMetaMagicFeat();

With your being a patch system, similar to when bioware patches I would think that it the responsibility of PW administrators to tell  their player-base that they require your patch since your project is so big. You have to think your changes are the base, modules/pw builders would need to adjust there custom haks around it just like we did with biowares patches. Just like modified vfx_persistent.2da that overwrites yours. Just like other people projects if they do not like how you did they could put in a hak to overite it with standard 1.69 patch 2das. My project requires the haks that do this and mainly for modules and small pw so not much of an issue. You could double the vfx_persistent.2da with standard and then modified and have a simple check in the spell script if patch applied then apply the modified vfx and if not then apply the standard, just brain storming I sure their some issue with checking the aoe. Would have to do the same for checking the aoe. The other option seem a lot of work for not a big reward. Just some thoughts good luck with what ever you decide.

Modifié par ShadowM, 09 juillet 2012 - 09:45 .


#13
Shadooow

Shadooow
  • Members
  • 4 471 messages

ShadowM wrote...

Well did you apply the visuals and AOE with EffectLinkEffects?
Sample:
effect eAOE = EffectAreaOfEffect(AOE_MOB_SILENCE);
effect eVisuals =EffectVisualEffect(272,FALSE);
effect eLinked =EffectLinkEffects(eAOE,eVisuals);
int nDuration = GetCasterLevel(OBJECT_SELF);
object oTarget = GetSpellTargetObject();
int nMetaMagic = GetMetaMagicFeat();

thats the way I fixed it for the first time - as I said the problem there is that circle is not visible if neither PC is, applying circle vfx on OBJECT_SELF in AOE OnEnter script has no effect unfortunately. So there isn't solution for this issue and thus those who want to preserve the default circle behavior must find another way. As I said, I think the current behavior is ok speaking of general.

With your being a patch system, similar to when bioware patches I would think that it the responsibility of PW administrators to tell  their player-base that they require your patch since your project is so big. You have to think your changes are the base, modules/pw builders would need to adjust there custom haks around it just like we did with biowares patches. Just like modified vfx_persistent.2da that overwrites yours. Just like other people projects if they do not like how you did they could put in a hak to overite it with standard 1.69 patch 2das. My project requires the haks that do this and mainly for modules and small pw so not much of an issue. You could double the vfx_persistent.2da with standard and then modified and have a simple check in the spell script if patch applied then apply the modified vfx and if not then apply the standard, just brain storming I sure their some issue with checking the aoe. Would have to do the same for checking the aoe. The other option seem a lot of work for not a big reward. Just some thoughts good luck with what ever you decide.

yea, but this issue is clientside. Whatever you set in your module if player gives there his own value he will see that instead. This isnt issue in PWs using haks, but on hakless PWs it makes the circle not visiable at all which is wrong even that admins should consider to implement the fix from my patch.

Therefore I will set the VFX in vfx_persistent to default numbers. Some players might notice that the circle is there twice (specially in some PWs the circles might not always match their positions) but its gonna be fixe automatically once player changes area anyway. And its only client-side glitch that PWs with haks can solve with removing the numbers in vfx_persistent

Modifié par ShaDoOoW, 09 juillet 2012 - 10:03 .


#14
ShadowM

ShadowM
  • Members
  • 768 messages
Have you tried saving the caster on the AOE as a local object when casted? and call to that onenter? I funneled all the AOE enter, exit, and HB into one script for each. I have also funneled on-hit cast spell that scales and transfers power level to the AOE object to be called in enter, exit, and HB

#15
Shadooow

Shadooow
  • Members
  • 4 471 messages
of course, thats how my mobile circle aoes fix works, though its not caster who i am saving its owner - which might be different person and which is reason why my solution is 100% reliable and others arent.

Anyway that doesnt solves anything. You can only apply the VFXs on creature/placeable, applying on AOE object doesn't work so there is no difference between applying the vfx on owner from spelscript directly or in AOE OnEnter.

#16
ShadowM

ShadowM
  • Members
  • 768 messages
Ohh I see what you mean now, sorry for my doh moments :(