📄 m2share.~pas
字号:
sSCL_GUILDWAR = '@@guildwar';
sDONATE = '@@donate';
sREQUESTCASTLEWAR= '@requestcastlewarnow';
sCASTLENAME = '@@castlename';
sWITHDRAWAL = '@@withdrawal';
sRECEIPTS = '@@receipts';
sOPENMAINDOOR = '@openmaindoor';
sCLOSEMAINDOOR = '@closemaindoor';
sREPAIRDOORNOW = '@repairdoornow';
sREPAIRWALLNOW1 = '@repairwallnow1';
sREPAIRWALLNOW2 = '@repairwallnow2';
sREPAIRWALLNOW3 = '@repairwallnow3';
sHIREARCHERNOW = '@hirearchernow';
sHIREGUARDNOW = '@hireguardnow';
sHIREGUARDOK = '@hireguardok';
sMarket_Def = 'Market_Def\';
sNpc_def = 'Npc_def\';
type
TItemBind = record
nMakeIdex:Integer;
nItemIdx :Integer;
sBindName:String[20];
end;
pTItemBind = ^TItemBind;
TConsoleData = packed record
nCrcExtInt :Integer;
nCrcDllInt :Integer;
end;
pTConsoleData = ^TConsoleData;
{$IF OEMVER = OEM775}
TLevelInfo = record
wHP :Word;
wMP :Word;
dwExp :LongWord;
wAC :Word;
wMaxAC :Word;
wACLimit :Word;
wMAC :Word;
wMaxMAC :Word;
wMACLimit :Word;
wDC :Word;
wMaxDC :Word;
wDCLimit :Word;
dwDCExp :LongWord;
wMC :Word;
wMaxMC :Word;
wMCLimit :Word;
dwMCExp :LongWord;
wSC :Word;
wMaxSC :Word;
wSCLimit :Word;
dwSCExp :LongWord;
end;
{$IFEND}
{
TScriptACTMsg = record
nCode :Integer; //0x00
sParam1 :String; //0x04
nParam1 :Integer; //0x08
sParam2 :String; //0x0C
nParam2 :Integer; //0x10
sParam3 :String; //0x14
nParam3 :Integer; //0x18
end;
}
procedure SetProcessName(sName:String);
procedure CopyStdItemToOStdItem(StdItem:pTStdItem;OStdItem:pTOStdItem);
function GetExVersionNO(nVersionDate:Integer; var nOldVerstionDate:Integer):Integer;
function GetNextDirection (sx, sy, dx, dy: Integer): byte;
function LoadLineNotice(FileName:String):Boolean;
function GetMultiServerAddrPort(btServerIndex:Byte;var sIPaddr:String;var nPort:Integer):Boolean;
procedure MainOutMessage(Msg:String);
function AddDateTimeOfDay(DateTime:TDateTime;nDay:Integer):TDateTime;
function GetGoldShape(nGold:Integer):Word;//金币在地上显示的外形ID
function GetRandomLook(nBaseLook,nRage:Integer):Integer;
function FilterShowName(sName:String):String;
function CheckGuildName(sGuildName:String):Boolean;
function CheckUserItems(nIdx:integer;StdItem:TItem):Boolean;
function GetItemNumber():Integer;
function GetItemNumberEx():Integer;
function sub_4B2F80(nDir,nRage:Integer):Byte;
function GetValNameNo(sText:String):Integer;
function IsAccessory(nIndex:Integer):Boolean;
function GetMakeItemInfo(sItemName:String):TStringList;
procedure AddLogonCostLog(sMsg:String);
procedure AddGameDataLog(sMsg:String);
procedure TrimStringList(sList:TStringList);
function CanMakeItem(sItemName:String):Boolean;
function CanMoveMap(sMapName:String):Boolean;
function CanSellItem(sItemName:String):Boolean;
function LoadMonSayMsg():Boolean;
function LoadItemBindIPaddr():Boolean;
function SaveItemBindIPaddr():Boolean;
function LoadItemBindAccount():Boolean;
function SaveItemBindAccount():Boolean;
function LoadItemBindCharName():Boolean;
function SaveItemBindCharName():Boolean;
function LoadDisableMakeItem():Boolean;
function SaveDisableMakeItem():Boolean;
function LoadUnMasterList():Boolean;
function SaveUnMasterList():Boolean;
function LoadUnForceMasterList():Boolean;
function SaveUnForceMasterList():Boolean;
function LoadEnableMakeItem():Boolean;
function SaveEnableMakeItem():Boolean;
function LoadDisableMoveMap():Boolean;
function SaveDisableMoveMap():Boolean;
function LoadAllowSellOffItem():Boolean;
function SaveAllowSellOffItem():Boolean;
function SaveChatLog():Boolean;
function GetUseItemName(nIndex:Integer):String;
function GetUseItemIdx(sName:String):Integer;
function LoadMonDropLimitList():Boolean;
function SaveMonDropLimitList():Boolean;
function LoadDisableTakeOffList():Boolean;
function SaveDisableTakeOffList():Boolean;
function InDisableTakeOffList(nItemIdx:Integer):Boolean;
function LoadDisableSendMsgList():Boolean;
function SaveDisableSendMsgList():Boolean;
function GetDisableSendMsgList(sHumanName:String):Boolean;
function LoadGameLogItemNameList():Boolean;
function GetGameLogItemNameList(sItemName:String):Byte;
function SaveGameLogItemNameList():Boolean;
function LoadDenyIPAddrList():Boolean;
function GetDenyIPAddrList(sIPaddr:String):Boolean;
function SaveDenyIPAddrList():Boolean;
function LoadDenyAccountList():Boolean;
function GetDenyAccountList(sAccount:String):Boolean;
function SaveDenyAccountList():Boolean;
function LoadDenyChrNameList():Boolean;
function GetDenyChrNameList(sChrName:String):Boolean;
function SaveDenyChrNameList():Boolean;
function LoadNoClearMonList():Boolean;
function GetNoClearMonList(sMonName:String):Boolean;
function SaveNoClearMonList():Boolean;
procedure LoadExp();
procedure LoadGameCommand();
procedure LoadString();
procedure LoadConfig();
function GetRGB(c256:Byte):TColor;stdcall;
procedure SendGameCenterMsg(wIdent:Word;sSendMsg:String);
function GetIPLocal(sIPaddr:String):String;
function IsCheapStuff(tByte:Byte):Boolean;
function CompareIPaddr(sIPaddr,dIPaddr:String):Boolean;
var
RemoteXORKey:Integer = -1;
LocalXORKey:Integer = -2;
M2ServerVersion:Single = 2;
g_nGetLicenseInfo:Integer = -1;
g_nM2Crc:integer;
g_dwGameCenterHandle:THandle;
IsDebuggerPresent:function():Boolean;stdcall;
CheckVersion :TCheckVersion = nil;
nCheckVersion :Integer = -1;
//CertCheck :TList; //用于检查角色创建释放
//EventCheck :TList; //用于检查事件创建释放
{$IF OEMVER = OEM775}
Level775 :TIniFile;
{$IFEND}
Config :TIniFile;
ExpConf :TIniFile;
CommandConf :TIniFile;
StringConf :TIniFile;
Memo :TMemo;
nServerIndex :Integer = 0; //0x004EBC04
RunSocket :TRunSocket; //0x004EBB84
MainLogMsgList :TStringList; //0x004EBC60
LogStringList :TStringList; //0x004EBC64
LogonCostLogList :TStringList; //0x004EBC68
g_MapManager :TMapManager; //0x004EBB90
ItemUnit :TItemUnit;
MagicManager :TMagicManager; //0x004EBB98
NoticeManager :TNoticeManager; //0x004EBB9C
g_GuildManager :TGuildManager; //0x004EBBA0
g_EventManager :TEventManager; //0x004EBBA4
g_CastleManager :TCastleManager;
// g_UserCastle :TUserCastle; //0x004EBBA8
FrontEngine :TFrontEngine; //0x004EBB88
UserEngine :TUserEngine; //0x004EBB8C
RobotManage :TRobotManage;
g_MakeItemList :TStringList; //0x004EBBAC
g_StartPoint :TGList;
g_RedStartPoint :TStartPoint;
ServerTableList :TList; //0x004EBBB4
g_DenySayMsgList :TQuickList; //0x004EBBB8
MiniMapList :TStringList; //0x004EBBBC
g_UnbindList :TStringList; //0x004EBBC0
LineNoticeList :TStringList; //0x004EBBC4
QuestDiaryList :TList; //0x004EBBC8
ItemEventList :TStringList; //0x004EBBCC
AbuseTextList :TStringList; //0x004EBBD0
g_MonSayMsgList :TStringList; //怪物说明信息列表
g_DisableMakeItemList :TGStringList; //禁止制造物品列表
g_EnableMakeItemList :TGStringList; //禁止制造物品列表
g_DisableSellOffList :TGStringList;
g_DisableMoveMapList :TGStringList; //禁止移动地图列表
g_ItemNameList :TGList; //物品别名列表
g_DisableSendMsgList :TGStringList; //禁止发信息名称列表
g_MonDropLimitLIst :TGStringList; //怪物爆物品限制
g_DisableTakeOffList :TGStringList; //禁止取下物品列表
g_ChatLoggingList :TGStringList;
g_ItemBindIPaddr :TGList;
g_ItemBindAccount :TGList;
g_ItemBindCharName :TGList;
g_UnMasterList :TGStringList; //出师记录表
g_UnForceMasterList :TGStringList; //强行出师记录表
g_GameLogItemNameList :TGStringList; //游戏日志物品名
g_boGameLogGold :Boolean;
g_boGameLogGameGold :Boolean;
g_boGameLogGamePoint :Boolean;
g_boGameLogHumanDie :Boolean;
g_DenyIPAddrList :TGStringList; //IP过滤列表
g_DenyChrNameList :TGStringList; //角色过滤列表
g_DenyAccountList :TGStringList; //登录帐号过滤列表
g_NoClearMonLIst :TGStringList; //不清除怪物列表
n4EBBD0 :Integer;
LogMsgCriticalSection :TRTLCriticalSection; //0x4EBC40
ProcessMsgCriticalSection :TRTLCriticalSection; //0x4EBC44
UserDBSection :TRTLCriticalSection;
ProcessHumanCriticalSection :TRTLCriticalSection;
CS_6 :TCriticalSection; //0x4EBC58
//MD5 :TMD5;
// sDBSocStr :String; //0x4EBC84
// boGetHumDataBusy :Boolean; //0x4EBC88
g_nTotalHumCount :integer; //0x004EB3C3
// g_nLoadHumanDBErrorCount :Integer; //0x4EBC8C :Integer;
// g_nLoadHumanDBCount :Integer; //0x4EBC90
// g_nSaveHumanDBCount :Integer;//0x4EBC94 :Integer;
// g_nHumanDBQueryID :SmallInt;//0x4EBC7C :SmallInt;
g_boMission :Boolean;
g_sMissionMap :String;
g_nMissionX :Integer;
g_nMissionY :Integer;
boStartReady :Boolean; //0x4EBC78
g_boExitServer :Boolean; //004EBC79
boFilterWord :Boolean;
sLogFileName :String; //004EBBFC
nRunTimeMin :Integer;
nRunTimeMax :Integer;
{
dwSockCountMin :LongWord;
dwSockCountMax :LongWord;
dwUsrTimeMin :LongWord;
dwUsrTimeMax :LongWord;
dwHumCountMin :LongWord;
dwHumCountMax :LongWord;
dwMonTimeMin :LongWord;
dwMonTimeMax :LongWord;
dwUsrRotCountMin :LongWord;
dwUsrRotCountMax :LongWord;
}
g_nBaseObjTimeMin :Integer;
g_nBaseObjTimeMax :Integer;
g_nSockCountMin :Integer;
g_nSockCountMax :Integer;
g_nUsrTimeMin :Integer;
g_nUsrTimeMax :Integer;
g_nHumCountMin :Integer;
g_nHumCountMax :Integer;
g_nMonTimeMin :Integer;
g_nMonTimeMax :Integer;
g_nMonGenTime :Integer;
g_nMonGenTimeMin :Integer;
g_nMonGenTimeMax :Integer;
g_nMonProcTime :Integer;
g_nMonProcTimeMin :Integer;
g_nMonProcTimeMax :Integer;
dwUsrRotCountMin :Integer;
dwUsrRotCountMax :Integer;
g_dwUsrRotCountTick :LongWord; //0x4EBD48 :LongWord;
g_nProcessHumanLoopTime :Integer; //0x004EBD54 //处理人物列表循环次数
g_dwHumLimit :LongWord = 30; //0x4EBD98
g_dwMonLimit :LongWord = 30; //0x4EBD9C
g_dwZenLimit :LongWord = 5; //0x4EBDA0
g_dwNpcLimit :LongWord = 5; //0x4EBDA4
g_dwSocLimit :LongWord = 10; //0x4EBDA8
g_dwSocCheckTimeOut :LongWord = 50;//2 * 1000;
nDecLimit :Integer = 20; //0x4EBDAC
nShiftUsrDataNameNo :Integer;
{$IF OEMVER = OEM775}
sConfig775FileName:String = '.\775.txt';
{$IFEND}
sConfigFileName :String = '.\!Setup.txt';
sExpConfigFileName:String = '.\Exps.ini';
sCommandFileName :String = '.\Command.ini';
sStringFileName :String = '.\String.ini';
dwRunDBTimeMax :LongWord; //0x004EBC98
g_dwStartTick :LongWord; //0x004EBD14
g_dwRunTick :LongWord; //0x4EBD18;
n4EBD1C :Integer;
g_nGameTime :Integer;
g_sMonGenInfo1 :String; //0x4EBD58
g_sMonGenInfo2 :String; //0x4EBD78
g_sProcessName :String;
g_sOldProcessName :String;
g_ManageNPC :TNormNpc;
g_RobotNPC :TNormNpc;
g_FunctionNPC :TMerchant;
g_DynamicVarList :TList;
nCurrentMonthly :Integer; //0x004EBD00
nTotalTimeUsage :Integer; //0x004EBD04
nLastMonthlyTotalUsage :Integer; //0x004EBD08
nGrossTotalCnt :Integer; //0x004EBD0C
nGrossResetCnt :Integer; //0x004EBD10
n4EBB68 :Integer; //0x004EBB68
n4EBB6C :Integer; //0x004EBB6C
ColorTable:array[0..255] of TRGBQuad;
ColorArray:array[0..1023] of Byte =(
$00, $00, $00, $00, $00, $00, $80, $00, $00, $80, $00, $00, $00, $80, $80, $00,
$80, $00, $00, $00, $80, $00, $80, $00, $80, $80, $00, $00, $C0, $C0, $C0, $00,
$97, $80, $55, $00, $C8, $B9, $9D, $00, $73, $73, $7B, $00, $29, $29, $2D, $00,
$52, $52, $5A, $00, $5A, $5A, $63, $00, $39, $39, $42, $00, $18, $18, $1D, $00,
$10, $10, $18, $00, $18, $18, $29, $00, $08, $08, $10, $00, $71, $79, $F2, $00,
$5F, $67, $E1, $00, $5A, $5A, $FF, $00, $31, $31, $FF, $00, $52, $5A, $D6, $00,
$00, $10, $94, $00, $18, $29, $94, $00, $00, $08, $39, $00, $00, $10, $73, $00,
$00, $18, $B5, $00, $52, $63, $BD, $00, $10, $18, $42, $00, $99, $AA, $FF, $00,
$00, $10, $5A, $00, $29, $39, $73, $00, $31, $4A, $A5, $00, $73, $7B, $94, $00,
$31, $52, $BD, $00, $10, $21, $52, $00, $18, $31, $7B, $00, $10, $18, $2D, $00,
$31, $4A, $8C, $00, $00, $29, $94, $00, $00, $31, $BD, $00, $52, $73, $C6, $00,
$18, $31, $6B, $00, $42, $6B, $C6, $00, $00, $4A, $CE, $00, $39, $63, $A5, $00,
$18, $31, $5A, $00, $00, $10, $2A, $00, $00, $08, $15, $00, $00, $18, $3A, $00,
$00, $00, $08, $00, $00, $00, $29, $00, $00, $00, $4A, $00, $00, $00, $9D, $00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -