PDA

View Full Version : Triggered Spells - Pros !


Blacker
08-04-2007, 5:23 AM
For me this is hard to explain SPECIALY on English language.

(for anyone who hasn't played Battles in the North click here please. (http://www.epicwar.com/maps/20578/)

Listen up.
I wanna hard work on BitN so i need a lot more expiriance in mapmaking.I need more than few triggered spells.At the beginning,i need just 10 heroes , 5 on each side.The first ability i wnat is next:

Description:Ability should be based on Thunder Clap.Ability will have 2 levels.

What I Want?!:You surely know what is Thunder Clap.It hits the ground 1 time.I want that ability instead 1 time to hit the ground FIVE TIMES in different locations in an Area of Effect around casting hero.

More:Those 5 locations should be randomized,understand?I don't want to always hit the same locations.Something like, if i'm introduced in that, i don't want dummy units to spawn on same locations around hero.Else,unit-type of casting unit equal to Mountain King (if u need that for triggers).

For Now:This is for example.You can do like this and if needed so, i will remake it as how i want:
level 1:
Damage:185 each hit
Area Of Effect:300
Casting Time:2.65 seconds
Mana:205
Required level:No. 8

level 1:
Damage:265 each hit
Area Of Effect:330
Casting Time:3 seconds
Mana:250
Required level:No. 15

I'd like you to make a new map and do this thing.Then, you could upload map here.If you make it for me, i'll be able to search ability for a while.I just want to know that.

If you haven't understood me well,feel free to ask.
Thanks a lot.

edwinfong25
08-04-2007, 6:18 PM
erm... that's not that hard to make... ;)

although there are a few things that you have not mentioned that would be necessary in the creation of that spell... :concern:
I've noticed that you do state the damage and power of each of the Thunder Clap abils that would be used... (as well as each one's AoE)

but you did not mention how much AoE would the effects appear in... :concern:

you merely stated "around casting hero"
so, you'd have to add that in...

also, i could probably explain most of it here... let's see...

first off you'd need the Basic Thunder Clap ability (as you have stated)
personally i'd say to make two different versions... (one as the actual Hero ability, and one for the dummy units to cast around)
this way, you can set different damage settings and whatnot

next (after setting all the data for the abils, and i'm assuming that you'd have the dummy unit already) you should probably make the trigger

the way that i would probably set it up... you'd need two point variables (they dont necessarily have to be new ones... but you have to make sure that they dont conflict with any other triggers, naturally, lol)

the event should check for: 'Unit - A unit Starts the effect of an ability'
and naturally the condition should check for: '(Ability being cast) Equal to <Thunder Clap-based abil (hero ver)>'
then the actions should go something like this... (mind you there are quite a handful of ways to make it, so this is but one way for now, lol (if you really need another, then i can try to come up with another, lol))
actions -
Custom script: local location udg_Point
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set <ThunderClapCastingUnit(Point)>[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))
Set Point = (Point offset by (Random real number between <minimum range> and <maximum range>) towards (Random angle) degrees)
Unit - Create 1 <Dummy Unit> for (Owner of (Casting unit)) at Point facing Default building facing degrees
Custom script: call RemoveLocation(udg_Point)
Custom script: call RemoveLocation(udg_<ThunderClapCastingUnit(Point)>[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )])
Unit - Add <Thunder Clap (unit)> to (Last created unit)
Unit - Set level of <Thunder Clap (unit)> for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)

well, that's the basics :)
basically, it checks when the abil would be cast
then checks that its the right abil
then the loop would determine how many effects would occur and then the actions are to create the dummy unit at a random location from the minimum range which is the closest that the effect could occur, to the maximum range which is the farthest that the effect could occur
then the random angle is merely so that it'd be in a random direction
then it'd add the ability to the dummy unit (so that the dummy units can be used for all triggered abils, as opposed to creating one for each abil) as well as set the level of the abil
then orders the dummy unit to cast it
and the expiration timer is merely to remove the dummy unit after a while so that the dummy unit wouldn't be left on the map meaninglessly

