GUI jump ability

LiveSsenkrad

Member
Reaction score
3
I know there is a GUi jump ability, (like Mirana's) using the Crow ability, I have searched the forusm but can't find it =/. Any links/help would be appreciated.
 

Samael88

Evil always finds a way
Reaction score
181
I have no programming experience (too young :p) And I like doing things myself, adding experience, so I try doing everything possible in GUI.

No offence, but that is bull****, if you are working in GUI you do have programming experience. Beacuse GUI is just an easier way of using JASS:p

I suggest you actually look into JASS for these kind of things, beacuse they are not that hard to make and they are also much better made in JASS, since the GUI in wc3 really is a load of crap;)
 

Vicboy

Ultra Cool Member
Reaction score
44
No offence, but that is bull****, if you are working in GUI you do have programming experience. Beacuse GUI is just an easier way of using JASS:p

I suggest you actually look into JASS for these kind of things, beacuse they are not that hard to make and they are also much better made in JASS, since the GUI in wc3 really is a load of crap;)

Some people here don't want to learn JASS cause

1. They don't have time
2. They don't want to fit too much things in their heads
3. WC3 is a game, not an engine.

?? I made it in Jass. GUI is bad.

GUI is not entirely bad.
 

kingkingyyk3

Visitor (Welcome to the Jungle, Baby!)
Reaction score
216
I am only 16 years old and start to write out my Jass at 15 years old. I start making map at 14 years old. ;p
 

LiveSsenkrad

Member
Reaction score
3
I find JASS utterly confusing, and not very user friendly, and if I was to try learn it I would lose interest, and get distracted extremely fast. I don't think it is bulls*** that GUI isn't programming, I was referring to raw coding.
 

_whelp

New Member
Reaction score
54
Jass isn't that confusing, once you get the hang of it... Did you read any of the tutorials posted here?

[sarcasm]I'm ten years old. Can you believe it?[/sarcasm]

Really.
 

LiveSsenkrad

Member
Reaction score
3
Jass isn't that confusing, once you get the hang of it... Did you read any of the tutorials posted here?

[sarcasm]I'm ten years old. Can you believe it?[/sarcasm]

Really.

I'm sorry, I just looked for something (NOT CONFUSING) as this, but in GUI:
Code:
// Objects used:
// 'A0LN' = Leap (Priestess of the Moon : Mirana Nightshade)
// 'e01R' = Buff Placer
// 'A0LO' = Leap (effect)
// 'Amrf' = Crow Form (Medivh)

// DEBUG Trigger Number : 56
function Leap_Spell takes nothing returns boolean
	return GetSpellAbilityId()=='A0LN'
endfunction

function Leap_ReturnOrder takes unit pfU returns nothing
	local string lf5=H2Tx(pfU)
	local string lpG=GetString(lf5,"OrderType")
	local string lph=OrderId2String(GetInteger(lf5,"OrderId"))
	local real lEv
	local real lEV
	local unit lFB
	local trigger ltt=GetTrigger(lf5,"Trigger_TrackOrder")
	local boolean lpH=not GetBoolean(lf5,"Idle")
	local boolean lpi=GetBoolean(lf5,"SuperOrder")
	call DisableTrigger(ltt)
	call IssueImmediateOrderById(pfU,OrderId("stop"))
	if lpG=="Target"and(lpH or lpi)then
		set lFB=GetUnit(lf5,"OrderTarget")
		call IssueTargetOrder(pfU,lph,lFB)
	elseif lpG=="Point"and(lpH or lpi)then
		set lEv=GetReal(lf5,"OrderPointX")
		set lEV=GetReal(lf5,"OrderPointY")
		call IssuePointOrder(pfU,lph,lEv,lEV)
	elseif(lpH or lpi)then
		call IssueImmediateOrder(pfU,"OrderString")
	endif
	call SetBoolean(lf5,"SuperOrder",false)
	call EnableTrigger(ltt)
endfunction

function Leap_SpeedBonusCheck takes nothing returns boolean
	return IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO) and IsUnitAlly(GetFilterUnit(),GetOwningPlayer(udg_u_DTAX_temp))
endfunction

