If the quest is not working caused by a script error it might be line 49:
if(countitem(7226) < 8 || countitem(1061) < 100 || countitem(7188) < 1000 || countitem(4299) < 2000 || countitem(7036) < 10 || countitem(7450) < 3 || countitem(7300) < 10 || countitem(2507) < 15 || countitem(1614) < 1 || countitem(1737) < 1 || ) goto L_noItems;
Try to remove the last or-operator (yes, the ||) since there's no statement after it.
The rest should be fine, as far as I can see.
Maybe you should try to leave that label-coding and script a bit more with select and switches instead of menu, it's more well-arranged and others can read your script better.
Also: Please write more about the problem, if the NPC isn't working, if the mapserver gives you an error message or if the NPC isn't doing what you expect/want him to be doing.