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.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top