custom texttag, does this leak?

afisakov

You can change this now in User CP.
I tried my best to write this efficiently, but wanted to know
1) does it leak somewhere
2) is there a way to make it more efficient

Code:
function cconvert takes real percentage returns integer
local integer result = R2I(percentage * 2.55)
if (result < 0) then
   set result = 0
elseif (result > 255) then
   set result = 255
endif
return result
endfunction

function CreateTextunit_sec_speed takes string s, unit u, real dur,real speed,real zOffset,real size,real red,real green,real blue,real transparency returns texttag
set bj_lastCreatedTextTag=CreateTextTag()
call SetTextTagText(bj_lastCreatedTextTag,s,size*0.0023)
call SetTextTagPos(bj_lastCreatedTextTag,GetUnitX(u),GetUnitY(u),zOffset)
call SetTextTagColor(bj_lastCreatedTextTag,cconvert(red),cconvert(green),cconvert(blue),cconvert(100.0-transparency))
call SetTextTagPermanent(bj_lastCreatedTextTag,false)
call SetTextTagVelocity(bj_lastCreatedTextTag,0,speed/1803.)
call SetTextTagLifespan(bj_lastCreatedTextTag,dur)
call SetTextTagFadepoint(bj_lastCreatedTextTag,dur-.5)
return bj_lastCreatedTextTag
endfunction

function ...
if p!=Player(0) then
   set g=goldmod(g,myha[pi])
   call CreateTextunit_sec_speed("|cffFFFF00+"+I2S(g)+"|r",GetTriggerUnit(),2.5,75,0,10,0,80,80,0)
   if GetLocalPlayer()==p then
   call SetTextTagVisibility(bj_lastCreatedTextTag,true)
   else
   call SetTextTagVisibility(bj_lastCreatedTextTag,false)
   endif
   call SetPlayerState(GetOwningPlayer(myha[pi]),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(GetOwningPlayer(myha[pi]),PLAYER_STATE_RESOURCE_GOLD) + g )
endif
... endfunction
 

MyPad

Member
JASS:
function cconvert takes real percentage returns integer
    local integer result = R2I(percentage * 2.55)
    if (result &lt; 0) then
       set result = 0
    elseif (result &gt; 255) then
       set result = 255
    endif
    return result
endfunction

function CreateTextunit_sec_speed takes string s, unit u, real dur,real speed,real zOffset,real size,real red,real green,real blue,real transparency returns texttag
    set bj_lastCreatedTextTag=CreateTextTag()
    call SetTextTagText(bj_lastCreatedTextTag,s,size*0.0023)
    call SetTextTagPos(bj_lastCreatedTextTag,GetUnitX(u),GetUnitY(u),zOffset)
    call SetTextTagColor(bj_lastCreatedTextTag,cconvert(red),cconvert(green),cconvert(blue),cconvert(100.0-transparency))
    call SetTextTagPermanent(bj_lastCreatedTextTag,false)
    call SetTextTagVelocity(bj_lastCreatedTextTag,0,speed/1803.)
    call SetTextTagLifespan(bj_lastCreatedTextTag,dur)
    call SetTextTagFadepoint(bj_lastCreatedTextTag,dur-.5)
    return bj_lastCreatedTextTag
endfunction

function ...
   if p!=Player(0) then
       set g=goldmod(g,myha[pi])
       call CreateTextunit_sec_speed(&quot;|cffFFFF00+&quot;+I2S(g)+&quot;|r&quot;,GetTriggerUnit(),2.5,75,0,10,0,80,80,0)
       if GetLocalPlayer()==p then
           call SetTextTagVisibility(bj_lastCreatedTextTag,true)
       else
           call SetTextTagVisibility(bj_lastCreatedTextTag,false)
       endif
       call SetPlayerState(GetOwningPlayer(myha[pi]),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(GetOwningPlayer(myha[pi]),PLAYER_STATE_RESOURCE_GOLD) + g )
endif
... endfunction


This could be made more efficient by creating local text tags instead of global text tags and using the native
 

jonas

Ultra Cool Member
It's equally efficient. If your map lags it won't be because of this.

