[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
| |
スクリプトTIPS
88
:
まもる
:2019/06/03(月) 14:19:15 ID:RugYCLwg
なるさん、おつです。暑いですね〜。
既に MinTameSkill の治療も入れてくださっていたんですね。まさかそれでも効かないなんて・・・。
えと、当該箇所の profile == null っていうのは、おそらくその後に続く || !profile.HasCustomized() 用の assert 的な意味合いが強くて(本当はServUOのこのコーディングの仕方も危険※)、profile を持っていてもスロット1で 98.7 になっちゃってるゴキはありそうなんですよ。
あと、スロット1のゴキに対して単純に MinTameSkill = 29.1 が通用しなかったということであれば、たぶん if (version < 1 && profile == null) の条件を付けても、その中で MinTameSkill = 29.1 が効かないのは同じような気もします。
少なくとも、ServUOのソースに MinTameSkill = 98.7; という数値が書かれたコードが存在していて、実際にその要スキル値になってバグっているという点から、やはりもう少し MinTameSkill を中心に調査した方が無難な気がします。
とりあえず、バグっているゴキをテスト用にほしさんが提供してくださるようで良かったです。
うちでは MinTameSkill と CurrentTameSkill を同時に治療したら効果あったんですけどね・・・。うーむ。
※ 以下は、今回の問題とは直接関係なく、プログラミングの余談です。
ご存知と思いますが、if文の条件内で A || B() という表現で関数呼び出しをしていると、コンパイラによっては、A の条件が成立した時点で B を実行しないコンパイラもあれば、A が成立しても、B() もとりあえず実行してくれるコンパイラもあります。
ここで問題なのは、後者のコンパイラの場合、profile == null であっても .HasCustomized() を実行してしまう点です。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板