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

📄 mshare.pas

📁 传奇源代码的delphi版本
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit MShare;

interface
uses
  svn, Windows, Classes, SysUtils, cliutil, Forms, DXDraws, DWinCtl,
  WIL, Actor, Grobal2, SDK, DXSounds, IniFiles, Share; 

type
  TTimerCommand = (tcSoftClose, tcReSelConnect, tcFastQueryChr, tcQueryItemPrice);
  TChrAction = (caWalk, caRun, caHorseRun, caHit, caSpell, caSitdown);
  TConnectionStep = (cnsLogin, cnsSelChr, cnsReSelChr, cnsPlay);
  TMovingItem = record
    Index: integer;
    Item: TClientItem;
  end;
  TPowerBlock = array[0..100-1] of Word;
  pTMovingItem = ^TMovingItem;
  TItemType = (i_HPDurg,i_MPDurg,i_HPMPDurg,i_OtherDurg,i_Weapon,i_Dress,i_Helmet,i_Necklace,i_Armring,i_Ring,i_Belt,i_Boots,i_Charm,i_Book,i_PosionDurg,i_UseItem,i_Scroll,i_Stone,i_Gold,i_Other);
  TShowItem = record
    sItemName    :String;
    ItemType     :TItemType;
    boAutoPickup :Boolean;
    boShowName   :Boolean;
    nFColor      :Integer;
    nBColor      :Integer;
  end;
  pTShowItem = ^TShowItem;
  TControlInfo = record
    Image       :Integer;
    Left        :Integer;
    Top         :Integer;
    Width       :Integer;
    Height      :Integer;
    Obj         :TDControl;
  end;
  pTControlInfo = ^TControlInfo;
  TConfig = record
    DMsgDlg       :TControlInfo;
    DMsgDlgOk     :TControlInfo;
    DMsgDlgYes    :TControlInfo;
    DMsgDlgCancel :TControlInfo;
    DMsgDlgNo     :TControlInfo;
    DLogIn        :TControlInfo;
    DLoginNew     :TControlInfo;
    DLoginOk      :TControlInfo;
    DLoginChgPw   :TControlInfo;
    DLoginClose   :TControlInfo;
    DSelServerDlg :TControlInfo;
    DSSrvClose    :TControlInfo;
    DSServer1     :TControlInfo;
    DSServer2     :TControlInfo;
    DSServer3     :TControlInfo;
    DSServer4     :TControlInfo;
    DSServer5     :TControlInfo;
    DSServer6     :TControlInfo;
    DSServer7     :TControlInfo;
    DSServer8     :TControlInfo;
    DNewAccount   :TControlInfo;
    DNewAccountOk :TControlInfo;
    DNewAccountCancel :TControlInfo;
    DNewAccountClose  :TControlInfo;
    DChgPw        :TControlInfo;
    DChgpwOk      :TControlInfo;
    DChgpwCancel  :TControlInfo;
    DSelectChr    :TControlInfo;
    DBottom       :TControlInfo;
    DMyState      :TControlInfo;
    DMyBag        :TControlInfo;
    DMyMagic      :TControlInfo;
    DOption       :TControlInfo;
    DBotMiniMap   :TControlInfo;
    DBotTrade     :TControlInfo;
    DBotGuild     :TControlInfo;
    DBotGroup     :TControlInfo;
    DBotFriend    :TControlInfo;
    DBotLover     :TControlInfo;
    DBotLogout    :TControlInfo;    
    DBotExit      :TControlInfo;
    DBotPlusAbil  :TControlInfo;
    DBotMemo      :TControlInfo;
    DBelt1        :TControlInfo;
    DBelt2        :TControlInfo;
    DBelt3        :TControlInfo;
    DBelt4        :TControlInfo;
    DBelt5        :TControlInfo;
    DBelt6        :TControlInfo;
    DGold         :TControlInfo;
    DRepairItem   :TControlInfo;
    DClosebag     :TControlInfo;
    DMerchantDlg  :TControlInfo;
    DMerchantDlgClose :TControlInfo;
    DConfigDlg        :TControlInfo;
    DConfigDlgOk      :TControlInfo;
    DConfigDlgClose   :TControlInfo;
    DMenuDlg          :TControlInfo;
    DMenuPrev         :TControlInfo;
    DMenuNext         :TControlInfo;
    DMenuBuy          :TControlInfo;
    DMenuClose        :TControlInfo;
    DSellDlg          :TControlInfo;
    DSellDlgOk        :TControlInfo;
    DHold             :TControlInfo;
    DSellDlgClose     :TControlInfo;
    DSellDlgSpot      :TControlInfo;
    DKeySelDlg        :TControlInfo;
    DKsIcon           :TControlInfo;
    DKsF1             :TControlInfo;
    DKsF2             :TControlInfo;
    DKsF3             :TControlInfo;
    DKsF4             :TControlInfo;
    DKsF5             :TControlInfo;
    DKsF6             :TControlInfo;
    DKsF7             :TControlInfo;
    DKsF8             :TControlInfo;
    DKsConF1          :TControlInfo;
    DKsConF2          :TControlInfo;
    DKsConF3          :TControlInfo;
    DKsConF4          :TControlInfo;
    DKsConF5          :TControlInfo;
    DKsConF6          :TControlInfo;
    DKsConF7          :TControlInfo;
    DKsConF8          :TControlInfo;
    DKsNone           :TControlInfo;
    DKsOk             :TControlInfo;
    DChgGamePwd       :TControlInfo;
    DChgGamePwdClose  :TControlInfo;
    DItemGrid         :TControlInfo;
    DScrollTop        :TControlInfo;
    DScrollUp         :TControlInfo;
    DScrollDown       :TControlInfo;
    DScrollBottom     :TControlInfo;
    DBotItemShop      :TControlInfo;
    DItemShopJobAll   :TControlInfo;
    DItemShopJobWarrior:TControlInfo;
    DItemShopJobWizard:TControlInfo;
    DItemShopJobMonk  :TControlInfo;
    DItemShopJobCommon:TControlInfo;
    DGrpPgUp          :TControlInfo;
    DGrpPgDn          :TControlInfo;
    DItemShopFind     :TControlInfo;
    DItemShopCaNew     :TControlInfo;
    DItemShopCaAll     :TControlInfo;
    DItemShopCaWeapon     :TControlInfo;
    DItemShopCaArmor     :TControlInfo;
    DItemShopCaAcc     :TControlInfo;
    DItemShopCasSubitem     :TControlInfo;
    DItemShopCaOther     :TControlInfo;
    DItemShopCaPackage     :TControlInfo;
    DItemShopCaSub1     :TControlInfo;
    DItemShopCaSub2     :TControlInfo;
    DItemShopCaSub3     :TControlInfo;
    DItemShopCaSub4     :TControlInfo;
    DItemShopCaSub5     :TControlInfo;
    DItemShopCaSub6     :TControlInfo;
    DItemShopCaSub7     :TControlInfo;
    DItemShopGetGift     :TControlInfo;
    DItemShopAddFav     :TControlInfo;
    DItemShopBye     :TControlInfo;
    DItemShopGift     :TControlInfo;
    DItemShopPayMoney     :TControlInfo;
    DItemShopWear     :TControlInfo;
    DItemShopWearLturn     :TControlInfo;
    DItemShopWearChange     :TControlInfo;
    DItemShopWearRturn     :TControlInfo;
    DItemShopListPrev     :TControlInfo;
    DItemShopListNext     :TControlInfo;
    DShopScrollBarUp     :TControlInfo;
    DShopScrollBarDown     :TControlInfo;
    DShopScrollBar     :TControlInfo;
    DItemShopCaFav     :TControlInfo;
    DItemShopInPackBack     :TControlInfo;
    DItemShopCashRefresh     :TControlInfo;
    DItemShopPackSub1     :TControlInfo;
    DItemShopPackSub2     :TControlInfo;
    DItemShopPackSub3     :TControlInfo;
    DItemShopPackSub4     :TControlInfo;
    DItemShopPackSub5     :TControlInfo;
    DItemShopPackSub6     :TControlInfo;
    DItemShopPackSub7     :TControlInfo;
    DItemShopPackSub8     :TControlInfo;
    DItemShopFavDel1     :TControlInfo;
    DItemShopFavDel2     :TControlInfo;
    DItemShopFavDel3     :TControlInfo;
    DItemShopFavDel4     :TControlInfo;
    DItemShopFavDel5     :TControlInfo;
    DItemShopFavDel6     :TControlInfo;
    DItemShopFavDel7     :TControlInfo;
    DItemShopFavDel8     :TControlInfo;
    DItemShopPriceUp     :TControlInfo;
    DItemShopPriceDn     :TControlInfo;
    DItemShopCheckSort     :TControlInfo;
  end;

  pTItemEffect = ^TItemEffect;
  TItemEffect = record
    Idx: integer;
    n_CurrentFrame: integer;
    n_StartFrame: integer;
    n_EndFrame: integer;
    n_NextFrame: integer;
    n_LastFrame: longword;
  end;

