📄 m2share.pas
字号:
// g_nAvailableBlock :Integer = 7999;
// nGateLoad :Integer = 10;
// g_nGateLoad :Integer = 0;
// g_nUserFull :Integer = 500; //0x4EBC24
// g_nZenFastStep :Integer = 300; //0x4EBC28
// sGateAddr :String = '127.0.0.1';
// nGatePort :Integer = 5000;
// sDBAddr :String = '127.0.0.1';
// nDBPort :Integer = 6000;
// sIDSAddr :String = '127.0.0.1';
// nIDSPort :Integer = 5600;
// sMsgSrvAddr :String = '127.0.0.1'; //0x4EBCC0
// nMsgSrvPort :Integer = 4900; //0x4EBCC4
// g_sLogServerAddr :String = '127.0.0.1';
// g_nLogServerPort :Integer = 10000;
// boDiscountForNightTime :Boolean = False;
// nHalfFeeStart :Integer = 2;
// nHalfFeeEnd :Integer = 10;
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';
// sBaseDir :String = '.\BaseDir\';
// sGuildDir :String = '.\GuildDir\List\';
// sGuildFile :String = '.\GuildDir\List.txt';
// sVentureDir :String = '.\VentureDir\';
// sConLogDir :String = '.\ConLogDir\';
// sCastleDir :String = '.\CastleDir\';
// sEnvirDir :String = '.\Envir\';
// sMapDir :String = '.\MapDir\';
// sNoticeDir :String = '.\Notice\';
// g_sLogDir :String = '.\Log\';
// sPlugDir :String = '.\';
//sPlugDir :String = '.\Plug-in\';
// sClientFile1 :String = 'mir.1';
// sClientFile2 :String = 'mir.2';
// sClientFile3 :String = 'mir.3';
// nClientFile1_CRC :Integer;
// nClientFile2_CRC :Integer;
// nClientFile3_CRC :Integer;
// g_sClothsMan :String = '布衣(男)';
// g_sClothsWoman :String = '布衣(女)';
// g_sWoodenSword :String = '木剑';
// g_sCandle :String = '蜡烛';
// g_sBasicDrug :String = '金创药(小量)';
// g_sGoldStone :String = '金矿';
// g_sSilverStone :String = '银矿';
// g_sSteelStone :String = '铁矿';
// g_sCopperStone :String = '铜矿';
// g_sBlackStone :String = '黑铁矿';
// g_sZuma :array[0..3] of String[15] = ('祖玛卫士','祖玛雕像','祖玛弓箭手','楔蛾');
{
sZuma1 :String = '祖玛卫士';
sZuma2 :String = '祖玛雕像';
sZuma3 :String = '祖玛弓箭手';
sZuma4 :String = '楔蛾';
}
// g_sBee :String = '小角蝇';
// g_sSpider :String = '小蜘蛛';
// g_sWomaHorn :String = '沃玛号角';
// g_sZumaPiece :String = '祖玛头像';
// sElfWarMon :String = '神兽1';
// sElfMon :String = '神兽';
// g_sGameGoldName :String = '翎风币';
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_nHealthFillTime :Integer = 300; //吃金创药,加HP间隔速度
// g_nSpellFillTime :Integer = 800; //吃魔法药,加MP间隔速度
// g_nMonUpLvNeedKillBase :Integer = 100;
// g_nMonUpLvRate :Integer = 16;
// g_MonUpLvNeedKillCount :array [0..SLAVEMAXLEVEL -2] of Integer = (0,0,50,100,200,300,600,1200);
//g_SlaveColor :array [0..SLAVEMAXLEVEL -1] of Byte = ($FF,$FE,$93,$9A,$E5,$A8,$B4,$FC); //004E9F20
// g_SlaveColor :array [0..SLAVEMAXLEVEL -1] of Byte = ($FF,$FE,$93,$9A,$E5,$A8,$B4,$FC,249); //004E9F20
// g_WideAttack :array [0..2] of byte = (7,1,2);
(*
g_SpitMap :array [0..7,0..4,0..4] of Byte = (
((0, 0, 1, 0, 0), //DR_UP
(0, 0, 1, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0)),
((0, 0, 0, 0, 1), //DR_UPRIGHT
(0, 0, 0, 1, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0)),
((0, 0, 0, 0, 0), //DR_RIGHT
(0, 0, 0, 0, 0),
(0, 0, 0, 1, 1),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0)),
((0, 0, 0, 0, 0), //DR_DOWNRIGHT
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 1, 0),
(0, 0, 0, 0, 1)),
((0, 0, 0, 0, 0), //DR_DOWN
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 1, 0, 0),
(0, 0, 1, 0, 0)),
((0, 0, 0, 0, 0), //DR_DOWNLEFT
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 1, 0, 0, 0),
(1, 0, 0, 0, 0)),
((0, 0, 0, 0, 0), //DR_LEFT
(0, 0, 0, 0, 0),
(1, 1, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0)),
((1, 0, 0, 0, 0), //DR_UPLEFT
(0, 1, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0),
(0, 0, 0, 0, 0))
);
*)
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
// g_sHomeMap :String = '0';
// g_nHomeX :Integer = 289;
// g_nHomeY :Integer = 618;
// g_sRedHomeMap :String = '3'; //红名回城点地图
// g_nRedHomeX :Integer = 845; //红名回城点座标 X
// g_nRedHomeY :Integer = 674; //红名回城点座标 Y
// g_sRedDieHomeMap :String = '3'; //红名回城点地图
// g_nRedDieHomeX :Integer = 839; //红名回城点座标 X
// g_nRedDieHomeY :Integer = 668; //红名回城点座标 Y
// g_dwDecPkPointTime :LongWord = 120000; //减PK值间隔时间
// g_nDecPkPointCount :Integer = 1; //一次减多少点
// g_dwPKFlagTime :LongWord = 60 * 1000;
// g_nKillHumanAddPKPoint :Integer = 100; //杀人增加PK点数
// g_nKillHumanDecLuckPoint :Integer = 500;
// g_dwDecLightItemDrugTime :LongWord = 500;
// g_nSafeZoneSize :Integer = 10; //安全区大小
// g_nStartPointSize :Integer = 2;
// g_dwHumanGetMsgTime :LongWord = 200;
// g_nGroupMembersMax :Integer = 10;
// g_sFireBallSkill :String = '火球术';
// g_sHealSkill :String = '治愈术';
// g_ReNewNameColor :array[0..9] of Byte = ($FF,$FE,$93,$9A,$E5,$A8,$B4,$FC,$B4,$FC);
// g_dwReNewNameColorTime:LongWord = 2000;
// g_boReNewChangeColor :Boolean = True;
// g_boReNewLevelClearExp:Boolean = True;
//不同职业属性点数分配比例
// g_BonusAbilofWarr :TNakedAbility = (DC:17;MC:20;SC:20;AC:20;MAC:20;HP:1;MP:3;Hit:20;Speed:35;X2:0);
// g_BonusAbilofWizard :TNakedAbility = (DC:17;MC:25;SC:30;AC:20;MAC:15;HP:2;MP:1;Hit:25;Speed:35;X2:0);
// g_BonusAbilofTaos :TNakedAbility = (DC:20;MC:30;SC:17;AC:20;MAC:15;HP:2;MP:1;Hit:30;Speed:30;X2:0);
//不同职业属性点分配到人物属性上 最小值与最大值之间比例
// g_NakedAbilofWarr :TNakedAbility = (DC:512;MC:2560;SC:20;AC:768;MAC:1280;HP:0;MP:0;Hit:0;Speed:0;X2:0);
// g_NakedAbilofWizard :TNakedAbility = (DC:512;MC:512;SC:2560;AC:1280;MAC:768;HP:0;MP:0;Hit:5;Speed:0;X2:0);
// g_NakedAbilofTaos :TNakedAbility = (DC:513;MC:2560;SC:512;AC:512;MAC:512;HP:0;MP:0;Hit:0;Speed:0;X2:0);
//unsigned char data[1024] = {
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,
$00, $21, $18, $00, $00, $31, $18, $00, $10, $39, $18, $00, $4A, $84, $63, $00,
$4A, $BD, $6B, $00, $4A, $B5, $63, $00, $4A, $BD, $63, $00, $4A, $9C, $5A, $00,
$39, $8C, $4A, $00, $4A, $C6, $63, $00, $4A, $D6, $63, $00, $4A, $84, $52, $00,
$29, $73, $31, $00, $5A, $C6, $63, $00, $4A, $BD, $52, $00, $00, $FF, $10, $00,
$18, $29, $18, $00, $4A, $88, $4A, $00, $4A, $E7, $4A, $00, $00, $5A, $00, $00,
$00, $88, $00, $00, $00, $94, $00, $00, $00, $DE, $00, $00, $00, $EE, $00, $00,
$00, $FB, $00, $00, $94, $5A, $4A, $00, $B5, $73, $63, $00, $D6, $8C, $7B, $00,
$D6, $7B, $6B, $00, $FF, $88, $77, $00, $CE, $C6, $C6, $00, $9C, $94, $94, $00,
$C6, $94, $9C, $00, $39, $31, $31, $00, $84, $18, $29, $00, $84, $00, $18, $00,
$52, $42, $4A, $00, $7B, $42, $52, $00, $73, $5A, $63, $00, $F7, $B5, $CE, $00,
$9C, $7B, $8C, $00, $CC, $22, $77, $00, $FF, $AA, $DD, $00, $2A, $B4, $F0, $00,
$9F, $00, $DF, $00, $B3, $17, $E3, $00, $F0, $FB, $FF, $00, $A4, $A0, $A0, $00,
$80, $80, $80, $00, $00, $00, $FF, $00, $00, $FF, $00, $00, $00, $FF, $FF, $00,
$FF, $00, $00, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $00
);
//升级武器参数
// g_nUpgradeWeaponMaxPoint :Integer = 20;
// g_nUpgradeWeaponPrice :Integer = 10000; //升级武器费用
// g_dwUPgradeWeaponGetBackTime :LongWord = 60 * 60 * 1000; //升级武器取回时间
// g_nClearExpireUpgradeWeaponDays :Integer = 8;
// g_nUpgradeWeaponDCRate :Integer = 100;
// g_nUpgradeWeaponDCTwoPointRate :Integer = 30;
// g_nUpgradeWeaponDCThreePointRate :Integer = 200;
// g_nUpgradeWeaponSCRate :Integer = 100;
// g_nUpgradeWeaponSCTwoPointRate :Integer = 30;
// g_nUpgradeWeaponSCThreePointRate :Integer = 200;
// g_nUpgradeWeaponMCRate :Integer = 100;
// g_nUpgradeWeaponMCTwoPointRate :Integer = 30;
// g_nUpgradeWeaponMCThreePointRate :Integer = 200;
// g_dwProcessMonstersTime :LongWord = 10; //处理怪物间隔控制
// g_dwRegenMonstersTime :LongWord = 200; //刷怪间隔时间
// g_nMonGenRate :Integer = 10; //刷怪倍率
// g_nProcessMonRandRate :Integer = 5;
// g_nProcessMonLimitCount :Integer = 5;
// g_nSoftVersionDate :Integer = 20020522;
// g_dwConsoleShowUserCountTime :LongWord = 600000;
// g_dwShowLineNoticeTime :LongWord = 5 * 60 * 1000;
// g_nLineNoticeColor :Integer = 2;
// g_nStartCastleWarDays :Integer = 4;
// g_nStartCastlewarTime :Integer = 20; //攻城开始时间 20 为 20:00
// g_dwShowCastleWarEndMsgTime :LongWord = 10 * 60 * 1000; //攻城结束提示时间 结束10分钟前提示
// g_dwCastleWarTime :LongWord = 3 * 60 * 60 * 1000; //攻城时间长度
// g_dwGetCastleTime :LongWord = 10 * 60 * 1000; //攻城战开始多久以内不能占领
// g_dwGuildWarTime :LongWord = 3 * 60 * 60 * 1000; //行会战时间长度
// g_nBuildGuildPrice :Integer = 1000000; //创建行会所需金币
// g_nGuildWarPrice :Integer = 30000; //申请行会战所需金币
// g_nMakeDurgPrice :Integer = 100; //制药费用
// g_nHumanMaxGold :Integer = 10000000; //人物身上最高金币数
// g_nHumanTryModeMaxGold :Integer = 100000; //试玩模式人物身上最高金币数
// g_nTryModeLevel :Integer = 7; //最高试玩等级
// g_boTryModeUseStorage :Boolean = False; //试玩模式是否允许使用仓库
// g_nCanShoutMsgLevel :Integer = 7; //允许喊话等级
// g_boShowMakeItemMsg :Boolean = False; //是否显示制造物品信息
// g_boShutRedMsgShowGMName :Boolean = False; //GM发红字是否显示人名字
// g_nSayMsgMaxLen :Integer = 80; //发送文字最大长度
// g_dwSayMsgTime :LongWord = 3 * 1000; //发送文字间隔
// g_nSayMsgCount :Integer = 2; //发送文字数量
// g_dwDisableSayMsgTime :LongWord = 60 * 1000; //禁言时长
// g_nSayRedMsgMaxLen :Integer = 255;
// g_boShowGuildName :Boolean = True;//是否显示行会名字
// g_boMonSayMsg :Boolean = False;//是否用怪物说话功能
g_GMRedMsgCmd :Char = '!';
g_nGMREDMSGCMD :Integer = 6;
// g_nStartPermission :Integer = 0; //人物上线权限等级
// g_boKillHumanWinLevel :Boolean = False; //人物杀人获得等级
// g_boKilledLostLevel :Boolean = False;//被人杀丢失等级数
// g_boKillHumanWinExp :Boolean = False; //人物杀人获得经验
// g_boKilledLostExp :Boolean = False; //被人杀人丢失经验
// g_nKillHumanWinLevel :Integer = 1;//杀人得到等级数
// g_nKilledLostLevel :Integer = 1;//杀人丢失等级数
// g_nKillHumanWinExp :LongWord = 100000;//杀人得到经验数
// g_nKillHumanLostExp :LongWord = 100000;//杀人得到经验数
// g_nHumanLevelDiffer :Integer = 10;//人物之间相差等级数,超过此等级不加经验或等级
// g_nMonsterPowerRate :Integer = 10; //怪物数据属性倍率(10 代表 1倍,11代表1.1倍)
// g_nItemsPowerRate :Integer = 10; //物品数据属性倍率(10 代表 1倍,11代表1.1倍)
// g_nItemsACPowerRate :Integer = 10; //物品数据属性AC,MAC倍率(10 代表 1倍,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -