Hello again.
First of all, as all your actions are custom script lines, maybe it would be easier for you to convert this specific trigger to custom text (from the Edit Menu of the Trigger Editor), to make it easier to work with.
Next for your errors, you need to look inside blizzard.j to see how BJ functions work, and what variables they take as arguments.
Here is the CreateUnitsAtLoc function (it is a BJ function even if it has no suffix, because it is not a native) :
JASS:
function CreateNUnitsAtLoc takes integer count, integer unitId, player whichPlayer, location loc, real face returns group
call GroupClear(bj_lastCreatedGroup)
loop
set count = count - 1
exitwhen count < 0
call CreateUnitAtLocSaveLast(whichPlayer, unitId, loc, face)
call GroupAddUnit(bj_lastCreatedGroup, bj_lastCreatedUnit)
endloop
return bj_lastCreatedGroup
endfunction
Looking at the variables it takes, you can see that you are using the wrong ones : you pass it a playerid rather than a player, and the location coordinates (reals) instead of the location itself.
Your line should look like
call CreateNUnitsAtLoc( 1, GetUnitTypeId(uu), p, l, bj_UNIT_FACING )
Now let's look at UnitApplyTimedLifeBJ :
JASS:
function UnitApplyTimedLifeBJ takes real duration, integer buffId, unit whichUnit returns nothing
call UnitApplyTimedLife(whichUnit, buffId, duration)
endfunction
This one seems alright, but for some reason you put the unit variable between brackets, so this might be the cause.
But I can see another line that is just completely wrong :
-
Custom script: call IssueTargetOrderBJ( uuu), "AbilityID", (uu)
For some strange reason, you added brackets to the two unit variables, but removed the brackets for the function call !!!!
Also the function does not use the ability id but the order string of the ability (you can find it in the object editor, in your ability field called "Text - Order string - Use / Turn On".
It should be
all IssueTargetOrderBJ( uuu, "*put your ability order string here*", uu)
Hope this will help.