and here's a slight explanation to further explain some things (with color coding) :cool:
red = not necessary... (these are for localizing the Point variable, and to remove the two location leaks, respectively) (they can be added if needed, but otherwise the abil should work just fine without them, i'd still recommend using the localizing custom script, else you should array the point variable as well, and use a different variable that wont conflict with other triggers, lol)
blue = a point variable (since it's a hero ability, for an AoS, you can just array this point to 12, and each player's hero would be set to a different variable (in case there happen to be more than one of this hero))
green = the other point variable (typically this is the one that i'd reuse for tons of other triggers as well, and basically serves as a leak removal variable (as well as localizing it))
orange = basically just the dummy unit and all references to it... once again, the dummy unit is basically a unit that would be "invisible" (preferably invulnerable as well, and some people also add locust, but i'm not sure that the locust is necessary, just make the model one that can't be selected... (typically none? or the zone indicator) also, it should have no food cost, no minimap image, no worker classification, nor shadow, maybe even no sound set either...)
cyan = the dummy unit's version of the abil
gray = this can also just be the actual hero ability itself (incase there might be any probs, typically i'd just check for the hero ability's level myself... but this option does work as well, lol)

well, that ought to answer your question ;)
also, if you have any other questions (resulting from this, or just another question, dont hesitate to ask, lol) :)

~edwinfong25 :cool:

Blacker
08-04-2007, 9:14 PM
lol...thanks a lot...

i can't believe how much easy it is :)

just 1 more Q about dummies...
how to make them?

model just .mdl,wthout shadows,cannot be shown on minimap...What else?

edwinfong25
08-05-2007, 1:31 AM
ok, just keep in mind that there are many ways to make the dummy units... and basically you'll partially have to figure out the exact style that you'd want that meets all your needs... ;)

but, overall, i'd say that the most important things that you should keep in mind are... :cool:
Abilities - Normal - Invulnerable (Locust is optional, some people add it, but i find it a bit unnecessary... and sometimes i like to be able to detect my dummy units as well, so i dont add it, but, ultimately it's up to you)
Art - Model File - i like to change it to the Zone Indicator model, although, alternatively you can just type in a location for any model that doesn't exist (basically any path as long as it isn't really a model at that path, lol)
Art - Shadow Image (Unit) - None (cuz then that'll add to the invisibility of the unit (else you'd be able to see the shadow of the dummy unit moving around, lol) although this part isn't completely necessary, lol)
Combat - Attacks Enabled - None (obviously, so that the dummy unit won't start attacking people, lol)
Combat - Death Type - Can't Raise, Does not decay (so that it's corpse can't be raised in case it should have left a corpse from dying)
Movement - Type - Flying (so that it's collsion wont affect ground units who would move out of the way of this unit (as well as this unit getting displaced by other units))
Pathing - Collision Size - 0 (once again so as to try to make other units ignore this one as much as possible, lol)
Sound - Unit Sound Set - None (just in case... this way there's no sound from the dummy unit at all, also adding to the invisibility of the unit)
Stats - Food Cost - 0 (for obvious reasons... we dont need the food level jumping around like crazy each time the spell is casted... this might not be too big a deal in games where food isn't necessary... but if its a game that would need food... then you definitely don't want it jumping around like that, especially on the complex spells with greater counts of dummy units, lol)
Stats - Hide Minimap Image - True (also adding to the invisibility of the dummy unit cuz now you can't detect it on the minimap as well)
Stats - Sight Radius (Day) - 0 (i use zero cuz then there has to be a unit nearby before you can see the area... (which should make sense, since your unit should be nearby to cast the spell) but naturally you can change this to whatever you like, lol)
Stats - Sight Radius (Night) - 0 (same reasoning as the Day's sight radius)
Stats - Unit Classification - None (blank) (typically this isn't too important, but i know that some people like to use workers to use as the base of their dummy units... (like the wisp for example, since it can't attack) and then in that case you'd have to remove the Worker Classification, else the Idle Worker icon will keep showing up during the spell, lol) else you shouldn't have any problems with this field if you use other units (like for me, i use the shade, or if you were to use a critter)
Text - Name - Dummy Unit (perhaps? whatever you want really, lol, as long as it's a name that would allow you to realize that it's the Dummy Unit, so that you dont accidentally use if elsewhere, and so that you can find the unit easily when making the triggers, lol)

well, then i'd suppose that there are some other things that you can change... :D
Movement - Speed Base (some people like to set it to zero, to make sure that the unit wont leave... but i feel that they probably wouldn't move or do anything unless they are ordered to, and considering that players can't control them, that shouldn't be a problem)
Stats - Gold Bounty Awarded - ... (the three fields) (just in case the unit should die (by getting killed) somehow... unlikely... but better to be prepared right?)
Techtree - Upgrades Used (well, some upgrades might not do much, but others might affect it more? like glyph of ultravision might give the unit a sight radius that you dont want it to have?)

well, that is a very in-depth explanation... (and i dont think that i'd need to post a map with an example for this, right? lol)
also, keep in mind :wave:
This is merely the set-up (well not exactly) but mainly the things that i'd point out as being of utmost importance. Thus, none of this is written in stone and you can edit it such that it tailors your needs (like if you wanted the unit to have sight radius, or if maybe you want the dummy units to have shadows so that the spell's effects look cooler?). Well, i think that this has gotten long enough... so, that's all, have fun making your own Dummy Unit (most of this stuff just come from my personal experience and personal tastes (like i like to add in a tooltip for the Dummy Unit as well, just so that it feels more complete (and also so that it doesn't have the description for a Shade, lol))).

have fun :)
- edwinfong25 :cool:

TheDriver
08-06-2007, 9:56 PM
ok, just keep in mind that there are many ways to make the dummy units... and basically you'll partially have to figure out the exact style that you'd want that meets all your needs... ;)

but, overall, i'd say that the most important things that you should keep in mind are... :cool:

Combat - Death Type - Can't Raise, Does not decay (so that it's corpse can't be raised in case it should have left a corpse from dying)

have fun :)
- edwinfong25 :cool:
Shouldnt it be cant raise,does decay? Because im having a feeling that the game might lag if to many corpses are left on the ground regardless of there invisiblity. And also i would reccomend adding the "Ghost" Ablity,And 100% Evasion thus it will be near impossible to have any damage of any sorts inflicted on it...

