316 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
		
		
			
		
	
	
			316 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
	
|  | #pragma once
 | |||
|  | #include "DNFTOOL.h"
 | |||
|  | #include "RSAC.h"
 | |||
|  | 
 | |||
|  | 
 | |||
|  | //-------------------------------------------------------------------------------------------Squirrel
 | |||
|  | // printFunc  <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD><D5BB>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD>
 | |||
|  | typedef int(SqPrintFunc)(uint32_t v); | |||
|  | static SqPrintFunc* SQPrintFunc = (SqPrintFunc*)0x1354060; | |||
|  | // PushRoot
 | |||
|  | typedef int(SqPushRootFunc)(uint32_t v); | |||
|  | static SqPushRootFunc* SQPushRootTable = (SqPushRootFunc*)0x1358C50; | |||
|  | // Push <20><><EFBFBD><EFBFBD><EFBFBD>հ<F3B6A8B1>
 | |||
|  | typedef int(realSqNewClosure)(uint32_t v, void* funcAddr, int a); | |||
|  | static realSqNewClosure* RealSqNewClosure = (realSqNewClosure*)0x135B850; | |||
|  | #define INIT_NUT_ADDRESS 0x135B850
 | |||
|  | static realSqNewClosure* MLnewclosure = nullptr; | |||
|  | // New<65><77>
 | |||
|  | typedef int(SqNewSlot)(uint32_t v, int a, BOOL b); | |||
|  | static SqNewSlot* SQNewSlot = (SqNewSlot*)0x135AA80; | |||
|  | // ƽջ
 | |||
|  | typedef int(SqPopTop)(uint32_t v); | |||
|  | static SqPopTop* SQPopTop = (SqPopTop*)0x1358FF0; | |||
|  | // ƽջ
 | |||
|  | typedef int(SqPop)(uint32_t v, int n); | |||
|  | static SqPop* SQPop = (SqPop*)0x1358FD0; | |||
|  | //SQ_Get
 | |||
|  | typedef int(Sq_Get)(uint32_t v, int n); | |||
|  | static Sq_Get* SQ_Get = (Sq_Get*)0x135AE30; | |||
|  | 
 | |||
|  | #define _RT_NULL			0x00000001
 | |||
|  | #define _RT_INTEGER			0x00000002
 | |||
|  | #define _RT_FLOAT			0x00000004
 | |||
|  | #define _RT_BOOL			0x00000008
 | |||
|  | #define _RT_STRING			0x00000010
 | |||
|  | #define _RT_TABLE			0x00000020
 | |||
|  | #define _RT_ARRAY			0x00000040
 | |||
|  | #define _RT_USERDATA		0x00000080
 | |||
|  | #define _RT_CLOSURE			0x00000100
 | |||
|  | #define _RT_NATIVECLOSURE	0x00000200
 | |||
|  | #define _RT_GENERATOR		0x00000400
 | |||
|  | #define _RT_USERPOINTER		0x00000800
 | |||
|  | #define _RT_THREAD			0x00001000
 | |||
|  | #define _RT_FUNCPROTO		0x00002000
 | |||
|  | #define _RT_CLASS			0x00004000
 | |||
|  | #define _RT_INSTANCE		0x00008000
 | |||
|  | #define _RT_WEAKREF			0x00010000
 | |||
|  | 
 | |||
|  | #define SQOBJECT_REF_COUNTED	0x08000000
 | |||
|  | #define SQOBJECT_NUMERIC		0x04000000
 | |||
|  | #define SQOBJECT_DELEGABLE		0x02000000
 | |||
|  | #define SQOBJECT_CANBEFALSE		0x01000000
 | |||
|  | 
 | |||
