I'm trying to implement a game idea of my own and have decided galaxy editor can be a good prototyping tool for me. However I'm new to galaxy editor and here are some specific and general questions I'd like to ask. let's start from my purpose.
I'm trying to make an ability that will create some persistent visual effect (will last until overwritten otherwise) on specific region once cast. Hence I ran into many confusions and obstacles in the attempt. The approach I'm taking right now is to create doodads with the visuals i want (lava splash, for example) and hide all of them during initialization, then create a trigger that listens on the specific ability, then show/hide doodads within in the region where the ability was cast.
Problems are 1. I need to create a custom function that converts Point into Region, where I need some insight on the 'point' struct, how am I suppose to get this info? or more generally, where are all source code of built in functions are kept? 2. I heard there're conditions to judge if a point is within bonds of a specific region, but all I can find under conditions are and/or/if etc. Can anyone tell me more on in regard of this topic? 3. Is it possible to create persist visual on map w/o trigger? "Effect" with custom/other existing model for example?
Any other suggestions are welcomed, such as alternates that i can achieve my goal
P.S. I've posted this under the galaxy scripting sub forum, then realized there might be people who do not browse scripting forum but can give me more general advise. Hope this dup pose does not bother anyone.
I would simply create actor in effect's point. Spell's effects could include destroy persistent and create persistent, so next cast would remove the previous persistent in the area, and thus - the actor.
To configure actor to be created at efect, you need to have something like these events:
effect.effect_name.start
term: at: effect
create
effect.effect_name.end
destroy
and host site operations must be SOpAttachTargetPoint
I would simply create actor in effect's point. Spell's effects could include destroy persistent and create persistent, so next cast would remove the previous persistent in the area, and thus - the actor.
To configure actor to be created at efect, you need to have something like these events:
effect.effect_name.start
term: at: effect
create
effect.effect_name.end
destroy
and host site operations must be SOpAttachTargetPoint
Your solution is very inspiring and enlightening to me. However I need the persistent visual effect take place in specific area, not under cursor. For example, assume I have a predefined square of 1,1 - 3,3, I'd like the visual always cover this fixed region for any cast fall into the region. Thus I think I still need some kind of modification on effect target point.
1. I need to create a custom function that converts Point into Region, where I need some insight on the 'point' struct, how am I suppose to get this info? or more generally, where are all source code of built in functions are kept?
You cant convert a point to a region, simply because it doesnt make any sense. A point IS NOT a region and it can't be, therefore it cant be converted. Thats why there is just the possibility to check if a point is within a certain region.
The source code of the builtin functions cant be inspected, they are basically just an interface which you have to use. However, there are some semi native functions which are in fact not native and just combine real native functions to make specific tasks easier, such as "send actor message to unit". Those can be found in trigger libs included when creating a new map.
Quote:
2. I heard there're conditions to judge if a point is within bonds of a specific region, but all I can find under conditions are and/or/if etc. Can anyone tell me more on in regard of this topic?
It seems like you are having problems with the editor GUI. There are plenty of beginner tutorials from a guy called "OneTwoSC" on youtube which might help you learning the GUI. :)
Quote:
3. Is it possible to create persist visual on map w/o trigger? "Effect" with custom/other existing model for example?
Ok, than you can preplace a unit with the model you want to appear, put it in the center of the area. Its actor should have
Actor creation
Set Opacity 0
event to be initially invisible. Than, each of the spells you want to unveil that unit, should have a search area effect with a radius, that would guarantee that it will have that central unit of the area, no matter what part of the area the effect will happen at. That search effect would apply a behavior to the unit. And to make the unit appear when while it have the behavior, you put these in its actor:
Behavior.name.on
Set Opacity 1
Behavior.name.off
Set Opacity 0
So, when someone casts something in the area, unit get the behavior and switch to visible state. Guess you'd want to put another search -> "remove behavior" before the apply behavior to remove the visibility caused byprevious cost.
Both, apply and remove behavior effects could have a validator to affect only that invisible unit.
I keep suggesting data ways to do what you want, because data reacts faster, consumes less perfomance, looks more elegant, faster to implement and easier to modify.
Ok, than you can preplace a unit with the model you want to appear, put it in the center of the area. Its actor should have
Actor creation
Set Opacity 0
event to be initially invisible. Than, each of the spells you want to unveil that unit, should have a search area effect with a radius, that would guarantee that it will have that central unit of the area, no matter what part of the area the effect will happen at. That search effect would apply a behavior to the unit. And to make the unit appear when while it have the behavior, you put these in its actor:
Behavior.name.on
Set Opacity 1
Behavior.name.off
Set Opacity 0
So, when someone casts something in the area, unit get the behavior and switch to visible state. Guess you'd want to put another search -> "remove behavior" before the apply behavior to remove the visibility caused byprevious cost.
Both, apply and remove behavior effects could have a validator to affect only that invisible unit.
I keep suggesting data ways to do what you want, because data reacts faster, consumes less perfomance, looks more elegant, faster to implement and easier to modify.
thank you so much for you suggestions, i'll definitely give it a try then compare with trigger way. Presumably I'll need to set the unit unselectable, with no collision size etc, to make it truly look like a terrain morph. Please correct me if I'm wrong.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
I'm trying to implement a game idea of my own and have decided galaxy editor can be a good prototyping tool for me. However I'm new to galaxy editor and here are some specific and general questions I'd like to ask. let's start from my purpose.
I'm trying to make an ability that will create some persistent visual effect (will last until overwritten otherwise) on specific region once cast. Hence I ran into many confusions and obstacles in the attempt. The approach I'm taking right now is to create doodads with the visuals i want (lava splash, for example) and hide all of them during initialization, then create a trigger that listens on the specific ability, then show/hide doodads within in the region where the ability was cast.
Problems are 1. I need to create a custom function that converts Point into Region, where I need some insight on the 'point' struct, how am I suppose to get this info? or more generally, where are all source code of built in functions are kept? 2. I heard there're conditions to judge if a point is within bonds of a specific region, but all I can find under conditions are and/or/if etc. Can anyone tell me more on in regard of this topic? 3. Is it possible to create persist visual on map w/o trigger? "Effect" with custom/other existing model for example?
Any other suggestions are welcomed, such as alternates that i can achieve my goal
P.S. I've posted this under the galaxy scripting sub forum, then realized there might be people who do not browse scripting forum but can give me more general advise. Hope this dup pose does not bother anyone.
I would simply create actor in effect's point. Spell's effects could include destroy persistent and create persistent, so next cast would remove the previous persistent in the area, and thus - the actor.
To configure actor to be created at efect, you need to have something like these events:
effect.effect_name.start
term: at: effect
create
effect.effect_name.end
destroy
and host site operations must be SOpAttachTargetPoint
Your solution is very inspiring and enlightening to me. However I need the persistent visual effect take place in specific area, not under cursor. For example, assume I have a predefined square of 1,1 - 3,3, I'd like the visual always cover this fixed region for any cast fall into the region. Thus I think I still need some kind of modification on effect target point.
You cant convert a point to a region, simply because it doesnt make any sense. A point IS NOT a region and it can't be, therefore it cant be converted. Thats why there is just the possibility to check if a point is within a certain region.
The source code of the builtin functions cant be inspected, they are basically just an interface which you have to use. However, there are some semi native functions which are in fact not native and just combine real native functions to make specific tasks easier, such as "send actor message to unit". Those can be found in trigger libs included when creating a new map.
It seems like you are having problems with the editor GUI. There are plenty of beginner tutorials from a guy called "OneTwoSC" on youtube which might help you learning the GUI. :)
I think its possible with the data editor.
@miushock: Go
Ok, than you can preplace a unit with the model you want to appear, put it in the center of the area. Its actor should have
Actor creation
Set Opacity 0
event to be initially invisible. Than, each of the spells you want to unveil that unit, should have a search area effect with a radius, that would guarantee that it will have that central unit of the area, no matter what part of the area the effect will happen at. That search effect would apply a behavior to the unit. And to make the unit appear when while it have the behavior, you put these in its actor:
Behavior.name.on
Set Opacity 1
Behavior.name.off
Set Opacity 0
So, when someone casts something in the area, unit get the behavior and switch to visible state. Guess you'd want to put another search -> "remove behavior" before the apply behavior to remove the visibility caused byprevious cost.
Both, apply and remove behavior effects could have a validator to affect only that invisible unit.
I keep suggesting data ways to do what you want, because data reacts faster, consumes less perfomance, looks more elegant, faster to implement and easier to modify.
thank you so much for you suggestions, i'll definitely give it a try then compare with trigger way. Presumably I'll need to set the unit unselectable, with no collision size etc, to make it truly look like a terrain morph. Please correct me if I'm wrong.