Is `externalScriptPath` necessary?
The logic in `CCFileUtils::fullPathForFilename` will check whether the `path` passed in is a relative or absolute path.
Therefore, i think 
<pre>
if (this->externalScriptPath == "") {
        const char * tmp;

        if (path[0] == '/') {
            tmp = path;
        } else {
            cocos2d::CCFileUtils * futil = cocos2d::CCFileUtils::sharedFileUtils();
            tmp = futil->fullPathFromRelativePath(path);

            if (!tmp) {
                CCLOG("!tmp. returning JS_FALSE");
                return JS_FALSE;
            }
        }

        rpath = tmp;
    } else {
        cocos2d::CCFileUtils * futil = cocos2d::CCFileUtils::sharedFileUtils();
        rpath = futil->fullPathForFilename(path);
    }
</pre>
is not needed.
PLZ look at the implementation of `CCFileUtils::fullPathForFilename`
<pre>
std::string CCFileUtils::fullPathForFilename(const char* pszFileName)
{
    CCAssert(pszFileName != NULL, "CCFileUtils: Invalid path");
    
    std::string strFileName = pszFileName;
    if (isAbsolutePath(pszFileName))   // We check whether the path is an absolute path here.
    {
        //CCLOG("Return absolute path( %s ) directly.", pszFileName);
        return pszFileName;
    }
</pre>