|  | typedef enum tagSQObjectType { | |||
|  |     OT_NULL = (_RT_NULL | SQOBJECT_CANBEFALSE), | |||
|  |     OT_INTEGER = (_RT_INTEGER | SQOBJECT_NUMERIC | SQOBJECT_CANBEFALSE), | |||
|  |     OT_FLOAT = (_RT_FLOAT | SQOBJECT_NUMERIC | SQOBJECT_CANBEFALSE), | |||
|  |     OT_BOOL = (_RT_BOOL | SQOBJECT_CANBEFALSE), | |||
|  |     OT_STRING = (_RT_STRING | SQOBJECT_REF_COUNTED), | |||
|  |     OT_TABLE = (_RT_TABLE | SQOBJECT_REF_COUNTED | SQOBJECT_DELEGABLE), | |||
|  |     OT_ARRAY = (_RT_ARRAY | SQOBJECT_REF_COUNTED), | |||
|  |     OT_USERDATA = (_RT_USERDATA | SQOBJECT_REF_COUNTED | SQOBJECT_DELEGABLE), | |||
|  |     OT_CLOSURE = (_RT_CLOSURE | SQOBJECT_REF_COUNTED), | |||
|  |     OT_NATIVECLOSURE = (_RT_NATIVECLOSURE | SQOBJECT_REF_COUNTED), | |||
|  |     OT_GENERATOR = (_RT_GENERATOR | SQOBJECT_REF_COUNTED), | |||
|  |     OT_USERPOINTER = _RT_USERPOINTER, | |||
|  |     OT_THREAD = (_RT_THREAD | SQOBJECT_REF_COUNTED), | |||
|  |     OT_FUNCPROTO = (_RT_FUNCPROTO | SQOBJECT_REF_COUNTED), //internal usage only
 | |||
|  |     OT_CLASS = (_RT_CLASS | SQOBJECT_REF_COUNTED), | |||
|  |     OT_INSTANCE = (_RT_INSTANCE | SQOBJECT_REF_COUNTED | SQOBJECT_DELEGABLE), | |||
|  |     OT_WEAKREF = (_RT_WEAKREF | SQOBJECT_REF_COUNTED) | |||
|  | }SQObjectType; | |||
|  | //SQ_GetType
 | |||
|  | typedef int(Sq_GetType)(uint32_t v, int n); | |||
|  | static Sq_GetType* SQ_GetType = (Sq_GetType*)0x1358CD0; | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | //SQ_Rawget
 | |||
|  | typedef int(Sq_Rawget)(uint32_t v, int n); | |||
|  | static Sq_Rawget* SQ_Rawget = (Sq_Rawget*)0x135AEA0; | |||
|  | //SQ*Getlocal
 | |||
|  | typedef wchar_t* (SqGetlocal)(uint32_t v, int n, int idx); | |||
|  | static SqGetlocal* SQGetlocal = (SqGetlocal*)0x135AFD0; | |||
|  | //SQ_Wakeupvm
 | |||
|  | typedef int (Sq_Wakeupvm)(uint32_t v, int n, int retval, int raiseerror); | |||
|  | static Sq_Wakeupvm* SQ_Wakeupvm = (Sq_Wakeupvm*)0x135B0D0; | |||
|  | //SQ_Call
 | |||
|  | typedef int (Sq_CallFunc)(uint32_t v, int params, int retval, int raiseerror); | |||
|  | static Sq_CallFunc* SQ_Call = (Sq_CallFunc*)0x1359280; | |||
|  | //SQ_Remove
 | |||
|  | typedef int (SQ_RemoveFunc)(uint32_t v, int idx); | |||
|  | static SQ_RemoveFunc* SQ_Remove = (SQ_RemoveFunc*)0x1359000; | |||
|  | //GetInt
 | |||
|  | typedef int(SqGetIntFunc)(uint32_t v, uint32_t stackIndex, int* sint); | |||
|  | static SqGetIntFunc* SQGetInt = (SqGetIntFunc*)0x1358D70; | |||
|  | //GetFloat
 | |||
|  | typedef int(SqGetFloatFunc)(uint32_t v, uint32_t stackIndex, FLOAT* sfloat); | |||
|  | static SqGetFloatFunc* SQGetFloat = (SqGetFloatFunc*)0x1358DD0; | |||
|  | //GetBool
 | |||
|  | typedef int(SqGetBoolFunc)(uint32_t v, uint32_t stackIndex, BOOL* sbool); | |||
|  | static SqGetBoolFunc* SQGetBool = (SqGetBoolFunc*)0x1358E30; | |||
|  | //GetString
 | |||
|  | typedef int(SqGetStringFunc)(uint32_t v, uint32_t stackIndex, wchar_t** sstring); | |||
|  | static SqGetStringFunc* SQGetString = (SqGetStringFunc*)0x1358E70; | |||
|  | typedef int(SqGetStringCFunc)(uint32_t v, uint32_t stackIndex, char** sstring); | |||
|  | static SqGetStringCFunc* SQGetStringc = (SqGetStringCFunc*)0x1358E70; | |||
|  | //GetUserdata
 | |||
|  | typedef int(SqGetUserdataFunc)(uint32_t v, uint32_t stackIndex, DWORD* up, DWORD* up1); | |||
|  | static SqGetUserdataFunc* SQGetUserdata = (SqGetUserdataFunc*)0x1358EC0; | |||
|  | //GetObjtypetag
 | |||
|  | typedef int(SqGetObjtypetagFunc)(uint32_t v, DWORD* up); | |||
|  | static SqGetObjtypetagFunc* SQGetObjtypetag = (SqGetObjtypetagFunc*)0x1358F20; | |||
|  | //GetUserpointer
 | |||
|  | typedef int(SqGetUserpointerFunc)(uint32_t v, uint32_t idx, DWORD* up); | |||
|  | static SqGetUserpointerFunc* SQGetUserpointer = (SqGetUserpointerFunc*)0x1358F80; | |||
|  | //GetTop
 | |||
|  | typedef int(SqGetTopFunc)(uint32_t v); | |||
|  | static SqGetTopFunc* SQGetTop = (SqGetTopFunc*)0x1358FC0; | |||
|  | //Push
 | |||
|  | typedef int(SqPushFunc)(uint32_t v, int idx); | |||
|  | static SqPushFunc* SQPush = (SqPushFunc*)0x1358C90; | |||
|  | //PushString
 | |||
|  | typedef int(SqPushStringFunc)(uint32_t v, const wchar_t* s, int len); | |||
|  | typedef int(SqPushStringFuncs)(uint32_t v, const char* s, int len); | |||
|  | static SqPushStringFunc* SQPushString = (SqPushStringFunc*)0x1358A60; | |||
|  | static SqPushStringFuncs* SQPushStringc = (SqPushStringFuncs*)0x1358A60; | |||
|  | //PushInt
 | |||
|  | typedef int(SqPushIntFunc)(uint32_t v, int sint); | |||
|  | static SqPushIntFunc* SQPushInt = (SqPushIntFunc*)0x1358AD0; | |||
|  | //PushBool
 | |||
|  | typedef int(SqPushBoolFunc)(uint32_t v, BOOL sbool); | |||
|  | static SqPushBoolFunc* SQPushBool = (SqPushBoolFunc*)0x1358B10; | |||
|  | //PushFloat
 | |||
|  | typedef int(SqPushFloatFunc)(uint32_t v, FLOAT sfloat); | |||
|  | static SqPushFloatFunc* SQPushFloat = (SqPushFloatFunc*)0x1358B60; | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | //SQLOADFILE
 | |||
|  | typedef void* (SQLOADFILEFunc)(uint32_t v, const wchar_t* filename, BOOL printerror); | |||
|  | static SQLOADFILEFunc* SQLOADFILEF = (SQLOADFILEFunc*)0x13560E0; | |||
|  | //SQDOFILE
 | |||
|  | typedef void* (SQDOFILEFunc)(uint32_t v, const wchar_t* filename, BOOL retval, BOOL printerror); | |||
|  | static SQDOFILEFunc* SQDOFILE = (SQDOFILEFunc*)0x1356240; | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | typedef void* (*SQFILE)(); | |||
|  | #define SQ_SUCCEEDED(res) (res>=0)
 | |||
|  | //SQ_io_file_lexfeed_<64><5F><EFBFBD><EFBFBD>
 | |||
|  | //typedef int(LSQLEXREADFUNC)(int n);
 | |||
|  | typedef int(*LSQLEXREADFUNC)(int n); | |||
|  | static LSQLEXREADFUNC SQ_io_file_lexfeed_ASCII = (LSQLEXREADFUNC)0x1355F60; | |||
|  | static LSQLEXREADFUNC SQ_io_file_lexfeed_UCS2_BE = (LSQLEXREADFUNC)0x1356050; | |||
|  | static LSQLEXREADFUNC SQ_io_file_lexfeed_UCS2_LE = (LSQLEXREADFUNC)0x1356020; | |||
|  | static LSQLEXREADFUNC SQ_io_file_lexfeed_UTF8 = (LSQLEXREADFUNC)0x1355F90; | |||
|  | //SQfopen
 | |||
|  | typedef SQFILE* (SQfopenFunc)(const wchar_t* filename, const wchar_t* type); | |||
|  | static SQfopenFunc* SQfopen = (SQfopenFunc*)0x1355DC0; | |||
|  | //SQfread
 | |||
|  | typedef int(SQfreadFunc)(void* buffer, int a, int b, void* file); | |||
|  | static SQfreadFunc* SQfread = (SQfreadFunc*)0x1355DD0; | |||
|  | //SQwrite
 | |||
|  | typedef int(SQwriteFunc)(void* buffer, int a, int b, void* file); | |||
|  | static SQwriteFunc* SQwrite = (SQwriteFunc*)0x1355DE0; | |||
|  | //SQfseek
 | |||
