设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1127|回复: 3

[教程] cs地图制作进阶实体应用偏方 [复制链接]

Rank: 7Rank: 7Rank: 7

帖子
82
精华
0
声望
1066 点
金币
253 Mold
被赞许
17 次
注册时间
2011-3-27

可爱小猫

发表于 2011-8-30 14:11:56 |显示全部楼层
本帖最后由 fyxridd 于 2011-8-30 14:21 编辑

Cs地图制作进阶实体应用偏方

By 2021

fyxridd.ys168.com

注:本实体应用无原理无详细解释,测试不严谨,可能有bug,见谅。编译器请用vluzacn的最新版,下载地址在我网盘或vluzacn.ys168.com

以下如没说明,实体键值的设置都是默认。并且要注意的是实体如果用的复杂的话,名字不要弄冲突了。实体不理解的请参考x-man天书。以下部分用法可能参考他人。

几个实体名字

Game_playerjoin玩家加入游戏的时候引发

Game_playerleave玩家离开游戏的时候引发

Game_playerspawn玩家重生的时候引发

Game_playerkill玩家杀人的时候引发

Game_playerdie玩家死亡的时候引发

以上为实体的名字,当满足条件的时候就会触发有相应名称的实体



狙击镜准星显示

game_text实体在屏幕中央显示英文的“ . ”,你就会发现屏幕中央出现了一个小点,可以用在练狙图上当辅助准星用。

如果要一直显示,那可以把game_text实体的淡入淡出时间设为0,保持时间设为1。建立trigger_auto实体,目标m1,引发方式为开。再建立multiple_manager实体,名称m1,点优化模式,加入键值text1变量1,加入键值m1变量1,勾上多线程。再建立game_text实体,名称text1,淡入淡出时间设为0,保持时间设为1,频道可以选频道4,勾上对所有玩家,其它自己设置。


防止地图被改名

新建一个env_shooter实体,然后在喷射的模型栏里填maps/xxx.bsp
其中xxx是你的地图名
如果地图被改名,就会出现
Fatal Error
Mod_NumForName:maps/xxx.bsp not found
除此之外不会对地图效果有任何影响.


设置玩家开始血量

建立点实体game_player_hurt,名称game_playerspawn,引发者受到的伤害填90

这样玩家一出生血就是10


开局双方自动得武器

新建实体player_weaponstrip,名称game_playerspawn

新建实体multi_manager,名称game_playerspawn,点优化模式,加入键值giveall,变量0.05,勾上多线程

game_player_equip,名称giveall,勾上只能引发,武器自己选

这样不管上回合结束时你手里拿的是什么武器,都会在开局重生的时候手里拿上指定的武器.


注意:玩家重生点的地上最好不要有任何武器装备,不然可能出错,放稍远一点就没问题了,只要不让玩家一掉到地上就捡到地上的武器就行;这个方法会使双方都得到相同的武器,如果要要双方武器不同,那就只能用其它方法了.


杀人者死

建立点实体game_player_hurt,名称game_playerkill,引发者受到的伤害填10000

这样杀人的就会残酷地被肢解了


杀人加血

建立点实体game_player_hurt,名称game_playerkill,引发者受到的伤害填-50

这样杀人就会加血了。


杀人加子弹

建立点实体game_player_equip,名称game_playerkill,勾上只能引发,加什么子弹自己选。



有玩家进入服务器显示文字信息

建立点实体game_text,名称game_playerjoin,其它自己设置。


有玩家离开服务器显示文字信息

建立点实体game_text,名称game_playerleave,其它自己设置。


死后显示文字信息

建立点实体game_text,名称game_playerdie,其它自己设置。

可以制作死后显示作者qq,网站等


每一段时间自动得子弹

建立点实体multiple_manager,名称game_playerjoin,勾上多线程,加入键值get变量0

建立点实体multiple_manager,名称get,勾上多线程,加入键值get变量10,键值get2变量10

建立点实体game_player_equip,名称get2,勾上只能引发,把你想加的子弹勾上(注意不要勾上枪,不然会出错)

好了,现在玩家每10秒就会加一次子弹了。

每一段时间自动得武器

