What result are you expecting? What is not happening what should, or you wish to have happen?
Did any of the examples help?
//! runtextmacro BuffType("Dummy")
//! runtextmacro SetBuffName("DummyBuff")
//! runtextmacro SetBuffAlignment("NEGATIVE")
//! runtextmacro SetBuffTooltip(" ")
//! runtextmacro SetBuffIcon("None")
//! runtextmacro BuffStruct()
method onCreate takes nothing returns nothing
call BJDebugMsg("Created!")
endmethod
method onDamageRecieved takes nothing returns nothing
call BJDebugMsg("Damaged!")
endmethod
method preDestroy takes nothing returns nothing
call BJDebugMsg("Destroyed!")
endmethod
//! runtextmacro EndBuff()
Should be "onDamageReceived", but aside from that, I can take your buff and put it straight into the demo map and add it in the way the demo map add its buff, and it works 100%.
Let me know if implementing it in the demo map works for you. Remember that all buffs must be located between the BuffStruct head and footer, as per the documentation.
//! runtextmacro BuffType("tossBuff")
//.................
//! runtextmacro BuffStruct()
//.........................
//! runtextmacro EndBuff()
scope tossAbil
//onEffect tossBuff.create(blabla)
endscope
Cheers! Enjoy. :thup:Btw, thx j4l for your resources, they all are great ones :thup:
//! runtextmacro BuffType("Return")
//! runtextmacro SetBuffName("Return")
//! runtextmacro SetBuffAlignment("NEUTRAL")
//! runtextmacro SetBuffTooltip("This unit is being Returned; it will return to its previous location soon.")
//! runtextmacro SetBuffIcon("ReplaceableTextures\\CommandButtons\\BTNDaggerOfEscape.blp")
//! runtextmacro BuffStruct()
method onApply takes nothing returns nothing
call Status[.unit].addSilence()
endmethod
method preDestroy takes nothing returns nothing
call Status[.unit].removeSilence()
endmethod
//! runtextmacro EndBuff()
library A
globals
private integer Dynamic = 0
endglobals
//! runtextmacro BuffType("Return")
//! runtextmacro SetBuffName("Return")
//! runtextmacro SetBuffAlignment("NEUTRAL")
//! runtextmacro SetBuffTooltip("This unit is being Returned; it will return to its previous location soon.")
//! runtextmacro SetBuffIcon("ReplaceableTextures\\CommandButtons\\BTNDaggerOfEscape.blp")
//! runtextmacro BuffStruct()
integer i
method onCreate takes nothing returns nothing
set .i = Dynamic
endmethod
method onApply takes nothing returns nothing
call Status[.unit].modStrBonus(.i)
endmethod
method preDestroy takes nothing returns nothing
call Status[.unit].modStrBonus(-.i)
endmethod
//! runtextmacro EndBuff()
function B takes unit u, integer h returns nothing
set Dynamic = h
call Return.setUnit(u).destroyTimed(20)
endfunction
endlibrary
//! runtextmacro BuffType("Return")
//! runtextmacro SetBuffName("Return")
//! runtextmacro SetBuffAlignment("NEUTRAL")
//! runtextmacro SetBuffTooltip("This unit is being Returned; it will return to its previous location soon.")
//! runtextmacro SetBuffIcon("ReplaceableTextures\\CommandButtons\\BTNDaggerOfEscape.blp")
//! runtextmacro BuffStruct()
private integer i
method operator str= takes value returns nothing
set this.i = value
call Status[.unit].modStrBonus(value)
endmethod
method preDestroy takes nothing returns nothing
call Status[.unit].modStrBonus(-.i)
endmethod
//! runtextmacro EndBuff()
function B takes unit u, integer h returns nothing
local Return k = Return.setUnit(u)
set k.str = h
call k.destroyTimed(20)
endfunction
private static method timedDestroyCallback takes nothing returns nothing
static if LIBRARY_TimerUtils then
local timer t=GetExpiredTimer()
call thistype(GetTimerData(t)).destroy()
call ReleaseTimer(t)
endif
endmethod