📄 actor.pas
字号:
unit Actor;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grobal2, DxDraws, CliUtil, magiceff, Wil, ClFunc, SDK;
const
MAXACTORSOUND = 3;
CMMX = 150;
CMMY = 200;
HUMANFRAME = 600;
MONFRAME = 280;
EXPMONFRAME = 360;
SCULMONFRAME = 440;
ZOMBIFRAME = 430;
MERCHANTFRAME = 60;
MAXSAY = 5;
// MON1_FRAME =
// MON2_FRAME =
RUN_MINHEALTH = 10;
DEFSPELLFRAME = 10;
FIREHIT_READYFRAME = 6; //堪拳搬 矫傈 橇贰烙
MAGBUBBLEBASE = 3890; //魔法盾效果图位置
MAGBUBBLESTRUCKBASE = 3900; //被攻击时魔法盾效果图位置
MAXWPEFFECTFRAME = 5;
WPEFFECTBASE = 3750;
EFFECTBASE = 0;
type
//动作定义
TActionInfo = packed record
start :Word;//0x14 // 开始帧
frame :Word;//0x16 // 帧数
skip :Word;//0x18 // 跳过的帧数
ftime :Word;//0x1A // 每帧的延迟时间(毫秒)
usetick :Word;//0x1C // 荤侩平, 捞悼 悼累俊父 荤侩凳
end;
pTActionInfo = ^TActionInfo;
//玩家的动作定义
THumanAction = packed record
ActStand: TActionInfo; //1
ActWalk: TActionInfo; //8
ActRun: TActionInfo; //8
ActRushLeft: TActionInfo;
ActRushRight: TActionInfo;
ActWarMode: TActionInfo; //1
ActHit: TActionInfo; //6
ActHeavyHit: TActionInfo; //6
ActBigHit: TActionInfo; //6
ActFireHitReady: TActionInfo; //6
ActSpell: TActionInfo; //6
ActSitdown: TActionInfo; //1
ActStruck: TActionInfo; //3
ActDie: TActionInfo; //4
end;
pTHumanAction = ^THumanAction;
TMonsterAction = packed record
ActStand: TActionInfo; //1
ActWalk: TActionInfo; //8
ActAttack: TActionInfo; //6 0x14 - 0x1C
ActCritical: TActionInfo; //6 0x20 -
ActStruck: TActionInfo; //3
ActDie: TActionInfo; //4
ActDeath: TActionInfo;
end;
pTMonsterAction = ^TMonsterAction;
const
//人类动作定义
//每个人物每个级别每个性别共600幅图
//设级别=L,性别=S,则开始帧=L*600+600*S
HA: THumanAction = ( //开始帧 有效帧 跳过帧 每帧延迟
ActStand: (start: 0; frame: 4; skip: 4; ftime: 200; usetick: 0);
ActWalk: (start: 64; frame: 6; skip: 2; ftime: 90; usetick: 2);
ActRun: (start: 128; frame: 6; skip: 2; ftime: 120; usetick: 3);
ActRushLeft: (start: 128; frame: 3; skip: 5; ftime: 120; usetick: 3);
ActRushRight:(start: 131; frame: 3; skip: 5; ftime: 120; usetick: 3);
ActWarMode:(start: 192; frame: 1; skip: 0; ftime: 200; usetick: 0);
//ActHit: (start: 200; frame: 5; skip: 3; ftime: 140; usetick: 0);
ActHit: (start: 200; frame: 6; skip: 2; ftime: 85; usetick: 0);
ActHeavyHit:(start: 264; frame: 6; skip: 2; ftime: 90; usetick: 0);
ActBigHit: (start: 328; frame: 8; skip: 0; ftime: 70; usetick: 0);
ActFireHitReady: (start: 192; frame: 6; skip: 4; ftime: 70; usetick: 0);
ActSpell: (start: 392; frame: 6; skip: 2; ftime: 60; usetick: 0);
ActSitdown:(start: 456; frame: 2; skip: 0; ftime: 300; usetick: 0);
ActStruck: (start: 472; frame: 3; skip: 5; ftime: 70; usetick: 0);
ActDie: (start: 536; frame: 4; skip: 4; ftime: 120; usetick: 0)
);
MA9: TMonsterAction = (//4C03D4
ActStand:(Start:0; frame:1; skip:7; ftime:200; usetick:0);
ActWalk:(Start:64; frame:6; skip:2; ftime:120; usetick:3);
ActAttack:(Start:64; frame:6; skip:2; ftime:150; usetick:0);
ActCritical:(Start:0; frame:0; skip:0; ftime:0; usetick:0);
ActStruck:(Start:64; frame:6; skip:2; ftime:100; usetick:0);
ActDie:(Start:0; frame:1; skip:7; ftime:140; usetick:0);
ActDeath:(Start:0; frame:1; skip:7; ftime:0; usetick:0);
);
MA10: TMonsterAction = ( //(每个动作8帧) 带刀卫士
ActStand: (start: 0; frame: 4; skip: 4; ftime: 200; usetick: 0);
ActWalk: (start: 64; frame: 6; skip: 2; ftime: 120; usetick: 3);
ActAttack: (start: 128; frame: 4; skip: 4; ftime: 150; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 192; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 208; frame: 4; skip: 4; ftime: 140; usetick: 0);
ActDeath: (start: 272; frame: 1; skip: 0; ftime: 0; usetick: 0);
);
MA11: TMonsterAction = ( //(每个动作10帧)
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 120; usetick: 3);
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 140; usetick: 0);
ActDeath: (start: 340; frame: 1; skip: 0; ftime: 0; usetick: 0);
);
MA12: TMonsterAction = ( //每个动作8帧,每个动作8个方向,共7种动作.
ActStand: (start: 0; frame: 4; skip: 4; ftime: 200; usetick: 0);
ActWalk: (start: 64; frame: 6; skip: 2; ftime: 120; usetick: 3);
ActAttack: (start: 128; frame: 6; skip: 2; ftime: 150; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 192; frame: 2; skip: 0; ftime: 150; usetick: 0);
ActDie: (start: 208; frame: 4; skip: 4; ftime: 160; usetick: 0);
ActDeath: (start: 272; frame: 1; skip: 0; ftime: 0; usetick: 0);
);
MA13: TMonsterAction = ( //侥牢檬
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 10; frame: 8; skip: 2; ftime: 160; usetick: 0); //殿厘...
ActAttack: (start: 30; frame: 6; skip: 4; ftime: 120; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 110; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 130; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 20; frame: 9; skip: 0; ftime: 150; usetick: 0); //见澜..
);
MA14: TMonsterAction = ( //秦榜 坷付
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 340; frame: 10; skip: 0; ftime: 100; usetick: 0); //归榜牢版快(家券)
);
MA15: TMonsterAction = ( //档尝带瘤绰 坷付
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 1; frame: 1; skip: 0; ftime: 100; usetick: 0);
);
MA16: TMonsterAction = ( //啊胶筋绰 备单扁
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 4; skip: 6; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 1; skip: 0; ftime: 160; usetick: 0);
);
MA17: TMonsterAction = ( //官迭波府绰 各
ActStand: (start: 0; frame: 4; skip: 6; ftime: 60; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 100; usetick: 0);
ActDeath: (start: 340; frame: 1; skip: 0; ftime: 140; usetick: 0); //
);
MA19: TMonsterAction = ( //快搁蓖 (磷绰芭 弧府磷澜)
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 140; usetick: 0);
ActDeath: (start: 340; frame: 1; skip: 0; ftime: 140; usetick: 0); //
);
MA20: TMonsterAction = ( //磷菌促 混酒唱绰 粱厚)
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 120; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 100; usetick: 0);
ActDeath: (start: 340; frame: 10; skip: 0; ftime: 170; usetick: 0); //促矫 混酒唱扁
);
MA21: TMonsterAction = ( //国笼
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0); //
ActAttack: (start: 10; frame: 6; skip: 4; ftime: 120; usetick: 0); //国 惯荤
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 20; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 30; frame: 10; skip: 0; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0); //
);
MA22: TMonsterAction = ( //籍惑阁胶磐(堪家措厘,堪家厘焙)
ActStand: (start: 80; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 240; frame: 6; skip: 4; ftime: 100; usetick: 0); //
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 320; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 340; frame: 10; skip: 0; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 6; skip: 4; ftime: 170; usetick: 0); //籍惑踌澜
);
MA23: TMonsterAction = ( //林付空
ActStand: (start: 20; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 100; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 180; frame: 6; skip: 4; ftime: 100; usetick: 0); //
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 260; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 280; frame: 10; skip: 0; ftime: 160; usetick: 0);
ActDeath: (start: 0; frame: 20; skip: 0; ftime: 100; usetick: 0); //籍惑踌澜
);
MA24: TMonsterAction = ( //傈哎, 傍拜 2啊瘤
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 80; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 160; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start:240; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActStruck: (start: 320; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 340; frame: 10; skip: 0; ftime: 140; usetick: 0);
ActDeath: (start: 420; frame: 1; skip: 0; ftime: 140; usetick: 0); //
);
{
MA25: TMonsterAction = ( //瘤匙空
ActStand: (start: 0; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 70; frame: 10; skip: 0; ftime: 200; usetick: 3); //殿厘
ActAttack: (start: 20; frame: 6; skip: 4; ftime: 120; usetick: 0); //流立傍拜
ActCritical:(start: 10; frame: 6; skip: 4; ftime: 120; usetick: 0); //刀魔傍拜(盔芭府)
ActStruck: (start: 50; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 60; frame: 10; skip: 0; ftime: 200; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 140; usetick: 0); //
);
}
MA25: TMonsterAction = (//4C080C
ActStand:(Start:0; frame:4; skip:6; ftime:200; usetick:0);
ActWalk:(Start:70; frame:10; skip:0; ftime:200; usetick:3);
ActAttack:(Start:20; frame:6; skip:4; ftime:120; usetick:0);
ActCritical:(Start:10; frame:6; skip:4; ftime:120; usetick:0);
ActStruck:(Start:50; frame:2; skip:0; ftime:100; usetick:0);
ActDie:(Start:60; frame:10; skip:0; ftime:200; usetick:0);
ActDeath:(Start:80; frame:10; skip:0; ftime:200; usetick:3);
);
MA26: TMonsterAction = ( //己巩,
ActStand: (start: 0; frame: 1; skip: 7; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 160; usetick: 0); //殿厘...
ActAttack: (start: 56; frame: 6; skip: 2; ftime: 500; usetick: 0); //凯扁
ActCritical:(start: 64; frame: 6; skip: 2; ftime: 500; usetick: 0); //摧扁
ActStruck: (start: 0; frame: 4; skip: 4; ftime: 100; usetick: 0);
ActDie: (start: 24; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 150; usetick: 0); //见澜..
);
MA27: TMonsterAction = ( //己寒
ActStand: (start: 0; frame: 1; skip: 7; ftime: 200; usetick: 0);
ActWalk: (start: 0; frame: 0; skip: 0; ftime: 160; usetick: 0); //殿厘...
ActAttack: (start: 0; frame: 0; skip: 0; ftime: 250; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 250; usetick: 0);
ActStruck: (start: 0; frame: 0; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 0; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 0; skip: 0; ftime: 150; usetick: 0); //见澜..
);
MA28: TMonsterAction = ( //脚荐 (函脚 傈)
ActStand: (start: 80; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 0; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 0; skip: 0; ftime: 0; usetick: 0);
ActStruck: (start: 240; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 260; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 10; skip: 0; ftime: 100; usetick: 0); //殿厘..
);
MA29: TMonsterAction = ( //脚荐 (函脚 饶)
ActStand: (start: 80; frame: 4; skip: 6; ftime: 200; usetick: 0);
ActWalk: (start: 160; frame: 6; skip: 4; ftime: 160; usetick: 3); //
ActAttack: (start: 240; frame: 6; skip: 4; ftime: 100; usetick: 0);
ActCritical:(start: 0; frame: 10; skip: 0; ftime: 100; usetick: 0);
ActStruck: (start: 320; frame: 2; skip: 0; ftime: 100; usetick: 0);
ActDie: (start: 340; frame: 10; skip: 0; ftime: 120; usetick: 0);
ActDeath: (start: 0; frame: 10; skip: 0; ftime: 100; usetick: 0); //殿厘..
);
MA30: TMonsterAction = (//4C0974
ActStand:(Start:0; frame:4; skip:6; ftime:200; usetick:0);
ActWalk:(Start:0; frame:10; skip:0; ftime:200; usetick:3);
ActAttack:(Start:10; frame:6; skip:4; ftime:120; usetick:0);
ActCritical:(Start:10; frame:6; skip:4; ftime:120; usetick:0);
ActStruck:(Start:20; frame:2; skip:0; ftime:100; usetick:0);
ActDie:(Start:30; frame:20; skip:0; ftime:150; usetick:0);
ActDeath:(Start:0; frame:10; skip:0; ftime:200; usetick:3);
);
MA31: TMonsterAction = (//4C09BC
ActStand:(Start:0; frame:4; skip:6; ftime:200; usetick:0);
ActWalk:(Start:0; frame:10; skip:0; ftime:200; usetick:3);
ActAttack:(Start:10; frame:6; skip:4; ftime:120; usetick:0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -