• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!

[General] Sprite Facing Forward

Status
Not open for further replies.
Level 2
Joined
Nov 26, 2021
Messages
11
How exactly do i get a Sprite Facing Forward for a UI, For Example this is how it looks currently, and wanna face them forward

asd.png


this my Code it that helps

JASS:
globals
framehandle ClassUIBD = null
trigger TriggerClassUIBD = null
framehandle CasterBD = null
trigger TriggerCasterBD = null
framehandle HealerBD = null
trigger TriggerHealerBD = null
framehandle TankBD = null
trigger TriggerTankBD = null
framehandle MeleeBD = null
trigger TriggerMeleeBD = null
framehandle RangerBD = null
trigger TriggerRangerBD = null
framehandle CasterB = null
 framehandle BackdropCasterB = null
trigger TriggerCasterB = null
framehandle HealerB = null
 framehandle BackdropHealerB = null
trigger TriggerHealerB = null
framehandle TankB = null
 framehandle BackdropTankB = null
trigger TriggerTankB = null
framehandle MeleeB = null
 framehandle BackdropMeleeB = null
trigger TriggerMeleeB = null
framehandle RangerB = null
 framehandle BackdropRangerB = null
trigger TriggerRangerB = null
endglobals
 
library ClassUI initializer init
function CasterBFunc takes nothing returns nothing
call BlzFrameSetEnable(CasterB, false)
call BlzFrameSetEnable(CasterB, true)
set udg_CasterB = GetConvertedPlayerId(GetTriggerPlayer())
endfunction
 
function HealerBFunc takes nothing returns nothing
call BlzFrameSetEnable(HealerB, false)
call BlzFrameSetEnable(HealerB, true)
set udg_HealerB = GetConvertedPlayerId(GetTriggerPlayer())
endfunction
 
function TankBFunc takes nothing returns nothing
call BlzFrameSetEnable(TankB, false)
call BlzFrameSetEnable(TankB, true)
set udg_TankB = GetConvertedPlayerId(GetTriggerPlayer())
endfunction
 
function MeleeBFunc takes nothing returns nothing
call BlzFrameSetEnable(MeleeB, false)
call BlzFrameSetEnable(MeleeB, true)
set udg_MeleeB = GetConvertedPlayerId(GetTriggerPlayer())
endfunction
 
function RangerBFunc takes nothing returns nothing
call BlzFrameSetEnable(RangerB, false)
call BlzFrameSetEnable(RangerB, true)
set udg_RangerB = GetConvertedPlayerId(GetTriggerPlayer())
endfunction
 
private function init takes nothing returns nothing


local framehandle gameUI = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0) //This is our default Origin Frame, we will use it to create our model frame on top of it.
local framehandle CasterBD = BlzCreateFrameByType("SPRITE", "CasterBD", gameUI, "", 0) //This is how you define a frame as a sprite. If you don't have TOC files loaded, you have to use this to create SPRITE.
local framehandle HealerBD = BlzCreateFrameByType("SPRITE", "HealerBD", gameUI, "", 0) //This is how you define a frame as a sprite. If you don't have TOC files loaded, you have to use this to create SPRITE.
local framehandle TankBD = BlzCreateFrameByType("SPRITE", "TankBD", gameUI, "", 0) //This is how you define a frame as a sprite. If you don't have TOC files loaded, you have to use this to create SPRITE.
local framehandle MeleeBD = BlzCreateFrameByType("SPRITE", "MeleeBD", gameUI, "", 0) //This is how you define a frame as a sprite. If you don't have TOC files loaded, you have to use this to create SPRITE.
local framehandle RangerBD = BlzCreateFrameByType("SPRITE", "RangerBD", gameUI, "", 0) //This is how you define a frame as a sprite. If you don't have TOC files loaded, you have to use this to create SPRITE.

