What he said. If you have WC3, open up the map editor and export the sounds you need.
It's been so long since I last used it. It seems ancient now :D
lol. And its nice too how blizz has different sounds for different types of weapons hitting different surfaces. Like blunt metal to wood and blunt metal to metal sounds very distinct.
@Zolden: for the horse sounds, WC3 only has some. WoW would probably be your best bet for that.
So I played with the textures and the terrain and the maps look way better now. Thanks for the tips.
What size map do you suggest I play around with now? I've been doing 44x44 since I can usually finish the maps off in a single sitting.
Well it obviously depends on your preferences, and the terrain you want to make; I would recommend somewhere like 140x140 (a standard 1v1 melee map)? It doesnt mean you have to fill up every corner of the map tho. Its more of a, if you need space its there thing. Take a look at the weekly Terraining Excercises and see for yourself.
I've actually found some, but I need more, to choose the best. Also, I'd like to get some barbarian yells and horse sounds. Any know sources?
What about warcraft? I am pretty sure anything in WoW and Warcraft 3, and even its predecessors have alot you can use. Plus it wont disturb the Copyright issue for UMS maps since its basically Blizzard's property.
Answering your questions as I go:
Yeah, I would loovvveee to do it as periodic checks, and I "might" do it and test out it's lag... But, this'll be the ultimate last resort.
I'm using dummy behaviors and triggering the duration of the buffs.
I see, let's say I make an aura type behavior, like cloak field or something from a mothership. Will any unit that goes out of it's range get the finish effect?
How about you come over to my team and help out :)
lol, on my map's healthbar system, i used to have an On-damage update. The next thing I realized was my units all have a passive health regen.... so uh yeah. =(
Well.. from how I think the mothership's aura works, i think that would be the Expire (the buff runs its whole duration) effect instead of Finish. Because what it does is do an Area search around the mothership every 0.2 seconds and apply the Cloak behavior; that itself lasts 0.5 secs. So no forced removal involved here.
So yeah, I think doing an event that fires when a Behavior's Initial, Expire, and Finish effect activates is the key.
ahahha, well i was occupied by the TL melee map contest these past few weeks, and am now taking a break and doing other stuff. I'll see if im free later on; altho im not promising anything =S
idk why the common term for an AoS or Tug 'o war map is Dota......
but anyhow; be unique. I don't like TDs to be honest, I would go for something 'Dota' but since there is Sotis up there in the popularity spotlight already....
Only updated when unit takes damage. Periodic updates are out of the question for me for anything.
What I do have is dummy behaviors already along with triggers.
Unfortunately I just ran into another problem where let's say Player A casts negative buff spell that lasts 15 seconds. 10 seconds later Player B casts that same negative buff spell... I think I might know a solution. This whole buff thing is very difficult for me, ugh.
I see. So by this I take it that you are gonna try to update the buffs only when it gets cast or removed. Well that is gonna be hard tbh, not impossible but alot of work.
If it was periodical, it would be wayy much simpler lol. But yeah I understand the need to have a map suffer less from bnet lag =(
By any chance, are you using dummy behaviors? or simply triggering all the duration of the buffs? I do have an idea using dummy behaviors that could probably solve that buff recast thing you are facing.
Behaviors have these 'Expire' and 'Finish' effects you see, one activates when the buff runs its full duration while the latter is whenever it gets removed. They also have 'Initial' effects that run when the buff first hits. What i'm picturing right now is, putting a dummy effect to each dummy behavior you have in your game that runs a dummy effect on initial, expire, and finish.
Have a trigger that runs whenever the 'dummy effect' activates that checks the unit's (just that specific unit that was hit by the effect) buffs and updates all other information for your buff bar.
now what if the spell is an AOE spell that spreads behaviors like a disease? wont it lag because it checks a heck lot of units' buffs?
All you would need to do is to create a dummy behavior (Yes I love dummies alot) that will indicate which units are 'tracked' by players. Then create a validator that checks whether this tracking behavior exists on a unit; and put it up on the dummy effect I mentioned earlier (the initial,expire,finish one), making the effect to only run on units that are tracked by players.
The result: Is a trigger that runs when a behavior is first cast, finishes, expires, or removed by another ability.
Of course this will mean you will need to familiarize doing things with data... or otherwise dummies and link them to triggers that way.
I think practicing on a larger map would give you more options in height variations and doodad placement; especially since most working maps are bigger than 44x44. 44x44 is prettyy small. You will need something bigger to pull off more natural views and landscapes; such as the Lava one, (as Telthalion) said, is a bit to flat.
The trees for the forest one are a bit too clustered on one place dont you think? I'm seeing this on the 3rd Screenshot for the first map. The bunch sitting on top of the hill are too squished in.
For the most part, I think this is a good start; especially since you are being creative with your doodad usage such as those obelisks (I think) that are submerged underwater; they look like platforms ppl can use to cross over the river. Still, lots can be improved; and I think just increasing the map size would give you space to do just that =D
If i were you I wouldnt mess with site ops just yet unless you are producing a real working map. site ops involve data editing that is pretty tiresome if you are new to the whole data editing.
Thanks lol. I'm probably gonna run into another problem with displaying the duration of the buff without causing a slowdown in the game.
well, looking at your project's thread, it looks like you already have a custom healthbar yes? Is it periodically updated or otherwise only updated when the unit takes damage?
If its periodically checked, then I suggest adding the actions for this buff bar to that periodic trigger to save it from having to create another trigger thread =D
And yes, just as SBeier said, I agree, I dont think it will cause that much lag. Especially since you already have custom healthbars too; so why not lol.
@SBeier: ohh, right. Didnt see that, my bad lol. well in a way I think having a dummy behavior would save the hassle of manually removing the 'buff' via triggers when a certain dispelling ability is cast. With at least a dummy behavior running, all Enexy has to do is check if the behavior is there and voila =P
Thats obviously not the finish stage man, try it in my map. Cooldown starts immediately after click, while if i use finish stage it will launch trigger after that for a few seconds, depending on ability's finish time value in data.
alright. I changed it to Channel and i guess it works perfectly now. so Channel it is.
The problem in that latest map is: when u use Transfusion ability, trigger starts properly, but if i use spawn larva ability, trigger starting after cooldown is launched. In case of Thor cannons my trigger doesnt work at all. I think the problem is in Ability Stage value of my event. So im trying to launch trigger in the same moment when cooldown starts for any ability.
You did not set the Thor's Custom value in your latest map lol. Only the queen's, that explains why it doesnt work.
I attached the map with the above fixes. Hopefully this solves your problem =D I also added a debug message so you can see when the trigger fires.
Some doodads change skin in relation to the tileset they are on. Just try to place rock on Bel'shir tileset and Char tileset. Or protoss statues, like Lonami said. :)
Edit: I added screenshots with Protoss banner and Rock Giant doodads.
Don't forget how Shakuras changes a wholeeee lot of protoss' doodad's glows into orange. such as the temple statues, props, protoss decals, temple statue inlay. even small plants changed their glows O_o etc2. I just figured this out a couple days ago.
The way I see it, you would need a data structure that lets you map from units to some records that specify what buffs are active.
You could make an array of records, and assign a custom value to units specifying an index in that array. By default, the custom value is 0, so it might be good to keep 0 as a "null pointer" (to indicate that no buffs are active).
Also, to make the system work for any number of units, you might want to make the array based on the data table rather than a regular array. That also makes index management easier (no need to reuse old indices). On the downside, the data table is slower than a global array, but I believe it's worth it unless you have a known small lower bound on the number of possible targets.
Based on that data structure, you can make algorithms to efficiently add and remove buffs, and to efficiently get buffs of a unit.
When adding a buff, get the custom value of the unit, if it is 0, then assign a new unused one, update the corresponding record, and update the buff frames for players targeting that unit.
When removing a buff, get the custom value, update the record, if no buffs are set, clear the record and set the custom value to 0, and finally update buff frames.
Getting the buff record when targeting a unit is just get the custom value, if 0, no buffs are present, otherwise get the record from the array.
I dont think a data table is required. We can already access a units behaviors via indexes via triggers. It is possible to get say the 1st buff on a units and the 5th buff on a unit as well as its name and duration; whether it is hidden or not, or activate on damage etc2. I think its even possible to get the buff's tooltips via Catalog functions as well.
@Enexy: this way all you would need to know are what units are the players currently tracking. and you would have to periodically update the units behaviors.
0
lol. And its nice too how blizz has different sounds for different types of weapons hitting different surfaces. Like blunt metal to wood and blunt metal to metal sounds very distinct.
@Zolden: for the horse sounds, WC3 only has some. WoW would probably be your best bet for that.
0
Well it obviously depends on your preferences, and the terrain you want to make; I would recommend somewhere like 140x140 (a standard 1v1 melee map)? It doesnt mean you have to fill up every corner of the map tho. Its more of a, if you need space its there thing. Take a look at the weekly Terraining Excercises and see for yourself.
0
What about warcraft? I am pretty sure anything in WoW and Warcraft 3, and even its predecessors have alot you can use. Plus it wont disturb the Copyright issue for UMS maps since its basically Blizzard's property.
0
lol, on my map's healthbar system, i used to have an On-damage update. The next thing I realized was my units all have a passive health regen.... so uh yeah. =(
Well.. from how I think the mothership's aura works, i think that would be the Expire (the buff runs its whole duration) effect instead of Finish. Because what it does is do an Area search around the mothership every 0.2 seconds and apply the Cloak behavior; that itself lasts 0.5 secs. So no forced removal involved here.
So yeah, I think doing an event that fires when a Behavior's Initial, Expire, and Finish effect activates is the key.
ahahha, well i was occupied by the TL melee map contest these past few weeks, and am now taking a break and doing other stuff. I'll see if im free later on; altho im not promising anything =S
0
'archive' model? is this the templar archives or more of the Zhakul'das Archives (the green glowing ones)?
0
idk why the common term for an AoS or Tug 'o war map is Dota......
but anyhow; be unique. I don't like TDs to be honest, I would go for something 'Dota' but since there is Sotis up there in the popularity spotlight already....
0
I see. So by this I take it that you are gonna try to update the buffs only when it gets cast or removed. Well that is gonna be hard tbh, not impossible but alot of work.
If it was periodical, it would be wayy much simpler lol. But yeah I understand the need to have a map suffer less from bnet lag =(
By any chance, are you using dummy behaviors? or simply triggering all the duration of the buffs? I do have an idea using dummy behaviors that could probably solve that buff recast thing you are facing.
Behaviors have these 'Expire' and 'Finish' effects you see, one activates when the buff runs its full duration while the latter is whenever it gets removed. They also have 'Initial' effects that run when the buff first hits. What i'm picturing right now is, putting a dummy effect to each dummy behavior you have in your game that runs a dummy effect on initial, expire, and finish.
Have a trigger that runs whenever the 'dummy effect' activates that checks the unit's (just that specific unit that was hit by the effect) buffs and updates all other information for your buff bar.
now what if the spell is an AOE spell that spreads behaviors like a disease? wont it lag because it checks a heck lot of units' buffs?
All you would need to do is to create a dummy behavior (Yes I love dummies alot) that will indicate which units are 'tracked' by players. Then create a validator that checks whether this tracking behavior exists on a unit; and put it up on the dummy effect I mentioned earlier (the initial,expire,finish one), making the effect to only run on units that are tracked by players.
The result: Is a trigger that runs when a behavior is first cast, finishes, expires, or removed by another ability.
Of course this will mean you will need to familiarize doing things with data... or otherwise dummies and link them to triggers that way.
0
@ThisIsSpoofed: Go
I think practicing on a larger map would give you more options in height variations and doodad placement; especially since most working maps are bigger than 44x44. 44x44 is prettyy small. You will need something bigger to pull off more natural views and landscapes; such as the Lava one, (as Telthalion) said, is a bit to flat.
The trees for the forest one are a bit too clustered on one place dont you think? I'm seeing this on the 3rd Screenshot for the first map. The bunch sitting on top of the hill are too squished in.
For the most part, I think this is a good start; especially since you are being creative with your doodad usage such as those obelisks (I think) that are submerged underwater; they look like platforms ppl can use to cross over the river. Still, lots can be improved; and I think just increasing the map size would give you space to do just that =D
If i were you I wouldnt mess with site ops just yet unless you are producing a real working map. site ops involve data editing that is pretty tiresome if you are new to the whole data editing.
0
and may I add. May the force be with you :D
Glad to see its working!
0
well, looking at your project's thread, it looks like you already have a custom healthbar yes? Is it periodically updated or otherwise only updated when the unit takes damage?
If its periodically checked, then I suggest adding the actions for this buff bar to that periodic trigger to save it from having to create another trigger thread =D
And yes, just as SBeier said, I agree, I dont think it will cause that much lag. Especially since you already have custom healthbars too; so why not lol.
@SBeier: ohh, right. Didnt see that, my bad lol. well in a way I think having a dummy behavior would save the hassle of manually removing the 'buff' via triggers when a certain dispelling ability is cast. With at least a dummy behavior running, all Enexy has to do is check if the behavior is there and voila =P
0
alright. I changed it to Channel and i guess it works perfectly now. so Channel it is.
You did not set the Thor's Custom value in your latest map lol. Only the queen's, that explains why it doesnt work.
I attached the map with the above fixes. Hopefully this solves your problem =D I also added a debug message so you can see when the trigger fires.
0
Don't forget how Shakuras changes a wholeeee lot of protoss' doodad's glows into orange. such as the temple statues, props, protoss decals, temple statue inlay. even small plants changed their glows O_o etc2. I just figured this out a couple days ago.
0
alrightt, post again if something comes up, ill try and help. dont see why it shouldnt work.
Good luck with that RPG of yours =D
0
you're kidding me right? I bet you haven't watched this.
→
just to clear things out. I dont follow my little pony. LOL. but still, the above video... now that I could watch everyday...
0
I dont think a data table is required. We can already access a units behaviors via indexes via triggers. It is possible to get say the 1st buff on a units and the 5th buff on a unit as well as its name and duration; whether it is hidden or not, or activate on damage etc2. I think its even possible to get the buff's tooltips via Catalog functions as well.
@Enexy: this way all you would need to know are what units are the players currently tracking. and you would have to periodically update the units behaviors.