|  | typedef int(SQfseekFunc)(void* buffer, int a, int b); | |||
|  | static SQfseekFunc* SQfseek = (SQfseekFunc*)0x1355DF0; | |||
|  | //SQftell
 | |||
|  | typedef int(SQftellFunc)(void* file); | |||
|  | static SQftellFunc* SQftell = (SQftellFunc*)0x1355E50; | |||
|  | //SQ_File_read
 | |||
|  | typedef int(SQ_File_readFunc)(void* file, void* afile, int a); | |||
|  | static SQ_File_readFunc* SQ_File_read = (SQ_File_readFunc*)0x1356090; | |||
|  | //SQ_Readclosure
 | |||
|  | typedef int(SQ_ReadclosureFunc)(uint32_t v, SQ_File_readFunc a, void* file); | |||
|  | static SQ_ReadclosureFunc* SQ_Readclosure = (SQ_ReadclosureFunc*)0x1359460; | |||
|  | //SQ_Fclose
 | |||
|  | typedef int(SQ__FcloseFunc)(void* file); | |||
|  | static SQ__FcloseFunc* SQ__Fclose = (SQ__FcloseFunc*)0x1355E70; | |||
|  | //SQ_Compile
 | |||
|  | typedef int(SQ_CompileFunc)(uint32_t v, LSQLEXREADFUNC FUNC, void* file, const wchar_t* filename, BOOL printerror); | |||
|  | static SQ_CompileFunc* SQ_Compile = (SQ_CompileFunc*)0x135A390; | |||
|  | //SQ_Throwerror
 | |||
|  | typedef int(SQ_ThrowerrorFunc)(uint32_t v, const wchar_t* error); | |||
|  | static SQ_ThrowerrorFunc* SQ_Throwerror = (SQ_ThrowerrorFunc*)0x13591A0; | |||
|  | 
 | |||
|  | //<2F><>ȡSquirrel v <20><>ַ
 | |||
|  | inline uint32_t GetSqVm(); | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | class squirrel | |||
|  | { | |||
|  | private: | |||
|  | 
 | |||
|  | 
 | |||
|  | public://<2F><><EFBFBD><EFBFBD>
 | |||
|  | 	static int SQloadfile(uint32_t v, const wchar_t* filename, BOOL printerror); | |||
|  | 	static int SQdofile(uint32_t v, const wchar_t* filename, BOOL retval, BOOL printerror); | |||
|  | 
 | |||
|  | public://NUT API <20>ӿ<EFBFBD>
 | |||
|  |     static int sq_Test(uint32_t v);//<2F><><EFBFBD>Խӿ<D4BD>
 | |||
|  |     static int GetCharacterAttribute(uint32_t v);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int SetCharacterAttribute(uint32_t v);//д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int GetTownIndex(uint32_t v);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int GetRegionIndex(uint32_t v);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int GetTownXpos(uint32_t v);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>
 | |||
|  |     static int GetTownYpos(uint32_t v);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Y<EFBFBD><59><EFBFBD><EFBFBD>
 | |||
|  |     static int GetFatigue(uint32_t v);//<2F><>ȡƣ<C8A1><C6A3>ֵ
 | |||
|  |     static int GetExp(uint32_t v);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
 | |||
|  |     static int GoDungeon(uint32_t v);//ȥ<><C8A5><EFBFBD><EFBFBD>
 | |||
|  |     static int GoTown(uint32_t v);//<2F>س<EFBFBD>
 | |||
|  |     static int MoveTown(uint32_t v);//<2F>س<EFBFBD>
 | |||
|  |     static int LDofile(uint32_t v);//Ldofile
 | |||
|  |     static int Lcout(uint32_t v);//Lcout
 | |||
|  |     static int NewWindows(uint32_t v);//<2F>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int SetSlot(uint32_t v);//<2F><><EFBFBD><EFBFBD>UI<55><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | 
 | |||
|  | public://<2F><><EFBFBD><EFBFBD> API
 | |||
|  |     static int SendPackType(uint32_t v);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int SendPackByte(uint32_t v);//<2F><><EFBFBD><EFBFBD>Byte
 | |||
|  |     static int SendPackWord(uint32_t v);//<2F><><EFBFBD><EFBFBD>Word
 | |||
|  |     static int SendPackDWord(uint32_t v);//<2F><><EFBFBD><EFBFBD>DWord
 | |||
|  |     static int SendPackWChar(uint32_t v);//<2F><><EFBFBD><EFBFBD>char*
 | |||
|  |     static int SendPack(uint32_t v);//<2F><><EFBFBD><EFBFBD>
 | |||
|  | 
 | |||
|  |     static int GivePlayerItem(uint32_t v);//<2F><><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int GivePlayerEqu(uint32_t v);//<2F><>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | 
 | |||
|  | public://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
 | |||
|  |     static int Get_STL(uint32_t v);//<2F><>ѯ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int Set_STL(uint32_t v);//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int New_STL(uint32_t v);//new <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int Timer_STL(uint32_t v);//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int Jsoner_STL(uint32_t v);//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | 
 | |||
|  |     static int Coder_STL(uint32_t v);//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | 
 | |||
|  | public://<2F><><EFBFBD><EFBFBD>
 | |||
|  |     static int Sync_Dragon_Pack(uint32_t v);//ͬ<><CDAC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
 | |||
|  |     static int Get_Dragon_Pack(uint32_t v);//<2F><>ȡ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
 | |||
|  |     static int Redom_Dragon(uint32_t v);//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  |     static int Get_DragonModel(uint32_t v);//<2F><>ȡ <20><><EFBFBD><EFBFBD> ģʽ
 | |||
|  |     static int Set_DragonModel(uint32_t v);//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ģʽ
 | |||
|  | 
 | |||
|  | public: | |||
|  | 
 | |||
|  | 	//<2F><><EFBFBD><EFBFBD>nut<75>ӿ<EFBFBD>funcName<6D><65><EFBFBD><EFBFBD>C<EFBFBD><43><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>funcAddr
 | |||
|  | 	static void RegisterNutApi(const wchar_t* funcName, void* funcAddr, uint32_t v); | |||
|  | 	//ע<><D7A2><EFBFBD>ӿ<EFBFBD>
 | |||
|  | 	static void R_Register_Nut(); | |||
|  | }; | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | //<2F><><EFBFBD><EFBFBD>Nut<75>ӿڰ<D3BF><DAB0><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD>
 | |||
