l4d2 soucremod 插件教程 补充
sourcemod吧
全部回复
仅看楼主
level 6
对于 之前的教程分享来说是个补充。因为学其其他mod发现的问题。这也是当初最开始学插件的时候忘掉的行为。
所以觉得这样写,如果有新人想学着做,应该切入口更温和些。
由于插件大部分是抄来抄去,所以很多部分都是模板式的。可以直接找来修改,就可以使用。只需要知道怎么用即可。
比如hookevent。adminmenu。等等
下面是图片内容。把之前没说到的说了, 因为插件涉及范围还是很广的,想到可以补充的就这么多。
2017年07月09日 23点07分 1
level 6
2017年07月09日 23点07分 2
level 6
2017年07月09日 23点07分 3
plugin_handle.返回值 会 替换掉原来本该执行的步骤为插件上面的内容。 例如:一个门如果被玩家按E之后会打开。这是hammer设置或者游戏程序默认的设定。如果你hook该门按E后的事件,并且返回plugin_handle。那么当你运行插件后,按e后门将不会执行之后开门的程序,而变成执行你插件的内容。
2017年11月29日 21点11分
如果需要处理的事情是已经发生之后的时候,需要【常用】plugin_handle。例如 事件hook。比如 player hurt。玩家受到伤害后,我们需要做什么,这时候需要告诉引擎要做的事情是插件上面的内容,而不是原来那些事情。但是大多数情况下都是在hook已经完成的事件。
2017年11月29日 21点11分
所以对于action返回值的选择。如果你知道你hook的东西,它本身还有需要做的事情,那么需要使用plugin_continue.如果你是修改它的行为,例如hook一个门的开关状态,按e后关闭,换成总是打开,那么使用plugin_changed。如果你只想让游戏,引擎执行你自定义的内容,那么使用plugin_handled.
2017年11月29日 21点11分
level 6
2017年07月09日 23点07分 4
level 6
2017年07月09日 23点07分 5
level 6
2017年07月09日 23点07分 6
level 6
在看完这几张图文后,如果语法基础还行的话应该可以写出比较简单的脚本了。修改插件应该也能上手了。
之前发的帖子中有些例子还是可以看,只是觉得全是文字可能看上去比较吃力。
如果想要写插件,那就先用,找简单的插件,在没个函数以及没个if语句中加入 printtocharall()
因为插件不能像vc++程序中调试那样,只能通过输出字符的方式查看。所以看看每个函数运行的时候的顺序和功能,也能帮助我们理解脚本运行的规则。
当然后期要写大型插件,只要基础过关了,写出来只是时间问题。
sql需要的是sqlite3的语法,而插件只是需要调用函数。老外也有插件发布,可以下来自己看下。能看懂说明插件应该会写了。
如果以后想到别的需要更新的,会在这个帖子中补上。
2017年07月09日 23点07分 7
level 7
虽然看不懂,但支持下技术型的文章[真棒]
2017年07月31日 19点07分 8
level 2
楼主您好,能留个qq或者加我qq吗,我q1650317570。最近正在研究l4d2的插件,感觉楼主的教程非常有用啊,想请教些问题,贴吧太麻烦
2017年08月05日 14点08分 9
@聂院长 诶?
2017年09月05日 11点09分
level 1
大佬,我能加你QQ问你一些东西么?
2017年12月27日 03点12分 10
level 9
[呵呵]
2019年06月08日 23点06分 12
1