Добавлен Audes
Пришлось соединить 2 функции, поэтому нечитабельно, но суть в том, что когда было по-отдельности, тексттаг исчезал (хотя вроде бы всё то же).
function PHBMulti takes unit u returns nothing
local effect e
local string path = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl"
local texttag PLabel
local location loc = GetUnitLoc(u)
local real z = GetUnitFlyHeight(u)
local real size = 20
call CreateTextTagLocBJ("Крит!",loc,z,size,255,0,0,0)
set PLabel = GetLastCreatedTextTag()
call SetTextTagVelocityBJ(PLabel,64,90)
call AddSpecialEffectTargetUnitBJ("origin",u,path)
call SetUnitLifeBJ(u,GetUnitState(u,UNIT_STATE_LIFE)+udg_intHBD)
call DestroyEffect(e)
call RemoveLocation(loc)
call PolledWait(2)
call DestroyTextTag(PLabel)
endfunction
local effect e
local string path = "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl"
local texttag PLabel
local location loc = GetUnitLoc(u)
local real z = GetUnitFlyHeight(u)
local real size = 20
call CreateTextTagLocBJ("Крит!",loc,z,size,255,0,0,0)
set PLabel = GetLastCreatedTextTag()
call SetTextTagVelocityBJ(PLabel,64,90)
call AddSpecialEffectTargetUnitBJ("origin",u,path)
call SetUnitLifeBJ(u,GetUnitState(u,UNIT_STATE_LIFE)+udg_intHBD)
call DestroyEffect(e)
call RemoveLocation(loc)
call PolledWait(2)
call DestroyTextTag(PLabel)
endfunction
Принятый ответ
function Text takes string text,unit u,real size,real red,real green,real blue,real alpha returns nothing
set bj_lastCreatedTextTag = CreateTextTag()
call SetTextTagTextBJ(bj_lastCreatedTextTag,text,size)
call SetTextTagPosUnitBJ(bj_lastCreatedTextTag,u,0.00)
call SetTextTagColorBJ(bj_lastCreatedTextTag,red,green,blue,alpha)
call SetTextTagPermanent(bj_lastCreatedTextTag,false)
call SetTextTagFadepoint(bj_lastCreatedTextTag,2)
call SetTextTagLifespan(bj_lastCreatedTextTag,4)
call SetTextTagVelocity(bj_lastCreatedTextTag,0.,0.027)
endfunction
set bj_lastCreatedTextTag = CreateTextTag()
call SetTextTagTextBJ(bj_lastCreatedTextTag,text,size)
call SetTextTagPosUnitBJ(bj_lastCreatedTextTag,u,0.00)
call SetTextTagColorBJ(bj_lastCreatedTextTag,red,green,blue,alpha)
call SetTextTagPermanent(bj_lastCreatedTextTag,false)
call SetTextTagFadepoint(bj_lastCreatedTextTag,2)
call SetTextTagLifespan(bj_lastCreatedTextTag,4)
call SetTextTagVelocity(bj_lastCreatedTextTag,0.,0.027)
endfunction
и не нужны никакие локалки типа texttag Label потому что память загромождает и обнулять не нужно. вроде говорить адольф
делаем непостоянным SetTextTagPermanent и потом время жизни ставим SetTextTagLifespan
а SetTextTagVelocity заставляет текст двигаться по оси x и y
а SetTextTagVelocity заставляет текст двигаться по оси x и y
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
плизззз
Знаю только, что Set перед присваиванием можно не писать, но мне так удобнее.
+ если зажать контрл и лкм на бж фунцию то откроется её содержимое
Отредактирован Audes
Код первой функции, в которой тестаг исчезает.
local texttag Label
local location loc = GetUnitLoc(u)
local real z = GetUnitFlyHeight(u)
local real size = 20
call CreateTextTagLocBJ("Крит!",loc,z,size,255,0,0,0)
set Label = GetLastCreatedTextTag()
call SetTextTagVelocityBJ(Label,64,90)
call RemoveLocation(loc)
call PolledWait(2)
call DestroyTextTag(Label)
endfunction
Отредактирован Audes
если не знаешь то юзай TriggerSleepAction()
а вобще прочитай статью полностью а не только локальные переменные
сам глянь начинку
Отредактирован MpW
set bj_lastCreatedTextTag = CreateTextTag()
call SetTextTagTextBJ(bj_lastCreatedTextTag,text,size)
call SetTextTagPosUnitBJ(bj_lastCreatedTextTag,u,0.00)
call SetTextTagColorBJ(bj_lastCreatedTextTag,red,green,blue,alpha)
call SetTextTagPermanent(bj_lastCreatedTextTag,false)
call SetTextTagFadepoint(bj_lastCreatedTextTag,2)
call SetTextTagLifespan(bj_lastCreatedTextTag,4)
call SetTextTagVelocity(bj_lastCreatedTextTag,0.,0.027)
endfunction
а SetTextTagVelocity заставляет текст двигаться по оси x и y