1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Choose your ride to damnation in the 5th Special Effect Contest Poll.
    Dismiss Notice
  6. The winners of the 13th Techtree Contest have been announced!
    Dismiss Notice
  7. The 13th Music Contest Poll has begun! Vote for the best tracks in this symphony of frost and flame.
    Dismiss Notice
  8. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Ultime Sliding System [v1.8]

Submitted by nooblet
This bundle is marked as substandard. It may contain bugs, not perform optimally or otherwise be in violation of the submission rules.
This is my version of the Ice Slide/Skate functions that have become so popular. I call this one the Ultimate because of a few key improvements over any others I've seen:

-Simple to use, little to no JASS knowledge required
-No leaks, and lag free
-It uses only natives
-Allows for either both region-check sliding or terrain-check sliding (explained in the readme)
-Terrain check uses offsets for better paths
-Support for multiple "slide tiles"
-Highly customizable
-RoC compatible

Changelog
v1.0 - Initial Release

v1.1 - Addition of arrays/Collision and Off-path-death triggers.

v1.2 - Cleaned up some code/Minor bug fixes

v1.3 - Added testing functions

v1.4 - Added patrollers and other maze-like features.

v1.5 - Bug fix (thanks Aspard)/Rearranged the triggers/Clarified some triggers and functions.

v1.6 - Bug fixes, updated some code for aesthetics and effeciency
v.a - Documented a known bug, changed a testing trigger to avoid clicking an in-game hotkey.

v1.7 - Improved readability. Added TerrainCheck with changeable offset. Made changing the periodic timer in the Slide trigger easier.

v1.8 - Updated documentation. Changed tileset. Added support for multiple tile checks. Added more support for slower/faster sliding.


Readme
Code (vJASS):
//***************************************************************************************************
//                                                                                                  *
//                           ##### /    ##        #######         #######                           *
//                        ######  /  #####      /       ###     /       ###                         *
//                       /#   /  /     #####   /         ##    /         ##                         *
//                      /    /  ##     # ##    ##        #     ##        #                          *
//                          /  ###     #        ###             ###                                 *
//                         ##   ##     #       ## ###          ## ###                               *
//                         ##   ##     #        ### ###         ### ###                             *
//                         ##   ##     #          ### ###         ### ###                           *
//                         ##   ##     #            ### /##         ### /##                         *
//                         ##   ##     #              #/ /##          #/ /##                        *
//                          ##  ##     #               #/ ##           #/ ##                        *
//                           ## #      #                # /             # /                         *
//                            ###      /       ##        /     ##        /                          *
//                             #######/         ########/       ########/                           *
//                               ####             #####           #####                             *
//                                                                                                  *
//                                         Created By N[o]obleT                                     *
//                                                                                                  *
//__________________________________________________________________________________________________*
//__________________________________________________________________________________________________*
//                                                                                                  *
// It should be first noted that there are two ways this system can be used.                        *
//                                                                                                  *
// The first and easiest way is through a terrain check (found under the TerrainCheck               *
//  folder). This will check if any of the units are on your designated sliding terrain.            *
//  If a unit is, it will make them slideable. It's simple, but a major downside is                 *
//  that there little control over the area a unit can actually slide, and the path becomes very    *
//  strict (or "tight").                                                                            *
//                                                                                                  *
// The other way to slide a unit in this system is through region checks. This is more time-        *
//  consuming, but in the long run it is better due to the high customizability.                    *
//                                                                                                  *
//                                   IMPORTING:                                                     *
// When you import this system, it's recommended that you copy every folder except for "Misc" into  *
//  your map. Make sure you do not rearrange the orders of the triggers or folders, doing this may  *
//  cause an error when saving the map. Once you've copied the folders over to your map, save your  *
//  map. There shouldn't be any errors when you save, but if there are you should contact me.       *
//                                                                                                  *
//                                  HOW TO USE:                                                     *
//                                                                                                  *
// How to use the REGION CHECK way:                                                                 *
//  1.)If you'd like to use region checks, first disable every trigger under TerrainCheck.          *
//  2.)Next make sure all the triggers in the RegionCheck folder are enabled.                       *
//  3.)Make note of the regions I used (and where i put them) in the map:                           *
//      a. At any terrain touching ice, I made a region named SlideRect<#>. If a unit leaves these  *
//          regions, he will be able to slide.                                                      *
//                                                                                                  *
//      b. At any place where the safe path goes from touching snow and ice to ONLY touching snow,  *
//          I created a region named SlideFalse<#>. This is because if a unit leaves a SlideRect,   *
//          he will slide, but what if he leaves the region going away from the ice, like down a    *
//          grass path? Then these regions will catch him before he slides on grass, which would be *
//          f'd up. Make sure that when you create these regions that they are not touching (leave  *
//          a slight gap).                                                                          *
//                                                                                                  *
//  4.)Update all of the CheckLeave/CheckFalse/CheckEnter triggers with the new regions you added.  *
//                                                                                                  *
// How to use the TERRAIN CHECK way:                                                                *
//  1.)Disable every trigger under RegionCheck. Enable every trigger under TerrainCheck.            *
//  2.)Make sure the terrain type in TerrainSetup is the same terrain you're using to slide on.     *
//  3.)Also change the terrain type (it says 'Nsnw') in TerrainCheck to the terrain you're using    *
//      for the opposite terrain of the path. Read ALL the comments, they are there for a reason.   *
//                                                                                                  *
//                          I HOPE YOU ENJOY IT!                                                    *
//__________________________________________________________________________________________________*



