Tutorial Ice Sliding

elmstfreddie

The Finglonger
Reaction score
203
Tonks, how is my trigger poorly coded...

But I meant no ones came up, so I figured I'd make a new one so when people search sliding, they get one on the first page instead of having to go through all the pages. I'm trying to make people's lives easier.

Ok, Ok, maybe it's NOT a tutorial. I forgot about the free trigger thing, so can someone get this moved or something?
 

Sevion

The DIY Ninja
Reaction score
413
try this:
Code:
RedOnIce
    Events
        Time - Every 0.03 seconds of game time
    Conditions
        (Terrain type at (Position of Demon Hunter 0006 <gen>)) Equal to Northrend - Ice
        (Player 1 (Red) controller) Equal to User
        (Player 1 (Red) slot status) Equal to Is playing
    Actions
        Set Point[1] = (Position of Demon Hunter 0006 <gen>)
        Unit - Move Demon Hunter 0006 <gen> instantly to ((Point[1]) offset by 13.00 towards (Facing of Demon Hunter 0006 <gen>) degrees)
        Custom Script - call RemoveLocation(udg_Point[1])

it leaks a little bit i think but not much any help to improve it will be much appreciated :D
 

elmstfreddie

The Finglonger
Reaction score
203
Stewie picture guy, yours would be really hard to turn on and also it leaks, you need to set a second point to point 1 offset by 13
 

Evote

New Member
Reaction score
4
ok heres a no leak sliding thing i use ooh tis is a copy of my post. um i have removed the leaks in my other 1 in my map but this is a copy and i carn't be botherd to open it so well.
a couple of varables u can find where they are and create them.
2 if i remember corectly
Unit - Move (Triggering unit) instantly to (Center of (Playable map area)), facing ((Facing of (Triggering unit)) - 180.00) degrees
DIE
Events
Time - Every 0.03 seconds of game time
Conditions
Actions
Unit Group - Pick every unit in (Units of type Paladin) and do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Terrain type at (Position of (Picked unit))) Equal to Cityscape - Grass Trim
Then - Actions
Unit - Kill (Picked unit)
Else - Actions
Do nothing
TURNING
Events
Unit - A unit Is issued an order targeting a point
Conditions
Actions
Set TURNING = (Target point of issued order)
Unit - Make (Triggering unit) face TURNING over 0.00 seconds
Custom script: call RemoveLocation (udg_TURNING)
 

Evote

New Member
Reaction score
4
Unit - Move (Triggering unit) instantly to (Center of (Playable map area)), facing ((Facing of (Triggering unit)) - 180.00)
i pasted wronge thing lol
 

Evote

New Member
Reaction score
4
ooooh and sliding lol
SLIDE
Events
Time - Every 0.01 seconds of game time
Conditions
Actions
Set MAN = (Position of (Picked unit))
Set SLIDE = ((Position of (Picked unit)) offset by 4.30 towards (Facing of (Picked unit)) degrees)
If ((Terrain type at MAN) Equal to Lordaeron Summer - Dirt) then do (Unit - Move (Picked unit) instantly to SLIDE) else do (Do nothing)
Custom script: call RemoveLocation (udg_SLIDE)
Custom script: call RemoveLocation (udg_MAN)
 
T

The Chosen O

Guest
Slide

Heres my sliding trigger.. its in JASS. It's simple. All you have to do is create a trigger NAMED Sliding, then go to Edit, then click Convert To Custom Text. Then just copy and paste all this into it. PS..you need to create a timer variable called SlideTimer. AUTOCREATE VARIABLES MAY NOT WORK. May require some JASS knowledge to actually use.

function Trig_Sliding_Func003Func004Func005C takes location c returns boolean
if ( ( GetTerrainTypeBJ(c) == 'Idki' ) ) then
return true
endif
if ( ( GetTerrainTypeBJ(c) == 'Iice' ) ) then
return true
endif
return false
endfunction
function Trig_Sliding_Func003A takes nothing returns nothing
local location st = GetUnitLoc(GetEnumUnit())
local location mt = PolarProjectionBJ(st, 16.00, GetUnitFacing(GetEnumUnit()))
if ( Trig_Sliding_Func003Func004Func005C(st) ) then
call SetUnitPositionLoc( GetEnumUnit(), mt )
else
endif
call RemoveLocation(st)
call RemoveLocation(mt)
set st = null
set mt = null
endfunction

function Trig_Sliding_Actions takes nothing returns nothing
local group slido = CreateGroup()
call StartTimerBJ( udg_SlideTimer, false, 0.05)
set slido = GetUnitsOfTypeIdAll('Hmkg')
call ForGroupBJ( slido, function Trig_Sliding_Func003A )
call DestroyGroup(slido)
set slido = null
endfunction

//===========================================================================
function InitTrig_Sliding takes nothing returns nothing
set gg_trg_Sliding = CreateTrigger( )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Sliding, udg_SlideTimer )
call TriggerAddAction( gg_trg_Sliding, function Trig_Sliding_Actions )
endfunction
 
T

The Chosen O

Guest
Errr. I forgot. You also need to START the timer at the beginning of the game or later. I used that timer because I wanted to stop and start the sliding whenever I wanted, for maximum laglessness. Oh, and you need to use the terrain Ice Crown Glacier - Ice, and/or Ice Crown Glacier - Dark Ice. Sorry, not that simple, but still easy. OH AND you also need to change that little 'Hmkg' to your hero's unit type ID. er... Just make a test trigger then make a Custom Script : a or some other random text. Then do the Create Units At Point thing and put your hero into it. Then unenable the trigger, and reenable it. Then check what it says at the Create Units At Location part, it will be between something like 'N001' or something. USE THIS IN THE TRIGGER AS YOUR UNIT ID. OR ELSE NOTHING WILL WORK
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top