That's not a valid syntax try this
You need to use three different insert statements
CREATE PROCEDURE Sp_m_ii_2_kaydet @mtu INT,
@mod INT,
@moid INT,
@uid INT
AS
IF ( @mtu = 3 )
INSERT INTO m_ii2_alisfatura
(muhtur,mturid,muhodm,modmid,uid)
SELECT @mtu,Max(id),@mod,@moid,@uid
FROM m_ii1_vsf_personel
ELSE IF ( @mtu = 2 )
INSERT INTO m_ii2_alisfatura
(muhtur,mturid,muhodm,modmid,uid)
SELECT @mtu,Max(id),@mod,@moid,@uid
FROM m_ii1_vsf_firma
ELSE IF ( @mtu = 4 )
INSERT INTO m_ii2_alisfatura
(muhtur,mturid,muhodm,modmid,uid)
SELECT @mtu,Max(id),@mod,@moid,@uid
FROM m_ii1_vsf_taseron
or Use union all by filtering the data in where clause
CREATE PROCEDURE Sp_m_ii_2_kaydet @mtu INT,
@mod INT,
@moid INT,
@uid INT
AS
INSERT INTO m_ii2_alisfatura
(muhtur,mturid,muhodm,modmid,uid)
SELECT @mtu,Max(id),@mod,@moid,@uid
FROM m_ii1_vsf_personel
WHERE @mtu = 3
UNION ALL
SELECT @mtu,Max(id),@mod,@moid,@uid
FROM m_ii1_vsf_firma
WHERE @mtu = 2
UNION ALL
SELECT @mtu,Max(id),@mod,@moid,@uid
FROM m_ii1_vsf_taseron
WHERE @mtu = 4
or even case statement
CREATE PROCEDURE Sp_m_ii_2_kaydet @mtu INT,
@mod INT,
@moid INT,
@uid INT
AS
INSERT INTO m_ii2_alisfatura
(muhtur,mturid,muhodm,modmid,uid)
SELECT @mtu,CASE
WHEN @mtu = 3 THEN (SELECT Max(id)
FROM m_ii1_vsf_personel)
WHEN @mtu = 2 THEN (SELECT Max(id)
FROM m_ii1_vsf_firma)
WHEN @mtu = 4 THEN (SELECT Max(id)
FROM m_ii1_vsf_taseron)
END,@mod,@moid,@uid
Note : First two queries will not insert any record if atleast one condition is not matching. But the case statement will insert data will null value even though none of the condition is matched