建立点实体multiple_manager,名称game_playerjoin,勾上多线程,加入键值getgun变量0

建立点实体multiple_manager,名称getgun,勾上多线程,加入键值getgun变量30,键值out变量29.95,键值getgun2变量30

建立点实体

建立点实体player_weaponstrip,名称out

建立点实体game_player_equip,名称getgun2,勾上只能引发,把你想得到的武器装备都勾上


玩家无法捡武器的方法

弄一个大方块包住整个地图(注意上面与天空sky之间要留有一定的空间,或者最好在天空的下面紧贴天空的地方弄一层透明的func_wall),转换为trigger_push,方向向上,推力大于等于800,再把那个不与玩家碰撞的选项选上是

这样掉在外面的武器就没人可以捡到了,僵尸图的制作中可以用到。

按开关得武器

放一个func_button,目标weapon,其它自己设置

建立一个点实体multiple_manager,名称weapon,勾上多线程,加入键值out变量0,加入键值weapon2变量0.05

建立一个点实体player_weaponstrip,名称out

建立一个点实体game_player_equip,名称weapon2,勾上只能引发,武器自己设置


按开关加血

放一个func_button,目标jia,其它自己设置

建立一个点实体game_player_hurt,名称jia,引发者受到的伤害填-50

不过血最多100


武器攻击开关加血

放一个func_button,目标jia,通过武器攻击引发选是,其它自己设置

建立一个点实体game_player_hurt,名称jia,引发者受到的伤害填-50

不过血最多100





已有 1 人评分被赞许 收起 理由
kc1992 + 1 不错的教程

总评分: 被赞许 + 1   查看全部评分

