找回密码
 注册

STEAM登陆

绑定游戏账号后可使用

QQ登录

只需一步,快速开始

查看: 1679|回复: 38
收起左侧

[hammer]关于移动怪物的制作以及刷怪点

  [复制链接]

签到天数: 107 天

[LV.6]常住居民II

15

主题

178

回帖

1360

积分

自定义头衔

UID
85367
僵尸币
51220
贡献度
0
注册时间
2022-12-23
在线时间
127 小时
最后登录
2025-5-2

雷米莉亚幽幽子初音初音2水银灯水银灯2

QQ
发表于 2023-2-4 01:44:11 | 显示全部楼层 |阅读模式
游戏昵称:歪比巴卜电视苔 | CS2金币:9029 | CS:GO金币:949 | SteamID: STEAM_0:0:233879601

不注册个乐园论坛账号能玩??

您需要 登录 才可以下载或查看,没有账号?注册

×
看此贴以前,请移步到B站看个大佬的视频https://www.bilibili.com/video/BV1qD4y1n7AS/。以下内容默认已经读懂代码以及原理。对于单个BOSS,使用视频里的固然没啥问题,但想要制作一个刷怪点,就需要用class打包一下,以下是我本人基于原文件打包的代码,包含技能(这里只有加速)

  1. //----------------------------BOSS------------------------------------
  2. TICKRATE<-0.05;
  3. TARGET_DISTANCE<-10000;
  4. RETARGET_TIME<-20.00;
  5. SPEED_FORWARD<-0.95;
  6. SPEED_TURNING<-1.5;
  7. class boss
  8. {
  9.         skiNOW=0;//是否处于技能中
  10.         skiJL=0;//是否处于技能冷却状态
  11.         skill=null;//默认NULL,如果怪物拥有技能,这里填上怪物模型的handle
  12.         tf=null;
  13.         ts=null;
  14.         nnself=null;//自身handle
  15.         id=null;//第几个怪物刷新点
  16.         target = null;
  17.         ttime = 0.00;
  18.         ticking = false;
  19.         CTICKRATE=null;
  20.         CTARGET_DISTANCE=null;
  21.         CRETARGET_TIME=null;
  22.         CSPEED_FORWARD=null;
  23.         CSPEED_TURNING=null;
  24.         function CG(sf,idd,TICKRATE,TARGET_DISTANCE,RETARGET_TIME,SPEED_FORWARD,SPEED_TURNING)
  25.         {
  26.                 nnself=Entities.FindByName(nnself,sf);
  27.                 id=idd;
  28.                 CTICKRATE=TICKRATE;
  29.                 CTARGET_DISTANCE=TARGET_DISTANCE;
  30.                 CRETARGET_TIME=RETARGET_TIME;
  31.                 CSPEED_FORWARD=SPEED_FORWARD;
  32.                 CSPEED_TURNING=SPEED_TURNING;
  33.         }
  34.         function CStart(){if(!ticking){ticking = true;CTick();}}
  35.         function CStop(){if(ticking){ticking = false;}}
  36.         function CTick()
  37.         {
  38.                 if(ticking)
  39.                         EntFireByHandle(nnself,"RunScriptCode","Tick("+id+");",CTICKRATE,null,null);
  40.                 else
  41.                 {
  42.                         EntFireByHandle(tf,"Deactivate","",0.00,null,null);
  43.                         EntFireByHandle(ts,"Deactivate","",0.00,null,null);
  44.                         EntFireByHandle(nnself,"Kill","",0.05,null,null);
  45.                         return;
  46.                 }
  47.                 EntFireByHandle(tf,"Deactivate","",0.00,null,null);
  48.                 EntFireByHandle(ts,"Deactivate","",0.00,null,null);       
  49.                 if(target==null||!target.IsValid()||target.GetHealth()<=0.00||target.GetTeam()!=3||ttime>=CRETARGET_TIME)
  50.                         return CSearchTarget();
  51.                 if(skill!=null&&ttime<=15&&ttime>=3&&skiJL==0)//在切换攻击对象后的3——15秒内释放一次技能
  52.                 {
  53.                         skiJL++;
  54.                         _CSkill();
  55.                 }
  56.                 ttime+=CTICKRATE;
  57.                 EntFireByHandle(tf,"Activate","",0.02,null,null);
  58.                 EntFireByHandle(ts,"Activate","",0.02,null,null);
  59.                 local sa = nnself.GetAngles().y;
  60.                 local ta = CGetTargetYaw(nnself.GetOrigin(),target.GetOrigin());
  61.                 local ang = abs((sa-ta+360)%360);
  62.                 if(ang>=180)EntFireByHandle(ts,"AddOutput","angles 0 270 0",0.00,null,null);
  63.                 else EntFireByHandle(ts,"AddOutput","angles 0 90 0",0.00,null,null);
  64.                 local angdif = (sa-ta-180);
  65.                 while(angdif>360){angdif-=180;}
  66.                 while(angdif< -180){angdif+=360;}
  67.                 angdif=abs(angdif);
  68.                 local tdist = CGetDistance(nnself.GetOrigin(),target.GetOrigin());
  69.                 local tdistz = (target.GetOrigin().z-nnself.GetOrigin().z);
  70.                 if(skiNOW==1)
  71.                 {
  72.                         //这里只是释放了“急速”技能
  73.                         EntFireByHandle(tf,"AddOutput","force "+(3000*5).tostring(),0.00,null,null);
  74.                         EntFireByHandle(ts,"AddOutput","force "+((3*2)*angdif).tostring(),0.00,null,null);
  75.                 }
  76.                 else
  77.                 {
  78.                         EntFireByHandle(tf,"AddOutput","force "+(3000*CSPEED_FORWARD).tostring(),0.00,null,null);
  79.                         EntFireByHandle(ts,"AddOutput","force "+((3*CSPEED_TURNING)*angdif).tostring(),0.00,null,null);
  80.                 }
  81.         }
  82.         function _CSkill()
  83.         {
  84.                 ScriptPrintMessageCenterAll("BOSS开启冲刺技能");
  85.                 EntFireByHandle(skill,"SetAnimation","skill1",0,null,null);
  86.                 EntFireByHandle(nnself,"RunScriptCode","bosses["+id+"].skiNOW=0",3.9,null,null);
  87.                 skiNOW=1;
  88.         }
  89.         function CSearchTarget()
  90.         {
  91.                 ttime = 0.00;
  92.                 skiJL=0;
  93.                 target = null;
  94.                 local h = null;
  95.                 local candidates = [];
  96.                 while(null!=(h=Entities.FindInSphere(h,nnself.GetOrigin(),CTARGET_DISTANCE)))
  97.                 {
  98.                         if(h.GetClassname()=="player"&&h.GetTeam()==3&&h.GetHealth()>0)
  99.                         {
  100.                                 if(TraceLine(nnself.GetOrigin()+Vector(0,0,40),h.GetOrigin()+Vector(0,0,48),nnself)==1.00)
  101.                                         candidates.push(h);
  102.                         }
  103.                 }
  104.                 if(candidates.len()==0)return;
  105.                 target = candidates[RandomInt(0,candidates.len()-1)];
  106.                 if(skill)_CSkill();
  107.         }
  108.         function CGetTargetYaw(start,target)
  109.         {
  110.                 local yaw = 0.00;
  111.                 local v = Vector(start.x-target.x,start.y-target.y,start.z-target.z);
  112.                 local vl = sqrt(v.x*v.x+v.y*v.y);
  113.                 yaw = 180*acos(v.x/vl)/3.14159;
  114.                 if(v.y<0)
  115.                         yaw=-yaw;
  116.                 return yaw;
  117.         }
  118.         function CSetThruster(string,forward){if(forward)tf=Entities.FindByName(tf,string);else ts=Entities.FindByName(ts,string);}
  119.         function CGetDistance(v1,v2){return sqrt((v1.x-v2.x)*(v1.x-v2.x)+(v1.y-v2.y)*(v1.y-v2.y)+(v1.z-v2.z)*(v1.z-v2.z));}
  120. }
  121. used<-0;
  122. bosses<-array(100,boss());
  123. function Start(id)
  124. {
  125.         bosses[id].CG(self.GetName(),id,TICKRATE,TARGET_DISTANCE,RETARGET_TIME,SPEED_FORWARD,SPEED_TURNING);
  126.         bosses[id].CStart();
  127. }
  128. function SetThruster(id,forward)
  129. {
  130.         bosses[id].CSetThruster(caller.GetName(),forward);
  131. }
  132. function Tick(id)
  133. {
  134.         bosses[id].CTick();
  135. }
  136. function Stop(id)
  137. {
  138.         bosses[id].CStop();
  139. }
  140. function sk(id)
  141. {
  142.         bosses[id].skill=Entities.FindByName(bosses[id].skill,caller.GetName());
  143. }
