Many DLL scripts will be capable with ArcEmu even if they have different revision. But ArcEmu will not load these scripts. If you want to load them anyway you have to do little code change.
Warning : this will not make scripts more capable. This will just remove version check so some old scripts might not work.
And always remember , it is better to re-compile script rather than using old version.
File : \trunk\src\arcemu-world\ScriptMGR.cpp
Find (Line 110)
Code:
if(SCRIPTLIB_LOPART(version) == SCRIPTLIB_VERSION_MINOR && SCRIPTLIB_HIPART(version) == SCRIPTLIB_VERSION_MAJOR)
{
if( stype & SCRIPT_TYPE_SCRIPT_ENGINE )
{
printf("v%u.%u : ", SCRIPTLIB_HIPART(version), SCRIPTLIB_LOPART(version));
printf("delayed load.\n");
ScriptingEngine se;
se.Handle = mod;
se.InitializeCall = rcall;
se.Type = stype;
ScriptEngines.push_back( se );
}
else
{
_handles.push_back(((SCRIPT_MODULE)mod));
printf("v%u.%u : ", SCRIPTLIB_HIPART(version), SCRIPTLIB_LOPART(version));
rcall(this);
printf("loaded.\n");
}
++count;
}
else
{
FreeLibrary(mod);
printf("version mismatch!\n");
}
Replace By
Code:
if( stype & SCRIPT_TYPE_SCRIPT_ENGINE )
{
printf("v%u.%u : ", SCRIPTLIB_HIPART(version), SCRIPTLIB_LOPART(version));
printf("delayed load.\n");
ScriptingEngine se;
se.Handle = mod;
se.InitializeCall = rcall;
se.Type = stype;
ScriptEngines.push_back( se );
}
else
{
_handles.push_back(((SCRIPT_MODULE)mod));
printf("v%u.%u : ", SCRIPTLIB_HIPART(version), SCRIPTLIB_LOPART(version));
rcall(this);
printf("loaded.\n");
}
++count;