| 以文本方式查看主题 - 索沛CS1.6论坛 CS反作弊 CS1.6下载 amxx sma插件 cs对战平台 (http://go5w.com/index.asp) -- CS地图专区 (http://go5w.com/list.asp?boardid=23) ---- [原創]Cs地图制作进阶实体应用偏方 (http://go5w.com/dispbbs.asp?boardid=23&id=914575) |
| -- 作者:fyxridd -- 发布时间:2011-08-30 16:24:00 -- [原創]Cs地图制作进阶实体应用偏方 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 设置玩家开始血量 建立点实体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 这样杀人就会加血了。 |
| -- 作者:fyxridd -- 发布时间:2011-08-30 16:24:00 -- 杀人加子弹 建立点实体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 |
| -- 作者:fyxridd -- 发布时间:2011-08-30 16:25:00 -- 伪随机效果 比如你要玩家按一个开关,随机引发不同的目标,比如,我这此按一下,引发了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 在ct与t出生点下面各放trigger_multiple固体实体。ct下面的trigger_multiple目标都填ct,引发前延时1。t下面的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全部死亡。 |
| -- 作者:fyxridd -- 发布时间:2011-08-30 16:28:00 -- 实现开与关任何实体 用trigger_relay控制func_wall_toggle固体实体,你会发现引发为开那这个固体实体就出现,引发为关这个固体实体就消失;用trigger_relay控制trigger_push你会发现不管你引发为开或关或锁定,你引发一次,它就会在开与关之间切换一次,再引发,它就会再切换,也就是说它的开与关与它的初始状态与你引发的次数有关,而与trigger_relay的引发状态无关. 那么哪些实体是属于前者,哪些是属于后者,你可能不清楚,不过以下的方法可实现任何实体的开与关. 实现的原理是这样的:玩家引发一下后就用trigger_changetarget把两个trigger_relay的目标值改了,这样再次引发相同状态就无效,只有引发不同的状态才有效. 首先你需要确定的是这个实体只有两种状态,你将其中一种状态定为开,另一种状态定为关,并保证实体在引发前的初始状态是关. 具体实现: 比如,你在一个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秒 |
| -- 作者:xiaowoniu -- 发布时间:2011-08-30 18:53:00 -- 实现开与关任何实体 用trigger_relay控制func_wall_toggle固体实体,你会发现引发为开那这个固体实体就出现,引发为关这个固体实体就消失;用trigger_relay控制trigger_push你会发现不管你引发为开或关或锁定,你引发一次,它就会在开与关之间切换一次,再引发,它就会再切换,也就是说它的开与关与它的初始状态与你引发的次数有关,而与trigger_relay的引发状态无关. 那么哪些实体是属于前者,哪些是属于后者,你可能不清楚,不过以下的方法可实现任何实体的开与关. 实现的原理是这样的:玩家引发一下后就用trigger_changetarget把两个trigger_relay的目标值改了,这样再次引发相同状态就无效,只有引发不同的状态才有效. 首先你需要确定的是这个实体只有两种状态,你将其中一种状态定为开,另一种状态定为关,并保证实体在引发前的初始状态是关. 具体实现: 比如,你在一个func_button的目标栏上填上a1,那么引发这个button就会打开名称为t的实体. 计时器制作 Func_door,弄小点,放在地图某个墙的里面,只要不要让玩家可以触发到就行,目标填m1,其它不用改 multi_manager,名称m1,勾上多线程,点优化模式,加入键值cs变量0.01(这样这个地图里每局重新 |
| -- 作者:wwwjimmyjohnwww -- 发布时间:2011-09-03 22:03:00 -- up zombie pro 22
|