复制代码


评分

参与人数 1僵尸币 +10 收起 理由
NnnNN + 10 nice~

查看全部评分

个性签名
回复

使用道具 举报

签到天数: 107 天

[LV.6]常住居民II

15

主题

178

回帖

1360

积分

自定义头衔

UID
85367
僵尸币
51220
贡献度
0
注册时间
2022-12-23
在线时间
127 小时
最后登录
2025-5-2

雷米莉亚幽幽子初音初音2水银灯水银灯2

QQ
 楼主| 发表于 2023-2-4 01:45:32 | 显示全部楼层
游戏昵称:歪比巴卜电视苔 | CS2金币:9029 | CS:GO金币:949 | SteamID: STEAM_0:0:233879601
调用时,只需要对每个怪物刷新点赋予一个独特的ID,之后想要生成一个怪物只需要ForceSpawn一下
个性签名
回复

使用道具 举报

签到天数: 107 天

[LV.6]常住居民II

15

主题

178

回帖

1360

积分

自定义头衔

UID
85367
僵尸币
51220
贡献度
0
注册时间
2022-12-23
在线时间
127 小时
最后登录
2025-5-2

雷米莉亚幽幽子初音初音2水银灯水银灯2

QQ
 楼主| 发表于 2023-2-4 01:46:21 | 显示全部楼层
