Feynman rules from Lagrangian I know there are already questions about determining the Feynman rules given a particular Lagrangian, but this question is more about finding out whether I understand correctly how to do this. I'm preparing for an exam in QFT, so everybody who will point out to me what I'm doing wrong is welcome.
So, in an old exam about QFT which I use as a preparation we are given the Lagrangian
$$
\mathscr{L} = \partial_\mu \phi^\ast\partial^\mu\phi-m^2\phi^\ast\phi + \frac{1}{2}\partial_\mu\pi\partial^\mu\pi -\sqrt{\lambda}(\phi^\ast\phi)^2+\lambda(\phi^\ast\phi)\pi^2-g(\phi^\ast\phi)\pi
$$
where $\phi$ is a complex and $\pi$ a real scalar field. We are supposed to write down the propagators and vertex rules without proofs.
I think the propagators should be given by
\begin{align}
D_\phi &= \frac{i}{p_\phi^2-m^2+i\epsilon}\qquad &\text{for }\phi\\
D_\pi &= \frac{i}{p_\pi^2+i\epsilon}\qquad &\text{for } \pi.
\end{align}
Now the vertex rule for $\mathscr{L}_1=-\sqrt{\lambda}(\phi^\ast\phi)^2$ should be $i\mathcal{M}_1 = -4i\sqrt{\lambda}$, the rule for $\mathscr{L}_2 = \lambda(\phi^\ast\phi)\pi^2$ should be $i\mathcal{M}_2 = 2i\lambda$ and the one for $\mathscr{L}_3 = -g(\phi^\ast\phi)\pi$ should be given by $i\mathcal{M}_3 = -ig$, where the $\mathcal{M}_i$ are the amplitudes. Are these rules correct? My idea was the following:
For a theory with the interaction Lagrangian $\mathscr{L}_\text{int} = \frac{g}{3!}\phi^3$, the factor in the amplitude coming from the interaction vertex is given by $ig$. The factor $1/3!$ in the Lagrangian is a convention which has its origin in the power of the field $\phi$. So, an interaction between two $\phi$'s and three $\pi$'s, for example, could be written as $\mathscr{L}_\text{int} = \frac{1}{2!3!}\phi^2\pi^3$. Noticing that the factor $1/3!$ in the Lagrangian of the $\phi^3$-theory vanishes in the vertex rule, I naively generalized this to the Lagrangian this question is about. In the Term $\mathscr{L}_1 = -\sqrt{\lambda}(\phi^\ast\phi)^2$, both fields are raised to the second power, making a factor of $2!2!=4$ appear in the vertex rule. Maybe this procedure is dangerous, but I'm wondering if it's just a coincidence that it works in this case. 
I'll be grateful to anybody who can comment on what I did.
 A: First of all, this quite looks like a homework question which usually should not be asked in this form. It would be helpful if you would share your insights into the problem. What were your thoughts? Then people can really comment on what you did. Plus, formulating the problem in your own words is the best way to check what you already understand and what not.
Your Feynman rules are correct. However, you should note that the propagators you wrote down are for a free theory ($\lambda=g=0$), so there will be loop corrections of some higher powers in the coupling constants (Try to count the order!). The numerical prefactors for the vertices arise from taking functional derivatives of the interaction Lagrangian. I.e. you derive the interaction Lagrangian with respect to $\phi, \phi ^*,\pi$. For every derivative you took you get an external line.
Update:
If you just want the vertex prefactors you can simply count the power of each field. In the end these are just combinatorial factors of how to organize the different fields. Note that if your Lagrangian consists of fermionic fields, you have to be a bit more careful with the counting. I suggest you take a look at your favourite QFT book and read a bit up on Wick's theorem.
Usually you split the Lagrangian in a free part (the one without interactions; i.e. take the full Lagrangian and set all couplings $g$, $\lambda$, $...$ to zero) and a part where all the interactions $(\mathcal{L}_{int}=\mathcal{L}-\mathcal{L}_{free}$) are included. The propagator is defined as the two-point function, meaning one particle travelling from one point in space-time to another. But, since the theory under consideration allows for interactions, there is quite much that can happen in between. The full propagator is then given by the sum of all one particle irreducible (1PI) two-point functions (of which there are infinitely many, suppressed by higher powers of the couplings of the corresponding vertices). For example there is a $\phi \phi^* \pi\pi$ vertex. You can connect the $\phi$ and $\phi^*$ points using a propagator and end up with a two-point function for $\pi$ of $\mathcal{O}({\lambda})$. 