个人主页:hi.baidu.com/帝国_回归
地图下载网盘:fyxridd.ys168.com
qq:441774110
[/col

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
82
精华
0
声望
1066 点
金币
253 Mold
被赞许
17 次
注册时间
2011-3-27

可爱小猫

发表于 2011-8-30 14:13:07 |显示全部楼层

伪随机效果

比如你要玩家按一个开关,随机引发不同的目标,比如,我这此按一下,引发了a,下次再按一次,引发的却是b,然而你不想引发是有规律的,比如引发一下a,再引发是b,再引发又是a,再引发又是b,你不想这么有规律,希望更加地随机一些.

方法很简单,你在地图里放上一个或一些trigger_multiple固体实体,目标是trigger_changetarget点实体,这个trigger_changetarget把开关的目标值改为a,再放一个或一些trigger_multiple固体实体,目标是另一个trigger_changetarget点实体,而这个trigger_changetarget则是把开关的目标值改为b,这样由于玩家随机在地图上走动,就会使开关的目标值随机地变化了.

trigger_multiple越多,复位前延时越短,随机效果就越显著.

当然,这个方法有个限制就是实体要有个目标值来使trigger_changetarget可以改变;如果没有,那有时可以加个中继实体trigger_relay.

按一个开关处死全部T

ctt出生点下面各放trigger_multiple固体实体。ct下面的trigger_multiple目标都填ct,引发前延时1t下面的trigger_multiple目标都填t,引发前延时1。注意:trigger_multiple的放置要确保玩家只能开始时引发一次,游戏过程中无法引发到。可以采取把trigger_multiple放在高空的做法,也可以用传送的方法。并且每个出生点下面都要放。

建立点实体multiple_manager,名称ct,勾上多线程,加入键值ct2变量1

建立点实体multiple_manager,名称t,勾上多线程,加入键值t2变量1

建立点实体game_counter_set,名称ct2,目标ct新值0

建立点实体game_counter_set,名称t2,目标t新值0

建立点实体game_player_hurt,名称hurt,受到伤害10000

放个开关func_button,目标c1,其它自己设置

建立点实体trigger_changetarget,名称c1,目标ct2,新目标hurt

放个开关func_button,目标c2,其它自己设置

建立点实体trigger_changetarget,名称c2,目标t2,新目标hurt

在地图玩家所碰不到的地方比如墙里放个func_door,目标填reset

建立点实体trigger_changetarget,名称reset,目标ct2,新目标ct

建立点实体trigger_changetarget,名称reset,目标t2,新目标t

这样,按那个目标是c1的开关ct全部死亡,按那个目标是c2的开关t全部死亡。

实现开与关任何实体

用trigger_relay控制func_wall_toggle固体实体,你会发现引发为开那这个固体实体就出现,引发为关这个固体实体就消失;用trigger_relay控制trigger_push你会发现不管你引发为开或关或锁定,你引发一次,它就会在开与关之间切换一次,再引发,它就会再切换,也就是说它的开与关与它的初始状态与你引发的次数有关,而与trigger_relay的引发状态无关.

那么哪些实体是属于前者,哪些是属于后者,你可能不清楚,不过以下的方法可实现任何实体的开与关.

实现的原理是这样的:玩家引发一下后就用trigger_changetarget把两个trigger_relay的目标值改了,这样再次引发相同状态就无效,只有引发不同的状态才有效.

首先你需要确定的是这个实体只有两种状态,你将其中一种状态定为开,另一种状态定为关,并保证实体在引发前的初始状态是关.

具体实现:
trigger_relay,名称a1,目标a2,引发为开
trigger_relay,名称a2,目标t,引发为开
trigger_changetarget,名称a2,目标a1,新目标none
trigger_changetarget,名称a2,目标a3,新目标a4
trigger_relay,名称a3,目标none,引发为开
trigger_relay,名称a4,目标t,引发为关
trigger_changetarget,名称a4,目标a3,新目标none
trigger_changetarget,名称a4,目标a1,新目标a2
:地图中不能有名称为none的实体;
建立这些实体后,使用方法为:a1来开名称为t的实体,a2来关名称为t的实体

比如,你在一个func_button的目标栏上填上a1,那么引发这个button就会打开名称为t的实体.

计时器制作

Func_door,弄小点,放在地图某个墙的里面,只要不要让玩家可以触发到就行,目标填m1,其它不用改

multi_manager,名称m1,勾上多线程,点优化模式,加入键值cs变量0.01(这样这个地图里每局重新开始的时候就会引发启动m1一次,如果还有其它实体需要在每局开始的时候引发就在这个multi_manager里自己添加)

game_counter_set,名称cs,目标jishi,新值0

trigger_auto,目标m2,引发方式开

multi_manager,名称m2,勾上多线程,点优化模式,加入 键值jishi变量1,键值m2变量1

game_counter,名称jishi,目标自己填,初始值0,限定值自己填

这样在每局开始的时候计时器就会重新计数,并且每个game_counter的目标只会在一局内引发零次或一次

比如你要在每局开始10秒钟后引发一个game_text,就可以在game_counter目标里填上game_text的名称,限定值填10.如果你还要在60秒种后再引发另一个game_text,方法也很简单,把上面那个game_counter实体复制一份,然后只需改目标与限定值就可以了,以此类推.

注:multi_manager里加入的键值的变量最大不要超过1秒,这样可以防止意外,因为multi_manager开启的线程是不会结束的,即使新的一局开始.而这样就可能与你的原意相反,比如你想要在每一局开始10秒钟后引发一个实体,于是你在multi_manager里加入一个键值,变量设为10,每局开始的时候触发一下这个multi_manager实体,这样比如一局开始了,5秒钟后如果又重新开局,那在这新的一局的第5秒与第10秒都会触发那个实体一次,如果这不是你想要看到的,那就采取上面的计时器方法吧.

另外,cs里时间精确度是0.01秒


个人主页:hi.baidu.com/帝国_回归
地图下载网盘:fyxridd.ys168.com
qq:441774110
[/col

使用道具 举报

Rank: 2

帖子
16
精华
0
声望
206 点
金币
40 Mold
被赞许
0 次
注册时间
2010-9-15
发表于 2011-12-7 12:27:18 来自手机 |显示全部楼层
大神啊~太有用了
oh~MyGoD

使用道具 举报

Rank: 2

帖子
11
精华
0
声望
66 点
金币
17 Mold
被赞许
0 次
注册时间
2013-1-11
发表于 2013-1-13 13:42:29 |显示全部楼层
大神啊~太有用了

使用道具 举报

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

回顶部