function Leap_DoSpeedBonus takes nothing returns nothing
	local unit lfU=GetEnumUnit()
	local unit lJV=CreateUnit(GetOwningPlayer(lfU),'e01R',0,0,0)
	call UnitAddAbility(lJV,'A0LO')
	call SetUnitAbilityLevel(lJV,'A0LO',GetUnitAbilityLevel(udg_u_DTAX_temp,'A0LN'))
	call UnitApplyTimedLife(lJV,'BTLF',10)
endfunction

function Leap_EndRoar takes unit pfU returns nothing
	local group lEw=CreateGroup()
	local boolexpr lEW=Condition(function Leap_SpeedBonusCheck)
	set udg_u_DTAX_temp=pfU
	call GroupEnumUnitsInRange(lEw,GetUnitX(pfU),GetUnitY(pfU),800,lEW)
	call ForGroup(lEw,function Leap_DoSpeedBonus)
	call DestroyBoolExpr(lEW)
	call DestroyGroup(lEw)
endfunction

function Leap_JumpMoving takes nothing returns nothing
	local timer ltt=GetExpiredTimer()
	local string lf5=H2Tx(ltt)
	local unit lfU=GetUnit(lf5,"Hero")
	local real lpj=GetReal(lf5,"DistanceRemaining")
	local real lpJ=GetReal(lf5,"OriginalDistance")
	local real lnM=GetReal(lf5,"Angle")
	local real lpC=GetUnitX(lfU)+30*Cos(lnM*bj_DEGTORAD)
	local real lpd=GetUnitY(lfU)+30*Sin(lnM*bj_DEGTORAD)
	local real lpk=200
	local real lpK=(1-lpj/lpJ)*lpk*2
	if lpK>lpk then
		set lpK=lpk*2-lpK
	endif
	call SetUnitFlyHeight(lfU,ReturnMaxReal(lpK,0),0)
	call SetUnitX(lfU,SafeX(lpC))
	call SetUnitY(lfU,SafeY(lpd))
	call SetUnitFacing(lfU,lnM)
	call SetReal(lf5,"DistanceRemaining",lpj-20)
	if lpK<1 and lpj-lpJ!=0 then
		call SetBoolean(H2Tx(lfU),"InAir",false)
		call SetUnitFacing(lfU,lnM)
		call SetUnitAnimation(lfU,"stand")
		call SetUnitPathing(lfU,true)
		call SetUnitInvulnerable(lfU,false)
		call Leap_ReturnOrder(lfU)
		call Leap_EndRoar(lfU)
		call PauseTimer(ltt)
		call FastFlush(lf5)
		call DestroyTimer(ltt)
	endif
endfunction

function Leap_JumpSetting takes nothing returns nothing
	local unit lfU=GetTriggerUnit()
	local integer lmZ=GetUnitAbilityLevel(lfU,'A0LN')
	local real lFc=350+50*lmZ
	local real lnM=GetUnitFacing(lfU)
	local real lFC=GetUnitX(lfU)
	local real lFd=GetUnitY(lfU)
	local real lEv=SafeX(lFC+lFc*Cos(lnM*bj_DEGTORAD))
	local real lEV=SafeY(lFd+lFc*Sin(lnM*bj_DEGTORAD))
	local timer ltt=CreateTimer()
	local string lf5=H2Tx(ltt)
	local trigger lpL=GetTrigger(H2Tx(lfU),"Trigger_TrackOrder")
	set lFc=SquareRoot((lFC-lEv)*(lFC-lEv)+(lFd-lEV)*(lFd-lEV))
	if lFc>100 then
		call UnitAddAbility(lfU,'Amrf')
		call UnitRemoveAbility(lfU,'Amrf')
		call SetUnitPathing(lfU,false)
		call SetUnitInvulnerable(lfU,true)
		call SetUnitAnimationByIndex(lfU,6)
		call DisableTrigger(lpL)
		call IssueImmediateOrderById(lfU,OrderId("stop"))
		call EnableTrigger(lpL)
		call SetReal(lf5,"DistanceRemaining",lFc)
		call SetReal(lf5,"OriginalDistance",lFc)
		call SetReal(lf5,"Angle",lnM)
		call SetHandle(lf5,"Hero",lfU)
		call TimerStart(ltt,.025,true,function Leap_JumpMoving)
		call SetBoolean(H2Tx(lfU),"Leap_InAir",true)
		call SetBoolean(H2Tx(lfU),"SuperOrder",false)
	endif
	call PolledWait(5)
	call SetUnitPathing(lfU,true)
	call SetUnitInvulnerable(lfU,false)
