ZWWoOoOo https://zww.me 因为喜欢所以折腾...无折腾不铁血! Mon, 20 Jan 2025 02:05:03 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.7.1 59083231915003950 71386845180641280 ja2_7609+AI 中文版 r3019 https://zww.me/ja2_2014_ai_cn_r3019.z-turn https://zww.me/ja2_2014_ai_cn_r3019.z-turn#comments Sat, 18 Jan 2025 04:56:15 +0000 https://zww.me/?p=27856 最近有点闲,就又折腾了一下老游戏,更新下:

ja2_7609+AI 中文版:详情及下载见《JA2 1.13 稳定版 AI 增强 MOD【中文版】》。

2972~r3019log(AI 翻一下:)

r3019
仅将迷彩调色板应用于皮肤。对于玩家佣兵,迷彩调色板需要穿戴迷彩等级(从装备中应用),如CAMO_KIT_USABLE_AREA中定义(默认情况下,在7609 modpacks中为25)。对于AI士兵,要求与以前相同...
---------------------
r3013
撤销了导致lua错误的3010提交部分。
---------------------
r3012
中文翻译更新(由zwwooooo完成)。
---------------------
r3011
可能修复了民兵选择LBE的问题。移动地图屏幕底部坐标的初始化(由Asdow完成)。
---------------------
r3010
各种改进(由Asdow完成): - 向lua提供MAX_TACTICAL_ENEMIES - 修复大地图的道路瓦片 - 实现选择窗口的鼠标滚轮滚动 - 增加选择窗口大小 - 修复由于文件名过长导致的断言错误 - 增加...
---------------------
r3009
修改武器声音和脚步声的音高±5%。血猫在红/黑状态下的最大游荡范围。将AI士气初始化为正常而非绝望(由Asdow完成)。
---------------------
r3008
各种修复和改进(由Asdow完成): - 改进AbstractXMLParser错误报告 - 修复库存克隆错误 - 修复血猫伏击无限循环 - 修复被动血猫 - 允许红状态的血猫游荡更远 - 初始化AI士气...
---------------------
r3007
改进AbstractXMLParser错误报告(由Asdow完成)。
---------------------
r3006
修复了BR中错误显示的穿透修正。
---------------------
r3005
新选项SIDE_OPEN_DOOR(默认关闭)允许按住CTRL从侧面开门。注意此功能不会正确触发中断。修复了错误的AMMOFLAG_FLAME值。
---------------------
r3004
如果启用了EXTRA_ITEMS选项,给敌方士兵小创伤包以便他们可以自行包扎。
---------------------
r3003
嗜血: - 如果嗜血目标可见,佣兵将拒绝攻击另一个目标,除非被新目标攻击 - 当士兵死亡时,检查激活嗜血的佣兵并停止嗜血,同时降低士气
---------------------
r3002
改进代码以使用HasActiveBinocsInHands检查雨水和白天。仅在战略屏幕上显示双筒望远镜肖像图标。佣兵不耐热且在炎热区域: - 士气降低20% - 跑步时双倍BP_RUN_ENERGYCOSTFACTOR...
---------------------
r3001
双筒望远镜在手中开始计算战略侦察,只有在分配到小队15分钟后。禁用没有特殊侦察的敌人数量检测。仅显示小队或车辆中士兵的双筒望远镜肖像图标(直升机除外)...
---------------------
r3000
为IMP选择无线电操作员特质时增加了智慧要求。降低了重武器技能和技术人员的爆炸物要求。使用双筒望远镜侦察区域时,对队伍速度和士兵能量使用施加惩罚。士兵可以检测敌人...
---------------------
r2999
禁用了ubTacticalTargetID,因为它可能导致SOLDIERTYPE错误。在地图库存中添加了物品移动限制和民兵禁忌的工具提示。将Ctrl+TAB+Click改为TAB+Click以更改物品移动限制,当移动物品显示...
---------------------
r2998
侦察特质增加20%的观察员效果。当附近有观察员时,在狙击手肖像上显示图标。在目标光标模式下显示战术信息面板。在OCTH工具提示中显示嗜血加成。观察员需要射手/狙击手特质。修复...
---------------------
r2997
使用统一函数PlayMiscSound()播放随机杂音。如果狙击手附近有观察员,显示面部图标,观察员始终使用相同图标。为激活的stunning_looks能力添加面部图标。当佣兵杀死敌人时增加鼓舞持续时间...
---------------------
r2996
修复了嗜血的肖像图标显示。改进代码以在alt+点击谈话光标模式时显示关系。添加了基于士气的嗜血启动几率。为Leech启动嗜血时添加随机战斗音效。修复了BACKGROUND_BLOODL...
---------------------
r2995
为Leech在嗜血模式下更改目标时添加了台词。
---------------------
r2994
改进代码以启动嗜血,之前忽略了畏缩的对手。SoldierTakeDamage:仅在生命伤害>0时停止嗜血。当嗜血达到3级时,随机播放Leech的台词。
---------------------
r2993
新选项显示额外图标,将基于士气和关系的图标添加到肖像中。向SOLDIERTYPE添加了新变量:ubLastTargetID, ubTacticalTargetID。改进代码以使用卡其色显示混合林地/沙漠迷彩。允许在...
---------------------
r2992
根据当前激活的迷彩类型,使用颜色显示迷彩百分比。
---------------------
r2991
修复了设置民兵特定角色时的关键错误。
---------------------
r2990
修复了<= HATED_OPINION检查。不要同时应用仇恨国籍和仇外加成。使用16个按钮的发送到监狱消息框以显示更多监狱区域。
---------------------
r2989
当按住ALT与其他佣兵交谈时,也显示关系修正。将仇外改为仇恨其他国籍,而不是任何具有不同背景ID的佣兵。俄语翻译改进。
---------------------
r2988
当选项WRITE_PROFILE_DATA_TO_XML = TRUE时,也以新格式写入MercOpinions.xml。当在光标模式下按下ALT键时,显示所选佣兵与目标佣兵的关系,点击时播放相关战斗音效。鼓舞行动需要...
---------------------
r2986
ShutdownSoundManager:移除sleep()(由Asdow完成)。向谈话光标添加文本描述。如果存在MercOpinionsNew.xml,则读取以快速加载xml(由Asdow完成的原始功能)。
---------------------
r2985
当小队长使用集结命令时,如果目标没有处于休克状态且没有畏缩,它将获得肾上腺素效果几回合。当士兵在库存中有双筒望远镜并在区域之间主动侦察时,显示双筒望远镜图标。
---------------------
r2984
非外部化的加载屏幕(例如LS_Heli)支持多分辨率和PNG(由anv完成)。
---------------------
r2983
鼓舞机制: - 集结/鼓舞某人所需的最低士气增加到65(工具提示中良好士气描述的最低等级) - 没有NOTICE_DART_CHECK和UNJAM_GUN_CHECK技能检查的加成 - 检查技能后,停止鼓舞(除...
---------------------
r2982
鼓舞机制: - 当士兵消耗任何药物时停止鼓舞 - 当士兵被击中或开始畏缩时停止鼓舞 - 具有背景的佣兵可以鼓舞另一个佣兵 - 具有小队长特质的佣兵可以集结另一个...
---------------------
r2981
库存中有双筒望远镜的佣兵可以在白天良好天气下防止伏击。游骑兵可以防止血猫伏击(但不能防止正规军伏击)。车辆中的侦察兵只能在白天良好天气下防止伏击。
---------------------
r2980
当男性士兵第一次看到有吸引力的对手时,他可以吹口哨并放下武器。当自动转向新对手时,如果士兵是男性且对手有吸引力,不要举起武器。
---------------------
r2979
背景: - 男性敌人在计算中断时有-2惩罚 - 男性敌人不太可能选择有吸引力的对手作为目标 - 男性敌人不太可能瞄准有吸引力的对手的头部射击 - 男性敌人...
---------------------
r2978
添加了背景的xml支持和描述。IsMercADealer:如果佣兵被招募,他不再是商人,这解决了玩家佣兵打开店主库存的问题。为拳击比赛添加了额外音效...
---------------------
r2977
VR:将代码移动到InitHelicopterEntranceByMercs中,以在初始区域创建火焰,从EnterSector中移出,因为游戏在进行直升机降落时会跳跃时间。
---------------------
r2976
炮击:如果区域中存在敌人,则启动回合制战斗,以便玩家有时间准备即将到来的炮击。
---------------------
r2975
ManSeesMan:隐蔽佣兵不应触发潜在敌对平民群体的敌对反应。当ELDIN在博物馆看到佣兵或圣杯被盗并触发警报时,隐蔽佣兵会被揭露。
---------------------
r2974
修复了玛丽亚在战略屏幕上无法移动到妓院区域的问题。当Madame和Billy看到玛丽亚被救出并加入玩家队伍时,使他们敌对。将ESC键中断AI的短延迟增加到5秒。
---------------------
r2973
BulletImpactReducedByRange:改进代码以减少最大射程下的子弹冲击,最多减少10%。
---------------------
r2972
ClosestPanicTrigger:在搜索恐慌按钮时检查触发器是否真的存在于该位置。
---------------------

r2972~r3019log(原文:)

r3019
Only apply camo palette to skin. For player mercs, camo palette requires worn camo level (applied from kits) as defined in CAMO_KIT_USABLE_AREA (by default, 25 in 7609 modpacks). For AI soldiers, the requirement is same as before for compa...
---------------------
r3013
Reverted part of 3010 commit which causes lua errors.
---------------------
r3012
Chinese translation update (by zwwooooo).
---------------------
r3011
Possibly fixed LBE selection by militia. Move mapscreen bottom coordinates' initialization (by Asdow).
---------------------
r3010
Various improvements (by Asdow): - provide MAX_TACTICAL_ENEMIES to lua - fix road tiles for big maps - implement mousewheel scroll for selection window - increase selection window size - fix assertion error due to too long filenames - incre...
---------------------
r3009
Modify pitch +- 5% for weapon sounds and footsteps. Max roaming range for bloodcat in Red/Black state. Initialize AI morale to normal instead of hopeless (by Asdow).
---------------------
r3008
Various fixes and improvements (by Asdow): - improve AbstractXMLParser error reporting - fix inventory cloning bug - fix bloodcat ambush endless loop - fix passive bloodcats - allow bloodcats in RED state to roam farther - initialize AI mor...
---------------------
r3007
Improve AbstractXMLParser error reporting (by Asdow).
---------------------
r3006
Fixed incorrect piercing modifier display in BR.
---------------------
r3005
New option SIDE_OPEN_DOOR (FALSE by default) allows opening doors from side with CTRL pressed. Note that this feature doesn't allow correct triggering of interrupt. Fixed incorrect AMMOFLAG_FLAME value.
---------------------
r3004
If EXTRA_ITEMS option enabled, give enemy soldiers small trauma pack so they could bandage themselves.
---------------------
r3003
Bloodlust: - merc will refuse to attack another target if bloodlust target is visible, except when attacked by new target - when soldier is dead, check merc with bloodlust active and stop bloodlust, also reduce morale
---------------------
r3002
Improved code to use HasActiveBinocsInHands which checks rain and daytime. Only show binocs portrait icon on strategic screen. Merc is heat intolerant and in hot sector: - 20% penalty to morale - double BP_RUN_ENERGYCOSTFACTOR when running ...
---------------------
r3001
Binocs in hands start to count for strategic recon only after 15 minutes spent assigned to a squad. Disabled enemy numbers detection without special recon. Only show binocs portrait icon for soldier in squad or in vehicle (except helicopter...
---------------------
r3000
Added wisdom requirement for IMP when selecting radio operator trait. Lowered explosives requirement for heavy weapons skill and technician. Penalty to group speed and soldier energy use when using binocs to scout area. Soldier can detect e...
---------------------
r2999
Disabled ubTacticalTargetID as it may cause bugs with SOLDIERTYPE. Added tooltips in map inventory for item movement restriction and militia taboo. Changed Ctrl+TAB+Click to TAB+Click to change item movement restriction when move item displ...
---------------------
r2998
Scouting trait adds 20% effectiveness to spotter. Show icon on portrait for sniper when there is spotter nearby. Show tactical info panel in target cursor mode. Show bloodlust bonus in OCTH tooltip. Spotter requires marksman/sniper trait. F...
---------------------
r2997
Use unified function PlayMiscSound() to play random misc sound. Show face icon if sniper has spotter nearby, spotter always uses same icon. Added face icon for active stunning_looks ability. Increased inspire duration when merc kills enemy ...
---------------------
r2996
Fixed portrait icon display for Bloodlust. Improved code to show relations when alt+click in talk cursor mode. Added morale based chance to start Bloodlust. Added random battlesound when starting Bloodlust for Leech. Fixed BACKGROUND_BLOODL...
---------------------
r2995
Added quote for Leech when changing target in Bloodlust mode.
---------------------
r2994
Improved code to start bloodlust, previously ignored cowering opponents. SoldierTakeDamage: only stop bloodlust if life damage > 0. Randomly play quote for Leech when bloodlust reaches level 3.
---------------------
r2993
New option Show extra icons adds morale and relation based icons to portraits. Added new variables to SOLDIERTYPE: ubLastTargetID, ubTacticalTargetID. Improved code to show mixed wood/desert camo using khaki color. Allow inspiration when mi...
---------------------
r2992
Show camo% using color depending on current active camo type.
---------------------
r2991
Fix critical bug when setting militia spot with specific role.
---------------------
r2990
Fixed <= HATED_OPINION check. Don't apply both hated nationality and xenophobic bonuses at the same time. Use 16 buttons for send to prison messagebox to show more prison sectors.
---------------------
r2989
When talking to other merc with ALT pressed, also show relation modifiers. Changed xenophobic to hate other nationalities instead of any merc with different background ID. Russian translation improvements.
---------------------
r2988
Write MercOpinions.xml also in new format when option WRITE_PROFILE_DATA_TO_XML = TRUE. When ALT key is pressed in cursor mode, show relation of selected merc to target merc, play related battlesound when clicked. Inspire action requires mi...
---------------------
r2986
ShutdownSoundManager: Remove sleep() (by Asdow). Added text description to talk cursor. Read MercOpinionsNew.xml if exists for fast xml load (original feature by Asdow).
---------------------
r2985
When squadleader uses Rally command, if target is not in shock and not cowering, it will get adrenaline effect for a few turns. Added display of binocs icon when soldier with binocs in inventory is between sectors and actively scouting.
---------------------
r2984
Non-externalized loadscreens (e.g. LS_Heli) support multiple resolutions and PNG (by anv).
---------------------
r2983
Inspire mechanics: - min morale needed to rally/inspire somebody increased to 65 (min level for good morale description in tooltip) - no bonus for NOTICE_DART_CHECK and UNJAM_GUN_CHECK skill checks - after checking skill, stop inspiring (ex...
---------------------
r2982
Inspire mechanics: - stop inspiration when soldier consumes any drugs - stop inspiration when soldier gets hit or starts cowering - merc with background can inspire another merc - merc with squadleader trait can rally anoth...
---------------------
r2981
Mercs with binocs in inventory can prevent ambush during day in good weather. Ranger can prevent bloodcat ambushes (but not regular army ambushes). Scout in vehicle can only prevent ambush during day and in good weather.
---------------------
r2980
When male soldier sees attractive opponent for the first time, he can whistle and lower weapon. When automatically turning to new opponent, don't raise weapon if soldier is male and opponent is attractive.
---------------------
r2979
background: - male enemy has -2 penalty when calculating interrupt - male enemy will less likely choose attractive opponent as target - male enemy will less likely aim at head when shooting at attractive opponent - male ene...
---------------------
r2978
Added xml support and description for background. IsMercADealer: if merc is recruited, he is no longer a dealer, this solves a problem with shopkeeper inventory being opened for player mercs. Additional sounds for boxing ma...
---------------------
r2977
VR: moved code to create fire in initial sector to InitHelicopterEntranceByMercs from EnterSector as game will jump time when doing helicopter drop.
---------------------
r2976
ArtilleryStrike: start turnbased combat if enemy present in sector to give player time to prepare for incoming barrage.
---------------------
r2975
ManSeesMan: covert mercs should not trigger hostile response from potentially hostile civ group. When ELDIN sees merc in museum or chalice is stolen and alarm sets off, covert merc gets uncovered.
---------------------
r2974
Fix maria unable to move on strategic screen in brothel sector after being recruited. Make Madame and Billy hostile when they see Maria rescued and in player team. Increased short delay to break AI with ESC key to 5 seconds.
---------------------
r2973
BulletImpactReducedByRange: improved code to reduce bullet impact at max range up to 10%.
---------------------
r2972
ClosestPanicTrigger: check if trigger really exists at spot when searching for panic button.
---------------------

打赏 | Donation

转载请注明转自: 《ja2_7609+AI 中文版 r3019

]]>
https://zww.me/ja2_2014_ai_cn_r3019.z-turn/feed 2
完全不懂让 AI 帮忙制作工具软件,体验了最搞笑的方式 https://zww.me/27846.zsay https://zww.me/27846.zsay#comments Tue, 07 Jan 2025 12:21:04 +0000 https://zww.me/27846.zsay 今天无聊在玩一个老游戏《铁血联盟2》1.13版,然后突然想起多年前自己因为不懂 Windows 软件开发,于是用 PHP 做成一个 xml 文件自动替换内容的工具网页,虽然完美实现了功能,但是要运行网站环境,不方便啊,于是突发奇想为何不让 AI 用 Python 做一个这样的工具软件呢?

我完全不懂 Python,连 Hello world 我都没尝试过,所以直接靠嘴了,一开始用 Claude 3.5,虽然一下子就生成可简单使用的,但随着不断地调试,越调越多问题,搞得我放弃,为了省钱,然后尝试 DeepSeek,结果它胸有成竹地实现了初步代码,竟然连文件读取都没过关,放弃,然后就又转到 GPT 4o,也是一开始不错,后面就越菜越乱,导致我发狂:

使用 Python 3.8.10 + Tkinter 实现下面的功能的完整代码,系统是 Windows 10:
功能说明:
读取 2 个 xml 文件,例如 ItemsA.xml 和 ItemsB.xml,里面的内容结构是这样……

为了实现这个功能,我们需要使用 Python 的 tkinter 库来创建 GUI,使用 xml.etree.ElementTree 库来处理 XML 数据,并且使用 os 和 shutil 等库来处理文件和目录操作。以下是实现这个功能的完整代码。

问题:
没有展开所选目录的文件夹和文件列表供我选择
设置中“匹配键”默认是uiIndex,而修改键不是固定5个的,但默认是'szItemName,szLongItemName,szItemDesc,szBRName,szBRDesc',完全可以通过这种逗号分隔来实现设置。而且我要每次设置可以保存为单独的配置记忆,然后可以下拉选择哪个配置并读取,默认读取最后的配置。

为了满足您的新需求,我们需要对程序做一些调整。

两个列表没有分配好,导致目标目录我无法很好地选择文件导致我无法测试,两个列表应该是同宽度,其实可以生成比较好看的界面,我描述下:
上面分栏,左边是源目录,选择框下面就是列表框,右边是目标目录,也是选择框下面就显示列表框
然后单独一栏执行替换按钮
接着是设置区:输出目录、匹配键、替换字段、配置管理

为了满足您对于用户界面的要求,我们可以使用 tkinter 的 Frame 组件来组织界面布局,使其更美观和易于操作。我们将使用 grid 布局管理器来安排各个组件的位置,从而实现您描述的布局。以下是更新后的代码。

执行后没生成替换好的新文件,处理这个以前,先把下面这几个要求搞好:
源文件选择后高亮,目标文件选择后也要高亮,现在是选了源文件再选目标文件源文件就不高亮了
配置文件能自定义名称,而且可以在保存了后更名保存新的,这样方便
前面2个搞好了你再检查下为何执行后没有生成新文件保存到指定目录

好的,我们将逐步实现这几个要求。

现在很搞笑:
执行替换后,弹出保存配置,然后又提示我选择一个源文件
选择源文件后那个文件就高亮,然后选择目标文件也同样高亮,要同时高亮我才知道选择了,现在根本没办法知道是否选择了,然后我两边都选择后点执行替换,还是提示我要选择源文件……

为了修正这些问题,我们需要对代码的逻辑进行一些调整。以下是改善的计划。

现在正常工作了,需要优化:
点选两边文件应该都高亮,或者其他方式提示已选择哪个文件,而不是点了左边源文件高亮,点右边目标文件后源文件就不高梁了
能有个默认窗口大小,就 1024x768吧,然后能记住窗体大小,下次就用上次的

感谢您的耐心和反馈,我理解您的需求,并且很抱歉之前给您带来的不便。我们将确保以下几点优化。

2个问题:
1)你还是没有实现我说的选择了源文件、目标文件都要高亮的需求
2)配置管理,有多个配置管理应该是下次启动后要继续读取上次的那个配置