edwinfong25
08-06-2007, 11:00 PM
see, that's where you are mistaken, lol :)
cuz when you say that it doesn't decay, it means that the corpse is immediately removed as opposed to having a decay animation, lol

lol, and as to your ability ideas... ;)
Ghost - not necessary, as that merely adds the invisibility effect which is absolutely unnecessary, considering that the unit has no model to actually be seen in the first place, lol
100% Evasion - also unnecessary, because invulnerability covers that (a unit can't be attacked, end of story..., unless... i suppose if you have a unit that can attack invulnerable units... but why would you do that?!? cuz that would ruin the point of having invulnerable status, lol)
also, the only way that an invulnerable unit can be hurt whatsoever is... if the unit is either a summoned unit and gets hit with a dispel... or if the unit gets poisoned (but once again, the unit can't get attacked at all in the first place... so how would he get poisoned)
alternatively... to truly make him "invincible" - you could as i had mentioned, give him the locust ability... cuz through that he can't be targetted at all (by anything)

also, a note - since the "dummy unit" has no model, that makes it ever so hard for a player to actually target it... and additionally, most computers wouldn't target them primarily (not to mention that the invulnerable status repels anything else that they shouldn't be getting killed by)

but yes... keeping in mind that if you have units or abilities that are invulnerable status killers... then you should definitely add locust, lol ;)
(not sure why anyone would have those outside of it being a joke... but still something to keep in mind)
still, this all goes along with the fact that my guidelines are not written in stone and should be altered to suit your needs ;)

still, those are fine points that you have brought up :)
and it's good to see that you are paying attention and thinking about what i have actually written :)

TheDriver
08-06-2007, 11:21 PM
Doh!
I forgot about decay lol..
Oh and true but hey you mentioned extra protection in your text so lol :P.

Blacker
08-11-2007, 8:07 PM
Thaaaaaanks a lot...But 80% of stuffs you've offered i already knew :)

