⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m2share.pas

📁 传奇源代码的delphi版本
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    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);
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;
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 LoadGameCommand();
procedure LoadString();

{$IF IniSystem = 1}
procedure LoadSettings;
procedure SaveSettings;
{$ELSE}
procedure LoadExp();
procedure LoadConfig();
{$IFEND}

function GetRGB(c256:Byte):TColor;stdcall;
procedure SendGameCenterMsg(wIdent:Word;sSendMsg:String);
function  GetIPLocal(sIPaddr:String):String;
function  IsCheapStuff(StdMode:Byte):Boolean;
function  CompareIPaddr(sIPaddr,dIPaddr:String):Boolean;
var
  g_dwGameCenterHandle:THandle;
  IsDebuggerPresent:function():Boolean;stdcall;

  //CertCheck         :TList;
  //EventCheck         :TList;
{$IF OEMVER = OEM775}
  Level775          :TIniFile;
{$IFEND}
  Config            :TIniFile;
  SqlConf           :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_GuildTerritory  :TGTManager;
//  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
  BigMapList        :TStringList;
  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;
  g_DenyChrNameList     :TGStringList;
  g_DenyAccountList     :TGStringList;
  g_NoClearMonLIst      :TGStringList;
  n4EBBD0               :Integer;
  g_DecorationList      :TList;
  g_GameShopItemList    :TList;

  g_MapEventListOfDropItem: TGList;
  g_MapEventListOfPickUpItem: TGList;
  g_MapEventListOfMine: TGList;
  g_MapEventListOfWalk: TGList;
  g_MapEventListOfRun: TGList;

  LogMsgCriticalSection             :TRTLCriticalSection;  //0x4EBC40
  ProcessMsgCriticalSection         :TRTLCriticalSection;  //0x4EBC44
  UserDBSection                     :TRTLCriticalSection;
  ProcessHumanCriticalSection       :TRTLCriticalSection;

//  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
  sUsrLogFileName   :String = '.\UsrLog.txt';
  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';
  sSqlConfigFileName:String = '.\SqlConnect.ini';
  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

  //(火龙代码)
  nEMDrops         :Integer;//holds how often em part has dropped this round
  nEMKills         :Integer;//total times em been killed since reboot
  nEMHitCount      :Integer;//counter to keep track of how often empart been hit
  dwEMSpellTick    :LongWord;//to avoid all the fake parts using the spell use one common timer
  dwEMDied         :LongWord;//keep track of em's alive/dead and when

  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,
	$00, $00, $DC, $00, $00, $00, $DE, $00, $00, $00, $FB, $00, $52, $73, $9C, $00,
	$4A, $6B, $94, $00, $29, $4A, $73, $00, $18, $31, $52, $00, $18, $4A, $8C, $00,
	$11, $44, $88, $00, $00, $21, $4A, $00, $10, $18, $21, $00, $5A, $94, $D6, $00,
	$21, $6B, $C6, $00, $00, $6B, $EF, $00, $00, $77, $FF, $00, $84, $94, $A5, $00,
	$21, $31, $42, $00, $08, $10, $18, $00, $08, $18, $29, $00, $00, $10, $21, $00,
	$18, $29, $39, $00, $39, $63, $8C, $00, $10, $29, $42, $00, $18, $42, $6B, $00,
	$18, $4A, $7B, $00, $00, $4A, $94, $00, $7B, $84, $8C, $00, $5A, $63, $6B, $00,
	$39, $42, $4A, $00, $18, $21, $29, $00, $29, $39, $46, $00, $94, $A5, $B5, $00,
	$5A, $6B, $7B, $00, $94, $B1, $CE, $00, $73, $8C, $A5, $00, $5A, $73, $8C, $00,
	$73, $94, $B5, $00, $73, $A5, $D6, $00, $4A, $A5, $EF, $00, $8C, $C6, $EF, $00,
	$42, $63, $7B, $00, $39, $56, $6B, $00, $5A, $94, $BD, $00, $00, $39, $63, $00,
	$AD, $C6, $D6, $00, $29, $42, $52, $00, $18, $63, $94, $00, $AD, $D6, $EF, $00,
	$63, $8C, $A5, $00, $4A, $5A, $63, $00, $7B, $A5, $BD, $00, $18, $42, $5A, $00,
	$31, $8C, $BD, $00, $29, $31, $35, $00, $63, $84, $94, $00, $4A, $6B, $7B, $00,
	$5A, $8C, $A5, $00, $29, $4A, $5A, $00, $39, $7B, $9C, $00, $10, $31, $42, $00,
	$21, $AD, $EF, $00, $00, $10, $18, $00, $00, $21, $29, $00, $00, $6B, $9C, $00,
	$5A, $84, $94, $00, $18, $42, $52, $00, $29, $5A, $6B, $00, $21, $63, $7B, $00,
	$21, $7B, $9C, $00, $00, $A5, $DE, $00, $39, $52, $5A, $00, $10, $29, $31, $00,
	$7B, $BD, $CE, $00, $39, $5A, $63, $00, $4A, $84, $94, $00, $29, $A5, $C6, $00,
	$18, $9C, $10, $00, $4A, $8C, $42, $00, $42, $8C, $31, $00, $29, $94, $10, $00,
	$10, $18, $08, $00, $18, $18, $08, $00, $10, $29, $08, $00, $29, $42, $18, $00,
	$AD, $B5, $A5, $00, $73, $73, $6B, $00, $29, $29, $18, $00, $4A, $42, $18, $00,
	$4A, $42, $31, $00, $DE, $C6, $63, $00, $FF, $DD, $44, $00, $EF, $D6, $8C, $00,
	$39, $6B, $73, $00, $39, $DE, $F7, $00, $8C, $EF, $F7, $00, $00, $E7, $F7, $00,
	$5A, $6B, $6B, $00, $A5, $8C, $5A, $00, $EF, $B5, $39, $00, $CE, $9C, $4A, $00,
	$B5, $84, $31, $00, $6B, $52, $31, $00, $D6, $DE, $DE, $00, $B5, $BD, $BD, $00,
	$84, $8C, $8C, $00, $DE, $F7, $F7, $00, $18, $08, $00, $00, $39, $18, $08, $00,
	$29, $10, $08, $00, $00, $18, $08, $00, $00, $29, $08, $00, $A5, $52, $00, $00,
	$DE, $7B, $00, $00, $4A, $29, $10, $00, $6B, $39, $10, $00, $8C, $52, $10, $00,
	$A5, $5A, $21, $00, $5A, $31, $10, $00, $84, $42, $10, $00, $84, $52, $31, $00,
	$31, $21, $18, $00, $7B, $5A, $4A, $00, $A5, $6B, $52, $00, $63, $39, $29, $00,
	$DE, $4A, $10, $00, $21, $29, $29, $00, $39, $4A, $4A, $00, $18, $29, $29, $00,
	$29, $4A, $4A, $00, $42, $7B, $7B, $00, $4A, $9C, $9C, $00, $29, $5A, $5A, $00,
	$14, $42, $42, $00, $00, $39, $39, $00, $00, $59, $59, $00, $2C, $35, $CA, $00,
	$21, $73, $6B, $00, $00, $31, $29, $00, $10, $39, $31, $00, $18, $39, $31, $00,
	$00, $4A, $42, $00, $18, $63, $52, $00, $29, $73, $5A, $00, $18, $4A, $31, $00,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -