Incidencia #37856

モンスター自爆後に正しくデータをワイプしない不具合(クローン地獄にて (フォーラムメッセージ #80540 からの引用))

Abrir Fecha: 2018-01-03 13:49 Última actualización: 2020-12-30 22:20

Informador:
Propietario:
Tipo:
Estado:
Cerrado
Componente:
(Ninguno)
Prioridad:
5 - Medium
Gravedad:
5 - Medium
Resolución:
Fixed
Fichero:
Ninguno

Details

フォーラム 変愚蛮怒フォーラム [#80540] からの引用

[forum: 80540]

Windows7 Home x64 ver2.2.0.92 クローン地獄にて画面左上に@が誤表示されました v2.1.5でも同様の現象に1回遭遇しました 再起動で正常な状態に戻ります 画像はしたらばの変愚スレその45の>>25に張っておきました

Ticket History (3/10 Histories)

2018-01-03 13:49 Updated by: deskull
  • New Ticket "クローン地獄にて (フォーラムメッセージ #80540 からの引用)" created
2018-01-03 15:57 Updated by: None
Comentario

断言はできませんが、手榴弾が自爆して死んだときにprocess_monster()から出ないのが原因だと思います。

if (m_ptr->r_idx == MON_SHURYUUDAN)
mon_take_hit_mon(m_idx, 1, &fear, _("は爆発して粉々になった。", " explodes into tiny shreds."), m_idx);

/* このとき手榴弾が自爆してm_ptr->r_idxが0になったあとも処理が続く*/

2018-01-03 16:57 Updated by: deskull
  • Details Updated
Comentario

(匿名) への返信

断言はできませんが、手榴弾が自爆して死んだときにprocess_monster()から出ないのが原因だと思います。 if (m_ptr->r_idx == MON_SHURYUUDAN) mon_take_hit_mon(m_idx, 1, &fear, _("は爆発して粉々になった。", " explodes into tiny shreds."), m_idx); /* このとき手榴弾が自爆してm_ptr->r_idxが0になったあとも処理が続く*/

アドバイスありがとうございます。一度ウィザードモードでロレント生やして試してみます。

2018-12-20 23:20 Updated by: deskull
Comentario

この件、以前イーク窟で検証したが再現できなかった。クエストでないと駄目かもしれない。

2018-12-20 23:46 Updated by: None
Comentario

v2.2.0ですがもの言えぬ証人クエストに入ってデバッグコマンドで手榴弾出して自爆させてみたら左上に@が出てきました

2018-12-23 07:22 Updated by: deskull
Comentario

(匿名) への返信

v2.2.0ですがもの言えぬ証人クエストに入ってデバッグコマンドで手榴弾出して自爆させてみたら左上に@が出てきました

ありがとうございます、試してみます。クエスト固有の現象なんでしょうか。

2018-12-23 09:45 Updated by: deskull
Comentario

問題を十分に把握できました。修正箇所は匿名氏の指摘通りの場所で問題なさそうです。

しばしば現象が確認されなかった原因は手榴弾のmon_take_hit_mon()の自傷処理によりdelete_monster_idx()で手榴弾の枠がリセットされた後に行われる不正な移動処理が必ずしも発生しなかったためです。手榴弾の不規則な移動処理がx=0,y=0からx=1,y=1に行われた場合にのみ、ID=0となっているプレイヤーが該当の位置に表示されるという顛末でした。

2018-12-23 16:43 Updated by: deskull
  • Estado Update from Open to Cerrado
Comentario

以下のように修正して完了。

  • mon_take_hit_mon()で自滅した場合は即return。
  • 今後類似のトラブルが発生してもランタイムエラーで緊急セーブが発生しないよう、最大HP及び最大最大HPのゼロ除算の回避処理を追加。
2020-12-30 22:18 Updated by: deskull
2020-12-30 22:20 Updated by: deskull
  • Summary Updated

Attachment File List

No attachments

Editar

Please login to add comment to this ticket » Entrar