Something else,how to create dummy thunder clap ability?It can't use hero abils,right?:(

One Q:Can i except Flying movement-type set ground type and just to set collision size to 0?

edwinfong25
08-12-2007, 7:17 AM
well, regardless whether you knew it or not, i typed all of it out just to be concise, lol ;)
(not to mention that you never mentioned exactly what you knew and what else you were asking for, lol)

ok, let's see...
for a dummy thunder clap...
well, regardless, there is a field that says 'Stats - Hero Ability' (True or False)
so you can just change that... ;)

and for your other question...
sure, lol, you can set the properties however you like
although, i'm not sure that i get the point to doing that... (cuz sometimes setting the collision size to zero... the dummy unit might still get displaced, and other units might still see it as a slight obstacle)
but as i have said, you can use whatever settings suit your needs, lol :cool:

Blacker
08-12-2007, 9:38 AM
Thank you,man...

Ok,don't exatly 80%,but that was as i suspected but still i didn;t knew.

WarInSerbia
08-12-2007, 2:35 PM
Custom script: call RemoveLocation(udg_Point)
I saw this on many GUI spells,is this realy necesery?
Something else,how to create dummy thunder clap ability?It can't use hero abils,right?
Create a nomodel unit (you already done that) make a ability for the dummy,I strongly sugest that it shouldn't be only one level,make 4.
Do what Edwin' told you,and...oh he already told you that,but still JASS somehow does everything.

One more thing,is there a way to decode the JASS script.Not turn it into a trigger but to literaly decode it?The code is pretty tought to learn but Paskovich explains things realy clearly and if you want to learn JASS use some of his maps.

edwinfong25
08-12-2007, 3:20 PM
no, as i had mentioned, that custom script is by no means mandatory... :concern:
its for memory leak removal :)
mind you, that will prove to be a helpful things to know if you intended to remove leaks...
on the other hand, if you feel that your map wont have many leaks, or that you dont care if it leaks, then by all means dont add it, lol (basically put, the trigger will work fine with or without it because it actually has little to do with the actual spell, lol) ;)

after that question... you're kinda losing me... (starting to get a bit incoherent to me...) :confused:
the no model unit? (you mean a dummy unit? i've explained that quite a bit already)
there is no need to make 4 different spells... because you can just set the level of the spell (i dont think that it'll be any different for Jass... adding the ability and then setting its level should be easier than checking the level and then giving it a different ability according to the level, regardless whether its jass or GUI) :concern:

decoding... hmm... that would depend on what you mean exactly...
cuz when you really think about it... the fact that it uses words and letters... is kinda easy...? (if you asked any person who knows jass, he'd probably be able to "read" it anyways)
so i think that what you're asking more for should be either the terms? or the format perhaps?
in which case to a certain extent you just have to learn it... (can't really say much more about this topic exactly, sry...) :confused:

Blacker
08-12-2007, 7:52 PM
lol,i have to dissapoint you,but doesn't work. :(
What is the problem i think i know...
First thing there are two or three actions that i missunderstood...

NOTE:
BOLD text is what i REALY can't understand how to do that (hope you understood me)...
ITALIC AND UNDERLINE is something what maybe i can figure out,but still nothing...

First thing:

Set ThunderClapCastingUnit(Point)>[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))

This is something what i realy can't figure out lol...how to place "ThunderClapCastingUnit" just before var?

Second Thing:
Set Point = (Point) offset by (Random real number between <minimum range> and <maximum range>) towards (Random angle) degrees)

i can understand this action but...is Point Variable...?

Custom script: call RemoveLocation(udg_<ThunderClapCastingUnit(Point)>[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )])

lol...plz help! :D

In the end,here's my full trigger,why this doesn't work?

Massiveness
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Massiveness (Dwarf Master)
Actions
Custom script: local location udg_Point
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set Point_Array[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))
Set Point = (Point offset by (Random real number between 90.00 and 140.00) towards (Random angle) degrees)
Unit - Create 1 Doomy Masiveness for (Owner of (Casting unit)) at Point facing Default building facing degrees
Custom script: call RemoveLocation(udg_Point)
Unit - Add Massiveness (Doomy) to (Last created unit)
Unit - Set level of Massiveness (Doomy) for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)