set ClassUIBD = BlzCreateFrameByType("BACKDROP", "ClassUIBD", BlzGetFrameByName("ConsoleUIBackdrop", 0), "", 1)
 call BlzFrameSetAbsPoint(ClassUIBD, FRAMEPOINT_TOPLEFT, 0.212700, 0.437240)
 call BlzFrameSetAbsPoint(ClassUIBD, FRAMEPOINT_BOTTOMRIGHT, 0.578220, 0.269800)
 call BlzFrameSetTexture(ClassUIBD, "ClassUI.blp", 0, true)



 set CasterBD = BlzCreateFrameByType("SPRITE", "CasterBD", ClassUIBD, "", 1)
 call BlzFrameSetAbsPoint(CasterBD, FRAMEPOINT_TOPLEFT, 0.227190, 0.400891)
 call BlzFrameSetAbsPoint(CasterBD, FRAMEPOINT_BOTTOMRIGHT, 0.283011, 0.317170)
 call BlzFrameSetSize(CasterBD, 0.001, 0.001) //For in-game models, size is mostly dependant on the size of the model, since in-game models are too big for our frames, we need to reduce its size to fit it into screen otherwise you will get wierd screen blackouts.
 call BlzFrameSetScale(CasterBD, 0.001) //We need to reduce our model size.
 call BlzFrameSetModel(CasterBD, "units\\human\\HeroPaladin\\HeroPaladin.mdl", 2) //This is pretty self explanatory. 0 here is the animation index that you want to use.For most models, 0 is for stand, 1 is for death animations.

 set HealerBD = BlzCreateFrameByType("SPRITE", "HealerBD", ClassUIBD, "", 1)
 call BlzFrameSetAbsPoint(HealerBD, FRAMEPOINT_TOPLEFT, 0.296430, 0.400891)
 call BlzFrameSetAbsPoint(HealerBD, FRAMEPOINT_BOTTOMRIGHT, 0.352251, 0.317170)
 call BlzFrameSetSize(HealerBD, 0.001, 0.001) //For in-game models, size is mostly dependant on the size of the model, since in-game models are too big for our frames, we need to reduce its size to fit it into screen otherwise you will get wierd screen blackouts.
 call BlzFrameSetScale(HealerBD, 0.001) //We need to reduce our model size.
 call BlzFrameSetModel(HealerBD, "units\\human\\HeroPaladin\\HeroPaladin.mdl", 2) //This is pretty self explanatory. 0 here is the animation index that you want to use.For most models, 0 is for stand, 1 is for death animations.


 set TankBD = BlzCreateFrameByType("SPRITE", "TankBD", ClassUIBD, "", 1)
 call BlzFrameSetAbsPoint(TankBD, FRAMEPOINT_TOPLEFT, 0.366210, 0.400891)
 call BlzFrameSetAbsPoint(TankBD, FRAMEPOINT_BOTTOMRIGHT, 0.422031, 0.317170)
 call BlzFrameSetSize(TankBD, 0.001, 0.001) //For in-game models, size is mostly dependant on the size of the model, since in-game models are too big for our frames, we need to reduce its size to fit it into screen otherwise you will get wierd screen blackouts.
 call BlzFrameSetScale(TankBD, 0.001) //We need to reduce our model size.
 call BlzFrameSetModel(TankBD, "units\\human\\HeroPaladin\\HeroPaladin.mdl", 2) //This is pretty self explanatory. 0 here is the animation index that you want to use.For most models, 0 is for stand, 1 is for death animations.

 set MeleeBD = BlzCreateFrameByType("SPRITE", "MeleeBD", ClassUIBD, "", 1)
 call BlzFrameSetAbsPoint(MeleeBD, FRAMEPOINT_TOPLEFT, 0.435990, 0.400351)
 call BlzFrameSetAbsPoint(MeleeBD, FRAMEPOINT_BOTTOMRIGHT, 0.491811, 0.316630)
 call BlzFrameSetSize(MeleeBD, 0.001, 0.001) //For in-game models, size is mostly dependant on the size of the model, since in-game models are too big for our frames, we need to reduce its size to fit it into screen otherwise you will get wierd screen blackouts.
 call BlzFrameSetScale(MeleeBD, 0.001) //We need to reduce our model size.
 call BlzFrameSetModel(MeleeBD, "units\\human\\HeroPaladin\\HeroPaladin.mdl", 2) //This is pretty self explanatory. 0 here is the animation index that you want to use.For most models, 0 is for stand, 1 is for death animations.
 
 set RangerBD = BlzCreateFrameByType("SPRITE", "RangerBD", ClassUIBD, "", 1)
 call BlzFrameSetAbsPoint(RangerBD, FRAMEPOINT_TOPLEFT, 0.507910, 0.400351)
 call BlzFrameSetAbsPoint(RangerBD, FRAMEPOINT_BOTTOMRIGHT, 0.563731, 0.316630)
 call BlzFrameSetSize(RangerBD, 0.001, 0.001) //For in-game models, size is mostly dependant on the size of the model, since in-game models are too big for our frames, we need to reduce its size to fit it into screen otherwise you will get wierd screen blackouts.
 call BlzFrameSetScale(RangerBD, 0.001) //We need to reduce our model size.
 call BlzFrameSetModel(RangerBD, "war3mapImported\\BEFarstriderRotate.mdl", 9) //This is pretty self explanatory. 0 here is the animation index that you want to use.For most models, 0 is for stand, 1 is for death animations.

set CasterB = BlzCreateFrame("ScriptDialogButton", CasterBD, 0, 0)
 call BlzFrameSetAbsPoint(CasterB, FRAMEPOINT_TOPLEFT, 0.221830, 0.307087)
 call BlzFrameSetAbsPoint(CasterB, FRAMEPOINT_BOTTOMRIGHT, 0.288386, 0.279180)
 set BackdropCasterB = BlzCreateFrameByType("BACKDROP", "BackdropCasterB", CasterB, "", 1)
 call BlzFrameSetAllPoints(BackdropCasterB, CasterB)
 call BlzFrameSetTexture(BackdropCasterB, "CasterB.blp", 0, true)
set TriggerCasterB = CreateTrigger()
 call BlzTriggerRegisterFrameEvent(TriggerCasterB, CasterB, FRAMEEVENT_CONTROL_CLICK)
 call TriggerAddAction(TriggerCasterB, function CasterBFunc)

