silksong-coop-mod 0.4.56 → 0.4.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/INSTALL.txt +424 -341
- package/README.md +2 -2
- package/SSMP/SSMP.dll +0 -0
- package/package.json +1 -1
package/INSTALL.txt
CHANGED
|
@@ -234,17 +234,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
234
234
|
和游戏里 Boss 抓人途中被打出硬直时放人的方式一样。
|
|
235
235
|
没有最后那一刀,因为那一刀只有房间主机那边的 Boss 放得出来。
|
|
236
236
|
|
|
237
|
-
* 【修掉了「怪物在它出生的地方一闪一闪」】
|
|
238
|
-
用身体撞人的怪(比如沿着台阶一圈爬的那种),只要它的伤害数值一变,
|
|
239
|
-
模组就会把你这边「睡着的那一只原版怪」叫醒一下,
|
|
240
|
-
于是它在出生点露脸一帧又消失。现在不会去叫醒它了。
|
|
241
|
-
|
|
242
|
-
* 【两个人都被打倒时,Boss 会做胜利动作了】
|
|
243
|
-
本来的设计是:一个人倒下时先不告诉 Boss(免得它对着还在打的人庆祝),
|
|
244
|
-
两个人都倒下才告诉它。但第二个人倒下时这条消息也被压住了,
|
|
245
|
-
所以 Boss 从来没做过胜利动作。现在第二个人倒下时会告诉它;
|
|
246
|
-
先倒下的是房间主机时,等另一个人也倒下,房间主机这边会补上这条消息。
|
|
247
|
-
|
|
248
237
|
* 【修掉了「交接房间主机时,怪消失、隐身、或者跳回原处」】
|
|
249
238
|
一个人离开房间、房间交给留下的人时,留下的人会把房间里的怪接过来自己跑。
|
|
250
239
|
接的时候,模组会把每只怪「第一步」里的动作补做一遍,本意是补上
|
|
@@ -310,24 +299,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
310
299
|
以前两边都会躺着等对方来救,要干等 45 秒才回长椅;
|
|
311
300
|
现在一收到对方也倒下了,两个人就直接一起回长椅。
|
|
312
301
|
|
|
313
|
-
* 【暗房间里「开灯」两边一起变】
|
|
314
|
-
有些房间很暗,只看得到自己身边一小圈。
|
|
315
|
-
- 有两场 Boss 战,是 Boss 自己在开打时(或者打到一半)调亮度。
|
|
316
|
-
以前只有房主(先进房间的人)那边会变,另一个人整场都在暗处打;
|
|
317
|
-
现在两边一起变。
|
|
318
|
-
- 有一场遭遇战要「调查」某个东西才开打,开打时会顺带开灯。
|
|
319
|
-
以前只有调查的人那边亮,现在战斗在搭档那边开始时,搭档那边也一起亮。
|
|
320
|
-
|
|
321
|
-
* 【赛跑:两个人一起跑,一个人赢了就算两个人都赢】
|
|
322
|
-
开始比赛现在和接愿望一样:两个人都要各自去跟对手说话、都选「是」才会开始。
|
|
323
|
-
先选的人会停在选项上等对方,最多 20 秒;选「否」就可以收回。
|
|
324
|
-
开跑前,先到起跑线的人会在黑屏里等另一个人到,然后两边一起倒数
|
|
325
|
-
(最多等一分钟,等不到就自己先跑)。
|
|
326
|
-
跑的时候各跑各的赛道。只要有一个人赢了对手,两个人都算赢,各拿各的奖励。
|
|
327
|
-
先输了(或者犯规)的人不会马上被判输:你还能动,但要等队友跑完——
|
|
328
|
-
队友赢了,你这边直接算赢;队友也输了,两个人一起算输,然后一起问要不要再来。
|
|
329
|
-
中途用 needolin 放弃比赛,算你自己退出:之后队友赢了,也不算你赢。
|
|
330
|
-
|
|
331
302
|
* 【有的 Boss 格挡时,队友那边会莫名冒出一串受伤特效:修了】
|
|
332
303
|
Boss 挡住你的攻击时,你这边看到的是格挡的火花和「叮」的一声,
|
|
333
304
|
但传给队友的却是「打中了」的特效,所以队友看它每挡一下就冒一次伤害特效。
|
|
@@ -427,50 +398,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
427
398
|
以前这个效果,还有冰冻受伤时的碎晶粒子,会跟着「队友身上的特效」一起同步过来,
|
|
428
399
|
所以你这边会莫名其妙地闪一下。现在受击效果一律不同步。
|
|
429
400
|
|
|
430
|
-
* 【狩猎祈愿那两个房间,后进去的人看不到怪、也看不到队友:修了】
|
|
431
|
-
有的怪会射出东西,而射出来的东西在游戏内部的名字里带着这只怪自己的名字。
|
|
432
|
-
模组是靠名字认怪的,于是把射出来的每一样都当成了一只新怪,
|
|
433
|
-
并要求另一边也照样生成一只——另一边根本做不到,当场报错。
|
|
434
|
-
更糟的是:你后进一个房间时,模组要先把「房间里已经有什么」整份告诉你,
|
|
435
|
-
里面只要夹着一只这种「怪」,整份信息就断在那里。房间里的怪、队友、场景的变化,
|
|
436
|
-
你这边就全都收不到了,一直到你离开这个房间(日志里每次后进那两个房间都是这样)。
|
|
437
|
-
「场景不同步了,比如岩浆爆炸物」应该也是这个原因:那时候后进来的人那边,整个房间都没在同步。
|
|
438
|
-
而且之后如果由你接手这个房间,那些怪在你这边还是关着的,结果连队友那边也跟着看不到了。
|
|
439
|
-
现在怪射出来的东西不再当成怪,而是和别的投射物一样,在你这边照着队友那边的样子射一遍,
|
|
440
|
-
你也看得到,方向也对。
|
|
441
|
-
|
|
442
|
-
* 【深坞里沿着台阶爬的怪,换人接手房间后绕着空气转圈:修了】
|
|
443
|
-
这种怪是贴着表面爬的,碰到拐角就绕过去。先进房间的人离开、由另一个人接手这个房间的怪时,
|
|
444
|
-
以前有两个错:
|
|
445
|
-
- 位置换算漏了它所在那块东西的缩放,把它放到了离原来的台阶将近半格远的地方;
|
|
446
|
-
- 把它的身体一律改成了「会被物理推开」的类型,而它本来只按自己的爬行方式移动、不会被推挤。
|
|
447
|
-
离开表面以后,它每走一小段就以为到了拐角、转个弯,于是就在空中绕着一个小方块一直转。
|
|
448
|
-
这个错不只影响这一种怪:挂在带缩放的物件下面的怪,接手时位置都会偏;
|
|
449
|
-
本来不受物理推挤的怪,接手后都会变成能被推开的。
|
|
450
|
-
现在接手时按真实位置放,身体是什么类型,由原来跑它的那一边告诉你,不再一律改掉。
|
|
451
|
-
|
|
452
|
-
* 【怪叫出来的小怪,现在两边都看得到】
|
|
453
|
-
有些怪打着打着会叫出别的小怪。以前这些小怪只出现在房间主机那边,
|
|
454
|
-
房间客机那边什么都没有,等于在跟看不见的东西打。
|
|
455
|
-
原因是模组以前只会在另一边造「草球」这一种东西,别的都造不出来,干脆就不告诉另一边。
|
|
456
|
-
现在房间主机那边叫出一只小怪时,另一边会照着自己这边同一种怪身上的召唤动作,造出同一只小怪;
|
|
457
|
-
之后它怎么动、掉多少血、什么时候死,都跟着房间主机那边走,和房间里本来就有的怪一样。
|
|
458
|
-
只有确定另一边造得出「同一只」时才这么做;造不出来的,仍然只留在房间主机那边(和以前一样),
|
|
459
|
-
也不会再报错。
|
|
460
|
-
另外有两种会被叫出来的小怪,模组的怪物登记表里一直漏了它们的类型,
|
|
461
|
-
以前是两边各生一只、各打各的。现在补上了,也按上面的方式同步。
|
|
462
|
-
从怪的尸体里跑出来的小怪不在此列:尸体本来就是两边各自播放的,所以仍然是两边各一只。
|
|
463
|
-
|
|
464
|
-
* 【房间里的东西放出来的小怪,现在两边也都看得到】
|
|
465
|
-
还有一些小怪不是怪叫出来的,而是房间里的东西放出来的:
|
|
466
|
-
比如一个会挨打、会往外放飞虫的巢,或者一进去就在房间各处放出几只怪的房间。
|
|
467
|
-
放它们的东西本身不是怪,模组以前不管,于是两边的游戏各放各的:
|
|
468
|
-
你打的是你这边的,队友打的是队友那边的,谁也看不到对方的。
|
|
469
|
-
现在只有房间主机那边会放,放出来的就和别的怪一样同步给另一边,另一边自己不再放。
|
|
470
|
-
刚进房间、还没确定谁是房间主机的那一小会儿,房间放出来的怪先关着不出现(房间里别的怪这时也是停着的);
|
|
471
|
-
确定之后,房间主机那边的才出来,另一边自己放的直接收掉。
|
|
472
|
-
巢本身和以前一样,两边各有一个(两个人打它,两边的巢都会掉血)。
|
|
473
|
-
|
|
474
401
|
* 【被队友从茧里拉起来,不会再直接掉进岩浆了】
|
|
475
402
|
之前以为修过「被岩浆、尖刺弄死的,就换到安全点站起来」,其实那一版从来没生效:
|
|
476
403
|
游戏只在「被烫了一下、还剩血、被送回安全点」时才记「是场景弄的」,
|
|
@@ -480,63 +407,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
480
407
|
现在站起来之前先看位置:人陷在岩浆、尖刺这类东西里,或者正下方最先碰到的是它们而不是地面,
|
|
481
408
|
就改在游戏自己记的安全点站起来(和你自己掉进岩浆后被放回去的是同一个地方)。
|
|
482
409
|
|
|
483
|
-
* 【岩浆往上涨、要一直往上跑的那种追逐:改成「双人成行」的玩法】
|
|
484
|
-
以前岩浆是各有各的:每个人游戏里一条,只追自己,两个人其实是各跑各的。
|
|
485
|
-
你会看到落在后面的队友像泡在你的岩浆里,被烫死以后也几乎没法救。
|
|
486
|
-
现在:
|
|
487
|
-
- 岩浆只有一条,两边一样高,追的是落在后面的那个人,一直往上涨,不会因为谁出事停下来或退回去;
|
|
488
|
-
- 被烫到但还剩血:不回自己的安全点,直接回到队友刚才站稳的地方,该扣的血照扣;
|
|
489
|
-
- 被烫死或被怪打死:不出茧、不用打 5 下,大约 3 秒后在队友身边站起来,
|
|
490
|
-
血量是上限的一半,钱和丝都还你;不想等可以按 K 直接回长椅;
|
|
491
|
-
队友那时候要是在半空、或者正被烫着,就等他落地站稳了再起来;
|
|
492
|
-
队友先离开了这个房间,就马上在他最后站稳的地方站起来;
|
|
493
|
-
- 两个人都倒下(一个倒着还没站起来,另一个也倒了)就都回长椅。
|
|
494
|
-
「站起来」由活着的那一边决定:它自己一倒下就不会再把人拉起来,
|
|
495
|
-
所以不会出现一个站起来、另一个被送回长椅;
|
|
496
|
-
- 队友正倒着、不在这个房间、或者他身边已经没有岩浆够不着的地方时,
|
|
497
|
-
你被烫到就按单人的规则回自己的安全点,岩浆退到你脚下(两边一起退)。
|
|
498
|
-
- 后进房间的人,如果岩浆已经涨过了入口,要先穿过岩浆面(会被烫一次)才能回到队友身边。
|
|
499
|
-
这些只在岩浆正在涨的时候生效,其他时候还是原来拉人的规则。
|
|
500
|
-
|
|
501
|
-
* 【一坐就塌的假椅子:两边一起塌】
|
|
502
|
-
以前一个人坐上去、连人带椅子掉下去以后,队友那边这把椅子还好好地立着,要重新进房间才会消失。
|
|
503
|
-
现在队友那边会同时看到地板碎掉、椅子掉下去(站在那块地板上的人也会一起掉下去)。
|
|
504
|
-
掉下去、被赶下长椅、镜头跟着走这些只发生在坐上去的那个人身上,不会拉着队友。
|
|
505
|
-
|
|
506
|
-
* 【会把人关起来的笼子:要两个人都在才会触发】
|
|
507
|
-
一个人去碰笼子底下的那个东西,什么都不会发生:蹲一下、站起来,东西还在原地。
|
|
508
|
-
两个人都紧挨着那个东西站的时候,谁去碰都行,两边会同时触发,把两个人一起关进去、一起带走。
|
|
509
|
-
另一个人不用做任何动作。先下去的那一边触发之后,没跟上的人这时候再去碰,一个人也会触发。
|
|
510
|
-
|
|
511
|
-
* 【被抓进监狱:两个人一起】
|
|
512
|
-
以前只有一个人会被抓走(抓人的东西只看得见它自己那边的角色),另一个人留在外面。
|
|
513
|
-
现在一个人被抓,另一个人也会被一起关进去:被拿走的东西一样,从同一个地方醒来。
|
|
514
|
-
另一个人那时候要是坐在长椅上、正在进出房间、倒下了、或者正被游戏控制着(比如在对话),
|
|
515
|
-
就等他能动了再带走。已经在监狱里的人不会被再抓一次。
|
|
516
|
-
|
|
517
|
-
* 【拿回衣服:两个人都伸手了才会抢】
|
|
518
|
-
两个人都没衣服的时候,先去拿的人会蹲在那里等另一个人,聊天框会告诉两个人。
|
|
519
|
-
另一个人也去拿了,两边才一起抢。队友那边会看到你这边的整段动作
|
|
520
|
-
(以前只看得到你蹲下、然后停在半空)。
|
|
521
|
-
等的时候按跳跃键就不等了,人站起来,想拿随时可以再去拿。
|
|
522
|
-
队友已经拿回衣服了,就不用等,直接抢。
|
|
523
|
-
|
|
524
|
-
* 【棘刺怪:刺卡在半空、打着打着打不到了:修了】
|
|
525
|
-
- 刺卡在半空、只有一根朝下(只出现在房间客机那边):
|
|
526
|
-
棘刺怪长出来的几根刺,在游戏里名字都一样。房间主机那边每长出一根,就把它转到自己的方向;
|
|
527
|
-
房间客机照着做的时候是按名字找刺的,每次找到的都是第一根,
|
|
528
|
-
结果第一根被转了好几遍,其余几根一直朝下,叠在同一个位置。
|
|
529
|
-
刺和刺之间是会互相撞的,射出去的一瞬间就撞在一起停住了,看起来就是半空里卡着一根朝下的刺。
|
|
530
|
-
(上一版说「方向也对」,其实没对。)
|
|
531
|
-
现在房间客机转的就是自己刚照着长出来的那一根,几根刺的方向、射出去的样子都和房间主机那边一样。
|
|
532
|
-
- 打着打着打不到了(最后一下是房间客机打的时候):
|
|
533
|
-
棘刺怪的血打光以后,会先把身体关掉(从这时起就打不到了),再从「挨了一下」之后进入的状态里自爆。
|
|
534
|
-
房间客机打出的最后一下,传到房间主机那边只是「血没了」,怪并不知道自己挨了打;
|
|
535
|
-
它那时要是还在闲逛、没发现人,就会一直浮在那里:不炸,也打不到,两边看到的都一样。
|
|
536
|
-
现在房间客机打出最后一下时,房间主机那边的怪会先收到「挨了一下」,和被房间主机打死时一样,照常自爆。
|
|
537
|
-
这一点对所有怪都一样:被房间客机打死的怪,房间主机那边在它死之前也会先收到「挨了一下」。
|
|
538
|
-
- 墙上插着的、能打碎的那种刺,以前被模组当成了棘刺怪本身,房间客机打它没反应。现在两边都能打碎。
|
|
539
|
-
|
|
540
410
|
* 【房间客机那边的怪:离得很远很糊、身体不动、场景没反应、有时打不到:修了】
|
|
541
411
|
这几个问题是在一场 boss 战里一起发现的,但都是模组整体的毛病,很多怪都受影响,这次一起修了。
|
|
542
412
|
- 离得很远、很模糊(但能打到):
|
|
@@ -607,42 +477,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
607
477
|
日志里也会写 [Hits] 说明原因。以前这种情况是悄悄跳过的。
|
|
608
478
|
- 流量很小:平时每 4 秒一条几百字节的摘要,只有对不上的时候才多发一点。
|
|
609
479
|
|
|
610
|
-
* 【队友的「残影」:修了】
|
|
611
|
-
你刚离开一个房间、队友又恰好在这时进了那个房间,服务器还以为你在那里,
|
|
612
|
-
会告诉你「队友进来了」——可你已经到了下一个房间。
|
|
613
|
-
结果下一个房间里会多出一个一动不动的队友,而且所有「等两个人都到」的地方都当队友在场,
|
|
614
|
-
会一直等一个其实不在的人,直到你再换一次房间。
|
|
615
|
-
两个人的日志里确实出现过(701 次换房间里有 3 次)。
|
|
616
|
-
现在「谁进了房间」的消息带上了房间名,和你所在的房间对不上就直接丢掉。
|
|
617
|
-
这一条改了同步的数据格式,两个人都要装这一版。
|
|
618
|
-
|
|
619
|
-
* 【boss 开打前,两个人可能互相干等:修了】
|
|
620
|
-
有的 boss 要等两个人都走完开场才开打。boss 只在房间主机的游戏里真正运行,
|
|
621
|
-
它开场说的话会发给另一个人,另一个人按自己的节奏看,boss 不会停下来等。
|
|
622
|
-
房间走到开打那一刻时,还没看完这些台词的一方先不算「看完了」,这是对的;
|
|
623
|
-
但以前看完之后,没有任何地方再补上这一句,两边就一直互相等,直到有人离开房间。
|
|
624
|
-
(这和「两个人都进了 boss 范围」是两回事,那个是另一条消息,没有问题。)
|
|
625
|
-
现在台词一看完就会告诉对方。等人的时候每 30 秒提示一次,和其他等人的地方一样。
|
|
626
|
-
|
|
627
|
-
* 【两个人都要选「是」的地方(接愿望、开始赛跑):队友收回之后,你这边还记着队友的「是」:修了】
|
|
628
|
-
队友先选了「是」在等你,后来又收回了(选了「否」、对话结束、等超时、或者离开了房间),
|
|
629
|
-
你这边以前不知道,还当队友在等。你这时再选「是」,就会直接成立,
|
|
630
|
-
但队友那边已经不算了,变成只有你一个人接了愿望、或者只有你开跑。
|
|
631
|
-
现在队友一收回,你这边马上知道,聊天框会说「X 的「是」已经不算数了」。
|
|
632
|
-
|
|
633
|
-
* 【赛跑:两个人都开跑以后,两边会不停地互相发「我准备好了」:修了】
|
|
634
|
-
不影响玩,只是白占网络、刷日志。现在回一次就停。
|
|
635
|
-
|
|
636
|
-
* 【拿回衣服:你蹲着等的时候离开了房间,队友那边还当你在等:修了】
|
|
637
|
-
以前队友这时去拿,会以为两个人都伸手了,结果只有队友那边抢了。
|
|
638
|
-
现在你一离开,队友那边就知道你不等了。
|
|
639
|
-
|
|
640
|
-
* 【跳蚤小游戏:都赢过之后,结尾可能一直等不到队友:修了】
|
|
641
|
-
结尾要两个人都赢过所有项目才会继续,每一边只在「全赢了」变化时告诉对方一次。
|
|
642
|
-
有两种情况会漏掉:一方断线重连之后,对方不会再说第二遍;
|
|
643
|
-
或者进游戏时一边加载得比另一边慢,先准备好的一边说了,另一边还没准备好,就把它扔了。
|
|
644
|
-
漏掉以后结尾就一直等着。现在两种情况都会补上。
|
|
645
|
-
|
|
646
480
|
* 【boss 的吼叫:以前只吼得住房间主机,现在两个人都会被吼住】
|
|
647
481
|
boss 吼叫时会把玩家定住(摆出迎敌的姿势),还会放出一圈吼叫的波纹。
|
|
648
482
|
这个动作只在房间主机的游戏里执行,所以以前只有房间主机会被吼住,
|
|
@@ -712,12 +546,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
712
546
|
现在按 boss 正盯着的那个人来估算:以那个人的位置为镜头中心,再像游戏自己那样把镜头限制在房间边界之内。
|
|
713
547
|
那个人抬头、低头看的时候,真实的镜头还会再偏一点,这一点没有算进去。
|
|
714
548
|
|
|
715
|
-
* 【房间主机中途离开时,接手的一方有的怪和机关会卡住:修了】
|
|
716
|
-
房间主机离开后,另一个人的游戏会接手房间里正在进行的一切,每只怪从它当时所处的状态接着跑。
|
|
717
|
-
以前接手时,状态里只保留少数几种「持续进行」的动作,碰撞检测、逐步加速和减速都会被丢掉,
|
|
718
|
-
于是正在冲撞的怪撞墙后可能不停,正在下落或飞行的东西可能停在半空。现在这几种动作也会保留(两百多种怪用到)。
|
|
719
|
-
自己会飞的东西(落石、飞针这类)接手时还会带上当时的速度、重力和角度,从半空接着飞。
|
|
720
|
-
|
|
721
549
|
* 【房间客机那边,很多怪的复制品会被错误地加上重力:修了】
|
|
722
550
|
很多怪会在自己的状态机里把自己从所在的分组里拿出来。
|
|
723
551
|
以前为了让怪放下的东西能落地,加过一条「被放出来的东西恢复自己的物理」,但它把怪自己也算了进去:
|
|
@@ -730,108 +558,23 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
730
558
|
模组就把它们当成了那种怪,交给房间主机的游戏去跑。房间客机那边看到的只是复制品,查看了也没反应。
|
|
731
559
|
现在这些线索不再被当成怪,两个人各自在自己的游戏里查看。
|
|
732
560
|
|
|
733
|
-
*
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
再补上消息路上耽误的那一小段,所以那边会看到钟跳一下,跳到它在打的人那边正飞到的地方,再接着飞。
|
|
740
|
-
带盾的怪这类要改动作的,打的人那边还是要等消息走一个来回(大约零点二到零点三秒)才看到反应。
|
|
741
|
-
|
|
742
|
-
* 【房间里「叮」一下就会动的东西,以前只在打的那个人那边动:修了】
|
|
743
|
-
房间里有上千个东西被「叮」到时会改变状态:挂着的钟被往上打飞、地雷被打坏、机关被敲响、平台晃动等。
|
|
744
|
-
以前「叮」只算打的人自己的(火花和把人弹开本来就是各自的),另一个人那边的东西完全没反应。
|
|
745
|
-
现在打的人那边的东西动了,这一下就发给另一个人,那边的同一个东西做同样的反应。
|
|
746
|
-
只有火花、把人弹开这类的「叮」,仍然各自算各自的。
|
|
747
|
-
|
|
748
|
-
* 【机关和被打中的东西,随机的部分两边不一样:改成谁触发谁掷骰子】
|
|
749
|
-
地雷弹出时的翻转、角度和落点,钟被往上打飞时的角度,以及其他机关在触发那一刻掷的骰子,以前两边各掷各的,
|
|
750
|
-
所以同一个地雷在两个人那边落在不同的地方。
|
|
751
|
-
现在机关被谁走近、东西被谁打中,就在谁的游戏里掷骰子,骰子跟着「触发了」「打中了」的消息一起发给另一个人,
|
|
752
|
-
那边用同一副骰子,所以结果一样。每一个掷骰子的动作开始前都记一次,中间音效之类多掷少掷也不会错开。
|
|
753
|
-
只管触发那一刻当场掷的;过一会儿才掷的(比如钟落地几秒后复位时换的样子)仍然各掷各的。
|
|
754
|
-
两个人几乎同时(零点一秒以内)触发同一个机关时,两边会各用自己的骰子。
|
|
755
|
-
另一个人那边收到消息时,正在落的钟已经多落了一点,所以被打飞的起点会略低一些。
|
|
756
|
-
|
|
757
|
-
* 【跳蚤小游戏:都要两个人一起开;下劈/飞针那个改成各玩各的;另外两个,不是房间主机的一方打跳蚤、得分、被撞都接上了】
|
|
758
|
-
- 三个游戏都不能一个人开了,和开始比赛一样:两个人都要各自去跟主持游戏的跳蚤说话、在同一个游戏选「是」,
|
|
759
|
-
才会一起开始。先选的人会停在选项上等对方,最多 20 秒;选「否」就可以收回。下劈/飞针那个也一样,
|
|
760
|
-
一起开始以后各玩各的。
|
|
761
|
-
- 下劈/飞针那个:以前两个人用的是同一批跳蚤,一个人踩掉一只,另一个人就少一只能落脚的,很快就掉下去。
|
|
762
|
-
现在两边各出各的跳蚤:各自的游戏给自己放跳蚤,对方看不见;得分、难度、存分都和一个人玩时一样,
|
|
763
|
-
对方的攻击也碰不到你的跳蚤。所以你会看到对方在踩一些你看不见的跳蚤。
|
|
764
|
-
- 另外两个还是两个人用同一批跳蚤,由房间主机的游戏放出来。以前不是房间主机的一方打中跳蚤,
|
|
765
|
-
只有自己这边「叮」一声,主机那边的跳蚤没反应;分也是按自己「叮」的次数记的,有一个游戏根本记不对。
|
|
766
|
-
现在这一下和打怪、打钟一样转给房间主机,两边的跳蚤一起反应。得分和跳蚤掉地算的失败,
|
|
767
|
-
都由主机那边的跳蚤说了算,再照样传给另一个人:分是两个人一起的,谁打中的、谁躲过去的,两个人各加一分。
|
|
768
|
-
不是房间主机的一方,分要等消息去主机再回来才跳。
|
|
769
|
-
- 要把跳蚤一直打在空中、不让它落地的那个游戏:以前不是房间主机的一方打中跳蚤,要等消息去主机再回来
|
|
770
|
-
它才弹起,这段时间它还在往下掉,看起来像穿过了你的攻击。现在它在你自己的游戏里当场弹起来:
|
|
771
|
-
往哪儿飞、飞多高由你这边掷的骰子定,主机那边照着同样的骰子让它飞同一条路,中途出现的东西也一样。
|
|
772
|
-
分还是等主机那边算过才跳。要是对方几乎同时也打中了同一只,或者你打得太晚、主机那边它其实已经落地了,
|
|
773
|
-
都以主机那边为准,你这边的跳蚤会回到主机那边的样子。
|
|
774
|
-
- 这两个游戏的跳蚤是房间主机的游戏放的,所以主机一起玩过、这一局结束以后,另一个人的这一局也跟着结束,
|
|
775
|
-
分照常存下。
|
|
776
|
-
- 会撞人的那个游戏:以前不是房间主机的一方根本不会被撞到。现在被撞在各自的游戏里当场算:
|
|
777
|
-
你看到的东西碰到你,你就被撞开,不等消息来回;往哪边撞跟着它飞的方向,越撞越累、撞得越远也按你自己的算。
|
|
778
|
-
对方被撞不影响你。
|
|
779
|
-
- 同一个游戏里,以前两边的平台各升各降,两个人站的平台高低对不上;中途出现的其他东西也是两边各出各的。
|
|
780
|
-
现在这些都听房间主机那边的:另一个人那边的平台还在自己游戏里照常动,只是按主机的指令动,会晚一点点;
|
|
781
|
-
中途出现的东西由主机的游戏放出来,两边看到的是同一个,它要瞄人时,每次在你们两个里随机挑一个;
|
|
782
|
-
另一个人这一局已经结束了,就只瞄还在玩的人。
|
|
783
|
-
- 另一个共享的游戏中途出现的东西,以前也是两边各出各的;现在和跳蚤一样由房间主机的游戏放出来,
|
|
784
|
-
谁打中都转给主机。
|
|
561
|
+
* 【有一场遭遇战:一个人进去以后,外面的人那边门也关了,进不去:修了】
|
|
562
|
+
规则一直是:遭遇战的门只对走进去的人关上,外面的人还能进去帮忙,进去以后就出不来。
|
|
563
|
+
大多数遭遇战的门是「把人锁进去」时关的,这一步只在走进去的人那边做;
|
|
564
|
+
但有一场遭遇战的入口门,是在战斗开始时听到一声「开打了」才关的,两边的游戏都会听到这一声,
|
|
565
|
+
所以没进去的人那边门也关了(上次一个人倒在里面,另一个人进不去救,就是这样)。
|
|
566
|
+
现在这种门,在你走进战斗区域之前一直开着,你走进去时才在身后关上。
|
|
785
567
|
|
|
786
|
-
*
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
-
|
|
793
|
-
|
|
794
|
-
-
|
|
795
|
-
|
|
796
|
-
压着的按顺序补上;
|
|
797
|
-
- 反应做完,它接下来怎么走(落地、飞走、复位)由主机那边说了算,你这边不再自己往下演,免得同一声响两次。
|
|
798
|
-
和以前比能看出来的:碰到你炸开的石头,两边炸在同一个地方了(以前主机那边是在它自己落到的地方炸的)。
|
|
799
|
-
以后再有这一类东西,只要在名单里给它标上就行。
|
|
800
|
-
这一条改了同步的数据格式,两个人都要装这一版。
|
|
801
|
-
|
|
802
|
-
* 【玩着玩着游戏直接关掉、什么提示都没有:修了】
|
|
803
|
-
到现在一共遇到过三次,三次是同一个原因:
|
|
804
|
-
- 先是某段代码一下子调用得太深,把游戏的「栈」用光了(栈溢出)。这本来只算一个普通错误:
|
|
805
|
-
游戏的运行时会把它变成一条报错,这一帧没做完的事就不做了,游戏接着跑;
|
|
806
|
-
- 可运行时收拾这种错误时,用的是它自己生成的一小段代码,这段代码没把栈对齐好;
|
|
807
|
-
偏偏 Steam 的游戏内界面(Shift+Tab 那个)在系统里挂了钩子,会从这段代码底下经过,
|
|
808
|
-
于是游戏在 Windows 里直接崩掉,连报错都来不及留下;
|
|
809
|
-
- 现在模组一启动,就把那一小段代码改成先把栈对齐再往下走。以后再发生栈溢出,只会在日志里留一条报错,
|
|
810
|
-
不会再闪退。
|
|
811
|
-
这一条在测试里原样复现过同样的闪退(同一个运行时、同一个崩溃位置),改完后确认不崩了。
|
|
812
|
-
0.4.47:调用得太深的那段代码也找到了,是模组自己的:队友用道具时,你这边道具的复制品第一次生成某样东西
|
|
813
|
-
(比如一次爆炸),模组会先把它换成一份私有的副本;游戏发现这份副本还没准备好,就先准备、再生成一次,
|
|
814
|
-
而这第二次生成又被模组换成了新的副本……一层套一层,直到栈用光。现在副本不会再被复制第二次。
|
|
815
|
-
(0.4.46 里这个错误不再闪退,而是游戏卡死——错误发生在游戏自己的底层代码中间,收拾完也回不去了。
|
|
816
|
-
以后万一再有别的栈溢出,也可能是卡住而不是闪退:关掉游戏告诉我,日志里会写明是哪段代码。)
|
|
817
|
-
|
|
818
|
-
* 【有一场遭遇战:一个人进去以后,外面的人那边门也关了,进不去:修了】
|
|
819
|
-
规则一直是:遭遇战的门只对走进去的人关上,外面的人还能进去帮忙,进去以后就出不来。
|
|
820
|
-
大多数遭遇战的门是「把人锁进去」时关的,这一步只在走进去的人那边做;
|
|
821
|
-
但有一场遭遇战的入口门,是在战斗开始时听到一声「开打了」才关的,两边的游戏都会听到这一声,
|
|
822
|
-
所以没进去的人那边门也关了(上次一个人倒在里面,另一个人进不去救,就是这样)。
|
|
823
|
-
现在这种门,在你走进战斗区域之前一直开着,你走进去时才在身后关上。
|
|
824
|
-
|
|
825
|
-
* 【有个会飞的 boss 扔出的飞刃,两个人看到的方向不一样:修了】
|
|
826
|
-
一场战斗只在一个人的游戏里真正在跑,另一个人看到的是照着它演的复制品。
|
|
827
|
-
这个 boss 扔飞刃时,先把飞刃转成和自己一样的朝向,飞刃再按自己的朝向决定往左还是往右飞。
|
|
828
|
-
「转朝向」这一步以前没传给另一个人,所以另一个人那边的飞刃朝向是随便的,大约一半时间往反方向飞:
|
|
829
|
-
两个人看到的飞刃不一样,躲的也不是同一把。现在这一步照跑战斗那边的结果传过去。
|
|
830
|
-
同一类漏掉的还有几种,一起按同样的办法补上了:
|
|
831
|
-
- 另外几个 boss 按自己朝向发出去的剑气、火球、旋风,在另一个人那边停在原地不动;
|
|
832
|
-
- 怪甩出去、推出去、摆到某个位置的东西,在另一个人那边没被甩、没被推、没摆过去;
|
|
833
|
-
- 怪给扔出去的东西设的伤害,另一个人那边没设上,被打到时掉的血可能不一样。
|
|
834
|
-
另外,这个 boss 出手前手里的飞刃会慢慢变大,另一个人那边以前一直停在刚开始的大小,现在也跟着变大。
|
|
568
|
+
* 【有个会飞的 boss 扔出的飞刃,两个人看到的方向不一样:修了】
|
|
569
|
+
一场战斗只在一个人的游戏里真正在跑,另一个人看到的是照着它演的复制品。
|
|
570
|
+
这个 boss 扔飞刃时,先把飞刃转成和自己一样的朝向,飞刃再按自己的朝向决定往左还是往右飞。
|
|
571
|
+
「转朝向」这一步以前没传给另一个人,所以另一个人那边的飞刃朝向是随便的,大约一半时间往反方向飞:
|
|
572
|
+
两个人看到的飞刃不一样,躲的也不是同一把。现在这一步照跑战斗那边的结果传过去。
|
|
573
|
+
同一类漏掉的还有几种,一起按同样的办法补上了:
|
|
574
|
+
- 另外几个 boss 按自己朝向发出去的剑气、火球、旋风,在另一个人那边停在原地不动;
|
|
575
|
+
- 怪甩出去、推出去、摆到某个位置的东西,在另一个人那边没被甩、没被推、没摆过去;
|
|
576
|
+
- 怪给扔出去的东西设的伤害,另一个人那边没设上,被打到时掉的血可能不一样。
|
|
577
|
+
另外,这个 boss 出手前手里的飞刃会慢慢变大,另一个人那边以前一直停在刚开始的大小,现在也跟着变大。
|
|
835
578
|
这一条改了同步的数据格式,两个人都要装这一版。
|
|
836
579
|
|
|
837
580
|
* 【被怪「抓住再连斩」时,怪在没跑战斗的那个人那边不停下来砍:修了】(0.4.49)
|
|
@@ -851,22 +594,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
851
594
|
- 主机收到消息时,会先把怪放回你被抓住的位置再开始连斩,所以主机那边会看到怪往回闪一下;
|
|
852
595
|
- 连斩打完以后,你这边的怪会多停大约一个网络来回,等主机那边的下一步。
|
|
853
596
|
|
|
854
|
-
* 【有的遭遇战打完不开门、有的 boss 房进去找不到 boss:修了】(0.4.50)
|
|
855
|
-
这两个是同一个根:
|
|
856
|
-
- 进一个房间时,模组要先问清楚这间房的怪由哪一边的游戏来跑(要等一个网络来回)。
|
|
857
|
-
这段时间里它会先把怪都关掉,免得本不该跑它们的那一边先动起来;问清楚以后,由跑的那一边重新打开。
|
|
858
|
-
- 问题出在游戏的怪「关掉再打开」时,行为逻辑会从第一步重新走一遍,已经做过的一次性动作会再做一次:
|
|
859
|
-
- 有一种怪进房间时,先「往上挪到房间外面藏起来」,等它那一波开始时再「挪回来飞进场」。
|
|
860
|
-
重走一遍就又往外挪了一次,飞进场时只挪回一半,一直待在房间外面。遭遇战等不到它死,门就不开;
|
|
861
|
-
- 有援助角色的 boss 房,房间一开始会「叫援助角色出场」,重走一遍时又叫了一次。
|
|
862
|
-
这一下正好被模组拦住(那时援助角色还没分好由谁来跑),拦下后又没让它算做完,
|
|
863
|
-
房间就一直停在这一步,走不到「等玩家进来开打」,boss 就一直不出来,换另一个人接管房间也一样。
|
|
864
|
-
- 现在还是会重走一遍,但重走时它自己挪出去的那一下,模组会当场把它挪回原处:
|
|
865
|
-
它还藏在原来的位置,那一波开始时就能正好飞回场地里;
|
|
866
|
-
- 模组拦下的「叫出场」现在也算做完,房间能接着走到「等玩家进来开打」。
|
|
867
|
-
之前修过一次同类问题(上次那个打完不开门的遭遇战),那次放回去的是怪「走到哪一步」,这次补上的是它「站在哪」。
|
|
868
|
-
重走时其他不涉及位置的动作这次没有改,和以前一样。
|
|
869
|
-
|
|
870
597
|
* 【在没跑战斗的那个人那边,隔着一段距离就被怪撞到、被它的飞镖打到:修了】(0.4.50)
|
|
871
598
|
- 另一个人那边的怪是照着主机那边的位置一帧一帧摆出来的,它的身体本来不受物理影响;
|
|
872
599
|
- 但有些怪飞进场时会把自己的身体切成「受重力」,这一下以前也原样传给了另一个人。
|
|
@@ -876,17 +603,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
876
603
|
- 现在这一下不再改动另一个人那边的怪,它的身体一直就在你看到它的位置。
|
|
877
604
|
所有会这样切换身体的怪都有这个问题,这次是一起修的,不只这一种。
|
|
878
605
|
|
|
879
|
-
* 【请求援助:要两个人都请求才会来(新规则)】(0.4.50)
|
|
880
|
-
以前联机时这件事没有专门处理过:谁请求了,就只在谁的存档里记下;战斗时由跑战斗的那一边看自己的存档决定援助来不来,
|
|
881
|
-
另一个人同意没同意都不管。现在和接祈愿一样:
|
|
882
|
-
- 两个人各自去跟那个角色说话,都在自己的选项上选「是」,援助才成立;
|
|
883
|
-
- 先选「是」的人会停在选项上等,另一个人会收到提示,去找同一个角色也选「是」;
|
|
884
|
-
- 20 秒内没等到,或者另一个人选了「否」,就当两个人都没请求,角色照常说拒绝时的话;
|
|
885
|
-
- 如果你的存档里已经请求过这个援助,队友来请求时直接算你同意;
|
|
886
|
-
- 战斗里始终只有一个援助角色:由跑这场战斗的那一边让它出场,另一边看到的是同步过来的同一个。
|
|
887
|
-
另外说明一下:请求援助这个记录,游戏自己每次从主菜单读档时都会清掉(原版就是这样),
|
|
888
|
-
所以重新进游戏以后要重新请求。
|
|
889
|
-
|
|
890
606
|
* 【一个人倒下时不再是「真的死了」:只演死亡动画,人留在原地等队友拉,两个人都倒下才真的死】(0.4.51)
|
|
891
607
|
- 以前一个人倒下时,模组先让游戏把死亡流程跑一截再停住,等队友来拉。
|
|
892
608
|
游戏在这一截里会顺手改掉很多东西:把地上的钱锁住、把房间里盖住暗处的黑色遮罩冻住、告诉全房间「角色死了」、
|
|
@@ -917,16 +633,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
917
633
|
- 钢魂模式照原版:倒下就是真的死了,不等救。
|
|
918
634
|
- 有些特殊场景里的死亡,游戏本来就不算真死,也照原版走,不等救。
|
|
919
635
|
|
|
920
|
-
* 【进一个归你跑的房间时,怪不再「先关掉、再打开」】(0.4.51)
|
|
921
|
-
- 上一版说过:进房间时模组要先问清楚这间房由谁的游戏来跑,这段时间里先把怪都关掉,问清楚以后由跑的那一边重新打开;
|
|
922
|
-
而怪「关掉再打开」时,行为会从头再走一遍。上一版修了两种因此出的问题,但「重走一遍」本身还在。
|
|
923
|
-
- 现在服务器会告诉每个人「另一个人在哪个房间」。房间归先进去的人跑,所以你进一个房间时,
|
|
924
|
-
如果另一个人不在里面,这间房一定归你:你这边的怪从一开始就正常跑,不关也不重新打开,和单机时一样。
|
|
925
|
-
- 另一个人已经在里面时,照旧先关着,等着看对方那边的(这时本来就是对方在跑)。
|
|
926
|
-
- 万一判断错了(比如两个人几乎同时进同一个房间,消息还没到),会退回以前的做法:
|
|
927
|
-
你这边先跑起来的怪马上关掉,由对方来跑。这种情况下它们在你这边会多动一小会儿(大约一个网络来回)。
|
|
928
|
-
- 这一条改了联机的数据格式,两个人都要装这一版。
|
|
929
|
-
|
|
930
636
|
* 【两个人都倒下后,死亡音效不再放两遍】(0.4.52)
|
|
931
637
|
- 两个人都倒下时,先倒下的那个人回椅子前,游戏会在黑屏后面把自己的死亡再跑一遍:画面看不见,声音却听得见,
|
|
932
638
|
所以死亡音效会放第二遍。现在黑屏后面这一遍不出声。
|
|
@@ -951,6 +657,344 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
951
657
|
镜头每次停下来都会重新开始抖,直到换房间才被游戏清掉。所以只是「有时候」会出现。
|
|
952
658
|
- 不是网络丢了指令,是本地的问题。现在动画被提前收掉时,会替它把这个开关关上。
|
|
953
659
|
|
|
660
|
+
* 【倒下后等队友来拉的时间从 45 秒改成 3 分钟】(0.4.55)
|
|
661
|
+
- 45 秒常常不够:队友可能正在打怪、打 boss,打完或者腾出手再过来就超时了。
|
|
662
|
+
- 不想等随时可以自己按「不等了」的键(手柄上也有)直接回长椅,所以放长不会卡住人。
|
|
663
|
+
|
|
664
|
+
* 【念珠串每种最多能带 99 个(原来 20 个)】(0.4.55)
|
|
665
|
+
- 大小各种念珠串(包括磨损的那种)都是 99,商店能一直买到 99 个,捡到的也能收下。
|
|
666
|
+
- 其它会用掉的物品上限不变,还是 20。只在联机时生效。
|
|
667
|
+
- 带着超过 20 个的存档拿去不装 mod 玩也没关系,只是买不了、捡不了更多。
|
|
668
|
+
|
|
669
|
+
* 聊天框默认按 Y 打开,打 /help 可以看到所有指令。
|
|
670
|
+
|
|
671
|
+
* 【聊天框:能发 emoji 了,打字时看得到光标,开着聊天框时鼠标不再被钉在屏幕中间】(0.4.57)
|
|
672
|
+
- 光标其实一直都在,只是只有一个像素宽,不是 4K 的屏幕上几乎看不见。现在加宽到两倍,
|
|
673
|
+
模组里所有的输入框(联机界面的也算)都一样。
|
|
674
|
+
- 聊天框换了一种画字的方式,emoji 用 Windows 自带的彩色 emoji 字体画,打字时和收到的消息里都能显示。
|
|
675
|
+
带肤色的、国旗、一家人这类由几个 emoji 拼成的,会拆成几个单独的显示。
|
|
676
|
+
消息照旧带黑色描边;一行太长自动换行时,不会把一个 emoji 从中间切开。
|
|
677
|
+
- 游戏平时会把鼠标藏起来、钉在屏幕中间,所以按 Win+. 打开的表情/颜文字面板点不到。
|
|
678
|
+
现在聊天框开着的时候鼠标是放开的,可以去点那个面板;关掉聊天框后照旧藏起来。
|
|
679
|
+
- 在一台电脑上开游戏实测过(没联网):emoji 和颜文字的显示、打字时按左右箭头移动光标(包括跨过 emoji)、
|
|
680
|
+
自动换行、开关聊天框时鼠标的状态。
|
|
681
|
+
【没实测过】:两台电脑之间互发 emoji、用输入法打字时候选框的位置、在 Win+. 面板里点选。
|
|
682
|
+
|
|
683
|
+
* 【修掉了「在聊天框打字会误触发快捷键」】
|
|
684
|
+
以前模组只屏蔽了游戏自己的操作,没屏蔽它自己的快捷键。
|
|
685
|
+
所以在聊天框里打一句带 k 的话(比如「ok」)就等于按了一次 K ——
|
|
686
|
+
配上新的救人机制,那就是当场放弃等救援、直接回长椅;
|
|
687
|
+
打带配对键的字则会发一次配对请求。
|
|
688
|
+
现在聊天框一打开,模组自己的快捷键就整个关掉,关掉聊天再恢复。
|
|
689
|
+
另外 Enter 以前在聊天关着的时候也会白触发一次,现在不会了。
|
|
690
|
+
|
|
691
|
+
* 【模组界面跟着游戏语言走】
|
|
692
|
+
以前模组自己的字全是英文,游戏明明是中文的,
|
|
693
|
+
一到模组这儿就换语言。
|
|
694
|
+
现在游戏设成中文,联机界面、聊天里的提示、
|
|
695
|
+
等人和救人的提示都是中文;设成别的语言还是英文。
|
|
696
|
+
在游戏选项里中途换语言也会立刻跟着变,不用重开游戏。
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
五、还没有实机验证过的改动
|
|
700
|
+
--------------------------
|
|
701
|
+
|
|
702
|
+
下面这些改动还没有在实机上验证过。玩到了觉得没问题,告诉我一声,我把它挪到上面第四节去。
|
|
703
|
+
|
|
704
|
+
* 【修掉了「怪物在它出生的地方一闪一闪」】
|
|
705
|
+
用身体撞人的怪(比如沿着台阶一圈爬的那种),只要它的伤害数值一变,
|
|
706
|
+
模组就会把你这边「睡着的那一只原版怪」叫醒一下,
|
|
707
|
+
于是它在出生点露脸一帧又消失。现在不会去叫醒它了。
|
|
708
|
+
|
|
709
|
+
* 【两个人都被打倒时,Boss 会做胜利动作了】
|
|
710
|
+
本来的设计是:一个人倒下时先不告诉 Boss(免得它对着还在打的人庆祝),
|
|
711
|
+
两个人都倒下才告诉它。但第二个人倒下时这条消息也被压住了,
|
|
712
|
+
所以 Boss 从来没做过胜利动作。现在第二个人倒下时会告诉它;
|
|
713
|
+
先倒下的是房间主机时,等另一个人也倒下,房间主机这边会补上这条消息。
|
|
714
|
+
|
|
715
|
+
* 【暗房间里「开灯」两边一起变】
|
|
716
|
+
有些房间很暗,只看得到自己身边一小圈。
|
|
717
|
+
- 有两场 Boss 战,是 Boss 自己在开打时(或者打到一半)调亮度。
|
|
718
|
+
以前只有房主(先进房间的人)那边会变,另一个人整场都在暗处打;
|
|
719
|
+
现在两边一起变。
|
|
720
|
+
- 有一场遭遇战要「调查」某个东西才开打,开打时会顺带开灯。
|
|
721
|
+
以前只有调查的人那边亮,现在战斗在搭档那边开始时,搭档那边也一起亮。
|
|
722
|
+
|
|
723
|
+
* 【赛跑:两个人一起跑,一个人赢了就算两个人都赢】
|
|
724
|
+
开始比赛现在和接愿望一样:两个人都要各自去跟对手说话、都选「是」才会开始。
|
|
725
|
+
先选的人会停在选项上等对方,最多 20 秒;选「否」就可以收回。
|
|
726
|
+
开跑前,先到起跑线的人会在黑屏里等另一个人到,然后两边一起倒数
|
|
727
|
+
(最多等一分钟,等不到就自己先跑)。
|
|
728
|
+
跑的时候各跑各的赛道。只要有一个人赢了对手,两个人都算赢,各拿各的奖励。
|
|
729
|
+
先输了(或者犯规)的人不会马上被判输:你还能动,但要等队友跑完——
|
|
730
|
+
队友赢了,你这边直接算赢;队友也输了,两个人一起算输,然后一起问要不要再来。
|
|
731
|
+
中途用 needolin 放弃比赛,算你自己退出:之后队友赢了,也不算你赢。
|
|
732
|
+
|
|
733
|
+
* 【狩猎祈愿那两个房间,后进去的人看不到怪、也看不到队友:修了】
|
|
734
|
+
有的怪会射出东西,而射出来的东西在游戏内部的名字里带着这只怪自己的名字。
|
|
735
|
+
模组是靠名字认怪的,于是把射出来的每一样都当成了一只新怪,
|
|
736
|
+
并要求另一边也照样生成一只——另一边根本做不到,当场报错。
|
|
737
|
+
更糟的是:你后进一个房间时,模组要先把「房间里已经有什么」整份告诉你,
|
|
738
|
+
里面只要夹着一只这种「怪」,整份信息就断在那里。房间里的怪、队友、场景的变化,
|
|
739
|
+
你这边就全都收不到了,一直到你离开这个房间(日志里每次后进那两个房间都是这样)。
|
|
740
|
+
「场景不同步了,比如岩浆爆炸物」应该也是这个原因:那时候后进来的人那边,整个房间都没在同步。
|
|
741
|
+
而且之后如果由你接手这个房间,那些怪在你这边还是关着的,结果连队友那边也跟着看不到了。
|
|
742
|
+
现在怪射出来的东西不再当成怪,而是和别的投射物一样,在你这边照着队友那边的样子射一遍,
|
|
743
|
+
你也看得到,方向也对。
|
|
744
|
+
|
|
745
|
+
* 【深坞里沿着台阶爬的怪,换人接手房间后绕着空气转圈:修了】
|
|
746
|
+
这种怪是贴着表面爬的,碰到拐角就绕过去。先进房间的人离开、由另一个人接手这个房间的怪时,
|
|
747
|
+
以前有两个错:
|
|
748
|
+
- 位置换算漏了它所在那块东西的缩放,把它放到了离原来的台阶将近半格远的地方;
|
|
749
|
+
- 把它的身体一律改成了「会被物理推开」的类型,而它本来只按自己的爬行方式移动、不会被推挤。
|
|
750
|
+
离开表面以后,它每走一小段就以为到了拐角、转个弯,于是就在空中绕着一个小方块一直转。
|
|
751
|
+
这个错不只影响这一种怪:挂在带缩放的物件下面的怪,接手时位置都会偏;
|
|
752
|
+
本来不受物理推挤的怪,接手后都会变成能被推开的。
|
|
753
|
+
现在接手时按真实位置放,身体是什么类型,由原来跑它的那一边告诉你,不再一律改掉。
|
|
754
|
+
|
|
755
|
+
* 【怪叫出来的小怪,现在两边都看得到】
|
|
756
|
+
有些怪打着打着会叫出别的小怪。以前这些小怪只出现在房间主机那边,
|
|
757
|
+
房间客机那边什么都没有,等于在跟看不见的东西打。
|
|
758
|
+
原因是模组以前只会在另一边造「草球」这一种东西,别的都造不出来,干脆就不告诉另一边。
|
|
759
|
+
现在房间主机那边叫出一只小怪时,另一边会照着自己这边同一种怪身上的召唤动作,造出同一只小怪;
|
|
760
|
+
之后它怎么动、掉多少血、什么时候死,都跟着房间主机那边走,和房间里本来就有的怪一样。
|
|
761
|
+
只有确定另一边造得出「同一只」时才这么做;造不出来的,仍然只留在房间主机那边(和以前一样),
|
|
762
|
+
也不会再报错。
|
|
763
|
+
另外有两种会被叫出来的小怪,模组的怪物登记表里一直漏了它们的类型,
|
|
764
|
+
以前是两边各生一只、各打各的。现在补上了,也按上面的方式同步。
|
|
765
|
+
从怪的尸体里跑出来的小怪不在此列:尸体本来就是两边各自播放的,所以仍然是两边各一只。
|
|
766
|
+
|
|
767
|
+
* 【房间里的东西放出来的小怪,现在两边也都看得到】
|
|
768
|
+
还有一些小怪不是怪叫出来的,而是房间里的东西放出来的:
|
|
769
|
+
比如一个会挨打、会往外放飞虫的巢,或者一进去就在房间各处放出几只怪的房间。
|
|
770
|
+
放它们的东西本身不是怪,模组以前不管,于是两边的游戏各放各的:
|
|
771
|
+
你打的是你这边的,队友打的是队友那边的,谁也看不到对方的。
|
|
772
|
+
现在只有房间主机那边会放,放出来的就和别的怪一样同步给另一边,另一边自己不再放。
|
|
773
|
+
刚进房间、还没确定谁是房间主机的那一小会儿,房间放出来的怪先关着不出现(房间里别的怪这时也是停着的);
|
|
774
|
+
确定之后,房间主机那边的才出来,另一边自己放的直接收掉。
|
|
775
|
+
巢本身和以前一样,两边各有一个(两个人打它,两边的巢都会掉血)。
|
|
776
|
+
|
|
777
|
+
* 【岩浆往上涨、要一直往上跑的那种追逐:改成「双人成行」的玩法】
|
|
778
|
+
以前岩浆是各有各的:每个人游戏里一条,只追自己,两个人其实是各跑各的。
|
|
779
|
+
你会看到落在后面的队友像泡在你的岩浆里,被烫死以后也几乎没法救。
|
|
780
|
+
现在:
|
|
781
|
+
- 岩浆只有一条,两边一样高,追的是落在后面的那个人,一直往上涨,不会因为谁出事停下来或退回去;
|
|
782
|
+
- 被烫到但还剩血:不回自己的安全点,直接回到队友刚才站稳的地方,该扣的血照扣;
|
|
783
|
+
- 被烫死或被怪打死:不出茧、不用打 5 下,大约 3 秒后在队友身边站起来,
|
|
784
|
+
血量是上限的一半,钱和丝都还你;不想等可以按 K 直接回长椅;
|
|
785
|
+
队友那时候要是在半空、或者正被烫着,就等他落地站稳了再起来;
|
|
786
|
+
队友先离开了这个房间,就马上在他最后站稳的地方站起来;
|
|
787
|
+
- 两个人都倒下(一个倒着还没站起来,另一个也倒了)就都回长椅。
|
|
788
|
+
「站起来」由活着的那一边决定:它自己一倒下就不会再把人拉起来,
|
|
789
|
+
所以不会出现一个站起来、另一个被送回长椅;
|
|
790
|
+
- 队友正倒着、不在这个房间、或者他身边已经没有岩浆够不着的地方时,
|
|
791
|
+
你被烫到就按单人的规则回自己的安全点,岩浆退到你脚下(两边一起退)。
|
|
792
|
+
- 后进房间的人,如果岩浆已经涨过了入口,要先穿过岩浆面(会被烫一次)才能回到队友身边。
|
|
793
|
+
这些只在岩浆正在涨的时候生效,其他时候还是原来拉人的规则。
|
|
794
|
+
|
|
795
|
+
* 【一坐就塌的假椅子:两边一起塌】
|
|
796
|
+
以前一个人坐上去、连人带椅子掉下去以后,队友那边这把椅子还好好地立着,要重新进房间才会消失。
|
|
797
|
+
现在队友那边会同时看到地板碎掉、椅子掉下去(站在那块地板上的人也会一起掉下去)。
|
|
798
|
+
掉下去、被赶下长椅、镜头跟着走这些只发生在坐上去的那个人身上,不会拉着队友。
|
|
799
|
+
|
|
800
|
+
* 【会把人关起来的笼子:要两个人都在才会触发】
|
|
801
|
+
一个人去碰笼子底下的那个东西,什么都不会发生:蹲一下、站起来,东西还在原地。
|
|
802
|
+
两个人都紧挨着那个东西站的时候,谁去碰都行,两边会同时触发,把两个人一起关进去、一起带走。
|
|
803
|
+
另一个人不用做任何动作。先下去的那一边触发之后,没跟上的人这时候再去碰,一个人也会触发。
|
|
804
|
+
|
|
805
|
+
* 【被抓进监狱:两个人一起】
|
|
806
|
+
以前只有一个人会被抓走(抓人的东西只看得见它自己那边的角色),另一个人留在外面。
|
|
807
|
+
现在一个人被抓,另一个人也会被一起关进去:被拿走的东西一样,从同一个地方醒来。
|
|
808
|
+
另一个人那时候要是坐在长椅上、正在进出房间、倒下了、或者正被游戏控制着(比如在对话),
|
|
809
|
+
就等他能动了再带走。已经在监狱里的人不会被再抓一次。
|
|
810
|
+
|
|
811
|
+
* 【拿回衣服:两个人都伸手了才会抢】
|
|
812
|
+
两个人都没衣服的时候,先去拿的人会蹲在那里等另一个人,聊天框会告诉两个人。
|
|
813
|
+
另一个人也去拿了,两边才一起抢。队友那边会看到你这边的整段动作
|
|
814
|
+
(以前只看得到你蹲下、然后停在半空)。
|
|
815
|
+
等的时候按跳跃键就不等了,人站起来,想拿随时可以再去拿。
|
|
816
|
+
队友已经拿回衣服了,就不用等,直接抢。
|
|
817
|
+
|
|
818
|
+
* 【棘刺怪:刺卡在半空、打着打着打不到了:修了】
|
|
819
|
+
- 刺卡在半空、只有一根朝下(只出现在房间客机那边):
|
|
820
|
+
棘刺怪长出来的几根刺,在游戏里名字都一样。房间主机那边每长出一根,就把它转到自己的方向;
|
|
821
|
+
房间客机照着做的时候是按名字找刺的,每次找到的都是第一根,
|
|
822
|
+
结果第一根被转了好几遍,其余几根一直朝下,叠在同一个位置。
|
|
823
|
+
刺和刺之间是会互相撞的,射出去的一瞬间就撞在一起停住了,看起来就是半空里卡着一根朝下的刺。
|
|
824
|
+
(上一版说「方向也对」,其实没对。)
|
|
825
|
+
现在房间客机转的就是自己刚照着长出来的那一根,几根刺的方向、射出去的样子都和房间主机那边一样。
|
|
826
|
+
- 打着打着打不到了(最后一下是房间客机打的时候):
|
|
827
|
+
棘刺怪的血打光以后,会先把身体关掉(从这时起就打不到了),再从「挨了一下」之后进入的状态里自爆。
|
|
828
|
+
房间客机打出的最后一下,传到房间主机那边只是「血没了」,怪并不知道自己挨了打;
|
|
829
|
+
它那时要是还在闲逛、没发现人,就会一直浮在那里:不炸,也打不到,两边看到的都一样。
|
|
830
|
+
现在房间客机打出最后一下时,房间主机那边的怪会先收到「挨了一下」,和被房间主机打死时一样,照常自爆。
|
|
831
|
+
这一点对所有怪都一样:被房间客机打死的怪,房间主机那边在它死之前也会先收到「挨了一下」。
|
|
832
|
+
- 墙上插着的、能打碎的那种刺,以前被模组当成了棘刺怪本身,房间客机打它没反应。现在两边都能打碎。
|
|
833
|
+
|
|
834
|
+
* 【队友的「残影」:修了】
|
|
835
|
+
你刚离开一个房间、队友又恰好在这时进了那个房间,服务器还以为你在那里,
|
|
836
|
+
会告诉你「队友进来了」——可你已经到了下一个房间。
|
|
837
|
+
结果下一个房间里会多出一个一动不动的队友,而且所有「等两个人都到」的地方都当队友在场,
|
|
838
|
+
会一直等一个其实不在的人,直到你再换一次房间。
|
|
839
|
+
两个人的日志里确实出现过(701 次换房间里有 3 次)。
|
|
840
|
+
现在「谁进了房间」的消息带上了房间名,和你所在的房间对不上就直接丢掉。
|
|
841
|
+
这一条改了同步的数据格式,两个人都要装这一版。
|
|
842
|
+
|
|
843
|
+
* 【boss 开打前,两个人可能互相干等:修了】
|
|
844
|
+
有的 boss 要等两个人都走完开场才开打。boss 只在房间主机的游戏里真正运行,
|
|
845
|
+
它开场说的话会发给另一个人,另一个人按自己的节奏看,boss 不会停下来等。
|
|
846
|
+
房间走到开打那一刻时,还没看完这些台词的一方先不算「看完了」,这是对的;
|
|
847
|
+
但以前看完之后,没有任何地方再补上这一句,两边就一直互相等,直到有人离开房间。
|
|
848
|
+
(这和「两个人都进了 boss 范围」是两回事,那个是另一条消息,没有问题。)
|
|
849
|
+
现在台词一看完就会告诉对方。等人的时候每 30 秒提示一次,和其他等人的地方一样。
|
|
850
|
+
|
|
851
|
+
* 【两个人都要选「是」的地方(接愿望、开始赛跑):队友收回之后,你这边还记着队友的「是」:修了】
|
|
852
|
+
队友先选了「是」在等你,后来又收回了(选了「否」、对话结束、等超时、或者离开了房间),
|
|
853
|
+
你这边以前不知道,还当队友在等。你这时再选「是」,就会直接成立,
|
|
854
|
+
但队友那边已经不算了,变成只有你一个人接了愿望、或者只有你开跑。
|
|
855
|
+
现在队友一收回,你这边马上知道,聊天框会说「X 的「是」已经不算数了」。
|
|
856
|
+
|
|
857
|
+
* 【赛跑:两个人都开跑以后,两边会不停地互相发「我准备好了」:修了】
|
|
858
|
+
不影响玩,只是白占网络、刷日志。现在回一次就停。
|
|
859
|
+
|
|
860
|
+
* 【拿回衣服:你蹲着等的时候离开了房间,队友那边还当你在等:修了】
|
|
861
|
+
以前队友这时去拿,会以为两个人都伸手了,结果只有队友那边抢了。
|
|
862
|
+
现在你一离开,队友那边就知道你不等了。
|
|
863
|
+
|
|
864
|
+
* 【跳蚤小游戏:都赢过之后,结尾可能一直等不到队友:修了】
|
|
865
|
+
结尾要两个人都赢过所有项目才会继续,每一边只在「全赢了」变化时告诉对方一次。
|
|
866
|
+
有两种情况会漏掉:一方断线重连之后,对方不会再说第二遍;
|
|
867
|
+
或者进游戏时一边加载得比另一边慢,先准备好的一边说了,另一边还没准备好,就把它扔了。
|
|
868
|
+
漏掉以后结尾就一直等着。现在两种情况都会补上。
|
|
869
|
+
|
|
870
|
+
* 【房间主机中途离开时,接手的一方有的怪和机关会卡住:修了】
|
|
871
|
+
房间主机离开后,另一个人的游戏会接手房间里正在进行的一切,每只怪从它当时所处的状态接着跑。
|
|
872
|
+
以前接手时,状态里只保留少数几种「持续进行」的动作,碰撞检测、逐步加速和减速都会被丢掉,
|
|
873
|
+
于是正在冲撞的怪撞墙后可能不停,正在下落或飞行的东西可能停在半空。现在这几种动作也会保留(两百多种怪用到)。
|
|
874
|
+
自己会飞的东西(落石、飞针这类)接手时还会带上当时的速度、重力和角度,从半空接着飞。
|
|
875
|
+
|
|
876
|
+
* 【打中由房间主机运行的东西时,「叮」的那一下只算在自己这边:修了】
|
|
877
|
+
有的东西被打中时只是「叮」一声、不掉血,却会因此改变动作:会落下来的钟被打偏,带盾的怪挡住以后反击。
|
|
878
|
+
这些东西里,有的只在房间主机的游戏里运行,另一个人那边看到的是复制品。以前另一个人打中复制品,
|
|
879
|
+
只有自己这边「叮」一声、自己被弹开,房间主机那边的钟照样往下落,怪也不知道自己挡过一下。
|
|
880
|
+
现在这一下会转给房间主机,两边的钟一起被打偏,怪一起反应。
|
|
881
|
+
钟这种自己会飞的东西,打的人这边当场就被打飞,不用等消息。房间主机那边以打的人打中的位置为准,
|
|
882
|
+
再补上消息路上耽误的那一小段,所以那边会看到钟跳一下,跳到它在打的人那边正飞到的地方,再接着飞。
|
|
883
|
+
带盾的怪这类要改动作的,打的人那边还是要等消息走一个来回(大约零点二到零点三秒)才看到反应。
|
|
884
|
+
|
|
885
|
+
* 【房间里「叮」一下就会动的东西,以前只在打的那个人那边动:修了】
|
|
886
|
+
房间里有上千个东西被「叮」到时会改变状态:挂着的钟被往上打飞、地雷被打坏、机关被敲响、平台晃动等。
|
|
887
|
+
以前「叮」只算打的人自己的(火花和把人弹开本来就是各自的),另一个人那边的东西完全没反应。
|
|
888
|
+
现在打的人那边的东西动了,这一下就发给另一个人,那边的同一个东西做同样的反应。
|
|
889
|
+
只有火花、把人弹开这类的「叮」,仍然各自算各自的。
|
|
890
|
+
|
|
891
|
+
* 【机关和被打中的东西,随机的部分两边不一样:改成谁触发谁掷骰子】
|
|
892
|
+
地雷弹出时的翻转、角度和落点,钟被往上打飞时的角度,以及其他机关在触发那一刻掷的骰子,以前两边各掷各的,
|
|
893
|
+
所以同一个地雷在两个人那边落在不同的地方。
|
|
894
|
+
现在机关被谁走近、东西被谁打中,就在谁的游戏里掷骰子,骰子跟着「触发了」「打中了」的消息一起发给另一个人,
|
|
895
|
+
那边用同一副骰子,所以结果一样。每一个掷骰子的动作开始前都记一次,中间音效之类多掷少掷也不会错开。
|
|
896
|
+
只管触发那一刻当场掷的;过一会儿才掷的(比如钟落地几秒后复位时换的样子)仍然各掷各的。
|
|
897
|
+
两个人几乎同时(零点一秒以内)触发同一个机关时,两边会各用自己的骰子。
|
|
898
|
+
另一个人那边收到消息时,正在落的钟已经多落了一点,所以被打飞的起点会略低一些。
|
|
899
|
+
|
|
900
|
+
* 【跳蚤小游戏:都要两个人一起开;下劈/飞针那个改成各玩各的;另外两个,不是房间主机的一方打跳蚤、得分、被撞都接上了】
|
|
901
|
+
- 三个游戏都不能一个人开了,和开始比赛一样:两个人都要各自去跟主持游戏的跳蚤说话、在同一个游戏选「是」,
|
|
902
|
+
才会一起开始。先选的人会停在选项上等对方,最多 20 秒;选「否」就可以收回。下劈/飞针那个也一样,
|
|
903
|
+
一起开始以后各玩各的。
|
|
904
|
+
- 下劈/飞针那个:以前两个人用的是同一批跳蚤,一个人踩掉一只,另一个人就少一只能落脚的,很快就掉下去。
|
|
905
|
+
现在两边各出各的跳蚤:各自的游戏给自己放跳蚤,对方看不见;得分、难度、存分都和一个人玩时一样,
|
|
906
|
+
对方的攻击也碰不到你的跳蚤。所以你会看到对方在踩一些你看不见的跳蚤。
|
|
907
|
+
- 另外两个还是两个人用同一批跳蚤,由房间主机的游戏放出来。以前不是房间主机的一方打中跳蚤,
|
|
908
|
+
只有自己这边「叮」一声,主机那边的跳蚤没反应;分也是按自己「叮」的次数记的,有一个游戏根本记不对。
|
|
909
|
+
现在这一下和打怪、打钟一样转给房间主机,两边的跳蚤一起反应。得分和跳蚤掉地算的失败,
|
|
910
|
+
都由主机那边的跳蚤说了算,再照样传给另一个人:分是两个人一起的,谁打中的、谁躲过去的,两个人各加一分。
|
|
911
|
+
不是房间主机的一方,分要等消息去主机再回来才跳。
|
|
912
|
+
- 要把跳蚤一直打在空中、不让它落地的那个游戏:以前不是房间主机的一方打中跳蚤,要等消息去主机再回来
|
|
913
|
+
它才弹起,这段时间它还在往下掉,看起来像穿过了你的攻击。现在它在你自己的游戏里当场弹起来:
|
|
914
|
+
往哪儿飞、飞多高由你这边掷的骰子定,主机那边照着同样的骰子让它飞同一条路,中途出现的东西也一样。
|
|
915
|
+
分还是等主机那边算过才跳。要是对方几乎同时也打中了同一只,或者你打得太晚、主机那边它其实已经落地了,
|
|
916
|
+
都以主机那边为准,你这边的跳蚤会回到主机那边的样子。
|
|
917
|
+
- 这两个游戏的跳蚤是房间主机的游戏放的,所以主机一起玩过、这一局结束以后,另一个人的这一局也跟着结束,
|
|
918
|
+
分照常存下。
|
|
919
|
+
- 会撞人的那个游戏:以前不是房间主机的一方根本不会被撞到。现在被撞在各自的游戏里当场算:
|
|
920
|
+
你看到的东西碰到你,你就被撞开,不等消息来回;往哪边撞跟着它飞的方向,越撞越累、撞得越远也按你自己的算。
|
|
921
|
+
对方被撞不影响你。
|
|
922
|
+
- 同一个游戏里,以前两边的平台各升各降,两个人站的平台高低对不上;中途出现的其他东西也是两边各出各的。
|
|
923
|
+
现在这些都听房间主机那边的:另一个人那边的平台还在自己游戏里照常动,只是按主机的指令动,会晚一点点;
|
|
924
|
+
中途出现的东西由主机的游戏放出来,两边看到的是同一个,它要瞄人时,每次在你们两个里随机挑一个;
|
|
925
|
+
另一个人这一局已经结束了,就只瞄还在玩的人。
|
|
926
|
+
- 另一个共享的游戏中途出现的东西,以前也是两边各出各的;现在和跳蚤一样由房间主机的游戏放出来,
|
|
927
|
+
谁打中都转给主机。
|
|
928
|
+
|
|
929
|
+
* 【打中、碰到就会动的东西,在你自己这边当场反应:统一成了一套做法】
|
|
930
|
+
这类东西由房间主机的游戏运行,另一个人那边看到的是复制品:会落下来的钟、要一直打在空中的跳蚤、
|
|
931
|
+
碰到人就炸开的石头。以前三样各有各的一套,现在合成一套:
|
|
932
|
+
- 你打中或碰到它,它在你这边当场就照游戏原本的样子反应:被打飞、弹起、炸开,连同声音和特效,不等消息;
|
|
933
|
+
- 反应里会动到两个人共有的东西的那一部分,你这边不做,只由房间主机那边做一次,再照常传给你:
|
|
934
|
+
加分、存档、掉钱、放出怪物之类,所以不会算两次;
|
|
935
|
+
- 房间主机收到后,把它放到你打中、碰到时它在你那边的位置,用你这边掷的骰子做同样的反应,
|
|
936
|
+
补上消息路上耽误的那一小段,同时回一句「收到了,它现在在做什么」;
|
|
937
|
+
- 回话到之前,主机那边发来的这个东西的动作都是它还没收到时的,你这边先压着;回话说主机那边也是一样的反应,
|
|
938
|
+
压着的就丢掉(你这边已经演过了);主机那边它已经变了样(比如早就落地了),你这边就马上改回主机那边的样子,
|
|
939
|
+
压着的按顺序补上;
|
|
940
|
+
- 反应做完,它接下来怎么走(落地、飞走、复位)由主机那边说了算,你这边不再自己往下演,免得同一声响两次。
|
|
941
|
+
和以前比能看出来的:碰到你炸开的石头,两边炸在同一个地方了(以前主机那边是在它自己落到的地方炸的)。
|
|
942
|
+
以后再有这一类东西,只要在名单里给它标上就行。
|
|
943
|
+
这一条改了同步的数据格式,两个人都要装这一版。
|
|
944
|
+
|
|
945
|
+
* 【玩着玩着游戏直接关掉、什么提示都没有:修了】
|
|
946
|
+
到现在一共遇到过三次,三次是同一个原因:
|
|
947
|
+
- 先是某段代码一下子调用得太深,把游戏的「栈」用光了(栈溢出)。这本来只算一个普通错误:
|
|
948
|
+
游戏的运行时会把它变成一条报错,这一帧没做完的事就不做了,游戏接着跑;
|
|
949
|
+
- 可运行时收拾这种错误时,用的是它自己生成的一小段代码,这段代码没把栈对齐好;
|
|
950
|
+
偏偏 Steam 的游戏内界面(Shift+Tab 那个)在系统里挂了钩子,会从这段代码底下经过,
|
|
951
|
+
于是游戏在 Windows 里直接崩掉,连报错都来不及留下;
|
|
952
|
+
- 现在模组一启动,就把那一小段代码改成先把栈对齐再往下走。以后再发生栈溢出,只会在日志里留一条报错,
|
|
953
|
+
不会再闪退。
|
|
954
|
+
这一条在测试里原样复现过同样的闪退(同一个运行时、同一个崩溃位置),改完后确认不崩了。
|
|
955
|
+
0.4.47:调用得太深的那段代码也找到了,是模组自己的:队友用道具时,你这边道具的复制品第一次生成某样东西
|
|
956
|
+
(比如一次爆炸),模组会先把它换成一份私有的副本;游戏发现这份副本还没准备好,就先准备、再生成一次,
|
|
957
|
+
而这第二次生成又被模组换成了新的副本……一层套一层,直到栈用光。现在副本不会再被复制第二次。
|
|
958
|
+
(0.4.46 里这个错误不再闪退,而是游戏卡死——错误发生在游戏自己的底层代码中间,收拾完也回不去了。
|
|
959
|
+
以后万一再有别的栈溢出,也可能是卡住而不是闪退:关掉游戏告诉我,日志里会写明是哪段代码。)
|
|
960
|
+
|
|
961
|
+
* 【有的遭遇战打完不开门、有的 boss 房进去找不到 boss:修了】(0.4.50)
|
|
962
|
+
这两个是同一个根:
|
|
963
|
+
- 进一个房间时,模组要先问清楚这间房的怪由哪一边的游戏来跑(要等一个网络来回)。
|
|
964
|
+
这段时间里它会先把怪都关掉,免得本不该跑它们的那一边先动起来;问清楚以后,由跑的那一边重新打开。
|
|
965
|
+
- 问题出在游戏的怪「关掉再打开」时,行为逻辑会从第一步重新走一遍,已经做过的一次性动作会再做一次:
|
|
966
|
+
- 有一种怪进房间时,先「往上挪到房间外面藏起来」,等它那一波开始时再「挪回来飞进场」。
|
|
967
|
+
重走一遍就又往外挪了一次,飞进场时只挪回一半,一直待在房间外面。遭遇战等不到它死,门就不开;
|
|
968
|
+
- 有援助角色的 boss 房,房间一开始会「叫援助角色出场」,重走一遍时又叫了一次。
|
|
969
|
+
这一下正好被模组拦住(那时援助角色还没分好由谁来跑),拦下后又没让它算做完,
|
|
970
|
+
房间就一直停在这一步,走不到「等玩家进来开打」,boss 就一直不出来,换另一个人接管房间也一样。
|
|
971
|
+
- 现在还是会重走一遍,但重走时它自己挪出去的那一下,模组会当场把它挪回原处:
|
|
972
|
+
它还藏在原来的位置,那一波开始时就能正好飞回场地里;
|
|
973
|
+
- 模组拦下的「叫出场」现在也算做完,房间能接着走到「等玩家进来开打」。
|
|
974
|
+
之前修过一次同类问题(上次那个打完不开门的遭遇战),那次放回去的是怪「走到哪一步」,这次补上的是它「站在哪」。
|
|
975
|
+
重走时其他不涉及位置的动作这次没有改,和以前一样。
|
|
976
|
+
|
|
977
|
+
* 【请求援助:要两个人都请求才会来(新规则)】(0.4.50)
|
|
978
|
+
以前联机时这件事没有专门处理过:谁请求了,就只在谁的存档里记下;战斗时由跑战斗的那一边看自己的存档决定援助来不来,
|
|
979
|
+
另一个人同意没同意都不管。现在和接祈愿一样:
|
|
980
|
+
- 两个人各自去跟那个角色说话,都在自己的选项上选「是」,援助才成立;
|
|
981
|
+
- 先选「是」的人会停在选项上等,另一个人会收到提示,去找同一个角色也选「是」;
|
|
982
|
+
- 20 秒内没等到,或者另一个人选了「否」,就当两个人都没请求,角色照常说拒绝时的话;
|
|
983
|
+
- 如果你的存档里已经请求过这个援助,队友来请求时直接算你同意;
|
|
984
|
+
- 战斗里始终只有一个援助角色:由跑这场战斗的那一边让它出场,另一边看到的是同步过来的同一个。
|
|
985
|
+
另外说明一下:请求援助这个记录,游戏自己每次从主菜单读档时都会清掉(原版就是这样),
|
|
986
|
+
所以重新进游戏以后要重新请求。
|
|
987
|
+
|
|
988
|
+
* 【进一个归你跑的房间时,怪不再「先关掉、再打开」】(0.4.51)
|
|
989
|
+
- 上一版说过:进房间时模组要先问清楚这间房由谁的游戏来跑,这段时间里先把怪都关掉,问清楚以后由跑的那一边重新打开;
|
|
990
|
+
而怪「关掉再打开」时,行为会从头再走一遍。上一版修了两种因此出的问题,但「重走一遍」本身还在。
|
|
991
|
+
- 现在服务器会告诉每个人「另一个人在哪个房间」。房间归先进去的人跑,所以你进一个房间时,
|
|
992
|
+
如果另一个人不在里面,这间房一定归你:你这边的怪从一开始就正常跑,不关也不重新打开,和单机时一样。
|
|
993
|
+
- 另一个人已经在里面时,照旧先关着,等着看对方那边的(这时本来就是对方在跑)。
|
|
994
|
+
- 万一判断错了(比如两个人几乎同时进同一个房间,消息还没到),会退回以前的做法:
|
|
995
|
+
你这边先跑起来的怪马上关掉,由对方来跑。这种情况下它们在你这边会多动一小会儿(大约一个网络来回)。
|
|
996
|
+
- 这一条改了联机的数据格式,两个人都要装这一版。
|
|
997
|
+
|
|
954
998
|
* 【两个人都倒下时,先倒的人的消息丢了也会一起回椅子】(0.4.55)
|
|
955
999
|
- 两个人先后倒下时,收到对方消息的一方以前只结束自己的等待,默认对方早就知道自己倒了。
|
|
956
1000
|
如果先倒下的人发的消息刚好碰上断线没送到,另一个人再倒下时就会一直「等队友来拉」,
|
|
@@ -958,10 +1002,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
958
1002
|
- 现在躺着的人收到对方「我也倒了」时,会回一句「没人会来了」,两个人一定一起回椅子,时间也正常流逝。
|
|
959
1003
|
- 另外,收到「队友倒下」的消息时会记一行日志(没有处理的也记),以后能查到这条消息到底到没到。
|
|
960
1004
|
|
|
961
|
-
* 【倒下后等队友来拉的时间从 45 秒改成 3 分钟】(0.4.55)
|
|
962
|
-
- 45 秒常常不够:队友可能正在打怪、打 boss,打完或者腾出手再过来就超时了。
|
|
963
|
-
- 不想等随时可以自己按「不等了」的键(手柄上也有)直接回长椅,所以放长不会卡住人。
|
|
964
|
-
|
|
965
1005
|
* 【会冒出小虫的虫巢:两个人现在打的是同一个巢】(0.4.55)
|
|
966
1006
|
- 以前这种巢在两边游戏里各有一个,各自挨各自的打,伤害对不上:
|
|
967
1007
|
常常是一个人那边的巢已经碎了,另一个人那边的还在,还在不停往外放虫。
|
|
@@ -989,11 +1029,6 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
989
1029
|
- 另一边的这种虫不会再因为自己的玩家靠近就飞走消失(以前会,而跑房间那边的还在原地);
|
|
990
1030
|
现在它们只在跑房间那边的玩家靠近时飞走,两边一起。
|
|
991
1031
|
|
|
992
|
-
* 【念珠串每种最多能带 99 个(原来 20 个)】(0.4.55)
|
|
993
|
-
- 大小各种念珠串(包括磨损的那种)都是 99,商店能一直买到 99 个,捡到的也能收下。
|
|
994
|
-
- 其它会用掉的物品上限不变,还是 20。只在联机时生效。
|
|
995
|
-
- 带着超过 20 个的存档拿去不装 mod 玩也没关系,只是买不了、捡不了更多。
|
|
996
|
-
|
|
997
1032
|
* 【踩下去开门的踏板:一个人踩下,另一个人那边的门也会开】(0.4.55)
|
|
998
1033
|
- 以前踏板只认自己游戏里的角色:队友踩下后,你这边的门不开——一直开着的那种要重新进房间才开,
|
|
999
1034
|
开一会儿又关上的那种根本不开。
|
|
@@ -1006,27 +1041,75 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
1006
1041
|
两边只差一次网络延迟。确认之前就跳下来的话,也会通知对方,两边的踏板一起作废弹回去。
|
|
1007
1042
|
- 队友踩踏板时你的手柄不会震(那是踩的人自己的手感),踏板的声音和轻微的震屏照常。
|
|
1008
1043
|
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1044
|
+
* 【所有踏板都同步了,叫升降梯的踏板也一样】(0.4.57)
|
|
1045
|
+
- 以前叫升降梯的踏板不同步:队友踩下后,你这边只有升降梯过来,踏板不动。
|
|
1046
|
+
- 现在所有踏板走同一种同步:谁踩下,对方那边同一块踏板也跟着压下,同一站旁边的踏板也一起压下。
|
|
1047
|
+
- 踏板和升降梯分开同步:对方那边压下的踏板只动踏板自己,不去叫升降梯;升降梯怎么走、何时开锁,
|
|
1048
|
+
只听升降梯自己的同步。所以同一次呼叫不会发两遍,升降梯也不会先闪到站台附近。
|
|
1049
|
+
- 要踩踏板才开锁的升降梯(包括左右走的那种车厢):一个人踩开,另一个人那边也马上开锁开门,
|
|
1050
|
+
不用等有人坐一趟。
|
|
1051
|
+
- 修了:会弹回来的踏板,队友第二次踩时你这边不跟着压下。其它几块以前没同步的踏板也一并同步了。
|
|
1052
|
+
|
|
1053
|
+
* 【会躲起来的螳螂怪:房间交到你手上之后不再躲错地方、卡住】(0.4.57)
|
|
1054
|
+
- 这种怪一出场会把它躲藏用的几个位置标记放下,固定在房间里。房间从对方那边交到你这边时,
|
|
1055
|
+
模组替它补做出场的准备,却漏了这一步,而且是先把它挪到对方看到的位置再补。
|
|
1056
|
+
标记于是一直挂在它身上跟着走,它只会在自己身边躲来躲去,还可能被放进地里卡住。
|
|
1057
|
+
- 现在接手时先在房间原本放它的地方补做准备(包括放下标记),再挪到对方看到的位置。
|
|
1058
|
+
用同样做法的另外三种怪也一起修了。
|
|
1059
|
+
|
|
1060
|
+
* 【有个boss房入口的落刺:不再砸到跟在后面的队友】(0.4.57)
|
|
1061
|
+
- 那条入口走廊里的尖刺会在你走过时从头顶落下,挡在你身后。它们的名字开头和那只boss一样,
|
|
1062
|
+
被模组当成了boss本体,由房主的游戏统一控制:只在房主身后落下,跟在后面、站在门口的队友会被砸到。
|
|
1063
|
+
单人时它们永远落在你身后,砸不到你。
|
|
1064
|
+
- 现在这些尖刺不同步,各自落在各自身后。boss战里召出来的荆棘照旧同步(有血量,两边打的是同一根)。
|
|
1065
|
+
|
|
1066
|
+
* 【靠"挨打次数"算的东西:朋友打的也算数了】(0.4.57)
|
|
1067
|
+
- 有些东西不看血量,而是数挨了几下:boss召出来的荆棘挨三下就碎;很多boss和精英怪挨打攒够一定量会被打晕,
|
|
1068
|
+
打晕后再挨打会醒得更快;还有几种怪挨打会记次数、换招。
|
|
1069
|
+
- 以前朋友那边打中只把扣掉的血传给房主,这些次数只认房主自己的刀:朋友打荆棘打多少下都不碎,
|
|
1070
|
+
boss也基本不会被朋友打晕。
|
|
1071
|
+
- 现在朋友每打中一下,房主那边就按单人时的规则记一下。倒地的茧本来就是这样算的(救人的那边打,被救的那边记);
|
|
1072
|
+
房间里的笼子、铃、会碎的地板、入口的落刺这类东西,两边本来就都算。
|
|
1073
|
+
- 有一种挨打会掉碎片的怪:朋友打出来的碎片掉在房主那边,只有房主捡得到。
|
|
1074
|
+
|
|
1075
|
+
* 【祈愿要打的大紫花:一个人打碎,两边都碎】(0.4.57)
|
|
1076
|
+
- 这朵花要站在它旁边打三下才碎,碎了掉出花蜜。一个人的刀在另一边重放时,要连"打的人在不在花旁边"一起带过去;
|
|
1077
|
+
以前只带了花自己身上的这种检测,花旁边的那个没带,另一边就拿自己的角色去判断,人不在旁边,三刀全不算,花不碎。
|
|
1078
|
+
- 现在花用到的检测也一起带过去:谁打碎了花,两边的花都碎,各自掉一份花蜜,各捡各的。
|
|
1079
|
+
|
|
1080
|
+
* 【boss被打晕趴下时,后进房间的一方打它,命中火花不再偏到别处】(0.4.57)
|
|
1081
|
+
- 有些怪摆出某个姿势时,游戏会把"挨打时火花从哪冒出来"跟着挪过去,比如boss被打晕趴下时火花要往上挪。
|
|
1082
|
+
这一步只在房主那边做了,后进房间的一方那边的boss没跟着挪,火花会冒在离挨打处好几格远的地方。
|
|
1083
|
+
- 现在这一步也传过去,两边火花位置一致;纹章连击打中时冒的特效位置同理。
|
|
1084
|
+
- 注意:这只修了火花的位置。朋友说的"打boss本体没有白闪"还没查到原因,这条修不了那个。
|
|
1085
|
+
|
|
1086
|
+
* 【回血时被开场接管:这口血不再被吞掉】(0.4.57)
|
|
1087
|
+
- 联机时开场可以由另一个人触发。有些开场一上来会打断你正在做的所有动作,回血也会被打断,
|
|
1088
|
+
可回血一开始丝就扣了,于是丝没了、血也没回上。单人时开场是你自己走进去触发的,不会正好在回血。
|
|
1089
|
+
- 现在开场照常进行,也照常定住你,一直定到开场结束;你正在回的血照常回完。
|
|
1090
|
+
回血期间开场要你做的(交出控制、摆迎敌姿势)等回完血再按顺序补上。
|
|
1091
|
+
- 战吼本来就会等你回完血再定住你;回完血时开场已经结束的话,就不再摆迎敌姿势。
|
|
1092
|
+
|
|
1093
|
+
* 【虫巢一进房间就放出来的两只虫:现在两边都看得到了】(0.4.58)
|
|
1094
|
+
- 上面 0.4.55 那条让巢放出来的虫两边同步,但漏了最早的两只:巢在你刚进房间的一瞬间就放出它们,
|
|
1095
|
+
那时还没确定这个房间由谁来跑,模组在这段时间里不看怪做了什么,这两只虫就一直只留在先进房间的人那边。
|
|
1096
|
+
后进来的人看不到它们,只看到对方对着空气挥刀。
|
|
1097
|
+
- 现在这段时间里怪放出来的小怪也会登记下来,一确定由你跑这个房间,就告诉另一边。
|
|
1098
|
+
别的一进房间就放小怪的怪也一样。
|
|
1099
|
+
|
|
1100
|
+
* 【后进房间的一方打怪:怪现在会像被房主打中一样有反应】(0.4.58)
|
|
1101
|
+
- 怪只在先进房间的人(房主)那边真正在跑。以前后进来的一方打中怪,房主那边只扣血、放一个通用的受击效果,
|
|
1102
|
+
怪自己并不知道挨了打:不冒它自己的碎屑、不出它自己的挨打声,也不会因为挨打醒过来、转身追人,
|
|
1103
|
+
被 needolin 吸引住的也不会停下。打虫巢像在打一面墙,就是这个原因。
|
|
1104
|
+
- 现在后进来的一方每打中一下,房主那边的怪都像被房主自己打中一样有反应,这些反应再同步回去。
|
|
1105
|
+
打的人自己看到这些反应,会比出刀晚一个网络来回;通用的受击效果还是立刻就有。
|
|
1106
|
+
- 附带的变化:有一种挨打会掉念珠的怪,后进来的一方打它时,念珠掉在房主那边
|
|
1107
|
+
(和上面那种挨打会掉碎片的怪一样),只有房主捡得到。
|
|
1108
|
+
|
|
1109
|
+
※ 以上四十六条【没有实机验证过】。
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
六、出问题的话
|
|
1030
1113
|
--------------
|
|
1031
1114
|
|
|
1032
1115
|
游戏目录下 BepInEx\LogOutput.log 是日志,
|
|
@@ -1042,7 +1125,7 @@ exe 旁边放一个 dll,让游戏启动时连带加载它。这是所有同类
|
|
|
1042
1125
|
遇到两边不一样的情况,最好把两个人的日志都发回来。
|
|
1043
1126
|
|
|
1044
1127
|
|
|
1045
|
-
|
|
1128
|
+
七、这东西是谁写的
|
|
1046
1129
|
------------------
|
|
1047
1130
|
|
|
1048
1131
|
联机功能本身、以及这里几乎全部的代码,都是 Extremelyd1 写的
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# silksong-coop-mod 0.4.
|
|
1
|
+
# silksong-coop-mod 0.4.58
|
|
2
2
|
|
|
3
3
|
The files a player needs to install a two-player co-op build of **SSMP**, packaged so they can be fetched from
|
|
4
4
|
a mirror that is reachable inside mainland China. This is not a Node library: nothing here is imported or run
|
|
@@ -14,4 +14,4 @@ The BepInEx loader is included, so the install needs no network access at all.
|
|
|
14
14
|
|
|
15
15
|
The multiplayer mod is the work of [Extremelyd1](https://github.com/Extremelyd1/SSMP). This is a modified copy
|
|
16
16
|
that adds a shared two-player save; please do not take questions about it to the original author. Distributed
|
|
17
|
-
under the GNU LGPL 2.1 - see `LICENSE`. Built from https://github.com/Candy-649/SSMP at `
|
|
17
|
+
under the GNU LGPL 2.1 - see `LICENSE`. Built from https://github.com/Candy-649/SSMP at `31318c9`.
|
package/SSMP/SSMP.dll
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "silksong-coop-mod",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.58",
|
|
4
4
|
"description": "Offline installer payload for a two-player co-op build of the SSMP Silksong multiplayer mod. Not a Node library.",
|
|
5
5
|
"license": "LGPL-2.1-or-later",
|
|
6
6
|
"author": "Candy-649 (https://github.com/Candy-649)",
|