And something else...i don't have to add dummy abil to dummy unit through oe,will triggers do that(just for map safety)?

sorry if i'm boring :)

edwinfong25
08-13-2007, 7:24 AM
Hmm... well, let's see... :)

first off you've misquoted my sentence, lol
you're missing the "<" in the first quote
and that is wrapping around the entire variable... (basically, the <ThunderClapCastingUnit(Point)> would be the name of the Point Array (you'd replace this with your variable, lol)) ;)

the second quote...
that Point should actually be the Point Array Variable... (basically the one that you had set just before it...) :cool:

for the custom text, basically you'd just type that in exactly as is...
except that naturally you would replace the variable name with yours (the words within the "<" & ">" ) ;)

well, try that again after any fixes, it should work :D

ok, there is no need to add the abilities to the unit in the Object Editor yourself, for a few reasons... :cool:
one, you're adding the ability through triggers, and as such the dummy unit will get the spell anyways, lol
also, if you add the spells in the object editor... unless you are using a different dummy unit for each ability... then you'd have a long list of abilities... and some of them might have the same order id and might conflict...
still, that's how i do it, lol :)
if you want to add them before hand... then you can, lol (or if you want a separate dummy unit for each ability, then you can do that too, lol) :concern:

no you're not boring, lol
besides, i like to help people, so it's alright, lol :)

uberfoop
08-13-2007, 10:52 AM
Massiveness
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Massiveness (Dwarf Master)
Actions
Custom script: local location udg_Point
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set Point_Array[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))
Set Point = (Point offset by (Random real number between 90.00 and 140.00) towards (Random angle) degrees)
Unit - Create 1 Doomy Masiveness for (Owner of (Casting unit)) at Point facing Default building facing degrees
Custom script: call RemoveLocation(udg_Point)
Unit - Add Massiveness (Doomy) to (Last created unit)
Unit - Set level of Massiveness (Doomy) for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
The red is never used and the point that I highlighted blue is always either null (first time loop plays) or a dead handle reference (after first time loop plays).
That's all I can figure out just by looking at it.

Should prolly be moar liek:


Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Massiveness (Dwarf Master)
Actions
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set PointA1[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))
Set PointA2[(Player number of (Owner of (Casting unit)))] = (PointA1[(Player number of (Owner of (Casting unit)))] offset by (Random real number between 90.00 and 140.00) towards (Random angle) degrees)
Unit - Create 1 Doomy Masiveness for (Owner of (Casting unit)) at Point facing Default building facing degrees
Custom script: call RemoveLocation(udg_PointA2[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )+1])
Unit - Add Massiveness (Doomy) to (Last created unit)
Unit - Set level of Massiveness (Doomy) for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Custom Script: call RemoveLocation(udg_PointA1[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )+1])


Note that the GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) ) needs the +1 after it due to how the game converts player ID's to number; in programming, arrays start at 0, so the native function will always return a 0 for player 1 , a 1 for player 2, etc, whereas the BJ used by the GUI's conversion does the +1 automatically thus yielding a number of 1 higher, thus making player 1=1, player 2=2, etc.
So yea, edwin, your original post would yield bad anti-leak results.



What I don't understand, though, edwinfong, is why in your original example you localized a point. This spell doesn't control things over any period of time anyway. It's not like it has any possible issues with MUI to begin with.
Speaking of which, i guess I was silly to even use the GetPlayerId stuff! Change everything I just said, just use TCPoint[1] and TCPoint[2] where I used the 2 dif points. In the JASS parts that would ofc be udg_TCPoint[1] and udg_TCPoint[2]

edwinfong25
08-13-2007, 11:51 AM
rofl, of course, lol
yeah, i forgot that +1, lmao (sry, i typed it out off the top of my head, rofl)
i've made a few other mistakes as well, if you look carefully, lol (like that point call, which i had explained to blacker just earlier, lol) :D
hey, i'm only human, lol, and you can't really expect me to actually keep track of every little detail when i've typed out that much stuff, lol? ;)

