So i really liked another one of onetwos ideas with the pathing lighting from his TD map. For those who havent seen the tutorial or his map....basically theres an invisible drone that speeds across the map...while having an actor(landing lights) created on it every couple milliseconds creating a light path effect. now i have it working. and im trying to add some effect to it by making lights(omni) on lights(landing lights) so i made them seperate action definitions. and for the most part they work fine...although i wasnt able to find something to place an actor at the location of another actor. And because of that. Im using 2 units which obviously are not going to always go the same speed. and sometimes gets stuck on stuff at random points. causing huge light spots in ur map and ruining the effect....does anyone know what action would do that for me? and if u were to do it. Would u use the invisible unit trick or is there another way u could easily make that many pathing lights across a map?
Could you link me to OneTwoSC's tutorial where he does this? I'd be able to help you better if I knew the exact method he uses.
From what I can tell you should be able to just create another actor on the same drone. If it doesn't work in the data editor you can probably make it work via triggers.
theres the link to the tutorial...i think i need to clarify...im not trying to create an another actor on the same drone...im trying to create another actor on the landing lights. that are being created on the drone.
i got it working for the most part. with 2 units...but sometimes my wait times arent great when deleting them...not sure why...like all my seperate light paths use the same unit same function same wait times and everything...and for some reason. my wait time seems to change on its own every couple blink loops....so like the first set of lights come(landing lights) and they stay. and then right after really qucikly the blink loop starts...so then lights come really quickly over the same path as the landing lights...then once it hits the end point it starts a pick each loop, which destroys them from 0 to blink count, waiting like .09 seconds between...but that .09...seems to sometimes be .09 sometimes be 1.5 sometimes 5 ...sometimes 2...i mean litterially im testing 4 paths and the first loop will always be the correct .09. u can tell...but then the more the loop runs the more the wait times seem to start to mess up.and ull notice the blink lights being deleted slower. i want to try sometime like u said soul. but im still alil fuzzy on the data editor....i can do most things but i kinda need a clarification of EXACTLY what u mean. I think i have the general idea though. but u do see what im saying?
blink ends whereever unit is unless the unit made it all the way to the end.
And the blink lights are created and destroyed over a wait time to give the effect that say running christmas lights do....where 1 light at a time is lit up. over a long string of lights really quickly
Create an action definition to handle the creation of the second actor. Make a point parameter for the position. In actions, add a wait 2 seconds (or however long you want the delay to be for creating the second actor.) Then use the same Create Actor Model action you used to create the first actor, setting the model to whatever you want. Now go back to your light pathing trigger and use the action definition immediately after creating the first actor, setting the parameter to Position of (Temp Unit).
Having a delay in there is the only reason I can think of for you to not want to create another actor immediately after the first, and this is how you'd do it without creating a delay in your light pathing trigger. You can also add other conditions in your action definition using if/then/else statements if you need to tweak it more.
Oh, and in your action definition you can have another wait time after the actor is created, then destroy the actor. If you get your wait times correct you can loop it to get the "Christmas lights" you're looking for.
Create an action definition to handle the creation of the second actor. Make a point parameter for the position. In actions, add a wait 2 seconds (or however long you want the delay to be for creating the second actor.) Then use the same Create Actor Model action you used to create the first actor, setting the model to whatever you want. Now go back to your light pathing trigger and use the action definition immediately after creating the first actor, setting the parameter to Position of (Temp Unit).
Having a delay in there is the only reason I can think of for you to not want to create another actor immediately after the first, and this is how you'd do it without creating a delay in your light pathing trigger. You can also add other conditions in your action definition using if/then/else statements if you need to tweak it more.
Oh, and in your action definition you can have another wait time after the actor is created, then destroy the actor. If you get your wait times correct you can loop it to get the "Christmas lights" you're looking for.
Ya i already basically did that...the only thing i was wondering at this point was another way to create the second actors without using another unit. Which if i understand correctly is what u posted here. But the problem im seeing is that when the first actors(landing ligthts) ends what would the second actor have to spawn on at that point...because my first string of landing lights only gets created once...per wave but the omni lights keep highlighting the path of the landing lights over and over. And right now it looks pretty good i just set all my waits in my blink func and my landing lights func. Could be alil better because the units are not always going the EXACT same path to the T. Thats why i had that question about the placing an actor at the position of another ACTOR not a unit.
Also....what do i need to change to make sure my unit doesnt collide with anything beside the ground. no units no building. or is that not possible?
I already explained how this can be done using
1 unit
1 behavior
1 persistent effect
1 actor for the effect
No triggers involved other then spawning the pathing unit and having it follow the intende path as your prolly already handling in some manner
why do you want to create a second actor? if you really want using my stated method you could have two actors key'd off of the same persistent effect.
ya i just needed it explained in more detail. and i need a second actor because im using 2 types of lights. so i cant use just one actor
ya cus i think. the way u explained it is for one line of lights....i have 2 sets of lights 1 that goes to the point and stays there and one that goes to the end point and then deletes them ina line after they have reached the end point.
its seems the way urs would work, would be interesting if i used it on the blink lights...cus then instead of it creating them all and then deleting them one by one...it'll kinda follow deleting them behind the unit a couple lights depending on the delay Correct?
Having a delay in there is the only reason I can think of for you to not want to create another actor immediately after the first, and this is how you'd do it without creating a delay in your light pathing trigger.
what did u mean by this? u mean creating on actor after another is a good reason to NOT use waits? because it'll end up buggin out?
Also, i know this is kinda aside from the convo we're having right now. but do yall think theres a better way to spawn these lights ina line....like without using a unit. i would love it if i could just make a couple points and say make a actor every 2 in game feet between this 2 points or something. that way i dont have to worry about the unit being to fast or slow or getting stuck on something or whatever.
I still need to know how to make it so the unit does collide with anything but the ground. Make it an air unit with a REALLY set path rofl?
I wouldn't suggest using actors because they are generally harder to keep track of compared to units. You already mentioned you got it to work with units but the wait was bugging. I suggested you use a Timed Life effect instead of a wait and destroy. Has that worked for you?
I wouldn't suggest using actors because they are generally harder to
keep track of compared to units. You already mentioned you got it to
work with units but the wait was bugging. I suggested you use a Timed
Life effect instead of a wait and destroy. Has that worked for you?
Umm no ...
you should use actors .. because it is just a visual presentation of the lines
Using units is unnessacary
and it will force you to learn a little about actor events...
the timer event is actually really easy to use .... and once you know how you will feel like a god
How do you expect to keep track of each actor created? The number of actors created isnt known, and the only way i can think of is a variable. You cannot destroy them after one loop is complete because they will barely be visible. Unless you have another idea, you will have to have a variable with a huge array and then store each actor and then destroy them when you choose. With units you can just place them and add an effect.
How do you expect to keep track of each actor created? The number of actors created isnt known, and the only way i can think of is a variable. You cannot destroy them after one loop is complete because they will barely be visible. Unless you have another idea, you will have to have a variable with a huge array and then store each actor and then destroy them when you choose. With units you can just place them and add an effect.
right now im using a huge array to store all the actors...
and i havent tried the timed life yet...i will try that though seems like that would work better cus then the delay isnt based on the wait time that could possibly be lagging or something
soul ya iv already learned a good bit about actor events...i do most of the stuff i need to with them...im just wondering how i would place the actors without using a unit....could i do something where it creates lights every couple feet between 2 points without a unit to create the actor on? and if so what actions would do that? or should do i do that all in data?
Actually you can use a Destroy Actors action in a trigger to remove all actors of a specific type within a region.
what did u mean by this? u mean creating on actor after another is a good reason to NOT use waits? because it'll end up buggin out?
I didn't understand what you were trying to do at first, but once you said "Christmas lights" I was like "Oooooh. That's why." That's all.
If you want to avoid using units you can use a point variable and a loop. Create the actor model at the point variable, then move the point with a polar offset toward the end of the line, and repeat. Once the point reaches the end of the line, break the loop. A little clever use with mathematics will allow you to make things like curves and sine waves too.
That works then i thought there was only a Destroy Actors in Actor Region action(stupid me), like SouL said before you should use a persistent effect and that combines the actor and such, so this will mostly be data.
EDIT: i should explain more, what i gathered from what SouL was trying to say was that you should create the invisible unit, add a behavior, and the behavior should contain the persistent effect which would an trigger an actor which would create the light. You will also need a trigger to destroy all of the actors (for the effect)in the map
Actually you can use a Destroy Actors action in a trigger to remove all actors of a specific type within a region.
what did u mean by this? u mean creating on actor after another is a good reason to NOT use waits? because it'll end up buggin out?
I didn't understand what you were trying to do at first, but once you said "Christmas lights" I was like "Oooooh. That's why." That's all.
If you want to avoid using units you can use a point variable and a loop. Create the actor model at the point variable, then move the point with a polar offset toward the end of the line, and repeat. Once the point reaches the end of the line, break the loop. A little clever use with mathematics will allow you to make things like curves and sine waves too.
BOOOOM EXACTLY. thats what i was wondering...so polar offset? lemme see if i can find that really quick...cus thats what i really want...is to not use a unit at all and just make a path. And like u said some cool curves and stuff. Also if any of yall come across any info about how to use and what u can do with polor offset lemme know. cus thats probably what im gonna go with
EDIT: Okay i found it....Sweet that will work great cus u can set the amount between each point move. PERFECT. lol and give me an example of a curve if u dont mind. thinking about it now. curve and whatnot wouldnt be that easy lol
A simple curve would require a variable to store the current tangent of the line. So you would start at, say, 90 degrees. Create a global real variable called TANGENT and set it to 90 degrees in your trigger, somewhere before the loop begins. Then when you go to move your point with the polar offset, set the direction to your variable TANGENT. Then immediately set Tangent == Tangent + 1 (or -1, depending on which way the curve should go.) The number you add or subtract is the severity of the curve, so change that however you need it. You can use a "Repeat x times" loop to change the length of the curve if you don't want to end it at a specific location.
How do you expect to keep track of each actor created? The number of
actors created isnt known, and the only way i can think of is a
variable. You cannot destroy them after one loop is complete because
they will barely be visible. Unless you have another idea, you will have
to have a variable with a huge array and then store each actor and then
destroy them when you choose. With units you can just place them and add
an effect.
Why do you need to keep track of the actors ... if they destroy them selfs 20 seconds after they are created?
Rollback Post to RevisionRollBack
Skype
KageNinpo = SN
My Libraries
DialogLeaderboard & TeamSort
My Projects
SPACEWAR Tribute
Infinite TD
To post a comment, please login or register a new account.
So i really liked another one of onetwos ideas with the pathing lighting from his TD map. For those who havent seen the tutorial or his map....basically theres an invisible drone that speeds across the map...while having an actor(landing lights) created on it every couple milliseconds creating a light path effect. now i have it working. and im trying to add some effect to it by making lights(omni) on lights(landing lights) so i made them seperate action definitions. and for the most part they work fine...although i wasnt able to find something to place an actor at the location of another actor. And because of that. Im using 2 units which obviously are not going to always go the same speed. and sometimes gets stuck on stuff at random points. causing huge light spots in ur map and ruining the effect....does anyone know what action would do that for me? and if u were to do it. Would u use the invisible unit trick or is there another way u could easily make that many pathing lights across a map?
Could you link me to OneTwoSC's tutorial where he does this? I'd be able to help you better if I knew the exact method he uses.
From what I can tell you should be able to just create another actor on the same drone. If it doesn't work in the data editor you can probably make it work via triggers.
I would give the unit a behavior that periodically creates persistent effect at where it is standing....
then create an actor that is linked to that persistent effect.
the persistent effect only needs to tick once at that location creating the actor
on the actor give it the event to create itself when it sees the persistent effect
but to destroy the actor use a timer event lets say ... 10 seconds......
http://www.youtube.com/user/OneTwoSC#g/c/556FA0CE09DE04B3
theres the link to the tutorial...i think i need to clarify...im not trying to create an another actor on the same drone...im trying to create another actor on the landing lights. that are being created on the drone.
i got it working for the most part. with 2 units...but sometimes my wait times arent great when deleting them...not sure why...like all my seperate light paths use the same unit same function same wait times and everything...and for some reason. my wait time seems to change on its own every couple blink loops....so like the first set of lights come(landing lights) and they stay. and then right after really qucikly the blink loop starts...so then lights come really quickly over the same path as the landing lights...then once it hits the end point it starts a pick each loop, which destroys them from 0 to blink count, waiting like .09 seconds between...but that .09...seems to sometimes be .09 sometimes be 1.5 sometimes 5 ...sometimes 2...i mean litterially im testing 4 paths and the first loop will always be the correct .09. u can tell...but then the more the loop runs the more the wait times seem to start to mess up.and ull notice the blink lights being deleted slower. i want to try sometime like u said soul. but im still alil fuzzy on the data editor....i can do most things but i kinda need a clarification of EXACTLY what u mean. I think i have the general idea though. but u do see what im saying?
blink ends whereever unit is unless the unit made it all the way to the end.
And the blink lights are created and destroyed over a wait time to give the effect that say running christmas lights do....where 1 light at a time is lit up. over a long string of lights really quickly
@synik4l87: Go
just use an expiration timer
EDIT: never mind in sc2 they are "Timed Life" effects but it is the same thing.
Create an action definition to handle the creation of the second actor. Make a point parameter for the position. In actions, add a wait 2 seconds (or however long you want the delay to be for creating the second actor.) Then use the same Create Actor Model action you used to create the first actor, setting the model to whatever you want. Now go back to your light pathing trigger and use the action definition immediately after creating the first actor, setting the parameter to Position of (Temp Unit).
Having a delay in there is the only reason I can think of for you to not want to create another actor immediately after the first, and this is how you'd do it without creating a delay in your light pathing trigger. You can also add other conditions in your action definition using if/then/else statements if you need to tweak it more.
Oh, and in your action definition you can have another wait time after the actor is created, then destroy the actor. If you get your wait times correct you can loop it to get the "Christmas lights" you're looking for.
Ya i already basically did that...the only thing i was wondering at this point was another way to create the second actors without using another unit. Which if i understand correctly is what u posted here. But the problem im seeing is that when the first actors(landing ligthts) ends what would the second actor have to spawn on at that point...because my first string of landing lights only gets created once...per wave but the omni lights keep highlighting the path of the landing lights over and over. And right now it looks pretty good i just set all my waits in my blink func and my landing lights func. Could be alil better because the units are not always going the EXACT same path to the T. Thats why i had that question about the placing an actor at the position of another ACTOR not a unit.
Also....what do i need to change to make sure my unit doesnt collide with anything beside the ground. no units no building. or is that not possible?
I already explained how this can be done using
No triggers involved other then spawning the pathing unit and having it follow the intende path as your prolly already handling in some manner
why do you want to create a second actor? if you really want using my stated method you could have two actors key'd off of the same persistent effect.
ya i just needed it explained in more detail. and i need a second actor because im using 2 types of lights. so i cant use just one actor
ya cus i think. the way u explained it is for one line of lights....i have 2 sets of lights 1 that goes to the point and stays there and one that goes to the end point and then deletes them ina line after they have reached the end point.
its seems the way urs would work, would be interesting if i used it on the blink lights...cus then instead of it creating them all and then deleting them one by one...it'll kinda follow deleting them behind the unit a couple lights depending on the delay Correct?
@synik4l87: Go
what did u mean by this? u mean creating on actor after another is a good reason to NOT use waits? because it'll end up buggin out?
Also, i know this is kinda aside from the convo we're having right now. but do yall think theres a better way to spawn these lights ina line....like without using a unit. i would love it if i could just make a couple points and say make a actor every 2 in game feet between this 2 points or something. that way i dont have to worry about the unit being to fast or slow or getting stuck on something or whatever.
I still need to know how to make it so the unit does collide with anything but the ground. Make it an air unit with a REALLY set path rofl?
@synik4l87: Go
I wouldn't suggest using actors because they are generally harder to keep track of compared to units. You already mentioned you got it to work with units but the wait was bugging. I suggested you use a Timed Life effect instead of a wait and destroy. Has that worked for you?
Umm no ...
you should use actors .. because it is just a visual presentation of the lines
Using units is unnessacary
and it will force you to learn a little about actor events...
the timer event is actually really easy to use .... and once you know how you will feel like a god
@SouLCarveRR: Go
How do you expect to keep track of each actor created? The number of actors created isnt known, and the only way i can think of is a variable. You cannot destroy them after one loop is complete because they will barely be visible. Unless you have another idea, you will have to have a variable with a huge array and then store each actor and then destroy them when you choose. With units you can just place them and add an effect.
right now im using a huge array to store all the actors... and i havent tried the timed life yet...i will try that though seems like that would work better cus then the delay isnt based on the wait time that could possibly be lagging or something
soul ya iv already learned a good bit about actor events...i do most of the stuff i need to with them...im just wondering how i would place the actors without using a unit....could i do something where it creates lights every couple feet between 2 points without a unit to create the actor on? and if so what actions would do that? or should do i do that all in data?
@Usernameisntworkingright: Go
Actually you can use a Destroy Actors action in a trigger to remove all actors of a specific type within a region.
what did u mean by this? u mean creating on actor after another is a good reason to NOT use waits? because it'll end up buggin out?
I didn't understand what you were trying to do at first, but once you said "Christmas lights" I was like "Oooooh. That's why." That's all.
If you want to avoid using units you can use a point variable and a loop. Create the actor model at the point variable, then move the point with a polar offset toward the end of the line, and repeat. Once the point reaches the end of the line, break the loop. A little clever use with mathematics will allow you to make things like curves and sine waves too.
@BasharTeg: Go
That works then i thought there was only a Destroy Actors in Actor Region action(stupid me), like SouL said before you should use a persistent effect and that combines the actor and such, so this will mostly be data.
EDIT: i should explain more, what i gathered from what SouL was trying to say was that you should create the invisible unit, add a behavior, and the behavior should contain the persistent effect which would an trigger an actor which would create the light. You will also need a trigger to destroy all of the actors (for the effect)in the map
BOOOOM EXACTLY. thats what i was wondering...so polar offset? lemme see if i can find that really quick...cus thats what i really want...is to not use a unit at all and just make a path. And like u said some cool curves and stuff. Also if any of yall come across any info about how to use and what u can do with polor offset lemme know. cus thats probably what im gonna go with
EDIT: Okay i found it....Sweet that will work great cus u can set the amount between each point move. PERFECT. lol and give me an example of a curve if u dont mind. thinking about it now. curve and whatnot wouldnt be that easy lol
A simple curve would require a variable to store the current tangent of the line. So you would start at, say, 90 degrees. Create a global real variable called TANGENT and set it to 90 degrees in your trigger, somewhere before the loop begins. Then when you go to move your point with the polar offset, set the direction to your variable TANGENT. Then immediately set Tangent == Tangent + 1 (or -1, depending on which way the curve should go.) The number you add or subtract is the severity of the curve, so change that however you need it. You can use a "Repeat x times" loop to change the length of the curve if you don't want to end it at a specific location.
Why do you need to keep track of the actors ... if they destroy them selfs 20 seconds after they are created?