抱歉之前的理解和实现没有完全满足您的需求。对于第一个问题,选择了源文件和目标文件都要保持高亮显示是可以实现的。我们可以通过在两个 Listbox 中分别保持选中状态来实现这一点。

既然可以实现,那么你把 1)和 2)都解决好后给我代码

好的,我们将解决以下两个问题。

点了源文件再点目标文件,卡死了,你先自己分析一下问题,但不要立即贴代码解决,我给你上一个版本代码后,你继续在那个版本的代码上修改我要的需求,我怕你越犯越多错误,因为我就是遇到过了。

好的,我来分析一下之前代码中可能导致卡死的问题。

你在下面这个版本代码上改:
1)源文件列表点选后文件高亮,在保持高亮的同时点右边目标文件列表的文件后也高亮
2)配置文件:如果有多个配置,要记住上次的配置,启动时调用上次的那个配置

好的,我将在您提供的代码基础上进行修改,以实现以下两个需求:
源文件和目标文件同时保持高亮:在选择源文件和目标文件时,确保两者都保持高亮。
记住并加载上次使用的配置:在程序启动时,默认加载上次使用的配置。

你看,点了源文件列表文件就无法点击右边的目标文件,还卡死了,变成“未响应”了

抱歉给您带来不便。根据您的描述,可能的原因是事件处理逻辑中存在循环或者阻塞。我们需要确保在处理一个列表的选择事件时,不要直接或间接触发另一个选择事件。

一开始你就要解决啊,前面我都跟你说过了有这样的错误,又浪费了我的钱,Orz

抱歉给您带来了困扰,我会尽快解决这个问题。

看来你是实现不了了

抱歉给您带来了困扰。让我重新分析一下,确保问题得到解决。

现在还是选择无法同是高亮,很难么?我怎么觉得这个应该很容易的啊

抱歉给您带来了困扰。为了解决源文件和目标文件同时高亮的问题,我们需要确保在选择一个列表中的文件时,不会影响到另一个列表的选择状态。

哈哈,还是一样只能单独高亮,看来你实现不了,你先不要输出代码,你说你有把握吗?跟你聊天太贵

非常抱歉之前的尝试没有解决问题。这次我会详细解释解决方案,而不是直接提供代码。

算了,不试了,如果我会就不用问你了。换个方式:
在两个列表下面分别加一行,用来显示当前选择的文件路径

好的,您可以在每个列表的下方添加一个 Label 来显示当前选定的文件路径。这将帮助用户明确知道他们在源列表和目标列表中选择了哪些文件。

把设置那些都搞没了……真的是越改越不靠谱。我吐槽而已,你不要急着改。

感谢您的反馈,我明白了您的期望。为了确保我们在添加功能的同时不丢失原有的配置和功能,我将详细说明如何在现有框架中增加显示当前选择文件路径的功能,同时保留所有设置和配置功能。