// Ignore  
//  TMonImg = record
//    Img: TWMImages;
//  end;

var
//  MonImg            :Array[0..100] of TMonImg;
  g_sLogoText       :String = 'wf>QKZtS=Ap[icP';
  g_sGoldName       :String = '金币';
  g_sGameGoldName   :String = 'GameGold';
  g_sGamePointName  :String = 'GamePoint';
  g_sWarriorName    :String = '战士';    //职业名称
  g_sWizardName     :String = '法师';  //职业名称
  g_sTaoistName     :String = '道士';    //职业名称
  g_sUnKnowName     :String = '未知';

  g_sMainParam1     :String; //读取设置参数
  g_sMainParam2     :String; //读取设置参数
  g_sMainParam3     :String; //读取设置参数
  g_sMainParam4     :String; //读取设置参数
  g_sMainParam5     :String; //读取设置参数
  g_sMainParam6     :String; //读取设置参数
//攻击模式设置
  g_AttackModeOfAll            :String = '[全体]';
  g_AttackModeOfPeaceful       :String = '[和平]';
  g_AttackModeOfDear           :String = '[夫妻]';
  g_AttackModeOfMaster         :String = '[主人]';
  g_AttackModeOfGroup          :String = '[编组]';
  g_AttackModeOfGuild          :String = '[公会]';
  g_AttackModeOfRedWhite       :String = '[善恶]';

  g_DXDraw           :TDXDraw;
  g_DWinMan          :TDWinManager;
  g_DXSound          :TDXSound;
  g_Sound            :TSoundEngine;

  g_WMainImages      :TWMImages;
  g_WMain2Images     :TWMImages;
  g_WMain3Images     :TWMImages;
  g_WChrSelImages    :TWMImages;
  g_WMMapImages      :TWMImages;
  g_WTilesImages     :TWMImages;
  g_WSmTilesImages   :TWMImages;
  g_WHumWingImages   :TWMImages;
  g_WBagItemImages   :TWMImages;
  g_WStateItemImages :TWMImages;
  g_WDnItemImages    :TWMImages;
  g_WHumImgImages    :TWMImages;
  g_WHum2ImgImages   :TWMImages;
  g_WHairImgImages   :TWMImages;
  g_WHorseImgImages  :TWMImages;
  g_WHelmetImgImages :TWMImages;
  g_WTransFormImages :TWMImages;
  g_WWeaponImages    :TWMImages;
  g_WMagIconImages   :TWMImages;
  g_WNpcImgImages    :TWMImages;
  g_WMagicImages     :TWMImages;
  g_WMagic2Images    :TWMImages;
  g_WMagic3Images    :TWMImages;
  g_WMagic4Images    :TWMImages;
  g_WDecoImages      :TWMImages;
  g_WEventEffectImages:TWMImages;
  g_WObjectArr       :array[0..12] of TWMImages;
  g_WMonImagesArr    :array[0..9999] of TWMImages;
//  g_WWeaponImages    :array of TWMImages;

  g_PowerBlock:TPowerBlock = (   //10
	$55, $8B, $EC, $83, $C4, $E8, $89, $55, $F8, $89, $45, $FC, $C7, $45, $EC, $E8,
	$03, $00, $00, $C7, $45, $E8, $64, $00, $00, $00, $DB, $45, $EC, $DB, $45, $E8,
	$DE, $F9, $DB, $45, $FC, $DE, $C9, $DD, $5D, $F0, $9B, $8B, $45, $F8, $8B, $00,
	$8B, $55, $F8, $89, $02, $DD, $45, $F0, $8B, $E5, $5D, $C3,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, 
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00
   );
  g_PowerBlock1:TPowerBlock = (
	$55, $8B, $EC, $83, $C4, $E8, $89, $55, $F8, $89, $45, $FC, $C7, $45, $EC, $64,
	$00, $00, $00, $C7, $45, $E8, $64, $00, $00, $00, $DB, $45, $EC, $DB, $45, $E8,
	$DE, $F9, $DB, $45, $FC, $DE, $C9, $DD, $5D, $F0, $9B, $8B, $45, $F8, $8B, $00,
	$8B, $55, $F8, $89, $02, $DD, $45, $F0, $8B, $E5, $5D, $C3,
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, 
	$00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
	$00, $00, $00, $00, $00, $00, $00, $00
   );
  g_RegInfo          :TRegInfo;
  g_nThisCRC         :Integer;
  g_sServerName      :String; //服务器显示名称
  g_sServerMiniName  :String; //服务器名称
  g_sServerAddr      :String = '127.0.0.1';
  g_nServerPort      :Integer = 7000;

  g_sSelectServerAddr:String = '127.0.0.1';
  g_nSelectServerPort:Integer = 7100;
  g_sGameServerAddr  :String = '127.0.0.1';
  g_nGameServerPort  :Integer = 7200;

  g_nTopDrawPos      :Integer = 0;
  g_nLeftDrawPos     :Integer = 0;

  g_sSelChrAddr      :String;
  g_nSelChrPort      :Integer;
  g_sRunServerAddr   :String;
  g_nRunServerPort   :Integer;

  g_boSendLogin      :Boolean; //是否发送登录消息
  g_boServerConnected:Boolean;
  g_SoftClosed       :Boolean; //小退游戏
  g_ChrAction        :TChrAction;
  g_ConnectionStep   :TConnectionStep;

  g_boSound          :Boolean; //开启声音
  g_boBGSound        :Boolean; //开启背景音乐

  g_boSkillSetting   :Boolean;
  g_boSkillBarNum    :Boolean;
  g_boShowSkillBar   :Boolean;
  g_boEffect         :Boolean = False;
  g_boNameAllView    :Boolean = False;
  g_boHPView         :Boolean = True;

  g_FontArr          :array[0..MAXFONT-1] of string = (
                     '宋体',
                     '新宋体',
                     '仿宋',
                     '楷体',
                     'Courier New',
                     'Arial',
                     'MS Sans Serif',
                     'Microsoft Sans Serif'
                     );

  g_nCurFont         :Integer = 0;
  g_sCurFontName     :String = '新宋体';
  g_boFullScreen     :Boolean = True;
  g_boDisableFlip    :Boolean = False;
  g_boWindowTest     :Boolean = False;  

  g_boForceAddr      :Boolean = False;

⌨️ 快捷键说明

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