したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Weiss本体のバグ報告

522初心者スレ120:2003/06/11(水) 21:50 ID:Bn76qxno
>>521
回復速度について
CalcAbility()
〜省略〜
if td.HP2 <> 0 then begin //HP回復速度%
 HPDelayFix := HPDelayFix + 100 - td.HP2;
end;
if td.SP2 <> 0 then begin //SP回復速度%
 SPDelayFix := SPDelayFix + 100 - td.SP2;
end;

CalcStat()
〜省略〜
for i := 0 to 3 do begin
 HPDelayFix := 0;
 SPDelayFix := 0;
end;
〜省略〜
j := 100 - HPDelayFix;
if j < 0 then j := 0;
k := 100 - SPDelayFix;
if k < 0 then k := 0;
for i:=0 to 3 do begin
 HPDelay[i] := HPDelay[i] * Cardinal(j) div 100;
 if HPDelay[i] < 150 then HPDelay[i] := 150;
 SPDelay[i] := SPDelay[i] * Cardinal(k) div 100;
 if SPDelay[i] < 150 then SPDelay[i] := 150;
end;
該当個所は解ると思うのでこれに差し替えてください…。

PT分配エラーについては
if tpa.Member[i].Map = Map then Inc(m);

tc1 := tpa.Member[i];
if tc1 <> nil then begin
if tc1.Map = Map then Inc(m);
にして、同様に
if tpa.Member[i].Map = Map then CalcLvUP(tpa.Member[i],l,w);

tc1 := tpa.Member[i];
if tc1 <> nil then begin
if tc1.Map = Map then CalcLvUP(tc1,l,w);
に換えてください。

リミットについては
MonsterDie()内の
if DisableLevelLimit or (tc1.BaseLV < 99) then

if DisableLevelLimit or ((tc1.Job = 0) and (tc1.JobLV < 10)) or ((tc1.Job <> 0) and (tc1.JobLV < 50)) then
の条件分岐を外して、
CalcLvUP()内の
tc1.BaseEXP := tc1.BaseEXP + EXP;

if DisableLevelLimit or (tc1.BaseLV < 99) then
 tc1.BaseEXP := tc1.BaseEXP + EXP;
に、
tc1.JobEXP := tc1.JobEXP + JEXP;

if DisableLevelLimit or ((tc1.Job = 0) and (tc1.JobLV < 10)) or ((tc1.Job <> 0) and (tc1.JobLV < 50)) then
 tc1.JobEXP := tc1.JobEXP + JEXP;
にしてください。

私の環境では同時接続が出来ないのでPTテストが出来ません。_| ̄|○
MVPの処理については忘れてました…。
回復速度式についてはまた間違ってたらすません。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板