游戏昵称:歪比巴卜电视苔 | CS2金币:9029 | CS:GO金币:949 | SteamID: STEAM_0:0:233879601
卡点,又水了一贴(doge)
个性签名
回复

使用道具 举报

签到天数: 107 天

[LV.6]常住居民II

15

主题

178

回帖

1360

积分

自定义头衔

UID
85367
僵尸币
51220
贡献度
0
注册时间
2022-12-23
在线时间
127 小时
最后登录
2025-5-2

雷米莉亚幽幽子初音初音2水银灯水银灯2

QQ
 楼主| 发表于 2023-2-4 01:54:30 | 显示全部楼层
游戏昵称:歪比巴卜电视苔 | CS2金币:9029 | CS:GO金币:949 | SteamID: STEAM_0:0:233879601
貌似只能用mass=1的模型,而且如果怪物刷新在空中以及怪物撞上了怪物很容易侧翻
个性签名
回复

使用道具 举报

签到天数: 15 天

[LV.4]偶尔看看III

6

主题

1009

回帖

7636

积分

UID
76642
僵尸币
124244
贡献度
0
注册时间
2021-6-2
在线时间
1513 小时
最后登录
2024-11-20
发表于 2023-2-4 02:05:25 | 显示全部楼层
游戏昵称:Tairitsu | CS2金币:0 | CS:GO金币:61010 | SteamID: STEAM_0:1:564277370
回复

使用道具 举报

签到天数: 287 天

[LV.8]以坛为家I

25

主题

1111

回帖

7501

积分

【燃える思い】【見守る心】 ステラです

UID
73047
僵尸币
24012
贡献度
0
注册时间
2020-11-6
在线时间
568 小时
最后登录
2025-5-19

鲁鲁修

QQ
发表于 2023-2-4 02:32:14 | 显示全部楼层
游戏昵称:MUVIVIT | CS2金币:1429 | CS:GO金币:229 | SteamID: STEAM_0:0:518225260
牛逼啊 6
小白可可爱吗 可爱就对了
回复

使用道具 举报

签到天数: 296 天

[LV.8]以坛为家I

4

主题

645

回帖

4113

积分

UID
80746
僵尸币
484046
贡献度
0
注册时间
2022-2-13
在线时间
199 小时
最后登录
2025-7-4

鲁鲁修

发表于 2023-2-4 02:42:09 | 显示全部楼层
游戏昵称:沵鍆還婹魢de莪 | CS2金币:72527 | CS:GO金币:161 | SteamID: STEAM_0:0:194142901
回复

使用道具 举报

签到天数: 1756 天

[LV.Master]伴坛终老

47

主题

2万

回帖

12万

积分

EP-IZ E-SERIES EPN-001GF IZEN

UID
70950
僵尸币
47222
贡献度
0
注册时间
2020-7-28
在线时间
3544 小时
最后登录
2025-7-6