|  | // ʾ<><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | /*
 | |||
|  | static int GoDungeon(uint32_t v) | |||
|  | { | |||
|  |     int n1 = 0; | |||
|  |     int n2 = 0; | |||
|  |     int n3 = 0; | |||
|  |     int n4 = 0; | |||
|  | 
 | |||
|  |     int num; | |||
|  |     num = SQGetTop(v); | |||
|  | 
 | |||
|  |     if (num == 2) | |||
|  |     { | |||
|  |         SQGetInt(v, 2, &n1); | |||
|  |     } | |||
|  |     else if (num == 5) | |||
|  |     { | |||
|  |         SQGetInt(v, 2, &n1); | |||
|  |         SQGetInt(v, 3, &n2); | |||
|  |         SQGetInt(v, 4, &n3); | |||
|  |         SQGetInt(v, 5, &n4); | |||
|  |     } | |||
|  |     else | |||
|  |     { | |||
|  |         SQPushBool(v, false); | |||
|  |         return 1; | |||
|  |     } | |||
|  | 
 | |||
|  |     _SendpacksType(*_SendClass, 0, 15); | |||
|  |     _SendPacks(); | |||
|  | 
 | |||
|  |     _SendpacksType(*_SendClass, 0, 16); | |||
|  |     _SendPacksWord(*_SendClass, 0, n1); | |||
|  |     _SendPacksByte(*_SendClass, 0, n2); | |||
|  |     _SendPacksByte(*_SendClass, 0, n3); | |||
|  |     _SendPacksByte(*_SendClass, 0, n4); | |||
|  |     _SendPacks(); | |||
|  | 
 | |||
|  |     SQPushBool(v, true); | |||
|  |     //return 1  <20><>ʾ<EFBFBD>ú<EFBFBD><C3BA><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>nut<75>ű<EFBFBD> 0<><30><EFBFBD><EFBFBD>
 | |||
|  |     return 1; | |||
|  | } | |||
|  | */ | |||
|  | //<2F><><EFBFBD><EFBFBD>C++<2B><><EFBFBD><EFBFBD> nut
 | |||
|  | // ʾ<><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | |||
|  | /*
 | |||
|  |     uint32_t v = GetSqVm(); | |||
|  |     SQPushRootTable(v); | |||
|  |     SQPushString(v, L"dofile", -1); | |||
|  |     SQ_Get(v, -2); | |||
|  |     SQPushRootTable(v); | |||
|  |     SQPushString(v, L"1.cpp", -1); | |||
|  |     SQ_Call(v, 2, 1, 0); | |||
|  |     SQPop(v, 2); | |||
|  | */ |