mshare.~pas

来自「2009最新 传奇汉化0599代码 传奇汉化」· ~PAS 代码 · 共 1,239 行 · 第 1/4 页

~PAS
1,239
字号
unit MShare;

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

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);
//  [药品] [武器][衣服][头盔][项链][手镯][戒指][腰带][鞋子][宝石][技能书][毒药][消耗品][其它]
    {
    i_HPDurg    :Result:='金创药';
    i_MPDurg    :Result:='魔法药';
    i_HPMPDurg  :Result:='高级药';
    i_OtherDurg :Result:='其它药品';
    }
  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;
    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;
  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 = 'ktest';
  g_sGoldName       :String = 'Gold';
  g_sGameGoldName   :String = 'GameGold';
  g_sGamePointName  :String = 'GamePoint';
  g_sWarriorName    :String = 'Warrior';    //职业名称
  g_sWizardName     :String = 'Wizard';  //职业名称
  g_sTaoistName     :String = 'Taoist';    //职业名称
  g_sUnKnowName     :String = 'Unknown';

  g_sMainParam1     :String; //读取设置参数
  g_sMainParam2     :String; //读取设置参数
  g_sMainParam3     :String; //读取设置参数
  g_sMainParam4     :String; //读取设置参数
  g_sMainParam5     :String; //读取设置参数
  g_sMainParam6     :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_WHairImgImages   :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..9] 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_FontArr          :array[0..MAXFONT-1] of string = (
                     'Batang',
                     'Gulrym',
                     'Gungseo',
                     'Dodum',
                     'Courier New',
                     'Arial',
                     'MS Sans Serif',
                     'Microsoft Sans Serif'
                     );

  g_nCurFont         :Integer = 0;
  g_sCurFontName     :String = 'Gulrym';
  g_boFullScreen     :Boolean = True;
  g_boDisableFlip    :Boolean = False;
  g_boWindowTest     :Boolean = False;  

  g_boForceAddr      :Boolean = False;

//  g_boAutoLogin      :Boolean = False;
//  g_boAutoServer     :Boolean = False;
//  g_sAutoID          :String = 'username';
//  g_sAutoPass        :String = 'password';
//  g_sAutoServerName  :String = 'ktest';

  g_ImgMixSurface    :TDirectDrawSurface;
  g_MiniMapSurface   :TDirectDrawSurface;
  g_MapSurface   :TDirectDrawSurface;

  g_boFirstTime      :Boolean;
  g_sMapTitle        :String;
  g_nMapMusic        :Integer;

  g_ServerList           :TStringList;
  g_MagicList            :TList;
  g_GroupMembers         :TStringList;
  g_SaveItemList         :TList;
  g_MenuItemList         :TList;
  g_DropedItemList       :TList;
  g_ChangeFaceReadyList  :TList;
  g_FreeActorList        :TList;
  g_SoundList            :TStringList;

  g_nBonusPoint          :Integer;
  g_nSaveBonusPoint      :Integer;
  g_BonusTick            :TNakedAbility;
  g_BonusAbil            :TNakedAbility;
  g_NakedAbil            :TNakedAbility;
  g_BonusAbilChg         :TNakedAbility;

  g_sGuildName           :String;
  g_sGuildRankName       :String;

  g_dwLastAttackTick     :LongWord;
  g_dwLastMoveTick       :LongWord;
  g_dwLatestStruckTick   :LongWord;
  g_dwLatestSpellTick    :LongWord;
  g_dwLatestFireHitTick  :LongWord;
  g_dwLatestRushRushTick :LongWord;
  g_dwLatestHitTick      :LongWord;
  g_dwLatestMagicTick    :LongWord;

⌨️ 快捷键说明

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