The perfect one step solution for creating Ice/Sliding Mazes in both Reign of Chaos and The Frozen Throne. It is the only decent system around and it even works in RoC, is lagfree, perfectly optimized, fast and reliable. The included TerrainKill feature frees you from the tedious task of creating a thousand kill-regions.
Hello, I am making a map that contains ice sliding. I don't know jass so i made a GUI trigger that will move my unit forward every .01. I tried to keep it as simple as possible but it's still slowing down my game after about 20 minutes sliding around on it with 4-6 players ingame. I looked into your ice sliding system and got it to work except i cannot adapt my previous code to using the new one you made because i don't know jass well enough to piece it together. my code made the speed of the unit on ice increase with the windwalk buff and have no sliding at all with the banish buff. if you would be willing to convert my code GUI code into an efficient jass code i would greatly appriciate it. Thank you. i'll upload my project here and give you a link if you would like to look into it.
I hate "Christmas Family Reunions". So much time wasted on faking that you care about your relatives... I didn't even have time to answer this for a whole day.
Anyway, here is the solution:
I hope you are okay with using my "Realistic Sliding" mode (Many people get confused too easily and then refuse to understand it at all...)
I enabled Realistic Sliding to allow for ranged and melee combat while sliding.
I removed the Terrain kill feature.
I removed the Zone 3 check, as the Sliding triggers should simply be disabled when sliding is off: Trigger - Turn off Steer <gen> Trigger - Turn off Slide <gen>
I changed the periodic timer from 0.01 to 0.03, because the human eye cannot feel the difference, but computers may suffer a lot from the strain of 0.01 timers.
I changed in Setup 1: Set H = (Units of type Assassin) (It will only work once you copy the triggers into your map)
I implemented your 4 (three+1) conditions as follows:
Removed (Picked unit is a Hero): Not needed with my system.
Removed (Terrain type = Northrend Ice): Already in my system.
Windwalk: if(GetUnitAbilityLevel(u,'BOwk')>0)then set Speed=Speed*2 endif.
Done.
Suggestions:
Arrays: Instead of 12 integer variables: Kills01_INT, Kills02_INT ... Kills12_INT you can use one integer array variable: Kills[]. (Kills01_INT becomes Kills[1], Kills12_INT becomes Kills[12]). Same for Streak[1-12] and Streak_Copy[1-12]. This way you can avoid 12 IF checks for each player in Kill Counter and simply use Set Kills[Owner of (Killing unit)]=(Kills[Owner of (Killing unit)]+1) once. {We just removed about 150 useless lines of code from your map; [2*(11*(3+1) variable settings, 11*4 floating text functions, 11 leaderboard functions, 11 if checks)], yay!}
Make sure you delete Tundra Slide and replace it with Slide in every trigger where it is used.
Call Setup1 from Spawn Heros (which is spelled as Heroes by the way) to create the H unit group Trigger - Run Setup1 <gen> (or you can merge Setup1 into Spawn Heros).
thanks for putting so much time into this i'll get to work on fixing all that, i am just learning to use variable arrays with loops and they would have saved so much time if i did it earlier. maybe i should look into hashables lol. do they do anything useful?
EDIT: ya and i've got oodles of useless variables because i hate the differences between real and integer variables lol. i figured it would be eisier to create another 12 (should be 1) and setting that at the beggining of a trig instead of converting all the existing ones. i'm a lazy programmer i should spend an hour and clean all that up.
EDIT: your system is working flawlessly! thank you so much i love it, i'll take a quick video.
Last edited by Justiceemu on Fri Dec 25, 2009 1:19 am, edited 1 time in total.
Upload your map to "www.epicwar.com" instead of mediafire. People actually browse epicwar for maps, I don't think many people will look at your mediafire upload without you referencing them to it.