捐助贡献奖章关羽凉宫春日2路飞艾尔薇·拉娜·希尔菲丝夏娜伊芙虚子春日结乃泉此方2红月卡莲初音2长门有希初音凌波丽C.C 3吴羽冬华水银灯2凉宫春日雷米莉亚泽库蒂·爱因小叽泉此方壹原侑子久远寺森罗C.C 2蒂安娜·兰斯达 布兰奈玖·加尔提尼亚斯水银灯呜人幽幽子鲁鲁修C.C拉克丝·克莱茵神乐阿布坂田银时冲田总悟土方十四郎手冢国光越前龙马扎克斯蒂法萨菲罗斯

QQ
发表于 2023-2-4 02:44:32 | 显示全部楼层
游戏昵称:ÓÍÔÎÕÏÖ | CS2金币:11839 | CS:GO金币:576 | SteamID: STEAM_0:1:92524972
回复

使用道具 举报

签到天数: 2438 天

[LV.Master]伴坛终老

25

主题

1万

回帖

9万

积分

UID
45546
僵尸币
1783957
贡献度
0
注册时间
2016-1-10
在线时间
1403 小时
最后登录
2025-7-6

路飞夏娜初音凉宫春日坂田银时伊芙初音2凉宫春日2虚子春日结乃长门有希泉此方2呜人鲁鲁修土方十四郎雷米莉亚幽幽子水银灯C.CC.C 2C.C 3神乐冲田总悟手冢国光凌波丽阿布小叽水银灯2久远寺森罗壹原侑子艾尔薇·拉娜·希尔菲丝 布兰奈玖·加尔提尼亚斯吴羽冬华泉此方关羽泽库蒂·爱因拉克丝·克莱茵越前龙马蒂安娜·兰斯达萨菲罗斯扎克斯捐助贡献奖章蒂法红月卡莲

发表于 2023-2-4 03:50:32 | 显示全部楼层
游戏昵称:树叶 | CS2金币:218811 | CS:GO金币:22618 | SteamID: STEAM_0:1:56528967
回复

使用道具 举报

签到天数: 6 天

[LV.2]偶尔看看I

0

主题

22

回帖

151

积分

UID
85955
僵尸币
10442
贡献度
0
注册时间
2023-1-29
在线时间
19 小时
最后登录
2024-12-8
发表于 2023-2-4 04:15:27 | 显示全部楼层
游戏昵称:久远寺有珠 | CS2金币:0 | CS:GO金币:4746 | SteamID: STEAM_0:0:114442961
回复

使用道具 举报

签到天数: 544 天

[LV.9]以坛为家II

24

主题

2189

回帖

1万

积分

欧尼酱 欧尼酱

UID
37624
僵尸币
20523
贡献度
0
注册时间
2014-3-30
在线时间
959 小时
最后登录
2025-3-16

捐助贡献奖章

发表于 2023-2-4 06:23:49 | 显示全部楼层
游戏昵称:流浪的胖次 | CS2金币:19126 | CS:GO金币:5 | SteamID: STEAM_0:0:70399140
回复

使用道具 举报

签到天数: 1484 天

[LV.10]以坛为家III

11

主题

5341

回帖

3万

积分

UID
55417
僵尸币
4163
贡献度
0
注册时间
2018-6-10
在线时间
2671 小时
最后登录
2024-11-18

捐助贡献奖章

发表于 2023-2-4 06:37:10 | 显示全部楼层
游戏昵称:❀Demon纱琳.❤ | CS2金币:1011 | CS:GO金币:37422 | SteamID: STEAM_0:1:73840777
2020/12/23 Bhop-NO.1天人合一 10w达成
回复

使用道具 举报

签到天数: 473 天

[LV.9]以坛为家II

9

主题

1847

回帖

1万

积分

UID
71572
僵尸币
1519
贡献度
0
注册时间
2020-8-15
在线时间
613 小时
最后登录
2024-11-28

捐助贡献奖章

发表于 2023-2-4 07:02:18 | 显示全部楼层
游戏昵称:Kana✨ | CS2金币:106839 | CS:GO金币:0 | SteamID: STEAM_0:1:433878099
回复

使用道具 举报

签到天数: 298 天

[LV.8]以坛为家I

0

主题

2713

回帖

1万

积分

