yea, I suspected so aswell, as the data editor is supposed to be this all-powerful solution to every problem. I'm sure it is, but I'm way too uncomfortable and unexperianced in it, I'm so used to doing everything with triggers like in wc3 xD
I was going to try that method too, though either directly if this trigger method should'nt work or later when everything would be working and I'd have freedom to mess around and try things out.
Duplicating units and making new buttons is as far as I've gotten into the data editor basically :)
Edit: It works... Sometimes... Sometimes when units walks over a "Turn Pad" they just ignore it, sometimes they turn to an angle that's slightly off, like 80 degrees instead of 90 or 170 instead of 180... super duper weird. Sometimes it works though
Edit 2: This is sooo weird. It seems like the angle gets skewed by approx 10 degrees the SECOND time a unit steps on a "Leftie" turn pad OR the SECOND time a unit steps on a "Rightie" turn pad, no matter what happens in between. wtf
edit 3: like, my computer is litterally not executing what I'm telling it to do. Here's how my 2 triggers for a "Rightie" turn pad looks:
Trigger 1 (construction)
[code]BuildTurnPadRight
Events
Unit - Any Unit construction progress is Completed
Local Variables
Conditions
(Unit type of (Triggering progress unit)) == Turn Pad: Right <em>custom
Actions
General - Custom Script: TriggerAddEventUnitRange(gt_StepOnTurnPadRight, null, EventUnitProgressUnit(), 0.1, true);[/code]
Trigger 2 (when a unit walks on it):
[code]StepOnTurnPadRight
Events
Local Variables
unit = No Unit <Unit>
point = No Point <Point>
Conditions
((Triggering unit) is in Runners) == true
Actions
Variable - Set unit = (Triggering unit)
Variable - Set point = ((Position of unit) offset by 21.0 towards 360.0 degrees)
Unit - Order unit to ( Move targeting point) (Replace Existing Orders)[/code]
(lots of unnecessary variables, that's just things I've tried out to make it work. In vain.
why would the unit turn to like 350 or 340 degrees instead of 360? I'm suspecting it's maybe a collision issue that should be fixed in the Data Editor but I've set almost all values in Movement to 0 and unchecked all values under "Collide".
My other guess is that it has to do with the radius within which the unit must be in order for the trigger to detect it; the unit will just barely enter it, then turn and then just barely enter the next turn pad's radius etc, and finally it misses it. I've tried to fix this using local variables and a "Wait" function that waits 0.05 sec before ordering the unit to turn, but THAT didn't fix the issue either. The units just keep turning 10-20 degrees to much/little...
FFFFFFFFFFFFFFFFFUUUUUUUUUUUU
edit 3: lol i think I figured it out. The point I order the to go to is outside the map and therefore it gets "pushed" to the side. Gonna increase the map bounds and see what happens xD
Oh me
Title pretty much says it all... I'd like the units in my map only to search in front of them for targets to attack, not to the sides or behind them. Mad props to anyone who helps me.
Note that the "attack" I'm talking about is just the regular Attack command
Thanks a lot guise. That's quite a read, grandseiken xD. The only thing I didn't quite get was "TRAP_UNIT"... Am I just supposed to change that to "Triggering_Unit" or whatever the syntax is ("TriggerUnit" like in jass?). I havn't used scripts yet, probably never will to any great extent :P
Basically what am I supposed to put instead of "TRAP_UNIT"?
I always ramble on
edit:
The problem now is that you don't know which trap was stepped on. You gotta come up with a way to get round this.
I think I'll just create four different triggers that detect when turn pads are made, and four different triggers without events, one of each for every turn direction (90, 180, 270, 360)
edit again: Ok, now I have a trigger with no events and the action to turn Triggering Unit 180 degrees.
My trigger which is supposed to add the events to the trigger I just mentioned runs whenever a "Turn Pad: Left" is constructed and the custom script looks like this:
[code]TriggerAddEventUnitRange(gt_StepOnTurnPadLeft, null, TRAP_UNIT, 0.1, true);[/code]
I'm still not sure what to put instead of TRAP_UNIT and I'm not sure if that semicolon is supposed to be there at the end. I'm so pro at this xD obs! read next edit
edit 3: Ok, so I figured out I'm supposed to put "Triggering Progress Unit" instead of TRAP_UNIT since the event I'm using is "Unit - Any Unit construction progress is Completed". My custom script looks like this atm:"TriggerAddEventUnitRange(gt_StepOnTurnPadLeft, null, EventUnitProgressUnit, 0.1, true);" but when saving/running the map I get an error message which says "Script failed to compile: Parameter type does not match the function definition". I tried to remvove the semicolon at the end but then I got two error messages, so I assume that it is supposed to be there.
My guess is that I'm missing some brackets here and there. any help?
thanks in advance
edit: the map is actually nearing a playable state. As soon as this hopefully small problem is fixed I think a beta version is imminent :) yay
Is there really no easy way to do this? I've tried giving the turn thingies an attack and using a "Any unit is attacked" event and a "unit type of unit == this and that" etc, but those sorts of methods are often so messy.
Why can't events use variables?
Also shameless self bump
I guess I should explain in closer detail what I want...
In my map I want certain worker units to be able to build "turn pads" which makes any unit that walk over it turn. Since these things need to be able to be constructed, I can't have them as presets in any trigger event because they wont exist when the map launches/loads.
I have yet to test it but it sounds like it should work. Thanks a lot
edit: tested it and it does not seem to work :S
I put a Lowered Supply Depot on the map and added it to unit group X via triggers.
Another trigger I had look like this:
Events: Any Unit Enters a Distance of 0.1 from (Random Living Unit from unit group X)
Actions: Order Triggering Unit to Stop
Make Triggering Unit face 180 Degrees
The unit just walks right over the Supply depot. I've tried changing the event to use "unit 1 from unit group X", I've tried to increase the distance to 5, nothing works
edit #2: it's the unit group thing that causes the problem. I changed the unit group to a specific unit and then it worked. what do?
Is there a sufficient and non-buggy way to detect when a unit steps on for example a lowered supply depot? Either through triggers or data. I need to order that unit to turn 90/180/-90/360 degrees when encountering a (for example) lowered supply depot.
I've tried but I suck sooo hard at coding and stuff, I just end up giving up after 3 hours of accomplishing nothing
Ok, I found a new way to formulate the idea. I want the casting Supply Depot to Lower itself, and then I want all other units within a range of 5 to do the same thing.
I sorta figured out that all I need is one ability which triggers the whole chain reaction, and then two effects that loop until there are no units within a range of 5 able to Lower.
So; Ability -> Effect which orders to Lower and triggers the following effect: Effect which searches for new units that should Lower. Loop these two effects over and over.
It's hard to explain because it's like an effect which triggers another effect whose sole purpose is to trigger the first effect again. So it's like just two effects triggering each other constantly :S
I'll try and see if I can patch it together on my own
thanks for the super quick responses btw
edit: I tried it, and it works to some extent. It's only the casting supply depot + the ones found by the Search Area Effect that lower, so it seems that there's only one search. I'd like all depots that are lowering to search for targets on their own, so there's in fact a chain reaction. As it is now, there's only one "generation" of depots lowering :S
Order to Lower (I want to order the new targets to lower, I don't know how to do it though. this is how I'd like it to look)
dunno how to make those long spaces :P
Basically: (Chain Reaction) -> (Order to Lower + Search Order to Lower) -> (Repeat Order to Lower + Search Order to Lower endlessly or until there are no units who can use "Supply Depot - Lower" within a range of 5)
hey! i'm experimenting with the data editor and I want to make an ability which orders the caster to use Supply Depot (lower) and then order every unit within 5 of him to use the same ability (supply depot (lower) + searching for new targets within 5), so that a chain reaction is started.
disclaimer: the following might be easier to read from the bottom up!
I first made an "Effect - Instant" ability called "Chain Reaction"
I then made an "Issue Order" effect called "Order to Lower"
I then made a "Search Area" effect called "Search Order to Lower"
Under the "Effect" tab on the ability (Chain Reaction) i set the Effect value to "Order to Lower"
Under the "Ability" tab on the effect called "Order to Lower" I set the "Ability" value to "Supply Depot - Lower"
Under the "Target" tab on the effect called "Order to Lower" I set the "Effect" value to "Search Order to Lower" and the "Value" value to "Source Point"
(both the "Effect" value and the "Value" value is under "Target".
Under the "Search" Tab on the effect called "Search Order to Lower" I set the Arc to 360, the Max Count to 4 and the radius to 5. I tried messing around with different effects under the "Effect" value but nothing was particularly useful. Same for the "Impact Location" and "Launch Location" values under the "Target" tab.
end of disclaimer
I added the "Chain Reaction" ability to a supply depot (and left the "Supply Depot - Lower" ability ofc) but when I tried it out, the casting supply depot would just Lower itself and... that would be it. What am I doing wrong? I'm starting to suspect that "Search Area" effects are searching for OTHER effects, not units. Is this true?
hello. I'd like to attach a region to a unit by an offset of 2.0 towards the facing angle of the unit. I simply can't figure out how to. Either I get it so the region gets attached to the point of the unit offset by a constant X, Y value, or it magically disappears from the map.
edit: it worked out real nice. awesome. One question though: is there a way to make an Effect - Instant Ability apply two effects? I tried adding two to that list, but only the top one would happen
0
Soundes lik it was a inpropriat mape
0
@grandseiken: Go
sweet. thanks!
@grandseiken: Go
yea, I suspected so aswell, as the data editor is supposed to be this all-powerful solution to every problem. I'm sure it is, but I'm way too uncomfortable and unexperianced in it, I'm so used to doing everything with triggers like in wc3 xD
I was going to try that method too, though either directly if this trigger method should'nt work or later when everything would be working and I'd have freedom to mess around and try things out.
Duplicating units and making new buttons is as far as I've gotten into the data editor basically :)
Edit: It works... Sometimes... Sometimes when units walks over a "Turn Pad" they just ignore it, sometimes they turn to an angle that's slightly off, like 80 degrees instead of 90 or 170 instead of 180... super duper weird. Sometimes it works though
Edit 2: This is sooo weird. It seems like the angle gets skewed by approx 10 degrees the SECOND time a unit steps on a "Leftie" turn pad OR the SECOND time a unit steps on a "Rightie" turn pad, no matter what happens in between. wtf edit 3: like, my computer is litterally not executing what I'm telling it to do. Here's how my 2 triggers for a "Rightie" turn pad looks:
Trigger 1 (construction) [code]BuildTurnPadRight Events Unit - Any Unit construction progress is Completed Local Variables Conditions (Unit type of (Triggering progress unit)) == Turn Pad: Right <em>custom Actions General - Custom Script: TriggerAddEventUnitRange(gt_StepOnTurnPadRight, null, EventUnitProgressUnit(), 0.1, true);[/code]
Trigger 2 (when a unit walks on it): [code]StepOnTurnPadRight Events Local Variables unit = No Unit <Unit> point = No Point <Point> Conditions ((Triggering unit) is in Runners) == true Actions Variable - Set unit = (Triggering unit) Variable - Set point = ((Position of unit) offset by 21.0 towards 360.0 degrees) Unit - Order unit to ( Move targeting point) (Replace Existing Orders)[/code] (lots of unnecessary variables, that's just things I've tried out to make it work. In vain.
why would the unit turn to like 350 or 340 degrees instead of 360? I'm suspecting it's maybe a collision issue that should be fixed in the Data Editor but I've set almost all values in Movement to 0 and unchecked all values under "Collide".
My other guess is that it has to do with the radius within which the unit must be in order for the trigger to detect it; the unit will just barely enter it, then turn and then just barely enter the next turn pad's radius etc, and finally it misses it. I've tried to fix this using local variables and a "Wait" function that waits 0.05 sec before ordering the unit to turn, but THAT didn't fix the issue either. The units just keep turning 10-20 degrees to much/little...
FFFFFFFFFFFFFFFFFUUUUUUUUUUUU
edit 3: lol i think I figured it out. The point I order the to go to is outside the map and therefore it gets "pushed" to the side. Gonna increase the map bounds and see what happens xD Oh me
edit 4: yep. that fixed it. fakking sweeeet
0
@zeldarules28: Go
There is no Validator Field on the Attack Ability :( I'm sure there is some way around this, but this kind of stuff is not my strong side
0
Title pretty much says it all... I'd like the units in my map only to search in front of them for targets to attack, not to the sides or behind them. Mad props to anyone who helps me.
Note that the "attack" I'm talking about is just the regular Attack command
0
Thanks a lot guise. That's quite a read, grandseiken xD. The only thing I didn't quite get was "TRAP_UNIT"... Am I just supposed to change that to "Triggering_Unit" or whatever the syntax is ("TriggerUnit" like in jass?). I havn't used scripts yet, probably never will to any great extent :P Basically what am I supposed to put instead of "TRAP_UNIT"?
I always ramble on
edit:
I think I'll just create four different triggers that detect when turn pads are made, and four different triggers without events, one of each for every turn direction (90, 180, 270, 360)edit again: Ok, now I have a trigger with no events and the action to turn Triggering Unit 180 degrees. My trigger which is supposed to add the events to the trigger I just mentioned runs whenever a "Turn Pad: Left" is constructed and the custom script looks like this: [code]TriggerAddEventUnitRange(gt_StepOnTurnPadLeft, null, TRAP_UNIT, 0.1, true);[/code]
I'm still not sure what to put instead of TRAP_UNIT and I'm not sure if that semicolon is supposed to be there at the end. I'm so pro at this xD obs! read next edit
edit 3: Ok, so I figured out I'm supposed to put "Triggering Progress Unit" instead of TRAP_UNIT since the event I'm using is "Unit - Any Unit construction progress is Completed". My custom script looks like this atm:"TriggerAddEventUnitRange(gt_StepOnTurnPadLeft, null, EventUnitProgressUnit, 0.1, true);" but when saving/running the map I get an error message which says "Script failed to compile: Parameter type does not match the function definition". I tried to remvove the semicolon at the end but then I got two error messages, so I assume that it is supposed to be there. My guess is that I'm missing some brackets here and there. any help? thanks in advance
edit: the map is actually nearing a playable state. As soon as this hopefully small problem is fixed I think a beta version is imminent :) yay
0
Is there really no easy way to do this? I've tried giving the turn thingies an attack and using a "Any unit is attacked" event and a "unit type of unit == this and that" etc, but those sorts of methods are often so messy.
Why can't events use variables?
Also shameless self bump
I guess I should explain in closer detail what I want... In my map I want certain worker units to be able to build "turn pads" which makes any unit that walk over it turn. Since these things need to be able to be constructed, I can't have them as presets in any trigger event because they wont exist when the map launches/loads.
0
@stevehammon: Go
I have yet to test it but it sounds like it should work. Thanks a lot
edit: tested it and it does not seem to work :S
I put a Lowered Supply Depot on the map and added it to unit group X via triggers. Another trigger I had look like this: Events: Any Unit Enters a Distance of 0.1 from (Random Living Unit from unit group X) Actions: Order Triggering Unit to Stop Make Triggering Unit face 180 Degrees
The unit just walks right over the Supply depot. I've tried changing the event to use "unit 1 from unit group X", I've tried to increase the distance to 5, nothing works
edit #2: it's the unit group thing that causes the problem. I changed the unit group to a specific unit and then it worked. what do?
0
Is there a sufficient and non-buggy way to detect when a unit steps on for example a lowered supply depot? Either through triggers or data. I need to order that unit to turn 90/180/-90/360 degrees when encountering a (for example) lowered supply depot.
I've tried but I suck sooo hard at coding and stuff, I just end up giving up after 3 hours of accomplishing nothing
0
Ok, I found a new way to formulate the idea. I want the casting Supply Depot to Lower itself, and then I want all other units within a range of 5 to do the same thing.
I sorta figured out that all I need is one ability which triggers the whole chain reaction, and then two effects that loop until there are no units within a range of 5 able to Lower.
So; Ability -> Effect which orders to Lower and triggers the following effect: Effect which searches for new units that should Lower. Loop these two effects over and over.
It's hard to explain because it's like an effect which triggers another effect whose sole purpose is to trigger the first effect again. So it's like just two effects triggering each other constantly :S
0
@SouLCarveRR: Go
hey, that's really clever (or im just dumb :P)
I'll try and see if I can patch it together on my own
thanks for the super quick responses btw
edit: I tried it, and it works to some extent. It's only the casting supply depot + the ones found by the Search Area Effect that lower, so it seems that there's only one search. I'd like all depots that are lowering to search for targets on their own, so there's in fact a chain reaction. As it is now, there's only one "generation" of depots lowering :S
0
@SouLCarveRR: Go
hmm
dunno how to make those long spaces :P
Basically: (Chain Reaction) -> (Order to Lower + Search Order to Lower) -> (Repeat Order to Lower + Search Order to Lower endlessly or until there are no units who can use "Supply Depot - Lower" within a range of 5)
0
hey! i'm experimenting with the data editor and I want to make an ability which orders the caster to use Supply Depot (lower) and then order every unit within 5 of him to use the same ability (supply depot (lower) + searching for new targets within 5), so that a chain reaction is started.
disclaimer: the following might be easier to read from the bottom up!
end of disclaimer
I added the "Chain Reaction" ability to a supply depot (and left the "Supply Depot - Lower" ability ofc) but when I tried it out, the casting supply depot would just Lower itself and... that would be it. What am I doing wrong? I'm starting to suspect that "Search Area" effects are searching for OTHER effects, not units. Is this true?
either way, thanks in advance!
0
hello. I'd like to attach a region to a unit by an offset of 2.0 towards the facing angle of the unit. I simply can't figure out how to. Either I get it so the region gets attached to the point of the unit offset by a constant X, Y value, or it magically disappears from the map.
please help
0
@RileyStarcraft: Go
sweet! gonna try that out. thanks
edit: it worked out real nice. awesome. One question though: is there a way to make an Effect - Instant Ability apply two effects? I tried adding two to that list, but only the top one would happen
0
shameless bump