U系にてVerを問わず、マップ移動時に追加移動処理の場所でエラーがでました。
現状他のユーザの方を呼びこんでの実験だったので006では>534>532の線もあり、
004・005での検証でした。前Verでの報告申し訳御座いません。
main.pas
if (tc.MMode = 0) and (tm.gat[NextPoint.X][NextPoint.Y] <> 0) then begin
>>536
やっぱり私の方では出ませんね…。
とりあえず調べる点は
if (tc.MMode = 0) and (tm.gat[NextPoint.X][NextPoint.Y] <> 0) then begin
だと、tcがnilかどうかとNextPointがgatの最大より大きくないか、
tn.Map := ts.Map;
ならtsがnilでないか。
main.pas
//アイテム&スキル効能地処理
k := k + NPCAction(tm,tn,Tick)
箇所にてマグヌスを使い複数の敵を当てた時にエラーが発生致しました。
U0x007cではDec(tn.Count);の位置でデバッガがストップします。
複数の敵が重なった時、マグヌスが消える際の値がおかしくなっているものではと思い、
置き換えて再度テストして見ましたが、上記の効能地の場所にてエラーが起きました。
此方で書き換えたものは$84: //マグヌス以下を
DamageProcess1(tm, tn.CData, ts1, dmg[0], Tick);
if tn.Count >= 1 then Dec(tn.Count);
if tn.Count <= 0 then begin
DelSkillUnit(tm, tn);
に置き換えましたが、上記エラーを含め問題・修正がありましたら
ご意見ご対処等お聞き出来れば幸いです。宜しくお願い致します。
>初心者スレ120様
いつもご意見・修正等有難う御座います。
U0x007cにてポータルが展開せずSPはそのまま消費された状態になっていたのは
此方のスレを読み返して見ると>>566で書かれていた事はこれを差していたのですね。 >>572
はい、書かれました通りです。実力不備な点もあり、曖昧に書いてしまい申し訳御座いませんでした。 >>571
②項ですが、此方では2人以上で叩いている時、敵を撃破したらエラーになりました。
エラーの箇所はMain.pasの
if (tc1.PartyName = '') or (tpa.EXPShare = 0) then begin
でデバッガストップしました。
DB異常ではないと思うので一応。
Weiss:U0x008a
skill_db:あぷろだ2の[Weiss046](THX!)
で、カート引っ張ってマップ移動すると範囲エラーが出ます。
Common.pas Line:1521
if (Option and 8) <> 0 then begin //カート
i := i + Skill[39].Data.Data1[Skill[39].EffectLV];
を
if (Option and 8) <> 0 then begin //カート
i := i + Skill[39].Data.Data1[Skill[39].Lv];
に修正すると動作しました。
ソースを詳しく追っているわけではないので、もしEffectLvがセットされて
呼び出される状況があったら申し訳ないですが。
死体ヒールが仕様なら…ということでちょっとコード書き換えました。
未テストなので自己責任で。
Main.pas Line:2905辺り(ずれてたらごめんなさい)
54: //リザレクション
begin
//if (tc1.Sit <> 1) or (tc1.HP > 0) then beginこれを
if (tc1.Sit <> 1) then begin //こっちに
更に、6,7行ほど下って
tc1.HP := tc1.HP + dmg[0];//これの後に
if tc1.HP > tc1.MAXHP then tc1.HP := tc1.MAXHP;//追加
これで死体ヒールをかけても蘇生出来ると思います。問題は、「死んだふり」中でも
蘇生で強制起立がかかるということでしょうか。
リザとヒールの問題なのですが、今の条件だと死んでいてもスキルがかかってしまうので
わたしはターゲットの判定を
if (tc1 <> nil) or ((tc1.HP = 0) and (MSkill <>54)) then begin
としています
わたしの古い記憶だと本サーバでは死体ヒールができなくなっていたような気がしましたので〜
>>615
うーむ。65さんもDisableSkillLimit辺りが怪しいという返答が来ているので、
SendCSkillList()のforループ先頭に
if (tc.ver2 <> 9) and (157 < i) then Break;
if (157 < i) and (i < 210) then Continue;
コレでも付けてみてください。
DisableSkillLimit関連で怪しいところはコレぐらいですし。