UID
80466
僵尸币
476
贡献度
0
注册时间
2022-1-29
在线时间
885 小时
最后登录
2023-5-3
发表于 2023-2-4 07:28:06 | 显示全部楼层
游戏昵称:sj-53 | CS2金币:28605 | CS:GO金币:0 | SteamID: STEAM_0:1:605709827
回复

使用道具 举报

签到天数: 110 天

[LV.6]常住居民II

53

主题

378

回帖

2978

积分

UID
82556
僵尸币
146033
贡献度
0
注册时间
2022-5-20
在线时间
182 小时
最后登录
2025-7-6

捐助贡献奖章

发表于 2023-2-4 07:51:06 | 显示全部楼层
游戏昵称:SKT T1 Deft | CS2金币:87559 | CS:GO金币:1289 | SteamID: STEAM_0:1:174869566
回复

使用道具 举报

签到天数: 1880 天

[LV.Master]伴坛终老

8

主题

3777

回帖

2万

积分

是入吗?如入!

UID
36784
僵尸币
739669
贡献度
0
注册时间
2013-11-16
在线时间
792 小时
最后登录
2025-7-6

捐助贡献奖章

发表于 2023-2-4 08:48:33 | 显示全部楼层
游戏昵称:¿ǝu ɐɯ ıu uɐʍ ıɐz ıu | CS2金币:134995 | CS:GO金币:0 | SteamID: STEAM_0:0:126231148
回复

使用道具 举报

签到天数: 2896 天

[LV.Master]伴坛终老

161

主题

4万

回帖

24万

积分

八尾妖姬抱回家,没日没夜啪啪啪~~~

UID
51796
僵尸币
3890727
贡献度
0
注册时间
2017-4-24
在线时间
6704 小时
最后登录
2025-7-6

捐助贡献奖章矢泽妮可

发表于 2023-2-4 08:57:04 | 显示全部楼层
游戏昵称:Regulus | CS2金币:573 | CS:GO金币:17941 | SteamID: STEAM_0:0:185766483
▂▂▂▂▂▂▂▂▃▃▃▃▃▃▃▃▅▅▅▅▅▅▅▅▆▆▆▆▆▆▆▆▆▇▇▇▇▇▇▇▇▇斗破苍穹,水破天际▇▇▇▇▇▇▇▇▇▆▆▆▆▆▆▆▆▆▅▅▅▅▅▅▅▅▃▃▃▃▃▃▃▃▂▂▂▂▂▂▂▂
回复

使用道具 举报

签到天数: 298 天

[LV.8]以坛为家I

0

主题

2713

回帖

1万

积分

UID
80466
僵尸币
476
贡献度
0
注册时间
2022-1-29
在线时间
885 小时
最后登录
2023-5-3
发表于 2023-2-4 09:02:11 | 显示全部楼层
游戏昵称:sj-53 | CS2金币:28605 | CS:GO金币:0 | SteamID: STEAM_0:1:605709827
回复

使用道具 举报

签到天数: 399 天

[LV.9]以坛为家II

4

主题

974

回帖

6599

积分

猛冲勇士

UID
70680
僵尸币
31300
贡献度
0
注册时间
2020-7-21
在线时间
702 小时
最后登录
2023-4-28

凉宫春日

发表于 2023-2-4 09:34:55 | 显示全部楼层
游戏昵称:琉璃只会白给 | CS2金币:0 | CS:GO金币:2144 | SteamID: STEAM_0:1:520128613
不相信自己的人, 连努力的价值都没有。
回复

使用道具 举报

签到天数: 590 天

[LV.9]以坛为家II

7

主题

1198

回帖

7560

积分

shine

UID
84411
僵尸币
1647
贡献度
0
注册时间
2022-9-22
在线时间
364 小时
最后登录
2025-7-5

捐助贡献奖章水银灯2水银灯伊芙初音初音2C.CC.C 2C.C 3幽幽子雷米莉亚 布兰奈玖·加尔提尼亚斯泽库蒂·爱因艾尔薇·拉娜·希尔菲丝凌波丽夏娜长门有希泉此方泉此方2拉克丝·克莱茵壹原侑子久远寺森罗小叽凉宫春日

QQ
发表于 2023-2-4 09:41:58 | 显示全部楼层
游戏昵称:雨夜Shine | CS2金币:131093 | CS:GO金币:1730 | SteamID: STEAM_0:0:714663431
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

回到顶部
快速回复 返回顶部 返回列表