" Line 15 : Variable undefined - MENU " <- это моя проблема.. я не понимаю что там надо поменять.. если вставить туда " BlacksmithyIM " или " main ", то он запускает скрипт, но не выполняет действий

Вот сам скрипт! Если Вам не тяжело мне помочь.. то помогите! Я буду очень очень ооочень благодарен!
sub main()
sub BlacksmithyIM()
VAR Exit=0, LastTimer
var chest="0x415C8A87" ; object chest
var forge="0x19A2" ; type forge
var ingot="0x1BF2" ; type ingot
var wwmdo="0x13FE" ; type thing
#var menu ="Blacksmithing Weapons Weapons Swords Swords Katana"
while Exit<>1
UO.DeleteJournal()
LastTimer=UO.Timer()
uo.exec('waitmenu' + menu)
;UO.WaitMenu()
UO.UseType(0x1BF2) ;Инги айрона
while NOT UO.InJournal("You put") AND NOT UO.InJournal("You have failed")
wait(500)
wend
If UO.InJournal("You have failed") then
repeat
wait(100)
until UO.Timer()>=LastTimer+100 ;Время создания дагера
EndIf
UO.FindType(0x13FE,-1,'0x415C8A87')
wait(500)
If UO.GetQuantity('finditem') then
UO.WaitTargetObject('finditem')
wait(500)
UO.UseSkill('Arms Lore')
wait(2000)
UO.WaitTargetType('0x13FE')
wait(500)
UO.UseSkill('Item Identification')
wait(2000)
#UO.setcatchbag(0x415C8A87)
#wait(1000)
#UO.Grab('1','finditem')
#wait(1000)
#UO.unsetcatchbag()
uo.waittargettype(0x13FE)
uo.usefromground(0x19A2)
wait(1000)
Endif
UO.FindType('0x13FE',-1,'0x415C8A87')
If UO.GetQuantity('finditem')<400 then
UO.FindType(0x1BF2,'0x1BF2',0x415C8A87) ;Cундук с ингами
wait(1000)
UO.Grab('50','finditem')
Endif
wait(1000)
wend
end sub