cs单机版

 找回密码
 3秒注册账号

小喇叭+ 发布

03-02 11:17
03-04 21:44
查看: 147|回复: 0

[地图教程] Cs地图制作进阶实体应用偏方

[复制链接]
  • TA的每日心情
    擦汗
    2021-2-22 16:45
  • 187

    主题

    199

    帖子

    409

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    409

    流量屠夫闪闪发光启明星讲师论坛元老荣誉管理突出贡献原创作者

    发表于 2021-3-4 14:10:50 | 显示全部楼层 |阅读模式
    Cs地图制作进阶实体应用偏方
    注:本实体应用无原理无详细解释,测试不严谨,可能有bug,见谅。编译器请用vluzacn的最新版
    以下如没说明,实体键值的设置都是默认。并且要注意的是实体如果用的复杂的话,名字不要弄冲突了。实体不理解的请参考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
    伪随机效果
    比如你要玩家按一个开关,随机引发不同的目标,比如,我这此按一下,引发了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





    上一篇:创·新纪元 V2.1开发手册
    下一篇:xman天书
    CSOL单机版,游戏K2论坛,MOD中国同盟社,CF单机版,神器时代官方网站,csbte,cssme,ck竞技之王,创新纪元,破茧,超越,突破,cs地图,cs模型,cs插件,cs纹理,cskz,香蕉网,cs模型下载,CSOL大灾,CSOL大灾变单机版,EC精英社
    回复 论坛版权

    使用道具 举报

    懒得打字,不如试试右边的快捷回复→
    您需要登录后才可以回帖 登录 | 3秒注册账号

    本版积分规则

    Archiver|手机版|小黑屋|csol单机版,神器时代官网,创.新纪元官网,csol单机版官网 |友链申请|网站地图

    GMT+8, 2021-4-11 23:44 , Processed in 0.288683 second(s), 33 queries .

    Powered by gamek2.com X3.4

    Copyright © 2001-2020, Tencent Cloud.

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