and imo, first off, as i had mentioned, those aren't necessary and are up to you :cool:
additionally, i'd rather localize it in the event that two people would ever cast it so close enough that they might interfere with each other, lol (perhaps i'm over-cautious, lol, but that's how i am, lol "better safe than sorry, eh?") lol :)

also, you made a slight mistake in your mentioning of the colored points, lol (you referred to the red point, when you obviously meant the blue point, just to clear up any confusion, lol) :confused:
additionally, why would you say to forget everything that you just said?
you could have just edited it then, rofl :concern:

uberfoop
08-13-2007, 1:39 PM
Fixed (the red/blue confusion part).


Anyhow, better safe than sorry doesn't apply here. A trigger with no waits in it is completely safe from other triggers overwriting its details.

edit: The reason I didn't go back and edit the section is cuz I'm too bloody lazy to scroll up.

edwinfong25
08-13-2007, 3:10 PM
hmm... i wouldn't be overly too confident in that statement...
yes, although the odds would be against it...
are you trying to tell me that there will never (a 0% chance?) be any sort of interference whatsoever? :concern:

still, that's not to say that the odds are greatly stacked against it, lmao :D
but does that mean that better safe than sorry does not apply at all? :concern:
the only time better safe than sorry couldn't be applied if if there is truly no chance whatsoever of failure, rofl :cool:

regardless, it is each person's personal selection of choice as to what they want to do, rofl ;)
i mean if that one line would kill you, then by all means, save yourself, and dont use it, lol :rolleyes:
so, you can use it, you can say that it doesn't matter and dont use it, whatever, rofl :)
but otherwise, it is an option, and last i checked optional was by no means mandatory :concern:

uberfoop
08-13-2007, 3:28 PM
Yes, there is a 0% chance of interferance.

People have been ignoring MUIness for no-delay triggers forever.

edwinfong25
08-13-2007, 3:39 PM
heh, lol
i still highly doubt that it has no chance whatsoever... (anomalies do and always will exist, regardless of how much people take them into account)

mind you, like i had said, its your decision to ignore it, sure, lol
i mean the odds are so slim that it's practically non-existent, but that doesn't by any means mean that it is impossible :concern:
(also, people ignore a lot of things, doesn't mean its impossible)

still, i'm really starting to see a lack of purpose within our last few comments?
i mean, i'm not sure if we'd be considered off-topic yet, but i'm pretty sure that its headed that way, lol :D

Blacker
08-13-2007, 7:06 PM
lol..:D
i'm totaly confused...what am i suppoused (spelled it right?) to do?to listen to uberfoop?

uberfoop
08-13-2007, 11:22 PM
lol..:D
i'm totaly confused...what am i suppoused (spelled it right?) to do?to listen to uberfoop?
Nay. To you of course I'm evil and should never be trusted. You are from Serbia and are therefore likely Slavic. The Western media indicates that Putin is trying to start up the Cold War again and thus slavs and Americans are out to get eachothers throats and therefore I cannot trust you nor can you trust me. I must stay strong and beleive that our tanks are, in fact, better than the slavic ones, and that Russia did, in fact, NOT detonate the largest nuclear device in history.

On the other hand, everyone actually associated in any way with Putin seems to think he's an excellent leader, which, based on statistics, I agree with, despite what the media wants to say about massive (imageanary) battles still happening in Chechnya, Putin throwing his people into poverty, etc, etc, etc.




Well, you DID ask, so I HAD to come up with something really ****ed up to say.

Back on topic, you SHOULD try my idea.

Blacker
08-14-2007, 6:56 AM
hehe...
However,Serbia has the best tank ever made in history...
maybe you won't believe
but i think it's called T-84...
you can hear about it from some other source...

on topic lol...
i will try and i'll let you know...

Blacker
08-14-2007, 10:04 AM
- A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Massiveness (Dwarf Master)
Actions
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set PointA1[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))
Set PointA2[(Player number of (Owner of (Casting unit)))] = (PointA1[(Player number of (Owner of (Casting unit)))] offset by (Random real number between 90.00 and 140.00) towards (Random angle) degrees)
Unit - Create 1 Doomy Masiveness for (Owner of (Casting unit)) at Point facing Default building facing degrees
Custom script: call RemoveLocation(udg_PointA2[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )+1])
Unit - Add Massiveness (Doomy) to (Last created unit)
Unit - Set level of Massiveness (Doomy) for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Custom Script: call RemoveLocation(udg_PointA1[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )+1])