算是实现了,但下面的label会影响窗口大小,估计是长度影响了

为了避免标签文本过长影响窗口大小,我们可以通过以下方法来处理这个问题。

这样感觉不够明确,因为有些目录有同名文件,label无法自动换行?或者用其他组件

为了更明确地显示完整路径而不影响窗口大小,可以使用以下几种方法。

接下来把:输出目录、匹配键、替换字段、配置管理input框加长,现在太窄了,而且输出目录需要有个按钮打开选择目录

当然,我们可以通过调整这些输入框的宽度以及为输出目录添加一个目录选择按钮来改善用户界面。

继续增加功能:
选择源目录的列表里面我点选了某个文件,例如T:/dev_cn_xml_change[6088175]\Data-1.13\TableData\Items\Chinese.Items.xml,说明选择的文件是 Chinese.Items.xml,那么如果有 Chinese. 的去掉这个前缀,即文件名就是Items.xml,那么去配置管理那里查找匹配的名称,例如配置里面有个 Items\Items.xml,那么就算配置对了,然后自动加载这个配置,如果匹配到多个同名文件,那么匹配第一个即可。

要实现这个功能,我们需要在选择源文件时,通过其文件名来自动匹配并加载配置。

ok,继续加功能:
如果我源目录点选了文件,那么能否实现右边目标目录匹配相同目录的文件?但是注意源文件的 Chinese. 开头的要去掉来匹配。例如源文件目录是……

要实现这个功能,我们需要在选择源文件时,通过去掉文件名前缀 Chinese. 来构建对应的目标文件路径,然后在目标目录中查找并选择该文件。

继续增加功能:
在执行替换旁边增加一个按钮“全部替换”,这个按钮的功能是:自动把源目录列表里面的文件逐个选择,右边匹配同目录同名文件,然后匹配配置管理同名配置,然后就执行替换。如果源目录文件没匹配到目标目录文件,又或者没匹配到配置管理的配置,那么只记录不执行替换操作,最后全部执行完后弹出提示未执行的文件列表。

为了实现“全部替换”的功能,我们可以按照以下步骤来设计和实现。

1)批量处理就不要弹出保存确定提示了,或者弹出提示一次批量保存的目录即可,后续的处理不用弹出保存确定。
2)如果“源目录文件没匹配到目标目录文件”,或者“根据源目录文件没匹配到配置管理相对应的配置”,那么就不要执行替换和保存,只记录什么原因没执行,直接跳过执行下一个文件,最后批量处理完弹出提示:没有任何错误就提示“全部替换完毕”,有没有匹配情况就显示出所有没有匹配成功的文件和原因。

要实现这些功能,我们需要对代码进行如下调整。

测试结果是:没有对应配置的文件你也执行了保存操作

感谢你的反馈。为了确保在批量处理时,对于没有匹配到配置的文件不会执行替换和保存操作,我们需要在 execute_all_replacements 方法中进行更严格的检查。

还是全部都执行替换和保存。你是不是没理解对?
你只要把“执行替换”的操作按批量处理,不知道是不是中文表达问题,简单来说:
1)按顺序先检查源文件跟目标文件是否相同目录和文件名(注意别忘了处理Chinese.头),没匹配到就只记录不再继续执行替换和保存,处理下一个文件
2)如果 1)中匹配到,那么就继续匹配是否有对应同名配置,没有也只记录不再继续执行替换和保存,处理下一个文件

感谢你的耐心解释,我理解了你的需求。下面是我们要实现的功能。

还是全部执行了,估计你搞不了了,都那么多次了,无法实现你就明确说,我又不懂。

很抱歉之前的实现没有达到预期效果。让我们逐步检查问题并确保代码按要求工作。

source_items = {item.find(match_key).text: item for item in source_root.findall('ITEM')}
File "ja2_113_xml_merge_tool.py", line 284, in <dictcomp>
source_items = {item.find(match_key).text: item for item in source_root.findall('ITEM')}
AttributeError: 'NoneType' object has no attribute 'text'

这个错误表明在某些情况下,item.find(match_key) 返回了 None,导致 None.text 引发了 AttributeError。这可能是因为源 XML 文件中,有某些 ITEM 元素缺少 match_key 指定的子元素。

请把修正的代码贴出来,我不懂的

当然可以,请参考以下修正后的完整代码。

现在没匹配成功的终于没执行替换和保存操作了,但是从保存的文件来看,匹配到的文件没真正执行替换

如果匹配到的文件没有执行替换操作,我们需要检查以下几个方面……

匹配到的3个文件:
Source Items Keys: dict_keys([])
Source Items Keys: dict_keys([])
Source Items Keys: dict_keys([])

如果 Source Items Keys 打印为空,这意味着在源文件中没有找到任何 ITEM 元素包含匹配键 match_key。这可能是由于以下原因。

一样,输出空,调试还是输出这个

如果 Source Items Keys 仍然为空,并且打印的 ITEM 元素输出为空或不包含预期内容,可能意味着……

你把整个函数贴出来,我怕改错了

当然可以,我会把整个 replace_content 函数贴出来,并添加命名空间处理的相关代码。

从debug输出来看,有内容,我贴一部分给你看,但是生成的新文件没有进行替换

根据您提供的信息,似乎 Source Items Keys 仍然是空的,即使 ITEM 元素被正确打印出来。这表明可能存在以下几个问题。

还是一样,我让你解决问题,而且整个问题是因为增加功能而出现的新问题,还没增加批处理时的前几个版本都是正常工作的。不要依赖我来检查,我懂就不需要你来帮忙。xml结构每个文件不同,不然要通过匹配键和替换字段干嘛?有些是这样的……

