Me puedo equivocar pero siendo novice en la condición
if(Class == Job_Novice) goto L_novice;
L_novice:
if(JobLevel < 40) goto L_nov1;
if(JobLevel >= 40) goto prueba;
Almenos de que tengas editado tu emulador, un novice no podría alcanzar arriba el lvl 40 nos vamos a L_nov1; trata de usar los elseif ; if(JobLevel >= 40) no es necesario ya que si no comple con la primera condicion sera verdadera, además label prueba te llevara a un ciclo finito
como en la linea 115 tienes un close, creo que nunca se leerá la linea 124 todo eso esta de mas
repites lo mismo en la linea 133
152 if(zeny <= @precio) goto no_zeny;
next;
set zeny, zeny-@precio;
next;
156 if (BaseLevel != 1 || JobLevel != 1) goto No_baby; //después de aquí el set zeny, zeny-@precio;
Antes de cada menu un next