set HealerB = BlzCreateFrame("ScriptDialogButton", HealerBD, 0, 0)
 call BlzFrameSetAbsPoint(HealerB, FRAMEPOINT_TOPLEFT, 0.291600, 0.306547)
 call BlzFrameSetAbsPoint(HealerB, FRAMEPOINT_BOTTOMRIGHT, 0.358156, 0.278640)
 set BackdropHealerB = BlzCreateFrameByType("BACKDROP", "BackdropHealerB", HealerB, "", 1)
 call BlzFrameSetAllPoints(BackdropHealerB, HealerB)
 call BlzFrameSetTexture(BackdropHealerB, "HealerB.png", 0, true)
set TriggerHealerB = CreateTrigger()
 call BlzTriggerRegisterFrameEvent(TriggerHealerB, HealerB, FRAMEEVENT_CONTROL_CLICK)
 call TriggerAddAction(TriggerHealerB, function HealerBFunc)

set TankB = BlzCreateFrame("ScriptDialogButton", TankBD, 0, 0)
 call BlzFrameSetAbsPoint(TankB, FRAMEPOINT_TOPLEFT, 0.360840, 0.306547)
 call BlzFrameSetAbsPoint(TankB, FRAMEPOINT_BOTTOMRIGHT, 0.427396, 0.278640)
 set BackdropTankB = BlzCreateFrameByType("BACKDROP", "BackdropTankB", TankB, "", 1)
 call BlzFrameSetAllPoints(BackdropTankB, TankB)
 call BlzFrameSetTexture(BackdropTankB, "TankB.blp", 0, true)
set TriggerTankB = CreateTrigger()
 call BlzTriggerRegisterFrameEvent(TriggerTankB, TankB, FRAMEEVENT_CONTROL_CLICK)
 call TriggerAddAction(TriggerTankB, function TankBFunc)

set MeleeB = BlzCreateFrame("ScriptDialogButton", MeleeBD, 0, 0)
 call BlzFrameSetAbsPoint(MeleeB, FRAMEPOINT_TOPLEFT, 0.430620, 0.307087)
 call BlzFrameSetAbsPoint(MeleeB, FRAMEPOINT_BOTTOMRIGHT, 0.497176, 0.279180)
 set BackdropMeleeB = BlzCreateFrameByType("BACKDROP", "BackdropMeleeB", MeleeB, "", 1)
 call BlzFrameSetAllPoints(BackdropMeleeB, MeleeB)
 call BlzFrameSetTexture(BackdropMeleeB, "MeleeB.blp", 0, true)
set TriggerMeleeB = CreateTrigger()
 call BlzTriggerRegisterFrameEvent(TriggerMeleeB, MeleeB, FRAMEEVENT_CONTROL_CLICK)
 call TriggerAddAction(TriggerMeleeB, function MeleeBFunc)

set RangerB = BlzCreateFrame("ScriptDialogButton", RangerBD, 0, 0)
 call BlzFrameSetAbsPoint(RangerB, FRAMEPOINT_TOPLEFT, 0.502540, 0.307087)
 call BlzFrameSetAbsPoint(RangerB, FRAMEPOINT_BOTTOMRIGHT, 0.569096, 0.279180)
 set BackdropRangerB = BlzCreateFrameByType("BACKDROP", "BackdropRangerB", RangerB, "", 1)
 call BlzFrameSetAllPoints(BackdropRangerB, RangerB)
 call BlzFrameSetTexture(BackdropRangerB, "RangerB.blp", 0, true)
set TriggerRangerB = CreateTrigger()
 call BlzTriggerRegisterFrameEvent(TriggerRangerB, RangerB, FRAMEEVENT_CONTROL_CLICK)
 call TriggerAddAction(TriggerRangerB, function RangerBFunc)
endfunction
endlibrary

  • ClassUI
    • Events
      • Game - RangerB becomes Not equal to 0.00
    • Conditions
    • Actions
      • -------- Caster --------
      • -------- Healer --------
      • -------- Tank --------
      • -------- Melee --------
      • -------- Ranger --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • RangerB Not equal to 0.00
        • Then - Actions
          • Set VariableSet RangerB = 0.00
          • Unit - Create 1 Ranger for (Triggering player) at (Center of Spawn <gen>) facing Default building facing degrees
          • Set VariableSet SetHero[(Player number of (Triggering player))] = (Last created unit)
          • Camera - Pan camera for (Triggering player) to (Center of Spawn <gen>) over 0.00 seconds
          • Selection - Select SetHero[(Player number of (Triggering player))] for (Triggering player)
          • Camera - Set (Triggering player)'s camera Height Offset to 500.00 over 0.00 seconds
          • Camera - Lock camera target for (Triggering player) to SetHero[(Player number of (Triggering player))], offset by (0.00, 0.00) using Default rotation
          • Custom script: if GetLocalPlayer() == GetTriggerPlayer() then
          • Custom script: call BlzFrameSetVisible(ClassUIBD, false)
          • Custom script: endif
        • Else - Actions
 
Last edited:
Status
Not open for further replies.
Top