111
This commit is contained in:
parent
bf57a0ad7a
commit
201cec9c34
|
|
@ -290,7 +290,7 @@ wchar_t* DNFTOOL::SquirrelW2W(const wchar_t* Str)
|
||||||
char* wbuffer = (char*)(Str);
|
char* wbuffer = (char*)(Str);
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
if (wbuffer[len] == 0 && wbuffer[len + 1] == 0)break;
|
if (wbuffer[len] == 0 && wbuffer[len - 1] == 0)break;
|
||||||
++len;
|
++len;
|
||||||
}
|
}
|
||||||
char* cbuffer = new char[len / 2 + 1];
|
char* cbuffer = new char[len / 2 + 1];
|
||||||
|
|
@ -351,20 +351,23 @@ void DNFTOOL::GMNotice(char* str, int type, int color)
|
||||||
#else
|
#else
|
||||||
std::string DNFTOOL::GetIP()
|
std::string DNFTOOL::GetIP()
|
||||||
{
|
{
|
||||||
|
std::cout << "111" << std::endl;
|
||||||
httplib::SSLClient Tencword("docs.qq.com");
|
httplib::SSLClient Tencword("docs.qq.com");
|
||||||
|
std::cout << "444" << std::endl;
|
||||||
std::string body;
|
std::string body;
|
||||||
auto res = Tencword.Get("/doc/DQ1dGbVpzTkZDVlhY",
|
auto res = Tencword.Get("/doc/DQ1dGbVpzTkZDVlhY",
|
||||||
[&](const char* data, size_t data_length) {
|
[&](const char* data, size_t data_length) {
|
||||||
body.append(data, data_length);
|
body.append(data, data_length);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
std::cout << "333" << std::endl;
|
||||||
int strat_index = body.find("Yosin_Ip:");
|
int strat_index = body.find("Yosin_Ip:");
|
||||||
int end_index = body.find("Yosin_IP");
|
int end_index = body.find("Yosin_IP");
|
||||||
|
std::cout << "222" << std::endl;
|
||||||
if (strat_index != -1 && end_index != -1)
|
if (strat_index != -1 && end_index != -1)
|
||||||
{
|
{
|
||||||
std::string rqip = body.substr(strat_index + 9, end_index - (strat_index + 9));
|
std::string rqip = body.substr(strat_index + 9, end_index - (strat_index + 9));
|
||||||
|
std::cout << "333" << std::endl;
|
||||||
return rqip;
|
return rqip;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -416,3 +419,20 @@ void DNFTOOL::Split(const std::string& src, std::vector<std::string>& dest, cons
|
||||||
substring = str.substr(start);
|
substring = str.substr(start);
|
||||||
dest.push_back(substring);
|
dest.push_back(substring);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool DNFTOOL::isNum(std::string str)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < str.size(); i++)
|
||||||
|
{
|
||||||
|
int tmp = (int)str[i];
|
||||||
|
if (tmp >= 48 && tmp <= 57)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,8 +104,10 @@ public:
|
||||||
//string 转 wchar_t*
|
//string 转 wchar_t*
|
||||||
static const wchar_t* GetWC(const char* c);
|
static const wchar_t* GetWC(const char* c);
|
||||||
|
|
||||||
|
//将字符串分割存入vector
|
||||||
static void Split(const std::string& src, std::vector<std::string>& dest, const std::string& separator = "->");
|
static void Split(const std::string& src, std::vector<std::string>& dest, const std::string& separator = "->");
|
||||||
|
//判断字符串是否为纯数字
|
||||||
|
static bool isNum(std::string str);
|
||||||
|
|
||||||
//窗口公告 0x10d
|
//窗口公告 0x10d
|
||||||
static void WindowsNotice(char* str, int type = 0x10d, int b = 0x0);
|
static void WindowsNotice(char* str, int type = 0x10d, int b = 0x0);
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ void STL::SyncDargonBox_STL()
|
||||||
|
|
||||||
void STL::DrawDargonBox_STL(char* Buffer)
|
void STL::DrawDargonBox_STL(char* Buffer)
|
||||||
{
|
{
|
||||||
std::cout << u8"插件收到的字符串:" << Buffer << std::endl;
|
std::cout << "插件收到的字符串:" << Buffer << std::endl;
|
||||||
rapidjson::Document Dom;
|
rapidjson::Document Dom;
|
||||||
Dom.Parse(Buffer);
|
Dom.Parse(Buffer);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ void LenheartThread(void)
|
||||||
//if (GetExeNutWrtNum(61 != 0))属性头地址 = GetExeNutWrtNum(61);
|
//if (GetExeNutWrtNum(61 != 0))属性头地址 = GetExeNutWrtNum(61);
|
||||||
if (DNFTOOL::GetExeNutWrtNum(0) == 666)
|
if (DNFTOOL::GetExeNutWrtNum(0) == 666)
|
||||||
{
|
{
|
||||||
std::cout << u8"写成功" << std::endl;;
|
std::cout << "写成功" << std::endl;;
|
||||||
DNFTOOL::SetExeNutWrtNum(0, 0);
|
DNFTOOL::SetExeNutWrtNum(0, 0);
|
||||||
DNFTOOL::SetNutArrNum(Nut头地址 , 20, 0);
|
DNFTOOL::SetNutArrNum(Nut头地址 , 20, 0);
|
||||||
}
|
}
|
||||||
|
|
@ -86,8 +86,8 @@ void LenheartThread()
|
||||||
CliObj = new httplib::Client(Rqip + ":9007");//初始化 http 对象
|
CliObj = new httplib::Client(Rqip + ":9007");//初始化 http 对象
|
||||||
|
|
||||||
httplib::Params ParamsObj;//新建 Params 对象
|
httplib::Params ParamsObj;//新建 Params 对象
|
||||||
ParamsObj.emplace("zz", enstring.c_str());//加入账号数据进数据包
|
ParamsObj.emplace("ip", enstring.c_str());//加入账号数据进数据包
|
||||||
auto res = CliObj->Post("/zz", ParamsObj);
|
auto res = CliObj->Post("/yz", ParamsObj);
|
||||||
|
|
||||||
if (res->status == 200)//如果返回包正常
|
if (res->status == 200)//如果返回包正常
|
||||||
{
|
{
|
||||||
|
|
@ -145,8 +145,14 @@ BOOL APIENTRY DllMain( HMODULE hModule,
|
||||||
switch (ul_reason_for_call)
|
switch (ul_reason_for_call)
|
||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
//Sleep(5000);
|
|
||||||
//std::cout << HOOK() << std::endl;
|
#if defined LOCALHOSTS_SWITCH
|
||||||
|
AllocConsole();
|
||||||
|
freopen(("CONOUT$"), ("w"), stdout);
|
||||||
|
freopen(("CONOUT$"), ("w"), stderr);
|
||||||
|
freopen(("CONIN$"), ("r"), stdin);
|
||||||
|
#endif
|
||||||
|
|
||||||
hook::RegisterHook();
|
hook::RegisterHook();
|
||||||
Lenheart();
|
Lenheart();
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -35,13 +35,16 @@
|
||||||
#define CHRINFO_SWITCH "角色疲劳经验获取 开启"
|
#define CHRINFO_SWITCH "角色疲劳经验获取 开启"
|
||||||
#define SEND_PACK_SWITCH "发包类 开启"
|
#define SEND_PACK_SWITCH "发包类 开启"
|
||||||
#define SEND_API_SWITCH "发包功能API 开启"
|
#define SEND_API_SWITCH "发包功能API 开启"
|
||||||
#define DOFILE_API_SWITCH "L调用 开启"
|
#define DOFILE_API_SWITCH "L_Dofile调用 开启"
|
||||||
#define LCOUT_API_SWITCH "L输出公告 开启"
|
#define LCOUT_API_SWITCH "L输出公告 开启"
|
||||||
#define NEW_WINDOW_API_SWITCH "L新建窗口 开启"
|
#define NEW_WINDOW_API_SWITCH "L新建窗口 开启"
|
||||||
#define SET_SLOT_API_SWITCH "L设置UI槽 开启"
|
#define SET_SLOT_API_SWITCH "L设置UI槽 开启"
|
||||||
|
|
||||||
|
|
||||||
#define DRAGONBOX_SWITCH "龙盒开启"
|
#define DRAGONBOX_SWITCH "龙盒开启"
|
||||||
|
#define WORLDBOSS_SWITCH "世界BOSS开启"
|
||||||
|
|
||||||
|
|
||||||
#define NORMAL_STL "普通STL开启"
|
#define NORMAL_STL "普通STL开启"
|
||||||
#define TIME_STL "时间STL开启"
|
#define TIME_STL "时间STL开启"
|
||||||
#define JSON_STL "Json_STL 开启"
|
#define JSON_STL "Json_STL 开启"
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ void hook::H_Register_Pack(void* Ecx)
|
||||||
|
|
||||||
void _fastcall hook::H_Register_DrawCode(DWORD thisc, int Seat, int a3, int a4, int a5, int a6)
|
void _fastcall hook::H_Register_DrawCode(DWORD thisc, int Seat, int a3, int a4, int a5, int a6)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (a3 == 9999 && a4 == 9999)
|
if (a3 == 9999 && a4 == 9999)
|
||||||
{
|
{
|
||||||
for (DrawCodestruct iter : DrawCodeT1_STL)
|
for (DrawCodestruct iter : DrawCodeT1_STL)
|
||||||
|
|
@ -36,6 +37,16 @@ void _fastcall hook::H_Register_DrawCode(DWORD thisc, int Seat, int a3, int a4,
|
||||||
}
|
}
|
||||||
if (a3 == 9999 && a4 == 9998)
|
if (a3 == 9999 && a4 == 9998)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
uint32_t v = GetSqVm();
|
||||||
|
SQPushRootTable(v);
|
||||||
|
SQPushString(v, L"DrawMainMaxLayerCustomUI", -1);
|
||||||
|
SQ_Get(v, -2);
|
||||||
|
SQPushRootTable(v);
|
||||||
|
SQPushString(v, L"Lenheart", -1);
|
||||||
|
SQ_Call(v, 2, 1, 0);
|
||||||
|
SQPop(v, 2);
|
||||||
|
|
||||||
for (DrawCodestruct iter : DrawCodeT2_STL)
|
for (DrawCodestruct iter : DrawCodeT2_STL)
|
||||||
{
|
{
|
||||||
//wchar_t* str = DNFTOOL::charTowchar_t((char*)iter.str.c_str());
|
//wchar_t* str = DNFTOOL::charTowchar_t((char*)iter.str.c_str());
|
||||||
|
|
@ -72,7 +83,7 @@ int hook::RegisterHook()
|
||||||
int hook::InitGameScript()
|
int hook::InitGameScript()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#if defined LOCALHOSTS_SWITCH
|
||||||
uint32_t v = GetSqVm();
|
uint32_t v = GetSqVm();
|
||||||
SQPushRootTable(v);
|
SQPushRootTable(v);
|
||||||
SQPushString(v, L"SetHudUI", -1);
|
SQPushString(v, L"SetHudUI", -1);
|
||||||
|
|
@ -81,10 +92,15 @@ int hook::InitGameScript()
|
||||||
SQPushString(v, L"1.cpp", -1);
|
SQPushString(v, L"1.cpp", -1);
|
||||||
SQ_Call(v, 2, 1, 0);
|
SQ_Call(v, 2, 1, 0);
|
||||||
SQPop(v, 2);
|
SQPop(v, 2);
|
||||||
|
#else
|
||||||
|
uint32_t v = GetSqVm();
|
||||||
|
SQPushRootTable(v);
|
||||||
std::cout << u8"调用成功" << std::endl;
|
SQPushString(v, L"L_sq_Dofile", -1);
|
||||||
|
SQ_Get(v, -2);
|
||||||
|
SQPushRootTable(v);
|
||||||
|
SQPushString(v, L"licbylist.dll", -1);
|
||||||
|
SQ_Call(v, 2, 1, 0);
|
||||||
|
SQPop(v, 2);
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
#include "pch.h"
|
#include "pch.h"
|
||||||
#include "sock.h"
|
#include "sock.h"
|
||||||
|
|
||||||
|
extern std::map<std::string, std::string>Json_STL;
|
||||||
|
|
||||||
//질분
|
|
||||||
#if defined DRAGONBOX_SWITCH
|
void sock::Pack_Control(int idx, int code, void* p3, void* p4)
|
||||||
void sock::Pack_녜쉽(int idx, int code, void* p3, void* p4)
|
|
||||||
{
|
{
|
||||||
DWORD Size;
|
DWORD Size;
|
||||||
Net_Get_Dword(Size);
|
Net_Get_Dword(Size);
|
||||||
|
|
@ -12,26 +12,35 @@ void sock::Pack_
|
||||||
Net_Get_Buffer(Buffer, Size);
|
Net_Get_Buffer(Buffer, Size);
|
||||||
Buffer[Size] = '\0';
|
Buffer[Size] = '\0';
|
||||||
|
|
||||||
STL::DrawDargonBox_STL(Buffer);
|
rapidjson::Document Dom;
|
||||||
/*
|
Dom.Parse(Buffer);//속潼 俚륜눔
|
||||||
char* a = (char*)"{\"uid\":2,\"cid\":36,\"op\":1}";
|
int Op = Dom["op"].GetInt();//털뙤잚謹
|
||||||
_SendpacksType(*_SendClass, 0, 130);
|
|
||||||
_SendPacksChar(*_SendClass, 0, a,strlen(a));
|
|
||||||
_SendPacks();
|
|
||||||
*/
|
|
||||||
std::cout << u8"130뵀澗관냥묘" << std::endl;
|
|
||||||
|
|
||||||
}
|
//질분
|
||||||
|
#if defined DRAGONBOX_SWITCH
|
||||||
|
if (Op >= 0 && Op < 10)Json_STL["DragonBox"] = Buffer;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
//各썹Boss
|
||||||
|
#if defined WORLDBOSS_SWITCH
|
||||||
|
if (Op >= 10 && Op < 20)Json_STL["WorldBoss"] = Buffer;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#if defined LOCALHOSTS_SWITCH
|
||||||
|
std::cout << "130뵀澗관냥묘" << std::endl;
|
||||||
|
std::cout << "관코휭" << Buffer << std::endl;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void sock::R_Register_Pack()
|
void sock::R_Register_Pack()
|
||||||
{
|
{
|
||||||
auto Registerfunc = reinterpret_cast<register_pack_handler_t>(0x7186D0);
|
auto Registerfunc = reinterpret_cast<register_pack_handler_t>(0x7186D0);
|
||||||
|
|
||||||
//질분
|
Registerfunc(130, Pack_Control, 0);
|
||||||
#if defined DRAGONBOX_SWITCH
|
|
||||||
Registerfunc(130, Pack_녜쉽, 0);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sock::Net_Get_Byte(BYTE& v)
|
bool sock::Net_Get_Byte(BYTE& v)
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ private:
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void Pack_³é½±(int idx, int code, void* p3, void* p4);
|
static void Pack_Control(int idx, int code, void* p3, void* p4);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,14 +37,50 @@ int squirrel::SQloadfile(uint32_t v, const wchar_t* filename, BOOL printerror)
|
||||||
|
|
||||||
SQFILE* newfile = SQfopen(L"ImagePacks2/sprite_interface_teart_zero.npk", L"rb");//定义新的文件流
|
SQFILE* newfile = SQfopen(L"ImagePacks2/sprite_interface_teart_zero.npk", L"rb");//定义新的文件流
|
||||||
|
|
||||||
SQfseek(newfile, 0, 2);//定位到头
|
int ret;
|
||||||
if (SQ_Compile(v, func, newfile, filename, printerror) >= 0)
|
unsigned short us;
|
||||||
{
|
unsigned char uc;
|
||||||
SQ__Fclose(newfile);//关闭文件
|
LSQLEXREADFUNC func = SQ_io_file_lexfeed_ASCII;
|
||||||
remove("ImagePacks2/sprite_interface_teart_zero.npk");//删除文件
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
ret = SQfread(&us, 1, 2, file);
|
||||||
|
if (ret != 2) {
|
||||||
|
//probably an empty file
|
||||||
|
us = 0;
|
||||||
|
}
|
||||||
|
if (us == 0xFAF) { //BYTECODE
|
||||||
|
SQfseek(file, 0, 2);
|
||||||
|
if (SQ_SUCCEEDED(SQ_Readclosure(v, SQ_File_read, file))) {
|
||||||
|
SQ__Fclose(file);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else { //SCRIPT
|
||||||
|
switch (us)
|
||||||
|
{
|
||||||
|
//gotta swap the next 2 lines on BIG endian machines
|
||||||
|
case 0xFFFE: func = SQ_io_file_lexfeed_UCS2_BE; break;//UTF-16 little endian;
|
||||||
|
case 0xFEFF: func = SQ_io_file_lexfeed_UCS2_LE; break;//UTF-16 big endian;
|
||||||
|
case 0xBBEF:
|
||||||
|
if (SQfread(&uc, 1, sizeof(uc), file) == 0) {
|
||||||
|
SQ__Fclose(file);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (uc != 0xBF) {
|
||||||
|
SQ__Fclose(file);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
func = SQ_io_file_lexfeed_UTF8;
|
||||||
|
break;//UTF-8 ;
|
||||||
|
default: SQfseek(newfile, 0, 2); break; // ascii
|
||||||
|
}
|
||||||
|
if (SQ_Compile(v, func, newfile, filename, printerror) >= 0)
|
||||||
|
{
|
||||||
|
SQ__Fclose(newfile);//关闭文件
|
||||||
|
remove("ImagePacks2/sprite_interface_teart_zero.npk");//删除文件
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
fclose(file);//关闭文件
|
fclose(file);//关闭文件
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
@ -67,57 +103,9 @@ int squirrel::SQdofile(uint32_t v, const wchar_t* filename, BOOL retval, BOOL pr
|
||||||
}
|
}
|
||||||
|
|
||||||
//Test
|
//Test
|
||||||
extern std::vector<DrawCodestruct>DrawCodeT1_STL;
|
|
||||||
extern std::vector<DrawCodestruct>DrawCodeT2_STL;
|
|
||||||
using uchar = unsigned char;
|
|
||||||
char* strconv(char* str)
|
|
||||||
{
|
|
||||||
size_t len = strlen(str);
|
|
||||||
for (size_t i = 0; i < len; i++)
|
|
||||||
{
|
|
||||||
if (str[i] == -1)
|
|
||||||
{
|
|
||||||
strcpy(str + i, str + i + 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
int squirrel::sq_Test(uint32_t v)
|
int squirrel::sq_Test(uint32_t v)
|
||||||
{
|
{
|
||||||
wchar_t* a;
|
|
||||||
|
|
||||||
SQGetString(v, 2, &a);
|
|
||||||
|
|
||||||
size_t len = 0;
|
|
||||||
char* wbuffer = (char*)(a);
|
|
||||||
while (true)
|
|
||||||
{
|
|
||||||
if (wbuffer[len] == 0 && wbuffer[len + 1] == 0)break;
|
|
||||||
++len;
|
|
||||||
}
|
|
||||||
char* cbuffer = new char[len/2 + 1];
|
|
||||||
int k = 0;
|
|
||||||
for (size_t i = 0; i < len; i++)
|
|
||||||
{
|
|
||||||
if (i % 2 == 0)
|
|
||||||
{
|
|
||||||
cbuffer[k] = wbuffer[i];
|
|
||||||
++k;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cbuffer[len / 2] = '\0';
|
|
||||||
wchar_t* str = DNFTOOL::char2wchar(cbuffer);
|
|
||||||
delete cbuffer;
|
|
||||||
DrawCodestruct Buffer;
|
|
||||||
Buffer.str = str;
|
|
||||||
Buffer.Xpos = 300;
|
|
||||||
Buffer.Ypos = 200;
|
|
||||||
Buffer.Color = 0xffffffff;
|
|
||||||
|
|
||||||
DrawCodeT2_STL.push_back(Buffer);
|
|
||||||
|
|
||||||
//std::cout << (int)str << std::endl;
|
|
||||||
//std::cout << str << std::endl;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
//读人物 或 装备属性
|
//读人物 或 装备属性
|
||||||
|
|
@ -571,6 +559,7 @@ int squirrel::NewWindows(uint32_t v)
|
||||||
|
|
||||||
SQPopTop(v);
|
SQPopTop(v);
|
||||||
|
|
||||||
|
|
||||||
DNFTOOL::WindowsNotice(str, type, color);
|
DNFTOOL::WindowsNotice(str, type, color);
|
||||||
|
|
||||||
SQPushBool(v, true);
|
SQPushBool(v, true);
|
||||||
|
|
@ -957,6 +946,7 @@ int squirrel::Timer_STL(uint32_t v)
|
||||||
break;
|
break;
|
||||||
case 6://销毁时间容器
|
case 6://销毁时间容器
|
||||||
CloseHandle(Time_STL[Name].Thand);//销毁线程
|
CloseHandle(Time_STL[Name].Thand);//销毁线程
|
||||||
|
Time_STL[Name].Thand = NULL;
|
||||||
Time_STL.erase(Name);//销毁容器
|
Time_STL.erase(Name);//销毁容器
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -1097,7 +1087,7 @@ int squirrel::Set_DragonModel(uint32_t v)
|
||||||
//Json STL
|
//Json STL
|
||||||
#if defined JSON_STL
|
#if defined JSON_STL
|
||||||
//构造Json类型容器
|
//构造Json类型容器
|
||||||
static std::map<std::string, std::string>Json_STL;
|
std::map<std::string, std::string>Json_STL;
|
||||||
//Json容器
|
//Json容器
|
||||||
int squirrel::Jsoner_STL(uint32_t v)
|
int squirrel::Jsoner_STL(uint32_t v)
|
||||||
{
|
{
|
||||||
|
|
@ -1176,13 +1166,9 @@ int squirrel::Jsoner_STL(uint32_t v)
|
||||||
{
|
{
|
||||||
Vbuffer = Dom[Data[i].c_str()];
|
Vbuffer = Dom[Data[i].c_str()];
|
||||||
}
|
}
|
||||||
else if (strlen(Data[i].c_str()) == 1)
|
else if (DNFTOOL::isNum(Data[i].c_str()) != 0)
|
||||||
{
|
{
|
||||||
char c = Data[i].c_str()[0];
|
Vbuffer = Vbuffer[atoi(Data[i].c_str())];
|
||||||
if (c >= '0' && c <= '9')
|
|
||||||
{
|
|
||||||
Vbuffer = Vbuffer[atoi(Data[i].c_str())];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -1444,7 +1430,7 @@ void squirrel::R_Register_Nut()
|
||||||
|
|
||||||
//Json STL
|
//Json STL
|
||||||
#if defined JSON_STL
|
#if defined JSON_STL
|
||||||
RegisterNutApi(L"L_Json_STL", squirrel::Jsoner_STL);//时间容器
|
RegisterNutApi(L"L_Json_STL", squirrel::Jsoner_STL);//Json容器
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//字符 STL
|
//字符 STL
|
||||||
|
|
@ -1454,10 +1440,10 @@ void squirrel::R_Register_Nut()
|
||||||
|
|
||||||
//龙盒
|
//龙盒
|
||||||
#if defined DRAGONBOX_SWITCH
|
#if defined DRAGONBOX_SWITCH
|
||||||
RegisterNutApi(L"L_Get_DragonModel", squirrel::Get_DragonModel);//获取龙盒模式
|
//RegisterNutApi(L"L_Get_DragonModel", squirrel::Get_DragonModel);//获取龙盒模式
|
||||||
RegisterNutApi(L"L_Set_DragonModel", squirrel::Set_DragonModel);//设置龙盒模式
|
//RegisterNutApi(L"L_Set_DragonModel", squirrel::Set_DragonModel);//设置龙盒模式
|
||||||
RegisterNutApi(L"L_Redom_Dragon", squirrel::Redom_Dragon);//抽奖
|
//RegisterNutApi(L"L_Redom_Dragon", squirrel::Redom_Dragon);//抽奖
|
||||||
RegisterNutApi(L"L_Get_Dragon_Pack", squirrel::Get_Dragon_Pack);//查询龙盒包
|
//RegisterNutApi(L"L_Get_Dragon_Pack", squirrel::Get_Dragon_Pack);//查询龙盒包
|
||||||
RegisterNutApi(L"L_Sync_Dragon_Pack", squirrel::Sync_Dragon_Pack);//同步龙盒包
|
//RegisterNutApi(L"L_Sync_Dragon_Pack", squirrel::Sync_Dragon_Pack);//同步龙盒包
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,9 @@ typedef void* (SQDOFILEFunc)(uint32_t v, const wchar_t* filename, BOOL retval, B
|
||||||
static SQDOFILEFunc* SQDOFILE = (SQDOFILEFunc*)0x1356240;
|
static SQDOFILEFunc* SQDOFILE = (SQDOFILEFunc*)0x1356240;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
typedef void* (*SQFILE)();
|
typedef void* (*SQFILE)();
|
||||||
|
#define SQ_SUCCEEDED(res) (res>=0)
|
||||||
//SQ_io_file_lexfeed_±àÂë
|
//SQ_io_file_lexfeed_±àÂë
|
||||||
//typedef int(LSQLEXREADFUNC)(int n);
|
//typedef int(LSQLEXREADFUNC)(int n);
|
||||||
typedef int(*LSQLEXREADFUNC)(int n);
|
typedef int(*LSQLEXREADFUNC)(int n);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue