+int logScript(Script& script)
+{
+ Script::Value param = script[1];
+
+ while (!param.isNone())
+ {
+ if (param.isString())
+ {
+ std::string str;
+ param.get(str);
+ logScript("%s", str.c_str());
+ }
+ else if (param.isBoolean())
+ {
+ if (param) logScript("true");
+ else logScript("false");
+
+ }
+ else if (param.isNil())
+ {
+ logScript("nil");
+ }
+ else
+ {
+ logScript("%s (%X)", param.getTypeName().c_str(),
+ param.getIdentifier());
+ }
+
+ param.index++;
+ }
+
+ return 0;
+}
+
+
+void importLogScript(Script& script)
+{
+ script.importFunction("print", (int (*)(Script&))logScript);
+}
+