csgo看demo没开枪声

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csgo看demo没开枪声相关的知识,希望对你有一定的参考价值。

1、游戏外设置输入设备,然后在游戏内确认是否一致。2、重装声卡驱动。3、用耳机的麦克风说话,不要用内置声卡。4、重装游戏或重装系统。

《CS:GO》游戏中5e模式下保存的demo可以在界面的计分板处右键设置语音的开启和关闭,但是官方匹配模式下保存的demo不具有保存语音的功能,所以只能在5e保存的demo听到语音。
参考技术A 以前就发现过,我看demo没有切刀/切枪/换弹/检视动作动画,神似丢帧又不是丢帧,很像CS1.6时代的demo问题。

我这个问题持续时间很长,所以重启游戏、重启电脑,这类解决方法明显不适合我,问题依然存在。

全网搜索,大部分建议是检查游戏完整性。但是,在我正常游戏时,各动作都是正常的,所以排除缺少文件,检查游戏完整性的用处也不大。

于是乎,我就一狠心、一跺脚、咬着头皮硬着牙,给CSGO卸载重装,问题还是没有解决。

于是,我怀疑是启动项问题:

-noforcemaccel -noforcemparms -noforcemspeed -tickrate 128 -d3d9ex -novid -high -nojoy -r_emulate_gl -limitvsconst -forcenovsync -softparticlesdefaultoff +mat_queue_mode 2 +mat_disable_fancy_blending 1

用的是基于完美平台推荐,外加自己微调的启动项,所以应该问题不大。

那么最后一种可能就是冷门指令了。

众所周知(吗?),在CSGO控制台中,只输入指令本身,【不包括】这条指令的数字设置,是可以显示【该条指令的默认参数与英文说明】的。

我写过一份autoexec.cfg(在群文件),里面有搜集资料整理的优化设置与网络参数的。

经过筛选,最终列出几条疑似指令,测试后得出结果即,cl_interpolate 0。

cl_interpolate这条指令的意思,大概是:

0显示真实值,包括服务器中模型的真实位置与肢体动作。

1显示模拟值,在真实值之间夹杂模拟结果使过程连续。

所以,我个人建议在游戏过程中输入该指令为0,在观看demo时修改指令参数为1。

至于具体应用效果,我就不是很清楚了,我估计就算优化有效,也是微乎其微。控制台检查【cl_interpolate指令】是否为0。

如果是0,则修改为1,问题解决!

任意时刻输入修改都有效,demo观看中输入该指令,也即刻生效,动作随后出现了!

jooq 交易开枪 - 不能使用'returningResult()'?

【中文标题】jooq 交易开枪 - 不能使用\'returningResult()\'?【英文标题】:jooq transaction jumping the gun - cant use 'returningResult()'?jooq 交易开枪 - 不能使用'returningResult()'? 【发布时间】:2021-12-27 23:57:24 【问题描述】:

使用 JOOQ 3.11.11 / Java 11

创建一个事务来写入几个表。其中两个是交互的,因为我使用一个中的 auto_inc 行 #s 作为另一个的 fk 列值。

DSLContext writeContext = DSL.using(sourceDestConnection.getDestination(), SQLDialect.POSTGRES_10);
writeContext.transaction(writeTransaction -> 
    try 
         ...

         Map returnMap = writeFn(dataToWrite, writeTransaction);
         secondWriteFn(moreDataToWrite, returnMap, writeTransaction);
         throw new RuntimeException();
     


// this fn should write a series of records and save the auto_increment field in a map
public void writeFn(...) 
    Map<Long, Long> idMap = new HashMap<>();
    DSLContext context = DSL.using(configuration);
    for (Record record : importBits) 
        Record result = context.insertInto(IMPORT_TABLE).set(record)
                .returningResult(ID_FIELD).fetchOne();
        idMap.put((Long) record.get(ID_FIELD_LOOKUP), (Long) result.get(ID_FIELD));
    
    return idMap;



// this fn should use the saved auto_inc fields from the previous fn as FK columns
public void secondWriteFn(...) throws IOException 
    DSLContext context = DSL.using(configuration);
    for (Map mergeMap : importTypes) 
        context.insertInto(MERGE_TYPE_TABLE)
                .set(buildMergeMap(mergeMap, idMap));
    


// this just builds a map to insert
public ImmutableMap<Object, Object> buildMergeMap(Map mergeMap, Map idMap) 
    return ImmutableMap.builder()
      .put(... columns ...)
      .put(foreignKeyColumn, idMap.get(fkLookup_from_first_write_fn))
      .build();

     

p 代码来自内存(不同的 PC),但最终结果(预期)将是两个表在 RuntimeException 之后都是空的。我看到的是第一个表有数据,但第二个没有。

跟进问题:

是否需要在每次插入后使用.execute()? 如果整个过程都被事务处理,那么在后续插入中使用来自一个插入的推定返回值是否有问题?

【问题讨论】:

不相关,我怀疑你可以通过编写批量插入语句来加快速度。关于您的问题,您的两个xyzWriteFn() 中的configuration 是什么?您的交易的实际主体是什么?你有一个try 块。你捕捉到你的异常,还是真的抛出它? Lo siento。 'configuration' 是传入的 'writeTransaction'。 那内心的尝试?这是在踢我吗? :facepalm(是的)。 如果你想把这个放在答案中,我很乐意接受。 【参考方案1】:

看起来您实际上并没有抛出异常:

writeContext.transaction(writeTransaction -> 

    // Try here!
    try 
        ...

        Map returnMap = writeFn(dataToWrite, writeTransaction);
        secondWriteFn(moreDataToWrite, returnMap, writeTransaction);
        throw new RuntimeException();
    

    // You omitted the catch, but if you catch the above RuntimeException, then
    // jOOQ does not know about it, and happily commit your transaction

【讨论】:

以上是关于csgo看demo没开枪声的主要内容,如果未能解决你的问题,请参考以下文章

开发互动直播应用很简单:声网 Android Demo保姆级运行教程

开发互动直播应用很简单:声网 Android Demo保姆级运行教程

《csgo》枪口抖动如何关闭参数?

UE4 ShooterGame Demo的开火的代码

iOS控制台查看属性、方法、以及成员变量、指令的整理

基于jquery的ajax分页插件(demo+源码)