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

【Weiss】技術的なスレ

139:2003/04/08(火) 12:06 ID:abWkhjZM
Database.pas
------------
【implementation 節】

■procedure DataLoad();
//------------------------------------------------------------------------------
-//***スキルデバッグ用***
-if sl.Count = 1 then begin
-for i := 1 to 65 do begin
-tc.Skill[i].Lv := tc.Skill[i].Data.MasterLV;
-end;
-for i := 90 to 91 do begin
-tc.Skill[i].Lv := tc.Skill[i].Data.MasterLV;
-end;
-tc.Skill[93].Lv := tc.Skill[93].Data.MasterLV;
-for i := 126 to 141 do begin
-tc.Skill[i].Lv := tc.Skill[i].Data.MasterLV;
-end;
-{
-for i := 142 to 157 do begin //韓国桜井専用
-tc.Skill[i].Lv := tc.Skill[i].Data.MasterLV;
-end;
-}
-end;
//------------------------------------------------------------------------------

Common.pas
----------
【implementation 節】
//--------------------------------------------------------------------------
// 関数定義
+procedure CalcSkill(Socket: TCustomWinSocket; tc:TChara; Tick:cardinal = 0);
//--------------------------------------------------------------------------
+procedure CalcSkill(Socket: TCustomWinSocket; tc:TChara; Tick:cardinal = 0);
+var
+i, j, k:integer;
+b:byte;
+begin
+//スキル送信
+WFIFOW( 0, $010f);
+j := 0;
+for i := 1 to 157 do begin
+WFIFOW( 0+37*j+4, i);
+WFIFOW( 2+37*j+4, tc.Skill[i].Data.SType);
+WFIFOW( 4+37*j+4, 0);
+WFIFOW( 6+37*j+4, tc.Skill[i].Lv);
+if tc.Skill[i].Lv <> 0 then
+WFIFOW( 8+37*j+4, tc.Skill[i].Data.SP[tc.Skill[i].Lv])
+else
+WFIFOW( 8+37*j+4, tc.Skill[i].Data.SP[1]);
+WFIFOW(10+37*j+4, tc.Skill[i].Data.Range);
+WFIFOS(12+37*j+4, tc.Skill[i].Data.IDC, 24);
+b:= 0;
+if (tc.SkillPoint = 0) or (tc.Skill[i].Lv = tc.Skill[i].Data.MasterLV) then begin
+b := 0;
+end else if (((i>=1)and(i<=65)) or (i=90) or (i=91) or (i=93) or ((i>=126)and(i<=141))) then begin
+b := 1;
+for k := 0 to 4 do begin
+if (tc.Skill[i].Data.ReqSkill[k] <> 0) and (tc.Skill[tc.Skill[i].Data.ReqSkill[k]].Lv < tc.Skill[i].Data.ReqLV[k]) then begin
+b := 0;
+continue;
+end;
+end;
+end;
+WFIFOB(36+37*j+4, b);
+Inc(j);
+end;
+WFIFOW( 2, 4+37*j);
+Socket.SendBuf(buf, 4+37*j);
+
+//スキルポイント送信
+WFIFOW( 0, $00b0);
+WFIFOW( 2, $000c);
+WFIFOL( 4, tc.SkillPoint);
+Socket.SendBuf(buf, 8);
+end;
//--------------------------------------------------------------------------


新着レスの表示


名前: E-mail(省略可)

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

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

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

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