diff --git a/system/functions.php b/system/functions.php
index de038e5a..acacd30e 100644
--- a/system/functions.php
+++ b/system/functions.php
@@ -972,12 +972,19 @@ function load_config_lua($filename)
}
else
{
- foreach($result as $tmp_key => $tmp_value) // load values definied by other keys, like: dailyFragsToBlackSkull = dailyFragsToRedSkull
+ foreach($result as $tmp_key => $tmp_value) { // load values defined by other keys, like: dailyFragsToBlackSkull = dailyFragsToRedSkull
$value = str_replace($tmp_key, $tmp_value, $value);
- $ret = @eval("return $value;");
- if((string) $ret == '' && trim($value) !== '""') // = parser error
- {
- throw new RuntimeException('ERROR: Loading config.lua file. Line ' . ($ln + 1) . ' of LUA config file is not valid [key: ' . $key . ']');
+ }
+
+ try {
+ $ret = eval("return $value;");
+ }
+ catch (Throwable $e) {
+ throw new RuntimeException('ERROR: Loading config.lua file. Line: ' . ($ln + 1) . ' - Unable to parse value "' . $value . '" - ' . $e->getMessage());
+ }
+
+ if((string) $ret == '' && trim($value) !== '""') {
+ throw new RuntimeException('ERROR: Loading config.lua file. Line ' . ($ln + 1) . ' is not valid [key: ' . $key . ']');
}
$result[$key] = $ret;
}