JASS:
function cconvert takes real percentage returns integer
    local integer result = R2I(percentage * 2.55)
    if (result &lt; 0) then
       set result = 0
    elseif (result &gt; 255) then
       set result = 255
    endif
    return result
endfunction

function CreateTextunit_sec_speed takes string s, unit u, real dur,real speed,real zOffset,real size,real red,real green,real blue,real transparency returns texttag
    set bj_lastCreatedTextTag=CreateTextTag()
    call SetTextTagText(bj_lastCreatedTextTag,s,size*0.0023)
    call SetTextTagPos(bj_lastCreatedTextTag,GetUnitX(u),GetUnitY(u),zOffset)
    call SetTextTagColor(bj_lastCreatedTextTag,cconvert(red),cconvert(green),cconvert(blue),cconvert(100.0-transparency))
    call SetTextTagPermanent(bj_lastCreatedTextTag,false)
    call SetTextTagVelocity(bj_lastCreatedTextTag,0,speed/1803.)
    call SetTextTagLifespan(bj_lastCreatedTextTag,dur)
    call SetTextTagFadepoint(bj_lastCreatedTextTag,dur-.5)
    return bj_lastCreatedTextTag
endfunction

function ...
   if p!=Player(0) then
       set g=goldmod(g,myha[pi])
       call CreateTextunit_sec_speed(&quot;|cffFFFF00+&quot;+I2S(g)+&quot;|r&quot;,GetTriggerUnit(),2.5,75,0,10,0,80,80,0)
       if GetLocalPlayer()==p then
           call SetTextTagVisibility(bj_lastCreatedTextTag,true)
       else
           call SetTextTagVisibility(bj_lastCreatedTextTag,false)
       endif
       call SetPlayerState(GetOwningPlayer(myha[pi]),PLAYER_STATE_RESOURCE_GOLD,GetPlayerState(GetOwningPlayer(myha[pi]),PLAYER_STATE_RESOURCE_GOLD) + g )
endif
... endfunction




This could be made more efficient by creating local text tags instead of global text tags and using the native
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Helper The Helper:
    It is possible to automate it so that instead of moving to Archive if it has the Science, technology or sci tech tag that it gets archived there instead. I am considering a new Weird News Tag
  • tom_mai78101 tom_mai78101:
    Please do. I'll try to tag the news appropriately when I get the chance.
  • The Helper The Helper:
    The new Discourse forum software we are moving to next does alot with the tags and also hashtags
  • The Helper The Helper:
    OK I found the source of your burrito post stuff it is from Reddit and possibly a facebook post too but definitely reddit
  • The Helper The Helper:
    Happy Monday!
  • The Helper The Helper:
    Happy Tuesday :)
  • Blackveiled Blackveiled:
    Happy Tuesday
  • The Helper The Helper:
    Blackveiled! What is up?
  • The Helper The Helper:
    I saw XXXConan on here the other day I dont know if you remember him
  • The Helper The Helper:
    blasts from the past
  • Blackveiled Blackveiled:
    I remember him, buncha old faces
  • jonas jonas:
    He's a software engineer at a hiring platform now I think
  • The Helper The Helper:
    I wanna know if his mom is still single LOL
  • tom_mai78101 tom_mai78101:
    I need context.
    +1
  • The Helper The Helper:
    Back in the day conan was a young one and his mom was single and I used to tease him that I was going to date his mom and be his daddy - yeah sounds bad now but it was funny at the time
  • The Helper The Helper:
    his mom is my age
  • The Helper The Helper:
    i know right it was pretty funny
  • thewrongvine thewrongvine:
    its pretty funny
    +1
  • tom_mai78101 tom_mai78101:
    Thanks for the context.
    +1
  • The Helper The Helper:
    Happy Hump Day!!!
  • Blackveiled Blackveiled:
    TH old fart gotta have a beer with me one of these days
  • The Helper The Helper:
    I am down anytime Blackveiled
  • Blackveiled Blackveiled:
    count on it then cause you don't live that far from me hah
  • The Helper The Helper:
    really that is cool! I am in Houston in the 77079 area

    Staff online

    Members online

    Affiliates

    Hive Workshop NUON Dome World Editor Tutorials

    Network Sponsors

    Apex Steel Pipe - Buys and sells Steel Pipe.
    Top