endfunction

function Leap_DoNothing takes nothing returns nothing
endfunction

function Leap_SaveOrders takes nothing returns nothing
	local unit lfU=GetTriggerUnit()
	local string lf5=H2Tx(lfU)
	local boolean lpN=GetBoolean(lf5,"Leap_InAir")
	call SetInteger(lf5,"OrderId",GetIssuedOrderId())
	call SetBoolean(lf5,"Idle",false)
	if GetTriggerEventId()==EVENT_UNIT_ISSUED_TARGET_ORDER then
		call SetString(lf5,"OrderType","Target")
		call SetHandle(lf5,"OrderTarget",GetOrderTarget())
	elseif GetTriggerEventId()==EVENT_UNIT_ISSUED_POINT_ORDER then
		if lpN or GetRange(GetUnitX(lfU),GetUnitY(lfU),GetOrderPointX(),GetOrderPointY())>800 then
			call SetString(lf5,"OrderType","Point")
			call SetReal(lf5,"OrderPointX",GetOrderPointX())
			call SetReal(lf5,"OrderPointY",GetOrderPointY())
		else
			call SetBoolean(lf5,"Idle",true)
		endif
	else
		call SetString(lf5,"OrderType","Instant")
	endif
	if lpN then
		call SetBoolean(lf5,"SuperOrder",true)
	endif
endfunction

function Leap_SpellOrder takes nothing returns boolean
	return OrderId2String(GetIssuedOrderId())!="windwalk"
endfunction

function Leap_IsHeroMoves takes nothing returns nothing
	local unit lfU=GetUnit(H2Tx(GetExpiredTimer()),"Hero")
	local string lf5=H2Tx(lfU)
	local real lxx=GetUnitX(lfU)
	local real lyy=GetUnitY(lfU)
	local string lpG=GetString(lf5,"OrderType")
	if lpG=="Point"and GetRange(GetUnitX(lfU),GetUnitY(lfU),GetReal(lf5,"OrderPointX"),GetReal(lf5,"OrderPointY"))<100 then
		call SetBoolean(lf5,"Idle",true)
	endif
endfunction

function Leap_TrackOrdersStart takes nothing returns nothing
	local unit lfU=GetTriggerUnit()
	local trigger ltt=CreateTrigger()
	local timer lt2
	call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_ISSUED_TARGET_ORDER)
	call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_ISSUED_POINT_ORDER)
	call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_ISSUED_ORDER)
	call TriggerAddAction(ltt,function Leap_SaveOrders)
	call TriggerAddCondition(ltt,Condition(function Leap_SpellOrder))
	call SetHandle(H2Tx(lfU),"Trigger_TrackOrder",ltt)
	set lt2=CreateTimer()
	call SetHandle(H2Tx(lt2),"Hero",lfU)
	call TimerStart(lt2,.3,true,function Leap_IsHeroMoves)
	call SetHandle(H2Tx(lfU),"Timer_CheckIdle",lt2)
endfunction

function Leap_LearnFirst takes nothing returns nothing
	if GetUnitAbilityLevel(GetTriggerUnit(),'A0LN')==1 then
		call Leap_TrackOrdersStart()
	endif
endfunction

function Leap_Init takes nothing returns nothing
	local trigger ltt=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_SPELL_EFFECT)
	call TriggerAddCondition(ltt,Condition(function Leap_Spell))
	call TriggerAddAction(ltt,function Leap_JumpSetting)
	set ltt=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_UNIT_SPELL_CAST)
	call TriggerAddCondition(ltt,Condition(function Leap_Spell))
	call TriggerAddAction(ltt,function Leap_DoNothing)
	set ltt=CreateTrigger()
	call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_HERO_SKILL)
	call TriggerAddAction(ltt,function Leap_LearnFirst)
endfunction


function InitTrig_Leap takes nothing returns nothing
endfunction

I would take months just to learn this simple (NOT CONFUSING AT ALL) ability, where a hero jumps and gains movement speed.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top