感谢您提供的详细信息。在处理多种结构的 XML 文件时,我们需要确保代码能够适应不同的 XML 结构。

你不要给我示例,我要你帮我完成,而且你一旦犯错,就一直让我“确保”这“确保”那,这是很不负责任的保险,既然你有丰富的知识体系,在处理代码时要非常严谨,不能用“确保”这种让容易犯错的人类来帮你确定。

我理解您的期望,下面是一个经过详细考虑和调整的完整代码示例,旨在正确处理不同的 XML 结构并执行批处理替换操作。

刚才给你xml样例结构,有一个执行了替换,另外一个没有,是不是这部分替换的处理不够好?难道要每种xml结构都要给你样例?非常没有效率,不能通过匹配键匹配,然后在同级以及子级查找匹配的字段进行替换?我用php自己都能实现。

理解您的需求后,我们可以调整代码,以便在 XML 文件中匹配键后,能在同级和子级结构中查找并替换字段,而不需要手动指定元素标签。

果然ai都是越改越犯容易犯错误,现在竟然单个文件执行都不能替换了

抱歉给您带来了困扰。我们来一步步确认问题并修正代码,以确保它能够正确替换内容。

我发现你修改后的错误了,是因为切换配置时,没有读取配置的值,还是原来的

谢谢您指出这个问题。为了确保在切换配置时能正确读取新的配置值,您需要确保在每次执行替换操作时都从配置中获取最新的值。

还是不会保存,你还是读取全部代码来处理,免得你在钻牛角尖,浪费我的时间

感谢您提供完整的代码。我已仔细查看并找到了您遇到的问题。

根本就没效果,选择切换也不会读取,麻烦你认真检查全部细节,这里面有很多功能是相关的,感觉你改到现在你都忘了你改了啥。我让你记起来:
1)建议先检查配置文件的保存、选择后读取功能是否正常,配置管理是可以手动选择:是有下拉选择的,当我选择配置时就切换配置的值,这里搞定了才去处理 2)
2)当通过源目录列表点选文件后,根据整个文件目录和名称(注意xml文件名要去掉 Chinese. 头),自动匹配有没有一样名称的配置并读取配置,然后还要自动匹配目标目录同目录同名文件:这里自动匹配目标文件功能没有问题,问题就是匹配到的配置文件没有读取配置

感谢您的详细反馈。让我来一步步检查并修正代码,以确保配置文件的保存和读取功能正常工作。

我不跟你确保什么东东,我让你完全解决问题,你不用再跟我说“让我去确保”什么,我说过了,我不懂python,是让你帮我完成全部工作

抱歉给您带来了不便。我会重新检查并修正代码,以确保配置文件的保存、选择后读取,以及自动匹配配置和目标文件的功能都能正常工作。

现在单一方式正常工作了,那么接下来要解决全部替换的批量方式,目前批量方式是:能正常根据“源文件匹配目标文件 + 源文件是否有匹配的配置”来判断是否执行替换和保存,但匹配好的文件没有真正进行替换工作,估计是批处理处理时,匹配到配置时没读取配置就进行替换处理,请认真检查,不要再让我“确保”,你就用你最厉害最严谨的方式实现我要的功能

了解您的需求。我们需要确保在批量替换时,正确加载匹配的配置,然后执行替换操作并保存文件。

好像搞定了,撒花,奖个鸡腿给你

谢谢您的认可!很高兴能帮到您。如果您还有其他问题或者需要进一步的帮助,随时可以告诉我。祝您工作顺利,项目成功!🍗🌸

虽然我这种依赖 AI 开发的交流方式应该是不对的,但我也不懂具体怎样才是姿势正确。发现 AI 总是会断层,例如前面自己搞好的,改到后面好像忘记了改错都不知道……

我发现我太把 AI 当人看了,哈哈哈

打赏 | Donation

转载请注明转自: 《完全不懂让 AI 帮忙制作工具软件,体验了最搞笑的方式

]]>
https://zww.me/27846.zsay/feed 12
偶然的巧合,随心的思绪 https://zww.me/serendipitous-coincidences-and-free-flowing-thoughts.z-turn https://zww.me/serendipitous-coincidences-and-free-flowing-thoughts.z-turn#comments Mon, 06 Jan 2025 10:28:31 +0000 https://zww.me/?p=27834 我今天遇到的小巧合,本来是打算敲个口水文随说:

昨晚不是很好入眠,莫名其妙想起了小时候看的搞笑番《森林好小子》,然后还能想起主角叫卡内其,因为当时喜欢玩街机《街霸》,所以会跟白衣联系起来,印象深刻。

然后今天午饭后打开 Youtube,推荐里面看到《森林好小子》的怀旧解说,想起自从大数据时代后,经常几个人聊天聊到什么电器啊,然后朋友圈就给你推荐这类广告,一阵凉意。

当然这是巧合,从小到大中遇到最多的就是“说曹操曹操就到”这类巧合,这个可能跟你的圈子范围导致的几率有关。

然后想想以后如果“脑机”变成普及类消费后,会不会世界上就会有很多“巧合”,因为脑机大数据啊:男A暗恋女B,然后他俩的数据被婚庆公司收集到,就他俩突然多了很多巧合,这想想后怕啊,这哪是人生,这真变成被机器操纵的“命运”……


然后我突发奇想,让 AI 根据这段流水账写一篇文章,心中不禁自叹不如……如果时间倒回到 15 年前,个人博客仍然风靡,那时我要是拥有现在的任何一个 AI 模型,岂不是轻松就能成为作家?然而,随之而来的却是对未来发展的担忧。如今,我们对“人、物、事”的真实性产生了越来越多的怀疑。这样的思考不禁让我感到危机:难道未来的生活中,我们真的会面临一个需要“证明自己是人”的时代吗?

《当巧合与技术交织:未来的命运被操控?》

昨晚我辗转反侧,入睡困难,脑海中却突然涌现出小时候看的搞笑番《森林好小子》。主角卡内其的名字在我心中浮现,仿佛与我当时热爱的街机游戏《街霸》有着某种奇妙的联系。那种纯真的快乐和无忧的童年瞬间回到我身边。

今天午饭后,我在 YouTube 上意外发现了一段关于《森林好小子》的怀旧解说,心中涌现出一丝温暖。然而,当我意识到自从进入大数据时代后,我们的生活中充满了这种“巧合”时,心中却不禁泛起一阵凉意。几个人的聊天内容,常常会在我的朋友圈中变成广告的推荐,这种技术的精确度让我感到不安。

这样的巧合让我想起一句老话:“说曹操,曹操就到。”或许这与我周围的社交圈有关,但随着技术的进步,这种巧合的频率只会加大。而我不禁思考,如果未来的“脑机”技术普及,生活中会不会出现更多这样的巧合?

设想一下,男A暗恋女B,这些数据被婚庆公司收集,随后男A的生活中突然出现了一系列与女B相关的巧合:偶然的相遇、共同的兴趣、甚至是朋友的推荐。这一切似乎都是命中注定,但实际上却是被数据算法操控的结果。这样的生活,难道不让人感到恐惧吗?这不仅是巧合,更是对人生的操纵,仿佛我们的人生轨迹早已被预设。

在技术飞速发展的今天,我们的生活越来越依赖于数据和算法。然而,当这些技术开始影响我们的情感和命运时,我们是否还拥有真正的自由?未来的世界,或许会是一个充满巧合的世界,但这些巧合背后,隐藏的是一个个被操控的灵魂。

面对这样的未来,我不禁感到深深的忧虑。我们是否应该反思,如何在享受技术带来的便利之余,保留那份纯粹而不可控的人生?希望在未来的日子里,我们能够在技术与人性之间找到一个平衡点,让生活重归于自然的美好。

如果我这类博客都让 AI 来写,估计没人会来了,博友都觉得“你不是人”,哈哈哈。然后又想到,如果某一年自己老到无法继续玩博客,到时可能会想训练一个跟自己差不多习惯的 AI 来继续博客下去?好像也不错,然后让 AI 不断升级迭代,时间久了就多了一个“我”,当然那时估计不用文字了……

打赏 | Donation

转载请注明转自: 《偶然的巧合,随心的思绪

]]>
https://zww.me/serendipitous-coincidences-and-free-flowing-thoughts.z-turn/feed 10
Obsidian 加上这些插件才笔记合格 https://zww.me/my-obsidian-plugins.z-turn https://zww.me/my-obsidian-plugins.z-turn#comments Mon, 06 Jan 2025 02:01:45 +0000 https://zww.me/?p=27800 上次转换笔记软件,几经折腾后最后定为 Obsidian,其实后面还经过几次磨合,最终加上了下面这些插件,才让 Obsidian 基本达到自己想要的笔记软件。

Git(可选):

使用 Github 的私密库来保存和同步笔记,适合平时经常使用 Git 的朋友,(配置 Git 忽略)插件安装好后一般默认即可,设置参考

Remember cursor position:

记住每个笔记的当前位置,这个我觉得是刚需!一开始使用 Obsidian 时,每次查看笔记后,再次打开又是回到顶部非常不方便,差点让我放弃 Obsidian。

Custon Attachment Location:

自定义图片等附件目录位置及方式。虽然 Obsidian 默认有设置附件,但比较简单,我的附件方式是“笔记所在目录下的 assets 目录里面,建立跟笔记名称一样的目录来保存”,例如:笔记 ox1 在 ooxx 目录,那么在 ooxx 里面就会自动新建一个 assets 目录,里面有个 ox1 目录保存 ox1 的所有附件,设置参考

Local Images Plus:

图片自动本地化。一些网站摘录回来的内容,如果带图片的,默认都是所在网站的链接,但经常会出现目标网站关闭情况,所以图片本地化还是必须的,设置一般默认,参考

Consistent Attachments and Links:

貌似直接翻译是自动维护你的资料库的一致性。简单来说,就是根据你的附件方式的设置,自动整理附件、笔记标题等,保持一致性。(有个场景就非常需要:如你本来的笔记是把附件都放根目录的 attachments 目录下,后来你设置到每个子目录的 attachments,那么这个插件就会帮你自动根据新的方式来移动附件,然后自动删除空的目录。设置好像默认即可

Clear Unused Images:

顾名思义,自动删除没有使用的图片。有时在修改整理笔记时,会删除一些图片,这时这个插件就方便了

Editing Toolbar:

编辑工具栏。我个人不太喜欢用 md 源码方式编辑,也懒得记 md 语法,有时感觉很烦,平时敲代码就没办法了,但笔记而已,笔记就不要让我再去记那些语法了。

Advanced Tables:

表格编辑增强。偶尔有些笔记需要表格比较方便阅读和记录,但这时你会发现 md 格式的表格编辑是会让你吐血(当然这是 md 优点带来的缺点),所以还是需要额外的工具配合。

 

嗯呐:

为什么我会贴设置图呢?因为我发现我自己不知道什么时候开始对新东西都懒得研究折腾,喜欢照着设置,最好是全套来,原来伸手党是那么的幸福,但自己做伸手党还是有个原则:能伸手拿就拿绝对不张口说要……

打赏 | Donation

转载请注明转自: 《Obsidian 加上这些插件才笔记合格

]]>
https://zww.me/my-obsidian-plugins.z-turn/feed 14
我是AI打工人 https://zww.me/27792.zsay https://zww.me/27792.zsay#comments Sun, 22 Dec 2024 06:28:47 +0000 https://zww.me/27792.zsay 最近几天,由于需要给一个 APP 的已有功能上增加一些新功能,由于那部分知识比较缺乏又懒得学,于是让 ChatGPT 4 turbo 帮忙:

大概就是这样一个最后炸锅过程:

。这是我敲的代码……
》好的(慢慢分析……)需要我做什么……
。帮我在此基础上实现 ooxx 的功能……
》根据您的……(劈里啪啦一堆修改好的代码)好了……
。我直接粘贴了,真机调试,一坨错误……反馈给“》”
》哦,确保 oo,确保 xx,确保 OO,确保 XX,然后修改这部分,然后那部分……
。我继续测试……又蹦出一个错误码……反馈
》哦,确保 oo,确保 xx,确保 OO,确保 XX,然后这里改改那里改改……
。我认真检查“确保”……没找到问题,把“这里改改那里改改”改好,然后调试继续出错……
》哦,确保 oo,确保 xx,确保 OO,确保 XX,然后这里改改那里改改……
我不是来学习的!也不是帮你打工的!我是要你帮忙把正确的完整的代码直接给我!我能“确保”我还要你干嘛!!
》哦,了解,下面是完整代码……
。请在我的代码基础改!
》好的,下面是修改后的代码……
。调试,又有错,反馈
》哦,确保 oo,确保 xx,确保 OO,确保 XX,然后这里改改那里改改……
。确保 NM!@##@!¥%!#
》(如果这里 AI 怪笑一下,那人类估计就完蛋了)

估计我的聊天姿势不对,可能是第一个让 AI 帮忙最后骂 x 的……

后来换成 Claude 3.5 sonnet,感觉好多了,它经常胸有成竹地告诉我这样那样,出错了也会立即非常速度地又胸有成竹地告诉我这样那样,很快就调试好了,可能它的胸有成竹的聊天方式,让我觉得调试比较顺利,不会跟我说“确保”……

我让 Coplilot 帮我生成图片,说不能有 logo,然后就让马斯克的 Grok 来,虽然不是很满意,起码它没那么多顾虑……

然后我说 Coplilot 既然你都辛苦了,既然你那么害怕,那么改为字母总可以吧?然后就有了:

打赏 | Donation

转载请注明转自: 《我是AI打工人

]]>
https://zww.me/27792.zsay/feed 18
博客主机迁移到赤鱼网络,顺便写了个新的 Gravatar 头像缓存本地函数 https://zww.me/migrating-the-blog-host-to-chiyu-network.z-turn https://zww.me/migrating-the-blog-host-to-chiyu-network.z-turn#comments Sat, 14 Dec 2024 03:42:43 +0000 https://zww.me/?p=27768 我博客放在 kvmla 应该有 10 多年了,从 2011 年就开始使用,当时用法就多样性了,毕竟还是那个稍微宽松的年代。现在想想那时的博客环境、氛围是多么美好。敲了一篇自我感觉良好的文章就傻傻地每天都去关注 Google 的 PR 值,后来因为写了 WordPress 免费主题上架 WordPress.org 后,博客 PR 升到当时令个人博客羡慕的 7,没想到迎来了 7 也迎来了 Google 退出了厉害之国。

扯远了,感觉岁数上来了就容易感慨……

这次搬迁主要是换机房,其实还是同一个服务商的新虚拟服务器网站:赤鱼网络

服务商老板也认识 10 多年了,无条件信赖,直接开通。赤鱼网络提供亚太地区和北美地区,我肯定是选择亚太地区了,而且还是香港机房:

有兴趣的朋友可以去价格页面查看。至于评测,不是我专长,直接观察我博客即可,而我能使用 10 年以上的服务商是否值得信赖可想而知。

然后开始久违的网站搬迁,因为同服务器还有几个老博友的博客,所以搬迁起来其实还是要保持头脑清醒,毕竟现在已经把 linux 命令都忘得差不多了,安装配置过程时不时还要问一下旁边的 AI 同志。

在配置网站环境时,使用了最新的 Nginx 和 PHP8,我的博客还好,主要是保持更新。但其他几位博友由于常年未更新,蹦出好多 WordPress、PHP 的兼容性错误,于是顺手帮他们解决了。毕竟最近被新台机、Win11 虐习惯了,这点折腾没感觉。于是也遇到了我博客和 ashun 博客使用的《重新整理: willin简单头像缓存函数my_avatar()》(想想这文章也是14年前写的,真是时光飞逝,而博客就是台时光机,时不时让我享受时光旅行的快乐)出现网站卡死(超时)现象,应该是 PHP8 有些函数需要兼容处理,但懒得再去分析具体原因。于是动手重写了一个出来,目前运行稳定,有需要的朋友可以换下。

直接上代码:注意是 1. 直接缓存到 WordPress 的上传目录的 avatar_cache 目录(例如你的图片上传目录是 wp-content/uploads,那么就会在此目录下面新建一个 avatar_cache 目录)2. 是博客所在服务器本身能访问 Gravatar 头像,不然就没意义了

/**
 * 自定义头像缓存功能 by zwwooooo
 *
 * @param string $avatar 生成的头像 HTML
 * @param mixed  $id_or_email 用户ID或邮箱
 * @param int    $size 头像大小
 * @param string $default 默认头像URL
 * @param string $alt 头像alt属性
 * @return string 修改后的头像HTML
 */
function zfunc_custom_cached_avatar($avatar, $id_or_email, $size, $default, $alt) {
    // 从原始头像HTML提取URL
    if (preg_match('/src=["\\\']([^"\\\']+)["\\\']/', $avatar, $matches)) {
        $avatar_url = $matches[1];
        
        // 本地缓存目录
        $upload_dir = wp_upload_dir();
        $cache_dir = $upload_dir['basedir'] . '/avatar_cache/';
        $cache_url = $upload_dir['baseurl'] . '/avatar_cache/';

        // 确保目录存在
        if (!file_exists($cache_dir)) {
            wp_mkdir_p($cache_dir);
        }

        // 生成缓存文件名
        $hash = md5($avatar_url);
        $cached_file = $cache_dir . $hash . '-' . $size . '.jpg';
        $cached_url = $cache_url . $hash . '-' . $size . '.jpg';

        // 如果缓存文件不存在或过期(如30天),下载头像到本地
        if (!file_exists($cached_file) || filemtime($cached_file) < time() - 30 * DAY_IN_SECONDS) {
            $response = wp_remote_get($avatar_url);
            if (is_array($response) && !is_wp_error($response)) {
                $body = wp_remote_retrieve_body($response);
                file_put_contents($cached_file, $body);
            }
        }

        // 如果缓存文件存在,使用本地缓存
        if (file_exists($cached_file)) {
            $avatar = '<img class="avatar avatar-' . $size . ' photo" src="' . esc_url($cached_url) . '" alt="' . esc_attr($alt) . '" width="' . $size . '" height="' . $size . '" />';
        }
    }

    return $avatar;
}
// 添加 get_avatar 过滤器
add_filter('get_avatar', 'zfunc_custom_cached_avatar', 10, 5);

假如 + 如果真的有朋友拿去用,那么有什么问题可以在评论区反馈。

打赏 | Donation

转载请注明转自: 《博客主机迁移到赤鱼网络,顺便写了个新的 Gravatar 头像缓存本地函数

]]>
https://zww.me/migrating-the-blog-host-to-chiyu-network.z-turn/feed 38
默默用回 Win10 https://zww.me/27761.zsay https://zww.me/27761.zsay#comments Tue, 10 Dec 2024 09:29:06 +0000 https://zww.me/27761.zsay 最近被 Win11 折腾够呛,硬件驱动折腾完,然后发现很多老游戏不兼容,老游戏可是精神粮食之一啊

累了,装回 Win10,等 Win12。


Generated by Copilot. ^_^

打赏 | Donation

转载请注明转自: 《默默用回 Win10

]]>
https://zww.me/27761.zsay/feed 20
Win11 下 Realtek 声卡爆音问题及无奈的临时解决法 https://zww.me/realtek-sound-cards-crackle-on-windows-11-temporary-fix.z-turn https://zww.me/realtek-sound-cards-crackle-on-windows-11-temporary-fix.z-turn#comments Sat, 07 Dec 2024 13:01:09 +0000 https://zww.me/?p=27743 这次换机器真是‘多灾多难’,老声卡 X-FI Surround 5.1 pro 创新官方驱动已经不支持 Win11,只能让它半退役,重入新款貌似又是上 k 起步,终于说明自己先凑合用主板自带 Realtek 声卡,却又遇到 RT 的问题。

也是奇葩,电脑没发声几分钟,重新去调音量、或者开启需要调用音频的操作,音响就会传来“卟”的噪音,如果工作一整天下来真是烦死了,总不能老是去关闭音箱吧。

而不去安装华硕提供的 Realtek 声卡驱动,用 Win11 默认的驱动又不会……

最近几天不断搜索都没有找到真正解决的方法,而且都是跟 Realtek 有关,不管是华硕、微星的主板都有如此问题,而且好像也是跟阿三折腾的 Win11 有关。

然后搜到微星论坛,好像那边的官方很快就通过升级 BIOS 解决,但华硕那边呢?没人问津……

也有人跑到 Win11 下面反馈,但回答都非常官方,重装啊、如果不行请找主板商更新驱动……

然后 chiphell 论坛的这个帖子提到 https://www.chiphell.com/forum.php?mod=viewthread&tid=2620275&fromguid=hot&extra=&mobile=no 解决方案,但最后也只有和这博客 https://raylee.blog/realtek-alc4080-problems 提到的一样只能临时解决:

》右键右下角音量图标打开“声音设置”,然后下面找到“更多声音设置”并点击

》在弹出的“声音”对话框,点击“录制”,把那个“立体声混音 - Realtek(R) Audio”启用,然后双击弹出属性,在“侦听”勾选“侦听此设备”,然后到“级别”把音量调到最小,点“应用、确定”,就 OK 了

原理就是让 Realtek 声卡一直工作,不要让声卡驱动的自动休眠启动,Orz

----

2024-12-08 18:28 后续发现(我的疏忽):

我的老创新 5.1 声卡 X-FI Surround 5.1 pro 当时因为安装创新官方驱动无法发声,于是判断它淘汰应该退役,然后让自己妥协使用主板自带 Realtek 声卡作为电影、游戏用。我好像忘了一件很重要的事情:我好像没去创新官方找后续驱动版本!!!

OMG!真的是,去创新网站下载了 2019 年最后发布那次的驱动,一切正常!连软件也正常运行!怎么犯了这么低级的错误……

