qweytr_123 qweytr_123
关注数: 1 粉丝数: 106 发帖数: 3,143 关注贴吧数: 7
D3D3D4D2q2q3q4q2q3q4q2q3a2a4a3a3a2a3a3a4z4z4z4z4z3z4z4z4x4x4x2x3x4x3x2x4d4d2d3d4d2d3d3d4Q3Q2Z3Q4Q3rW2D4D4Q3Q3Z2Q4A2rQ4W3A2Z4X4Z2X4X3A4Q3Q2Q4D2W2W2W3rX3D3X2E2D3Z4Z4r预留了激活真法与两个真气内功的空间 由于武当太和功有debuff,没有激活 由于真气武学过于imba且不受控,没有激活 真法同理未激活 共计4武学未激活,但这个经脉应该已经够用了。 --- 神秘代码是经脉修改器的 目前大约只有我一个人会用…… qwadzx控制方向,0-4设置经脉图标,r复位,大写QWADZX向对应方向移动2格 于是代码D3D3D4D2q2q3q4q2q3q4q2q3a2a4a3a3a2a3a3a4z4z4z4z4z3z4z4z4x4x4x2x3x4x3x2x4d4d2d3d4d2d3d3d4Q3Q2Z3Q4Q3rW2D4D4Q3Q3Z2Q4A2rQ4W3A2Z4X4Z2X4X3A4Q3Q2Q4D2W2W2W3rX3D3X2E2D3Z4Z4r的意思是,向右移动2格,设置经脉类型为3(方形)向右移动2格,设置经脉类型为3(方形)向右移动2格,设置经脉类型为4(圆形),想左上移动,设置经脉类型为2(三角)…… 有空格的代码会特殊处理,没有空格的代码可以批量处理 比如输入1 1会定位到1 1格,输入1 2 3会将1,2格设置为3(方形) 由于历史包袱,我的名义坐标与游戏坐标不完全对应。 转码是正常的,但显示和定位不正常 所以推荐wsad控制方位……毕竟这个可以做成历史记录 由于没有看懂经脉连接逻辑,这里只做了空白经脉,需要手工连接 源码已经传去steam指南了,有爱可以自取自行编译 不过话说回来,不会真有人用这个东西吧
全内功全绝技代码 我收集的内功如下: (python代码) a=[190037,190041,190000,190034,190032,190029,190042,190035,190100,190024,190150,190025,190033,190010,190110,190036,190039,190038,190009,190040,190027,190031,190007,190026,190140,190141,190160,190112,190111,190151,190121,190120,190132,190131,190130] ",".join('"12%015d":{"uid":"12%015d","class_id":%d,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}}'%(a,a,a) for a in sorted(a)) 使用python的输出替换"neigong_container":{"entity_map":{……}},"human_shape"中的省略号部分即可。 这些内功中,独缺真法,但真法改出来并不麻烦(使用天命点改出斩三尸天命,即可获取真法),因此这里不做补充 没有python的可以直接用这一大段 "neigong_container":{"entity_map":{"12000000000190000":{"uid":"12000000000190000","class_id":190000,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190007":{"uid":"12000000000190007","class_id":190007,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190009":{"uid":"12000000000190009","class_id":190009,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190010":{"uid":"12000000000190010","class_id":190010,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190024":{"uid":"12000000000190024","class_id":190024,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190025":{"uid":"12000000000190025","class_id":190025,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190026":{"uid":"12000000000190026","class_id":190026,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190027":{"uid":"12000000000190027","class_id":190027,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190029":{"uid":"12000000000190029","class_id":190029,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190031":{"uid":"12000000000190031","class_id":190031,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190032":{"uid":"12000000000190032","class_id":190032,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190033":{"uid":"12000000000190033","class_id":190033,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190034":{"uid":"12000000000190034","class_id":190034,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190035":{"uid":"12000000000190035","class_id":190035,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190036":{"uid":"12000000000190036","class_id":190036,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190037":{"uid":"12000000000190037","class_id":190037,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190038":{"uid":"12000000000190038","class_id":190038,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190039":{"uid":"12000000000190039","class_id":190039,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190040":{"uid":"12000000000190040","class_id":190040,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190041":{"uid":"12000000000190041","class_id":190041,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190042":{"uid":"12000000000190042","class_id":190042,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190100":{"uid":"12000000000190100","class_id":190100,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190110":{"uid":"12000000000190110","class_id":190110,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190111":{"uid":"12000000000190111","class_id":190111,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190112":{"uid":"12000000000190112","class_id":190112,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190120":{"uid":"12000000000190120","class_id":190120,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190121":{"uid":"12000000000190121","class_id":190121,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190130":{"uid":"12000000000190130","class_id":190130,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190131":{"uid":"12000000000190131","class_id":190131,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190132":{"uid":"12000000000190132","class_id":190132,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190140":{"uid":"12000000000190140","class_id":190140,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190141":{"uid":"12000000000190141","class_id":190141,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190150":{"uid":"12000000000190150","class_id":190150,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190151":{"uid":"12000000000190151","class_id":190151,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}},"12000000000190160":{"uid":"12000000000190160","class_id":190160,"entity_type":9,"on_collect":0,"collect_id":0,"collect_progress":0,"component_data":{}}}}
武器防具修改 对于武器和防具的修改,你只需要搜索"main_props"。有且只有武器防具存在对应字段,所以你不会误伤。武器按存档顺序排列,也就是说,你只要把全部武器防具都送进背包,背包顺序即为武器防具"main_props"出现的顺序。 修改时候,"main_props"最多一项,后面的"addon_props"最多两项,可以超过,但超过的多半无效(至少不显示) 于是我们需要仔细取舍武器防具的词条选取 推荐的选取如下: 三件武器(选一件装备,两件备用) 斩情,十倍招式伤害,伴随大量回血与施毒: "main_props":[[119,9000]],"addon_props":[[1009,1],[1010,1]] 问情,十倍气血保命,腿法无伤,暗器5倍伤,保证放蛊之后人不凉: "main_props":[[102,9000]],"addon_props":[[111,-999],[113,5000]] 忘情,兵器只需要1招式即可施展,必然识破对面招式,必然获得成吨武学经验: "main_props":[[370,-10]],"addon_props":[[117,1000],[338,1000]] 三件防具 祥云,增加材料获取,增加移动速度,增加负重效率(防止马抗不动人): "main_props":[[122,500]],"addon_props":[[127,-999],[376,100]] 闪光,在空中滑翔,且绝技必然造成瞎眼瘸腿: "main_props":[[1011,1]],"addon_props":[[336,1000],[382,1000]] 百辟,这是挂件,耐热抗寒且避毒: "main_props":[[403,-45]],"addon_props":[[385,-45],[387,-45]] 一件暗器 武圣:,增强武技发挥的效果,对招不败,且每回合多出3招 "main_props":[[1012,1]],"addon_props":[[377,10],[120,3]] main_props与addon_props的对应如下 正数被自动翻译为增加,负数减少 百分比以100%:=1000记 100 最大气血 101 最大负重 102 (百分比)最大气血 103 (百分比)最大负重 104 掌法攻击 105 拳法攻击 106 腿法攻击 107 兵器攻击 108 暗器攻击 109 (百分比)掌法攻击 110 (百分比)拳法攻击 111 (百分比)腿法攻击 112 (百分比)兵器攻击 113 (百分比)暗器攻击 114 招式攻击 115 (百分比)招式攻击 116 (百分比)招式暴击 117 (百分比)招式识破 118 装备基础属性(Note:使用武器,测得是气血与招式攻击) 119 (百分比)装备基础属性 120 (紫气东来)一回合招式 121 移动速度 122 (百分比)移动速度 123 乞讨获得物品价值 124 (百分比)祈求成功率 125 真气 126 负重(Note:当前值,下同) 127 (百分比)负重(可以设置为-999,这样负重会等效地变成千分之一) 128 (百分比)真气 129 (存档损坏) 200 最大气血 207 兵器攻击 208 暗器攻击 217 (百分比)招式识破 (疑似上面100-117与200-217一致) 218 移动速度 219 (百分比)移动速度 220 乞讨获得物品价值 221 (存档损坏) 301 (百分比)受到的暴击伤害 302 招式暴击造成的伤害 303 (百分比)受到的伤害 303 受到的伤害 312 受到的治疗效果 314 晕厥时间 319 受到的腿法伤害 331 绝学造成的伤害 336 (百分比)释放绝学时,造成瞎眼隐疾 337 (百分比)领悟速度 338 武学心得获取 359 兵器类绝学造成的伤害 370 绝学招式激活所需的兵器招式数量 375 暗器招式30%概率偷取钱 376 材料获取效率 377 交锋时,招式克制抵抗次数 379 掌法可视为兵器 380 英勇程度(??) 381 拳法可视为兵器 382 (百分比)释放绝学时,造成「腿残隐疾」 383 进入战斗时,获得「尖刺」状态 384 每回合恢复气血 385 寒冷最高层数 387 灼热最高层数 398 腿法可视为兵器 399 掌法可视为暗器 400 拳法可视为暗器(?) 401 腿法可视为暗器 403 毒瘴最高层数 405 「寒冷」、「灼热」、「毒瘴」、「醉意」消退速度 407 (百分比)暗器招式附带「灼热」状态 408 (百分比)暗器招式附带「毒瘴」状态 1000 受伤害时给伤害目标添加「毒瘴」状态(?) 1001 (极意缠腿,疑似未实装,大地图装备无效)每5秒恢复5气血 1002 负重越低,绝学伤害越高 1003 负重越高,招式伤害越高 1004 交锋时,额外施加1层「灼热」状态且无视抵抗 1005 交锋时,额外施加1层「寒冷」状态且无视抵抗 1006 真气越高,兵器招式造成的伤害越高 1007 心境越高,暗器伤害越高 1008 心境越低,暗器伤害越高 1009 每造成10伤害,恢复5气血 1010 每造成100伤害,额外增加5层「毒瘴」状态 1011 可在空中滑翔,无视跌落伤害 1012 增强武技发挥的效果
有人知道从哪里刷皮毛吗? 武器"main_props":[[370,-10]],"addon_props":[[1004,1],[1005,1]],兵器只需要1招式即可施展,交锋时附加冰火两重天 帽子"main_props":[[1012,1]],"addon_props":[[336,1000],[382,1000]],增强武技发挥的效果:绝技必然造成瞎眼瘸腿 衣服"main_props":[[1011,1]],"addon_props":[[377,10],[1010,1]],在空中滑翔,且帮助穿戴者在交锋时获取优势,且每造成100伤害,额外增加5层「毒瘴」状态(希望尝试每回合招式3,但没皮毛……) 裤子"main_props":[[122,500]],"addon_props":[[101,1000000],[376,100]],增加材料获取,增加移动速度,增加负重 暗器"main_props":[[403,-15]],"addon_props":[[385,-15],[387,-15]],这是挂件,耐热抗寒且避毒 正数被自动翻译为增加,负数减少 百分比以100%:=1000记 101 (防具)最大负重 122 (裤子)移动速度 125 (防具)真气 200 (防具)最大气血 207 兵器攻击 208 暗器攻击 220 (防具)乞讨获得物品价值 301 (百分比)受到的暴击伤害 302 招式暴击造成的伤害 303 (百分比)受到的伤害 303 受到的伤害 312 受到的治疗效果 314 晕厥时间 319 受到的腿法伤害 331 绝学造成的伤害 336 (百分比)释放绝学时,造成瞎眼隐疾 337 (百分比)领悟速度 338 武学心得获取 359 兵器类绝学造成的伤害 370 绝学招式激活所需的兵器招式数量 375 暗器招式30%概率偷取钱 376 材料获取效率 377 交锋时,招式克制抵抗次数 379 掌法可视为兵器 380 英勇程度(??) 381 拳法可视为兵器 (?) 腿法可视为兵器 382 (百分比)释放绝学时,造成「腿残隐疾」 383 进入战斗时,获得「尖刺」状态 384 每回合恢复气血 385 寒冷最高层数 387 灼热最高层数 399 掌法可视为暗器 400 拳法可视为暗器(?) 401 腿法可视为暗器 403 毒瘴最高层数 405 「寒冷」、「灼热」、「毒瘴」、「醉意」消退速度 407 (百分比)暗器招式附带「灼热」状态 408 (百分比)暗器招式附带「毒瘴」状态 1000 受伤害时给伤害目标添加「毒瘴」状态(?) 1001 (极意缠腿,疑似未实装,大地图装备无效)每5秒恢复5气血 1002 负重越低,绝学伤害越高 1003 负重越高,招式伤害越高 1004 交锋时,额外施加1层「灼热」状态且无视抵抗 1005 交锋时,额外施加1层「寒冷」状态且无视抵抗 1006 真气越高,兵器招式造成的伤害越高 1007 心境越高,暗器伤害越高 1008 心境越低,暗器伤害越高 1009 每造成10伤害,恢复5气血 1010 每造成100伤害,额外增加5层「毒瘴」状态 1011 可在空中滑翔,无视跌落伤害 1012 增强武技发挥的效果 --- 有告知我如何刷皮毛者,功德+100:
血脉继承全开 global_data.json里面做如下修改: "ability_unlock_lv_map":{"210000":6,"210005":3,"210006":6,"210007":6,"210008":3,"210009":6,"210010":6,"210011":6,"210012":6,"210013":1,"210014":6,"210015":3,"210016":6,"210017":1,"210018":1,"210019":1,"210020":1,"210021":1,"210022":1,"210023":2,"210024":6,"210025":6,"210026":6,"210027":6,"210028":6,"210029":6,"210030":6,"210031":6} 这里 210000:武技 210005:轻功 210006:锻造 210007:制作 210008:壁虎游墙 210009:医术 210010:织造 210011:制作 210012:营造 210013:驯化 210014:烹饪 210015:酒道 210016:音律 210017-210020对应棋书丹青诗词,只有一级,天命中选中会增加点数,但正常游戏时候最好别选 210021:踏雪寻梅 210022:蜻蜓点水 210023:易容 210024:铜皮铁骨 210025:掌法运用 210026:拳法运用 210027:腿法运用 210028:兵器运用 210029:暗器运用 210030:乞讨 210031:潜行 嫌每次开血脉都要CE改血脉点数麻烦的,可以python来一段','.join('"2000%02d":6'%i for i in range(32)),把得到的东西送进ability_unlock_lv_map的大括号里面,放在上面手工测得的数字的前面 这样可以白嫖48个天命点,基本上足够开全部血脉 python是我写错python代码发现的,只知道能用,BUG原理未知 我只知道,不要试图对2100xx做同样的事情,因为你会发现,激活那些继承的时候……比如你可以直接激活6级易容 不保证游戏这样不出BUG,这也是为什么我只给出了python代码没有给出成品的原因。 直接使用成品,大约是没有问题的
这是一个小小的萌新(利用mod)进行的简单实验 求雨原理如下: 首先,远距离传送与穿刺修饰自触发花粉,保证花粉不会因为各种奇怪原因暴毙 然后,默写花粉触发公式,二重施法,花粉,追加,聚爆光束,花粉* 这里第二个花粉*是我们需要修改的对象。 首先,这个花粉(除了完成触发公式之外)毫无存在价值,所以应该用零时修正之 其次,为了使用花粉求雨,我们需要让花粉关联其他法术,一个关联方法是继续触发,但我电脑带不动,所以这里使用二重施法,触发花粉与延迟施法 注意,这里的延迟施法被零时修饰,所以是瞬间3发法术 之所以不用三重法术,是因为这样可以生成更多投射物(无零时修饰的自触发花粉) 做完这一切,延迟施法仍然有3个抽取 一个放主力法术(比如水滴),一个放刷新环 剩下一个抽取数触发回绕……回绕到主花粉! 也就是说,每个主花粉的延迟施法会瞬间生成一个刷新球主花粉 刷新球主花粉唯一的问题是不能触发最后“生成主花粉”的回绕。 也就是说,如果你可以生成100个主花粉,那么理论上你大概可以生成10000次触发中的主力法术 然而,我测得结果是,空旷地带可以生成1000主花粉…… emmm 这就是我的萌新求雨杖了Note:对真萌新来说,这是杀器 因为稍微修改一下(比如在水滴前面加一个D800)就能直接把电脑卡死 当然,这里完全没必要求雨的 毕竟比雨有趣的东西多了去了
使用了奇书与全武学奇窍是瞎配的(定身+毒),催破挂件大概没找全(因为不知道),十三太保可以换成盛神法(但会缺3个催破格子) 奇书:收置佛门狮子吼与其他可以收置的一品功法(这里我收置了二品凌波微步,因为一品需要专解或者绝旨,懒得改了) 收置游身八卦掌(划掉) 奇书内功: 大成十三太保,可以免费白嫖4个格子而不需要损耗万用格(这也是为什么换成盛神法会缺格子的原因) 用极大太阴(……随便放着玩的,反正你无论如何都要放一个) 收置大般涅磐法(免费的45%) 奇书绝技: 刹那运功效果最强的一品护体(我这里是圣灯) 源流天蚕……目前版本源流天蚕的好处非常明显。 其他随意 这是人物白板(卸掉所有功法,真气与装备) (因为吃满了14奇书加成外加全正面特性,所以并不算纯白)运功属性(平衡次要属性需要仔细调整内功总纲,但我显然没做调整)……属性如此夸张的缘故除了我突破时候完美地选中了最优总纲(2品3品挂件选异,其他挂件一律解)的全部黄点之外,4品功法的特殊性与九鼎涅槃85%的加成关系密切 4品功法的黄点跟3品功法一样多,但4品功法只占2个格子,精解之后只占1格。 这一格是什么概念呢…… 这是一格百足仙,我运功属性倒数第二差的四品身法这是(收置)一格洛神一格洛神换算一下大概是100左右的全命中闪避 这是奇书,只能有一个 而精解之下,功法有奇书7成水平 精解极4品功法,是完美的版本答案
我有罪,我检讨 刚刚发现 我的自用版优化真的成了自用版…… 工坊里面自选动画类的参数是冗长的UI_CombatBegin|OnNotifyGameData,UI_CombatBegin|Ani,UI_CombatBegin|OnNotifyGameData,UI_SkillBreakPlate|Anim,UI_ProfessionMask|Anim,UI_ProfessionSkillUnlocked|CoPlaySkillUnlocked,ProfessionSkillController|RecoveryViewToCenterAndNormal,ProfessionSkillController|OpenProfessionSkillUI,ProfessionSkillController|ShowProfessionIllustrationAndSkill,ProfessionSkillController|PlaySkillAnimAndShowEffect,ProfessionSkillController|AdjustMapBlockLightState,ProfessionSkillController|ShowPropertyChange,ProfessionSkillController|ShowTeammateUI,ProfessionSkillController|PlaySkillSound,ProfessionSkillController|CloseAnimAndEffect,ProfessionSkillController|OnclickSkillCallBack,ProfessionSkillController|InvokeSomeFixMethod,ProfessionSkillController|AdjustMapBlockStateToBeggarSkill3,ProfessionSkillController|ChangeBottomState,ProfessionSkillController|MoveCameraToRegularMapBlock,ProfessionSkillController|RecoveryViewToOrigin,ProfessionSkillController|RecoveryViewToCenter,ProfessionSkillController|GetInvokes 然而,我真正在用的参数是UI_CombatBegin|OnNotifyGameData,UI_CombatBegin|Ani,UI_Combat|OnInit,UI_EventWindow|Anim,UI_SkillBreakPlate|Anim,UI_ProfessionMask|Anim,UI_ProfessionSkillUnlocked|CoPlaySkillUnlocked,UI_GetItem|Anim,UI_Base|InitAnim 删掉了并没有真正起作用的ProfessionSkillController patch 增加了跳过开战提示的patch 我做好了一切必要工作 除了上传…… --- 大家如果有心的话,可以写一个自选动画类的教程 我实在懒得写了。
终于体会到了风后的良苦用心 怎么说呢,从前我一直觉得风后很有道理,毕竟后端就是快,无脑快 在优化NpcScan的时候……我终于意识到了什么。 已知大概有7000个class要传,传过来之后要实例化几万个字符串 后端的确快,但后端快的代价是前端卡顿。 曾经风后说,“前端就应该异步啊,写成同步不符合编码规范” emmm,几万个需要更新的字符串(物品,可能不止几万),要不然异步加载,每帧加载若干个,花费好几秒钟加载完成,在此期间需要冻结NpcScan的一切功能,否则前端逻辑会不准确(比如搜不到汗血宝马的原因是汗血宝马没有更新) 要不然卡顿几十到几百毫秒(视优化等级而定,原NpcScan几百ms,现在几十ms)等待所有数据更新完毕 要不然后端执行一切运算但是翻页时候需要从后端重传全部翻页数据……于是一次长卡顿变成每次翻页的短卡顿。 当然,理论上有万能解法避免上述一切缺点,但万能解法有一个后遗症,就是,程序员花费在编写万能解法上的时间,严格大于,其他所有人能因万能解法节省的时间的和。 不得不说风后的用心真的良苦……毕竟,风后的后端,的确快到亲🐴上天 但是,这里的快是以前端变卡为代价的。 就比如,打开所有界面,只要界面的人一多,就会卡。 卡的道理非常简单: 前后端的分离增加了开销。 你永远需要做一个,我在NpcScan中遇到的三选一 而本来你根本不需要选。 没有后端,最差最差的编程习惯,也能保证200ms刷新出50个NpcScan条目 加上后端,会变快多少,我不知道 我只知道,序列化与反序列化加起来基本上需要1秒。
在想要不要号召大家一起给茄子画一个饼 事情的起因是这样子的: 在第N次开游戏启用Mod然后重启之后,我给茄子问了一句,能不能在开游戏的那个启动器里面修改Mod配置 茄子表示好像的确应该这么做 --- 目前来说,茄子的人力并不充裕,于是程序员们没时间玩游戏。 所以,或许,除了汇报BUG之外,我们应该帮茄子画一下饼,告诉茄子应该修改什么,以及修改顺序是什么。 --- 短期目标(这些是可以立刻完成的,几乎不会引入任何BUG): 升级HarmonyX到最新版,好处是可以比较方便地修改迭代器 给启动器增加Mod管理器功能 在商店买东西时候,如果交易不为空,右键退出时应当做提示 (误触导致退出商店是一件很痛苦的事情) 中期目标(这里是一些新内容,比较容易做,而且做完的好处显而易见): 1. 排序: 送礼时按好感而不是价值排序 祠堂按资质排序 物品排序加入“按种类”,这样可以把相似的物品归类到一起。目前的按名称,重量,品阶,价值排序时,我们没办法把相似物品归类到一起。 2. “蓝图”系统: 蓝图的主要好处是,可以预览,可以在确认之前撤销修改 这样,只需要在提交时进行确认,不必确认每一次更改 2a) 允许先规划后支付资源 比如可以允许在建筑未解锁时预先规划建筑,在人力不足时预先规划拆除 自然资源不应该扩张到规划建筑之上 在规划之后,程序应当自动分配有空闲的村民来完成任务。 由程序分配的好处是,玩家不必担心自己分配的那个厨艺为0的家伙,其杂学是否高于100 某种程度上这样可以节省一定的玩家脑力和太吾村劳力。 2b) 允许存储默认功法模板 每次突破功法都需要选择6个词条,而玩家往往只会从两个模板中进行选择(正练一个,逆练一个) 这里希望允许游戏在突破的时候,先按模板选择词条,再自动选择没有歧义的词条(比如字诀只有一个的话,自动锁定这个字诀,字诀有多个就看模板怎么选) 这样的好处是可以让突破变得简单,而不必让玩家每次突破都选一圈词条(特别是你只读完了一本书的时候,选一圈词条真的不怎么好看) 2c) 祠堂灌顶的默认模板 默认模板包含全部技艺的模板,和几个自定义功法模板。如果不选定模板,灌顶时按普通流程灌顶 选定模板时,进入批量灌顶模式,每次点击人物都应当生成一个“给这个人物灌顶这个模板中最靠前的可以灌顶的功法”的任务。可以选择是否生成暂时无法完成的任务(比如20岁的太吾给一个人灌顶4次,或者太吾灌顶一个自己还没有学会的功法) 由于这里是灌顶任务,所以可以自由地修改(而不必每次灌顶都预先确认) 在安排完任务之后,可以点击“完成灌顶”按钮按顺序批量执行任务,不成功的灌顶任务保留到下一次灌顶执行。 更远一些的目标(放在这里的目标是应当完成,但是因为存在BUG等原因,完成这些工作并不容易): 1. 批量买卖商品 目前想买卖商品只能挨个确认取消 但,比如说玩家想卖掉所有8品以下的资源,那么玩家就只能筛选完了一个一个确认 如果可能的话,应该配合排序系统,做一个批量选中。玩家只需要选择开始物品和结束物品,之后程序会自动将选中范围内的全部物品进行购买/出售 2. 前端优化 目前太吾非常卡,前端甚至跑不满48帧(不要吐槽,我习惯性地锁48) 如果能找到是什么导致了卡顿,最好解决这个问题。 3. Mod系统升级 目前的Mod系统跟...没有任何区别 经过实践,我发现一个mod的新写法,格式大致为 [Desc("描述",默认值)] class Patch : TaiwuSlider { public static int val; // 你可以把变量定义在class内部,而不必把变量统一定义在初始化mod的class里面 // 这里填int是因为太吾绘卷的Slider只接受int,简单扩展一下,比如如果我们希望增加一个文本格式的entry,这里也可以用string public void Init() {base.Init(ref val);} // 多数情况下每一个patch只会拥有一个变量,所以固定使用这样的Init已经足够 // 以下开始patch } 实践中,大于等于0的值默认为Mod生效,小于0的值默认为Mod失效,不会导致任何问题 这样写BepInEx mod会比先写config.Bind<int>(...)方便很多 具体实现可以看http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Fgitee.com%2FNeutron3529%2FMiChangSheng_Mod%2Fblob%2Fmaster%2Futils.cs&urlrefer=04511e5fe298f348ce685393f7413a80,这些内容虽然是针对BepInEx的,但改到太吾并不会有太大问题 ——或者说太吾早就该改一改了。 BepInEx是支持在C#代码里面创建ConfigEntry的,如果是太吾,你必须先写lua,再到C#里面读取参数,最后使用参数完成patch,这三步错一步都会导致patch读不到正确数据 虽然说现在的确可以写Mod,但Mod写起来非常痛苦。 或许Mod应该把config和settings分开,config里面不涉及Mod的各个配置项,Mod的配置项应当由类似Config.Slider("键值","描述",默认值,最小值,最大值,步长)这样的代码生成(和读写) (就像bepinex mod做的那样) 4. 后端函数拆分 目前来说,后端的部分函数实在过于复杂 比如战斗部分,如果想做战斗系统的Mod(比如做一个更智能的战斗AI),我们必须阅读整个战斗系统的Update逻辑 类似的大函数完全有拆分的可能,如果把类似函数拆分成多个小函数,可以在一定程度上方便modder进行修改。 (这是当年玩茶马帮时候发现的,茶马帮逻辑小几百行根本不是正常人应该看的东西……) 我暂时只能想到这么多饼了 大家可以一起来画饼,也可以做一下排序和补充。 或许这里写的东西,太吾一个都不会做 但万一呢?
1 下一页