[cut=ф-ия с созданием даммика и его последующего каста]
function AbUnit takes unit u,integer id ,integer did,integer lvl,real time,integer order,real x,real y returns nothing
local unit d=CreateUnit(GetOwningPlayer(u),did,x,y,bj_UNIT_FACING)
call UnitApplyTimedLife(d,'BTLF',time)
call UnitAddAbility(d,id)
call SetUnitAbilityLevel(d,id,lvl)
call IssuePointOrderById(d,order,x,y)
d=null
endfunction
[/cut]
[cut=ф-ия на запрет ношения двух предметов одного уровня]
void NTI(unit u,item i,player p,int lvl,string msg)
{
int id=0
if GetItemLevel(i) == lvl
{
whilenot id>6
{
if GetItemLevel(UnitItemInSlot(u,id-1)) == lvl and UnitItemInSlot(u,id-1) != i
{
SetItemDropID(i, GetUnitTypeId(u))
CreateItem(GetItemTypeId(i),GetWidgetX(u),GetWidgetY(u))
DisplayTextToPlayer(p,0,0,m sg)
}
id++
}
}
u=null
i=null
p=null
}
[/cut]
[cut=ф-ия выше на JASS2]
function NTI takes unit u,item i,player p,integer lvl,string msg returns nothing
local integer id=0
if GetItemLevel(i) == lvl then
loop
exitwhen id > 6
if GetItemLevel(UnitItemInSlot(u, id - 1)) == lvl and UnitItemInSlot(u, id - 1) != i then
call SetItemDropID(i, GetUnitTypeId(u))
call CreateItem(GetItemTypeId(i), GetWidgetX(u), GetWidgetY(u))
call DisplayTextToPlayer(p, 0, 0, msg)
endif
set id=id + 1
endloop
endif
set u=null
set i=null
set p=nul
endfunction
» Sniper's Fury / Sniper's Fury
Я так и знал. После моих постов темы умирают...
» Archers of the Island / Archers of the Island
» Symmetrical War / Symmetrical War
» Symmetrical War / Symmetrical War
» Memory of Sacred Tears 2 / Memory of Sacred Tears 2
» Memory of Sacred Tears 2 / Ты угрожаешь мне?
» WarCraft 3 / Библиотека функций
» WarCraft 3 / Библиотека функций
» WarCraft 3 / Библиотека функций