[plaese write only script triggering menu, because rest i know]
thanks
scriptkey=14,Call
on:keyhit14 { ai_mode "self","goto","unit","1"; }
scriptkey=0,Menu
on:keyhit00 { event "menu","global"; }
on:menu { cscr "path/path/title.s2s"; }
on:dig { diary "hatrshuit island!","maps\adventure\map02.s2s","diary01"; 	free "self"; }
script=start on:use { exchange "self"; } 	on:hit { 		if (getplayerweapon()==30){ 			msg "Press the right mousebutton",3; 			msg "to build here!",3; 		} elseif (getplayerweapon()==3030){ $s=currentid(); if (getstored "object",$s,($ireq1)<$areq1){ if (playergotitem($ireq1)>0){ freestored "unit",1,$ireq1,1; $id=create("item",$ireq1,0,0,1); store $id,"object",$s; freevar "$id"; if (playergotitem($ireq1)>0){ freestored "unit",1,$ireq1,1; $id=create("item",$ireq1,0,0,1); store $id,"object",$s; freevar "$id"; } } } elseif (getstored "object",$s,($ireq2)<$areq2){ if (playergotitem($ireq2)>0){ freestored "unit",1,$ireq1,1; $id=create("item",$ireq2,0,0,1); store $id,"object",$s; freevar "$id"; if (playergotitem($ireq1)>0){ freestored "unit",1,$ireq1,1; $id=create("item",$ireq1,0,0,1); store $id,"object",$s; freevar "$id"; } } } } else{ msg "I don't have enough materials!",3; 		speech "negative"; 		 } script=end
script=start 	unlockbuilding 3017; on:buildstart { freevar "$ireq1","$areq1","$ireq2","$areq2", $ireq1=24 $areq1=10 $ireq2=23 $areq2=15 } script=end