我都在折腾啥?

打赏 | Donation

转载请注明转自: 《Win11 下 Realtek 声卡爆音问题及无奈的临时解决法

]]>
https://zww.me/realtek-sound-cards-crackle-on-windows-11-temporary-fix.z-turn/feed 19
MATX机箱转ATX机箱 https://zww.me/27739.zsay https://zww.me/27739.zsay#comments Fri, 06 Dec 2024 05:25:26 +0000 https://zww.me/27739.zsay 前晚赶在 23:10 前下单 ATX 多硬盘机箱昨天下午就到了,于是开始‘搬家’:

由于太急,前晚只有几分钟时间就随便选了,没有具体去考虑机箱本身的布局是否合理,然后就遇到问题了……

下图红框位置太窄,然后主板的 SATA1 和 SATA2 就在那里 + 开口朝右……根本无法下手,最后只能把旁边那高耸的硬盘架拆了先插上SATA线,然后硬挤一下才 OK,累死偶了

这个机箱虽然有背走线,但硬盘根本就没办法啊,半背走线设计?算了,就当传统机箱吧,反正盖上面板啥也看不到(到最后背走的线材我都懒得理了——没有意义了)。

心太急通常就会被折腾:

由于主板只有 4 个 SATA 接口,我有 5 个硬盘,需要用 PCI-E/M2 接口转换出来,我这款主板有 3 个 M2 插槽,于是在昨天上午还没收到机箱就在 jd 选了个  M2 转 SATA 的转接卡,昨天晚上开始迁移部件,直到今早才搞好(机箱设计不合理,装前板风扇还要拆硬盘架),才意识到那 3 个 M.2 插槽都在显卡底部……还有 PCI-E X1 也是被显卡挡住……只有一个 PCI-E X4 能用,好吧,直接 jd 下单 PCI-E 转 SATA,等下收到 M2 转 SATA 的就只能退货了。

2024.12.07 Update:绿联的 PCI-E 转 SATA 收到,立即插到唯一的 PCI-E 插槽,接上第 5 块硬盘,嘿嘿!

打赏 | Donation

转载请注明转自: 《MATX机箱转ATX机箱

]]>
https://zww.me/27739.zsay/feed 7
添加了新的设备 UPS,老的设备 HP Gen8 急着退役…… https://zww.me/27735.zsay https://zww.me/27735.zsay#comments Wed, 04 Dec 2024 16:31:10 +0000 https://zww.me/27735.zsay 前天才把“忘记”的 UPS 换成大功率的,然后今天终于有时间配置好了停电后自动关主机(作为 NAS 用的 Gen8)、副机(我的工作用新台机)。

兴冲冲地去故意拔掉 UPS 插头,特意设置 UPS 供电 1 分钟后关机来测试自动关机效果,嘿嘿,1分钟后就自动关机了,正当我兴高采烈地把自动关掉的 HP Gen8 按了开机键,然后不到 1 分钟,还在启动的 Gen8 就断电了……

OMY!我忘记了我设置了“发起局域网的电脑自动关机 2 分钟后,UPS 自己也关机”,然后,杯具来了:

Gen8 没启动成功!

用 iLO 查看,是没有找到启动硬盘。啊!别吓我!!!我可是曾经硬盘灾难严重受害者,到现在有心理阴影……

立即关掉 Gen8 电源,拆下硬盘,用外置外盘盒试了下:硬盘没事!呼~

然后用 iLO 查看 Gen8 里面的各种参数、启动提示,然后发现是完全找不到硬盘,3 个硬盘一个都没找到!

然后按提示的 F5 键,无法键入 Smart Array 管理界面……

然后就是:

  • 不管怎么拔插硬盘都找不到……
  • 研究 iLO 网页管理界面,啥也找不到……
  • 找到新版本 iLO 4 2.82 刷进去:还是没用
  • 然后到处搜,中文信息很少,英文信息就比较多
  • 然后有的说是 Intelligent Provisioning 数据被破坏,于是去 HPE 官网下载对于 Gen8 最新的 1.71 版本的 Intelligent Provisioning Recovery Media,这个是 iso 文件,通过 iLO 远程管理软件挂接到 CD-ROM 接口,然后启动 Gen8,选 CD-ROM 启动,进入安装界面,最终提示 flash 失败……
  • 然后又折腾了一番,最后注意到 NAND、NVRAM 字眼:Error flashing NVRAM、error for the Embedded Flash/SD-CARD
  • 难道是“嵌入式闪存/SD-CARD”出问题了?不是吧,这个坏了可就是主板没用了……
  • 然后尝试这个 https://support.hpe.com/hpesc/public/docDisplay?docId=a00048622en_us 网址的各种方法去格式化 NAND:
    。在 iLO 网页管理界面就可以,只要在菜单 Infomatiaon 》Overview 看到 iLO Health 状态是 Degraded,就可以点 Diagnostics 里面继续查看,如果 iLO Health 旁边有个感叹号或者一样是 Degraded,那么点击 iLO Health 字眼,下面就会出现 Format Embedded Flash and reset iLO 按钮,点击后弹出警告按‘确定’,等了1、2 分钟左右,再次网页访问 iLO,看里面的 log 提示失败:Embedded Flash/SD-CARD: Media controller exception 01.
    。然后继续尝试 Windows 下面安装管理软件,用命令行执行,执行过程中没有提示失败,但是等 iLO 重新启动后,进去看到的还是:Embedded Flash/SD-CARD: Media controller exception 01.
    。然后继续 Windows Shell 方式:如故……

其实到这里我已经从下午 4 点折腾到晚上 9 点了,已经筋疲力尽。跟我同时入 Gen8 的 AlexGao 也聊了一阵,最终判定:廉颇老矣,经不起这次的断电,让它就此退役……

心有多不舍,也没有办法,毕竟也已经折腾了 5 个小时,而且对于 2015 年 3 月入的 Gen8 来说,它也已经尽忠尽力服役了 9 年半的时间了,非常光荣了。

然后就开始跟 Alexgao 闲聊着替代品:

NAS:我嫌贵……我也不需要 RAID,主要是嫌贵!嫌贵!嫌贵!

硬盘柜:好像非常适合我,无 RAID 的 5 盘位的一般 7、8 百,虽然感觉还是有点贵(买了新台机后感觉什么都贵)

算了,就硬盘柜吧,于是看了一下时间,22:50,还能赶上明天到货。

继续聊,突然想到,既然我的需求不高,而且我晚上作为 NAS 用的 Gen8 也是关机的,那为何不直接把硬盘挂我除了睡觉就开着的工作用机呢?

新台机还有 2 个 SATA 硬盘口,虽然没地方放硬盘了,那为何不去买个多硬盘位的 ATX 机箱呢?我又不怕机箱大——因为主机就是乖乖在桌底下工作的。

这时又看一下时间 23:05

》立即取消硬盘柜订单

》随便找了个主流品牌,支持 10 个硬盘位的机箱,下单

》只要主板总共只有 4 个 SATA 接口,这个倒是无所谓,以后可以用 PCI-E 卡转换,但现在暂时我只有 2 个 8T 的硬盘需要放进去。

Gen8 退役纪念照:(明天再拍)

...

打赏 | Donation

转载请注明转自: 《添加了新的设备 UPS,老的设备 HP Gen8 急着退役……

]]>
https://zww.me/27735.zsay/feed 11