lol...
do you see what is bolded,italic and underlined 'word'....
what is it?it won't work....i have point variable named like that,but i didn't even call it.
can you explain me this pls...
This is how my trigger looks...or maybe i did something wrong...

Massiveness
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Massiveness (Dwarf Master)
Actions
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set Point_Array[(Player number of (Owner of (Casting unit)))] = (Position of (Casting unit))
Set Point_Array_0[(Player number of (Owner of (Casting unit)))] = (Point_Array[(Player number of (Owner of (Casting unit)))] offset by (Random real number between 90.00 and 160.00) towards (Random angle) degrees)
Unit - Create 1 Doomy Masiveness for (Owner of (Casting unit)) at Point_Array_0[(Player number of (Owner of (Casting unit)))] facing Default building facing degrees
Custom script: call RemoveLocation(udg_Point_Array_0[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )+1])
Unit - Add Massiveness (Doomy) to (Last created unit)
Unit - Set level of Massiveness (Doomy) for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_Point_Array[GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()) )+1])

uberfoop
08-14-2007, 10:27 AM
Sorry I may've been unclear on a few things.
Massiveness
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Massiveness (Dwarf Master)
Actions
Set Point_Array[1] = (Position of (Casting unit))
For each (Integer A) from 1 to 5, do (Actions)
Loop - Actions
Set Point_Array[2] = (Point_Array[1] offset by (Random real number between 90.00 and 160.00) towards (Random angle) degrees)
Unit - Create 1 Doomy Masiveness for (Owner of (Casting unit)) at Point_Array[2] facing Default building facing degrees
Custom script: call RemoveLocation(udg_Point_Array[2])
Unit - Add Massiveness (Doomy) to (Last created unit)
Unit - Set level of Massiveness (Doomy) for (Last created unit) to (Level of (Ability being cast) for (Casting unit))
Unit - Order (Last created unit) to Human Mountain King - Thunder Clap
Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
Custom script: call RemoveLocation(udg_Point_Array[1])

Try that.
Setting the first point and removing it later might as well not be in the loop.


Speaking of which, what are you trying to pull? T-84 is a Ukrainian tank. Even I know that. The tank Serbia aims to buy is the M-84, which is Yugoslavian.

Blacker
08-14-2007, 7:18 PM
i'll try it...

You're not introduced very well...
In earlier (I THINK SO) 1984 there was something like tournament i don't know where,but it was on desert.Three the best tanks were from Yugoslavia,USA and 3rd was MAYBE from Germany,maybe Russia i can't remember that.Yugoslavia's won.Now it's SERBIAN!!!Believe me lol...I reeeealy can't remember the name...i'll ask my father tomorrow (he is sleeping now).

Anyway,i hope that our nationality won't break out our associaton in wc3 forums! :D

WarInSerbia
08-16-2007, 1:33 PM
However,Serbia has the best tank ever made in history...
maybe you won't believe
but i think it's called T-84...
you can hear about it from some other source......we gave the desing of the tank to the Russians,and they defeated the germans in the final push to Berlin with that tank.Didn't you learn that in your history class?Basicaly Russia won thanks to Serbia.Anyway,i hope that our nationality won't break out our associaton in wc3 forums!Don't worry there is a war in Serbia.:D

Back to the topic,that should work fine.I tested it and it works.

Basan
08-16-2007, 3:09 PM
How about I push my Portuguese 'tank' and pummel this thread, hmm? :P

Side note: If you want to continue this discussion about tanks please make it in the ML (http://www.warboards.org/forumdisplay.php?f=2). Similar goes to the triggering spell question, if it wasn't answered remake the thread around here please. ;)