This commit is contained in:
lenheart
2025-03-27 20:24:19 +08:00
parent 21f64fbd9e
commit f2992c2a86
214 changed files with 18814 additions and 316 deletions

View File

@@ -803,19 +803,6 @@ void processDirectory(const std::string &directoryPath, std::unordered_map<std::
sq_call(v, 2, SQFalse, SQTrue); // calls the function
}
sq_settop(v, top); // restores the original stack size
// // 文件有变动,写入文件路径
// std::ofstream outputFile("/dp_s/auto_reload.dat", std::ios_base::app);
// if (outputFile.is_open())
// {
// std::string ins = "dofile(\"" + filePath + "\");";
// outputFile << ins << std::endl;
// outputFile.close();
// }
// else
// {
// std::cerr << "无法创建输出文件。" << std::endl;
// }
}
}
else
@@ -1001,6 +988,68 @@ static SQInteger L_HookEquimentUseJewel(HSQUIRRELVM v)
return 0;
}
static SQInteger LongLongOperation(HSQUIRRELVM v)
{
const SQChar *valuebuf1;
sq_getstring(v, 2, &valuebuf1);
long long value1 = std::atoll(valuebuf1);
const SQChar *valuebuf2;
sq_getstring(v, 3, &valuebuf2);
long long value2 = std::atoll(valuebuf2);
const SQChar *TypeBuf;
sq_getstring(v, 4, &TypeBuf);
std::string Type(TypeBuf);
std::string RetString = "";
if (Type == "+")
{
RetString = std::to_string(value1 + value2);
}
else if (Type == "-")
{
RetString = std::to_string(value1 - value2);
}
else if (Type == "*")
{
RetString = std::to_string((static_cast<double>(value1) * static_cast<double>(value2)));
}
else if (Type == "/")
{
RetString = std::to_string((static_cast<double>(value1) / static_cast<double>(value2)));
}
else if (Type == "%")
{
RetString = std::to_string(value1 % value2);
}
else if (Type == "format")
{
if (value1 < 1000)
{
RetString = std::to_string(value1);
}
else if (value1 < 1000000)
{
RetString = std::to_string(value1 / 1000.0) + "k";
}
else if (value1 < 1000000000)
{
RetString = std::to_string(value1 / 1000000.0) + "M";
}
else if (value1 < 1000000000000LL)
{
RetString = std::to_string(value1 / 1000000000.0) + "G";
}
else
{
RetString = std::to_string(value1 / 1000000000000.0) + "T";
}
}
sq_pushstring(v, RetString.c_str(), -1);
return 1;
}
static void RegisterGame(HSQUIRRELVM v)
{
getConfigPath(szGamePath, sizeof(szGamePath));
@@ -1071,4 +1120,6 @@ static void RegisterGame(HSQUIRRELVM v)
register_World_func(v, AutoReload, _SC("Sq_AutoReload"));
// Hook装备镶嵌
register_World_func(v, L_HookEquimentUseJewel, _SC("L_HookEquimentUseJewel"));
//大数字计算
register_World_func(v, LongLongOperation, _SC("Sq_LongLongOperation"));
}