local unit h = hero
local string s = GetHeroProperName(h)
local string s2
local unit h2
local integer str = GetHeroStr(h,false)
local integer agi = GetHeroAgi(h,false)
local integer int = GetHeroInt(h,false)
local integer lvl = GetHeroLevel(h)
//get items... etc... anything else you need
loop
exitwhen s2 == s
set h2 = CreateUnit(player,GetUnitTypeId(h),x,y,270)
set s2 = GetHeroProperName(h)
//if/then block, if s2 != s then remove h2 blah blah
endloop
//add items.. attributes.. etc.. then null unit vars..