There are a fair few reasons to why to use script languages over compiled languages for some mechanics in the system. At first, one should think about: what is going to be implemented, is it "core mechanics" or "superficial mechanics"?
Core mechanics are considered the substantial code elements that should rarely make a change or update on the internal structure, so it should be assumed to be "final" when first implemented. Naturally, things may not go right at first, that code was planned to do something at first but something else popped up mid-development and changes are to take place, but this doesn't come in case here. E. g. are the individual concept elements in MapleStory: World, Channel, Character, etc.
And then, as you may have guessed, the "superficial mechanics", that should be some sporadic feature that may change anytime. Events are based on this concept. Also belonging here, codes that serve a very specific purpose, and make no sense to be in a "core level". Readily: NPCs, reactors and such.
Hope that answered your question.
:
EDIT:
I see I forgot to mention when to use script languages or compiled languages. Compiled languages, due to their proximity on machine language, are known to run much faster than interpreted/script language, thus suiting better core code.
Interpreted/script language, in counterpart, doesn't need to compile/can be compiled at runtime, suiting much better volatile code.