Credits to Koga73 for the original idea of ice sliding, and Limiter for the idea of ice skating.

Keywords:
ice skate, ice skating, skate, skating, slide, sliding, ice, ice sliding, ice slide, sliding system, skating system, maze, escape
Contents

The Ultimate Sliding System [v1.8] (Map)

Reviews
Moderator
4 November 2015 Bribe: Rejecting due to the status of this resource being "needs fix" for years. Ultime Sliding System v1.8 | Reviewed by Maker | 28th Feb 2013 Needs Fix Required changes Make it MUI Constantly ordering stop is not a good...
  1. 4 November 2015
    Bribe: Rejecting due to the status of this resource being "needs fix" for years.

    Ultime Sliding System v1.8 | Reviewed by Maker | 28th Feb 2013
    Needs Fix
    Required changes
    • Make it MUI
    • Constantly ordering stop is not a good solution.
      If it is commented out lie you recommend, the unit moves really
      fast when sliding and it starts circling around the point it is ordered
      to move to, never reaching it
    • There should be a way to pause the timer
    • Do not use a loop that loops 360 times per function call
    • 0.405 is the limit of life an death, not 0
    Suggested changes
    • Even ice should have friction. Add support for that
    • Stop sliding when hitting obstacles
    • Your indentng doesn't follow the standard
    • You do not need the
      == true
      part in booean comparisons,
      udg_onIce[ i ] == true
      ->
      udg_onIce[ i ]
    • You could use
      bj_DEGTORAD
      and
      bj_RADTODEG

      for the angle conversions


    Old reviews

    21:04, 21st Sep 2009
    hvo-busterkomo: Rejected for not working as intended.

    The_Reborn_Devil:
    It looks good now and it works too.
    The indenting could still be better, but I can't reject it because of that ^^
    Approved.
    I give this system the rating Useful.

     
  2. Aspard

    Aspard

    Joined:
    Jul 2, 2008
    Messages:
    595
    Resources:
    1
    Spells:
    1
    Resources:
    1
    What the hell? After starting the slide and clicking on the ice again the hero turns into RANDOM direction, travel to the nearest snow tile and die. And never revive. Do you think that's funny for me to restart the game each twenty seconds? I think - no. Also looks like copying an idea of this guy: http://www.hiveworkshop.com/forums/...leljrk-and-hell-gate-143902/?prev=r=20&page=2 I know, that "Slide on Ice" isn't such an innovation, but posting it after the one version has just released... well, I dunno. This strange deathes makes your variation look worse than his.
     
  3. eleljrk

    eleljrk

    Joined:
    Aug 27, 2009
    Messages:
    461
    Resources:
    4
    Maps:
    1
    Spells:
    3
    Resources:
    4
    1. Units dies if they enter region.. Not simple to edit.
    Rules:
    Rules
    Submissions must be easy to configure (change their stats) and implement into a map. Documentation should be provided if the spell is not implemented with a simple copy and paste.


    2. The Slide System dont work?.. You can slide, yes, but you cant control it.
    - No Respawn!
    Rules
    Submissions must be bugless, leakless, lagless on a computer that runs Warcraft III smoothly, and fully multiinstanceable. Spells using non-recycling "indexing systems" will not be accepted.


    4. And as Aspard sayd, my works, and is new. Why submit this?
    Rules
    Submissions should be at least somewhat unique, except in cases where they greatly improve on an existing spell in terms of performance, cleanliness (of code), visuals, or otherwise.


    And else, the Description about.. everything is bad.
    Rules
    Submissions must have a title relevant to their function, an ingame screenshot, and a description which adequately describes them.


    There is much more i have to say, but i think this is enought..
     
  4. Deuterium

    Deuterium

    Joined:
    Mar 17, 2009
    Messages:
    1,301
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
  5. nooblet

    nooblet

    Joined:
    Jun 26, 2007
    Messages:
    14
    Resources:
    0
    Resources:
    0
    Thanks for reporting this bug. I had too many decimals for the number to convert Degrees to Radians. Try redownloading, it is now fixed.

    as for the rest of the complaints:

    @ Aspard and eleljrk

    This system provides two methods for checking if a unit is on ice. The first is by regions, the second by terrain checks.

    If you would've taken the time to read you would have realised that, because in the readme file I clearly state that:
    and

    I don't want to be rude, but, my code is faster, more customizable, and is RoC compatible. I don't see why it's wrong to have two similar systems here. It gives the hive members more variety in their choices, and harbors competition between the system makers.


    However, I realise I did not give enough detail on some parts. So I updated it with a lot more commentary to make the intentions of the functions and triggers in this system more clear. Thank you.
     
    Last edited: Sep 22, 2009
  6. Aspard

    Aspard

    Joined:
    Jul 2, 2008
    Messages:
    595
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Okey, I'll recheck it at the evening ;)
     
  7. nooblet

    nooblet

    Joined:
    Jun 26, 2007
    Messages:
    14
    Resources:
    0
    Resources:
    0
    Added a changelog to it (and put changelog/readme in the post)
     
  8. Aspard

    Aspard

    Joined:
    Jul 2, 2008
    Messages:
    595
    Resources:
    1
    Spells:
    1
    Resources:
    1
    I shall agree, that this system is good also. :)
    Even with my little knowledge of Jass I got the idea well and you has two different systems for sliding here.
     
  9. CHA_Owner

    CHA_Owner

    Joined:
    Feb 11, 2008
    Messages:
    807
    Resources:
    2
    Spells:
    2
    Resources:
    2
    Very nice system i wont be using it myself but i did enjoy sliding back and forth and doing 360's

    +rep
     
  10. nooblet

    nooblet

    Joined:
    Jun 26, 2007
    Messages:
    14
    Resources:
    0
    Resources:
    0
    I've updated it with the suggestions made by The_Reborn_Devil, fixed a compile error, and improved some of my math (though, the latter of these is negligeable).


    And thanks CHA_Owner for the kind words :)
     
  11. pippo

    pippo

    Joined:
    Mar 6, 2008
    Messages:
    476
    Resources:
    4
    Icons:
    1
    Skins:
    1
    Spells:
    2
    Resources:
    4
    My review is:
    -Dead by region and not terrain type 1/5
    -Non-turning works bad (if you click more times, it will change facing) 1/5
    -By writing "-" more times if the hero is alive it goes crazy (works slowly) 1/5
    -Collision don't need trigger but a simply ability which works with locust too 2/5
    -No leaks in the normal sliding 5/5

    (1+1+1+2+5):5=2/5
     
  12. nooblet

    nooblet

    Joined:
    Jun 26, 2007
    Messages:
    14
    Resources:
    0
    Resources:
    0
    >-Dead by region and not terrain type
    If you enable the Terrain method, it does kill by terrain check.

    >Non-turning works bad (if you click more times, it will change facing)
    The only way to fix this is to increase the repeating timer inside the Slide trigger to around 0.01, but this may cause lag on some PC's. I'll add a note about this bug and how to fix it.

    >-By writing "-" more times if the hero is alive it goes crazy (works slowly) 1/5
    This isn't my map, you must've clicked "-" without having the chat box open, because "-" is the hotkey to lower the game-speed. I changed the revive system to prevent this from happening.


    As always thanks for the critique, as all are welcome.


    P.s., I'd like to reiterate that this is a Sliding System, not a collection of maze triggers. I added the collision,region death, and the other misc triggers just to give the game a better testing environment.
     
    Last edited: Oct 8, 2009
  13. Aesthetics

    Aesthetics

    Joined:
    May 30, 2009
    Messages:
    789
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    I would like to add a small documentation change:

    Code (vJASS):
    //The Ultimate Sliding System v1.5


    Should be:

    Code (vJASS):
    //The Ultimate Sliding System v1.7


    Since the version of the system is 1.7 :wink:
     
  14. nooblet

    nooblet

    Joined:
    Jun 26, 2007
    Messages:
    14
    Resources:
    0
    Resources:
    0
    Woops, forgot to update the readme :p

    thanks!
     
  15. kekeke

    kekeke

    Joined:
    Jun 27, 2009
    Messages:
    25
    Resources:
    0
    Resources:
    0
    Thanks for this, I'm going to use it in my map :)
     
  16. Arnadath

    Arnadath

    Joined:
    Oct 31, 2008
    Messages:
    227
    Resources:
    0
    Resources:
    0
    Sorry, worthless. At least jass and RoC compatible
     
  17. Aesthetics

    Aesthetics

    Joined:
    May 30, 2009
    Messages:
    789
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    What the bloody hell are you saying?
     
  18. Bel

    Bel

    Joined:
    Oct 6, 2009
    Messages:
    18
    Resources:
    0
    Resources:
    0
    Who knows... just smile and nod... smile and nod...


    Anyways.. this could use some work, 3/5


    Nice effort...?
     
  19. Arnadath

    Arnadath

    Joined:
    Oct 31, 2008
    Messages:
    227
    Resources:
    0
    Resources:
    0
    The map is w3m not w3x so it is RoC compatible. Also is jass. But it is completely worthless. Understood? or should i make it clearer to you?