GlowingTree880 / L4D2_LittlePlugins

L4D2_LittlePlugins
GNU General Public License v3.0
70 stars 7 forks source link

关于simple_mode的一些疑问 #21

Open sherlockosu opened 7 months ago

sherlockosu commented 7 months ago

树树子大佬您好,在模式加载完后,虽然我在所有模式的confogl.cfg中都设置了sv_maxplayers值,但有的模式sv_maxplayers值是对应模式confogl.cfg中设定的值,而有的模式sv_maxplayers值却是simple_mode_vote.sp中的simpl_mode_maxplayers值,或许是因为simple_mode加载早晚的问题?所以有一个疑问,simple_mode_vote是否真的需要管理sv_maxplayers值,因为sv_maxplayers值也会有根据不同模式而变动的需求,这个值或许交给用户自己调整会更好?   根据上面关于convar的疑问还引申出另一疑问,实际上confogl.cfg的目的是在不同的模式下取代默认的server.cfg,也就是在每次过关和换图时都执行一次该cfg。不过面对不同模式下如此多的convar,可能有两种需求,第一种是在模式加载完后需要在每次地图开始时都执行一次,第二种是在模式加载完后只执行一次。在插件中是有simple_mode_modestart_once_config 来控制只执行一次的,但是这3个cfg似乎都是同时执行的?而且他们也似乎被建议用来加载插件而不是convar,他们有办法实现所有插件加载完后再让某cfg只执行一次吗…如果可以做到这一点,在模式加载上就有更多的自由度了。虽然也可以通过额外的插件(该插件只在第一次被加载完后执行一次特定cfg)来实现,不过分开管理也会稍有不便。 希望没有太冒昧,后面这一项我不太清楚是否能在现在的插件上直接实现,如果现在插件不能实现也算是一个小提议,不知是否具有参考价值。也希望没有打扰到您,实在不好意思。

emm,后面又想到一个地方,每次更换模式会先卸载掉所有插件再加载指定的那些插件,不过有些时候并不是要卸载所有插件,因为有些插件里会储存信息,卸载再加载这些信息就丢失了…有办法让某些插件不要卸载嘛qwq

sherlockosu commented 7 months ago

目前这三个疑问暂时都解决了 第一个是把simple_mode_vote.sp中设定sv_maxplayers值的部分都注释掉了,不让simple_mode_vote插件管理sv_maxplayers值。 第二个是使用了额外的插件来让模式载入完成后只运行一次特定cfg。 第三个是我有使用一个在换图时保存玩家阵营并在换图后恢复玩家阵营的插件,在重启地图后无法将玩家恢复到阵营中,解决办法是将simple_mode.sp中的换图指令changelevel替换成sm_map并将simple_mode_restart_map的值设置为1(为3时不行,猜测是因为为3会进行两次重启地图,在这过程中玩家阵营信息发生了丢失,而为1时只进行一次重启地图得以正常的恢复玩家阵营。其实这也不属于卸载插件再加载插件丢失信息,不过我也不确定是否真的会有插件发生上述情况,在这个例子中可能只是因为两次过快的重启地图导致了玩家阵营信息的丢失。)