📄 m2share.pas
字号:
//Add By Delphilxh 2005-07-22
sSL_SENDMSG = '@@sendmsg';
sSUPERREPAIR = '@s_repair';
sSUPERREPAIROK = '~@s_repair';
sSUPERREPAIRFAIL = '@fail_s_repair';
sREPAIR = '@repair';
sUNMAKE = '@unmake';
sREPAIROK = '~@repair';
sBUY = '@buy';
sSELL = '@sell';
sMAKEDURG = '@makedrug';
sMAKItem = '@makeitem';
sPRICES = '@prices';
sSTORAGE = '@storage';
sGETBACK = '@getback';
sUPGRADENOW = '@upgradenow';
sUPGRADEING = '~@upgradenow_ing';
sUPGRADEOK = '~@upgradenow_ok';
sUPGRADEFAIL = '~@upgradenow_fail';
sGETBACKUPGNOW = '@getbackupgnow';
sGETBACKUPGOK = '~@getbackupgnow_ok';
sGETBACKUPGFAIL = '~@getbackupgnow_fail';
sGETBACKUPGFULL = '~@getbackupgnow_bagfull';
sGETBACKUPGING = '~@getbackupgnow_ing';
sEXIT = '@exit';
sBACK = '@back';
sMAIN = '@main';
sFAILMAIN = '~@main';
sGETMASTER = '@@getmaster';
sGETMARRY = '@@getmarry';
sUSEITEMNAME = '@@useitemname';
sBUILDGUILDNOW = '@@buildguildnow';
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;
}
//function InitM2DLL(AppHandle:HWnd;MsgProc:TMsgProc):PChar;stdcall;external 'M2Server.dll' name 'Init';
//procedure UnInitM2DLL(MsgProc:TMsgProc);stdcall;external 'M2Server.dll' name 'Init';
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: pTStdItem): Boolean;
function GetItemNumber(): Integer;
function GetItemNumberEx(): Integer;
function sub_4B2F80(nDir, nRage: Integer): Byte;
function GetValNameNo(sText: string): Integer;
function IsUseItem(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 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 SaveAdminList(): 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 LoadItemLimiteList():Boolean;
function SaveItemLimiteList():Boolean;
function GetUseItemName(nIndex: Integer): string;
function GetUseItemIdx(sName: string): Integer;
function LoadMonDropLimitList(): Boolean;
function SaveMonDropLimitList(): Boolean;
function LoadDisableTakeOffList(): Boolean;
function LoadEnableSellOffList(): Boolean; //装载允许寄卖物品列表
function SaveEnableSellOffList(): 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;
function MakeHumanFeature(btRaceImg, btDress, btWeapon, btHair: Byte): Integer;
function MakeMonsterFeature(btRaceImg, btWeapon: Byte; wAppr: Word): Integer;
procedure LoadKernelFunction();
procedure CheckParentProc;
var
Function1 : _FUNCTION1;
FUnction2 : _FUNCTION2;
Function4 : _FUNCTION4;
g_MemShared : pTHumDataLoadAndSave;
MyhardId,Md5Str,HardNumber : String;
{$IF DEBUG = 0}
NotRegenMonsters : Boolean=True;
{$ELSE}
NotRegenMonsters : Boolean=False;
{$IFEND}
DateConfig : Array[0..10] of TDateBaseConfig;
DateCount : Integer;
MonDropClearTime : Integer;
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;
CommandConf : TIniFile;
StringConf : TIniFile;
Memo : TMemo;
// ProcArray : TProcArray;
ObjectArray : TObjectArray;
// PlugProcArray : TProcArray;
// PlugInEngine : TPlugInManage;
nServerIndex : Integer = 0; //0x004EBC04
RunSocket : TRunSocket; //0x004EBB84
MainLogMsgList : TStringList; //0x004EBC60
LogStringList : TStringList; //0x004EBC64
LogonCostLogList : TStringList; //0x004EBC68
g_MapManager : TMapManager; //0x004EBB90
ItemUnit : TItemUnit; //0x004EBB94
MagicManager : TMagicManager; //0x004EBB98
NoticeManager : TNoticeManager; //0x004EBB9C
g_GuildManager : Array[0..1] of 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_StartPointList : TGStringList; //0x004EBBB0
g_RedStartPoint : TStartPoint;
//g_StartPoint : TGList;
ServerTableList : TMyList; //0x004EBBB4
g_DenySayMsgList : TQuickList; //0x004EBBB8
MiniMapList : TStringList; //0x004EBBBC
g_UnbindList : TStringList; //0x004EBBC0
LineNoticeList : TStringList; //0x004EBBC4
QuestDiaryList : TmyList; //0x004EBBC8
ItemEventList : TStringList; //0x004EBBCC
AbuseTextList : TStringList; //0x004EBBD0
g_MonSayMsgList : TStringList; //怪物说明信息列表
g_SayMsgList : TStringList;
g_nSayMsgIdx : Integer;
g_DisableMakeItemList : TGStringList; //禁止制造物品列表
g_EnableMakeItemList : TGStringList; //禁止制造物品列表
g_DisableMoveMapList : TGStringList; //禁止移动地图列表
g_ItemNameList : TGList; //物品别名列表
g_DisableSendMsgList : TGStringList; //禁止发信息名称列表
g_MonDropLimitLIst : TGStringList; //怪物爆物品限制
g_DisableTakeOffList : TGStringList; //禁止取下物品列表
g_ItemLimiteList : TStringList; //禁止物品列表 2005-10-01
g_EnableSellOffList : TStringList;
g_ItemBin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -