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

【Weiss】バージョンアップ報告スレ

100naru:2003/06/04(水) 22:41 ID:q7XwYfmU
player.txtの行末にカンマ2個付け足してもとりあえずできますね。

10134:2003/06/07(土) 02:38 ID:omuTQbiY
[041.zip]
※パッチではなくコードだけの提供です
※不具合があるのでu0x004のソースおよびchara.txt,player.txtのバックアップを忘れずにお願いします

u0x004にコード.txt内のコードを適宜追加してください
・パーティー機能

102名無しさん:2003/06/07(土) 19:13 ID:bnd6hNRE
>>101
ちょっと気になったんですが、コード.txt内に
##############
#database.pas#
##############
が2つあったんですが、2つ目の
##############
#database.pas#
##############

=================================================================================
■procedure sv3PacketProcess(Socket: TCustomWinSocket);
=================================================================================
というところは、「databese.pas」ではなく「game.pas」の方に追加で良いんですよね?
「database.pas」の方を探しても見つからなかったもので。

コード修正の手伝いの書き込みじゃなくて、すみません・・・

10334:2003/06/07(土) 19:27 ID:Qr8pxrwE
>>102
申し訳ないです。コピペして直すの忘れていたみたいです
アルファベット順にならんでるので二つdatabase.pasに関するものがあるとすれば
上が本来のdatabase.pasに追加すべきもの
下の方がgame.pasに追加すべきものとなっているはずです
修正しておきます 指摘ありがとうございます

104名無しさん:2003/06/07(土) 19:43 ID:dLfT3nwc
$007d: //MAPロード完了以下

tc.Login := 2;
+{パーティー機能追加}
SendPartyList(tc);←ここ
+{パーティー機能ココまで}

一箇所+が抜けてます
わかるとは思いますが

105Cardinal:2003/06/08(日) 22:02 ID:QCOfoYS6
[D-Weiss Alpha.$0100] あぷろだ1:046.zip
・自動データ保存/バックアップ機構追加
・player.txtのGMModeを有効にした(0=一般プレイヤー 2=GM&デバグコマンド利用可能)
・経路探索処理改良。モンスターが経路探索に失敗することのあった問題を修正。
・モンスターAI一部実装(詠唱反応、リンク)
・クライアントのバージョンにあった送受信パケットを送るようにした。
 (clientinfo.xmlのversionが100=iRO/110=jRO/121=kRO 2003/06/05現在)
・2-2次職に仮対応(データは2-1次職のものを流用しただけ)
・アクセスログをとるようにした。(logフォルダを作っておかないとエラーです)
・ホスト規制を行うようにした。
 (ホストは192.168.*.*等と指定。ただし第1,2オクテットに*は使えません)
・GUIのデザイン変更。要ComCtrlsXP。
・[script]set,checkの右辺にフラグを使えるようにした
・[script]additem,delitem,checkadditemのアイテムIDや数量に
 フラグを使えるようにした
・[script]viewpoint,input,random,optionのエラーメッセージの表記ミスを修正

(以下、[U0x001]<あぷろだ1:027.zip>より)
  ・攻撃速度式をみすとれ巣の新式に修正。
  ・TCharaのデータ構造を修正。
  ・最新韓桜井に一応対応。
  ・SkillLimit関連の修正。
  ・アイテムによるスキルの追加を実装。
  ・その他細々と修正・追加。
(以下、[U0x002]<あぷろだ1:028.zip>より)
  ・U0x001から細かい修正。
  ・リンクの実装。
  ・状態変化実装。(表示+α程度)
  ・その他細々と。
(以下、[U0x003]<あぷろだ1:030.zip>より)
  ・HP/SP自然回復速度向上カードの効果が出ない不具合を修正。
  ・インベーナム実装。
  ・FD実装。
  ・その他細々と。
(以下、<あぷろだ1:037.zip>より)
  ・BS製造スキルの実装
(以下、<あぷろだ1:038.zip>より)
  ・GMのアイテム製造の実装
  ・モンスター召還コマンドの実装
(以下、[U0x003b]<あぷろだ1:032.zip>より)
  ・[script]speed,die,ccolor,refineコマンド追加
(以下、[U0x004]<あぷろだ2:Weiss018.zip>より)
  ・special_db.txt追加
  ・微妙に最新韓桜井に対応

106Cardinal:2003/06/08(日) 22:05 ID:QCOfoYS6
補足説明。
diffが1個入ってますので必ず当ててください。
そのままだとコンパイルが通りません。
コンパイルエラーの出た箇所を修正しても、まともに動きません。

あと、clientinfo.xmlを必ず利用し、versionに適切な数値を指定してください。
versionを見て送るパケットを切り替えていますので、
HookConnectのみではおそらくまともに動きません。

あと、U0x00?系のパッチを一応取り込んだつもりですが、
取り込みが完全でないと思います。
動作確認よろしくお願いします。

107Cardinal:2003/06/08(日) 22:16 ID:QCOfoYS6
補足説明その2。
database、scriptは一切入ってませんので、各自ご用意お願いします。

108Cardinal:2003/06/08(日) 23:29 ID:QCOfoYS6
[D-Weiss Alpha.$0100-fix1] あぷろだ1:047.zip
・player.txtの読み込みに失敗する不具合を修正
・[script]InputNumberで0を指定できなかった不具合を修正
・[script]mesでメッセージ中にフラグの数値を表示できるようにした
・マップ移動の挙動がおかしい現象を修正

毎度のことながら、申し訳ないです・・・

109Cardinal:2003/06/09(月) 01:49 ID:oxguvbaw
[D-Weiss Alpha.$0100-fix2] あぷろだ1:049.zip
・[script]setで減算(-=)時、右辺がフラグだと計算が行われない不具合を修正
・[script]mes中の$charanameをキャラクター名に置き換えるようにした

110Cardinal:2003/06/09(月) 03:04 ID:oxguvbaw
[Alpha.$0100-fix3]
・武器レベルごとのボーナスが正しく計算されていない不具合を修正
・[script]setコマンドで左辺がフラグの時、
 乗算(*=)除算(/=)の計算がおかしくなる不具合を修正

_| ̄|○

111初心者スレ120:2003/06/09(月) 20:43 ID:NVli3mcw
[U0x005]あぷろだ1:051.zip
・34さんのあぷろだ1:041.zipのパーティ機能の追加。
・パーティ機能用に手続き追加。
・新2次のアイテム装備関連、スキルツリー関連を修正。
・イグ葉等用の手続きを追加。(現在使用するとバグる危険性大)

112Cardinal:2003/06/10(火) 10:41 ID:QtQUbaJs
[Alpha.$0100-fix4]
・GMアイテム製造、モンスター召還が動かない不具合を修正
 (player.txtのGMModeを2にしないとコマンドは使えません)
・他者にスキルを掛けた場合自分の方にアイコンが表示されてしまう不具合を修正
・カード挿入の際に未鑑定の装備にカードが挿せる不具合を修正
・/resetskillコマンドで余っているスキルポイントが消える不具合を修正
・敵の攻撃がすべてミスになってしまっていた不具合を修正
・NPCとモンスターが同マップ内に配置されている場合、
 NPCの表示名がおかしくなる不具合を修正
・[script]checkitemコマンドが範囲エラーで使えない問題を修正
・[script]getitemamountコマンドを追加

113Cardinal:2003/06/10(火) 10:42 ID:QtQUbaJs
補足説明。
・「ComCtrlsXP」コンポーネントにおいて、
 タブの切り替えなどでエラーが出た場合、エラーがでた場所の、
 DrawThemeParentBackground(LParam,WParam,nil);
 を
 DrawThemeParentBackground(HWND(LParam),HDC(WParam),nil);
 に置き換えれば直ります。

114Cardinal:2003/06/10(火) 10:54 ID:QtQUbaJs
補足説明その2。
というか、$0100を出してからずっと言い忘れてましたが・・・
job_db1、job_db2について、読み込む行数を13から21行に増やしてます。
足りない8行分は適当に前の行をコピーしておいてください。

115Cardinal:2003/06/11(水) 03:04 ID:cvr54A2w
[Alpha.$0100-fix5] あぷろだ1:053.zip
・2人以上でログオンし、お互いが見える位置で移動すると
 片方にクライアントエラーが出る不具合を修正
・武器製造で、製造者のIDが正しく記録されていなかった不具合を修正
・[script]speedでフラグを使えるようにしました。
 (ccolor等一部のコマンドはフラグを使えません)

あああああ・・・_| ̄|○

116Cardinal:2003/06/11(水) 03:09 ID:cvr54A2w
>>115
・[script]speedでフラグを使えるようにしました。

使えるようになってませんでした。
ちょっと吊ってきます・・・

117初心者スレ120:2003/06/13(金) 20:03 ID:16AIVt7I
[U0x006]あぷろだ1:055.zip
・カード等による回復速度補正式の修正
・AddSkillではなくSkill.Cardを利用するように修正
・公平分配時のバグの修正
・回復力向上の回復量を修正
・Player.txt、Chara.txtをD系の書式に修正

やっと暇が出来た…。

11834:2003/06/15(日) 13:31 ID:ygW.7I8s
[コード]057.zip
・カート機能

やっと書きこめるようになった…。

119名無しさん:2003/06/20(金) 00:24 ID:M4aHUcRA
バグ報告の538の者なのですが〜
54: //リザレクション
begin
if MTargetType = 1 then begin
//対プレイヤー
if (tc1.Sit <> 1) or (tc1.HP > 0) then begin
MMode := 0;
Exit;
end else begin
dmg[0] := ((tc1.MAXHP * 15 * (MUseLV - 1)) div 100) + 1;
tc1.Sit := 0;
tc1.HP := tc1.HP + dmg[0];
SendCStat1(tc1, 0, 5, tc1.HP);
//パケ送信
WFIFOW( 0, $011a);
WFIFOW( 2, MSkill);
WFIFOW( 4, dmg[0]);
WFIFOL( 6, MTarget);
WFIFOL(10, PID);
WFIFOB(14, 1);
SendBCmd(tm, tc1.Point, 15);
DecSP(tc, MSkill, MUseLV);
SkillProcessType := 0;
WFIFOW( 0, $0148);
WFIFOL( 2, tc1.PID);
WFIFOW( 6, 100);
SendBCmd(tm, tc1.Point, 8);
end;
end else begin
if ts.view1 = 2 then k1 := 21
else k1 := ts.Data.Element;
if (Random(1000) < MUseLV * 20 + Param[3] + Param[5] + BaseLV + Trunc((1 - HP / MAXHP) * 200)) and (ts.Data.MEXP = 0) then begin
dmg[0] := ts.HP;
end else begin
dmg[0] := (BaseLV + Param[3] + (MUseLV * 10)) * ElementTable[6][k1] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
end;
if k1 mod 20 = 9 then begin
//対アンデッド
SendCSkillAtk1(tm, tc, ts, Tick, dmg[0], 1);
SkillProcessType := 1;
end else begin
DecSP(tc, MSkill, MUseLV);
SkillProcessType := 0;
end;
end;
end;
でリザをつくってみました
あとTfrmMain.CharaSkill()の//指定対象or即時発動//対プレイヤーのところに
and (MSkill <>54)
の条件を付け足すことでできました
パケットの内容があんまり理解できていないので他のを組み合わせて作りました
HPの回復量の計算がめちゃくちゃですのでどなたか修正おねがいします

120119:2003/06/20(金) 00:33 ID:M4aHUcRA
あと、
143: //死んだフリ
begin
if tc1.Sit = 1 then begin
tc1.Sit := 0;
WFIFOW( 0, $0148);
WFIFOL( 2, tc1.PID);
WFIFOW( 6, 100);
SendBCmd(tm, tc1.Point, 8);
end else begin
tc1.Sit := 1;
WFIFOW(0, $0080);
WFIFOL(2, tc.PID);
WFIFOB(6, 1);
Socket.SendBuf(buf, 7);
end;
SkillProcessType := 0;
end;
で、一応死んだフリです。
本物みたことないのでわからなかったです
リザのことですがskill_dbのRangeを1→9に変更してください

ACとセンチュアリ使ってみたいですが難しそうですね
センチュアリは効果範囲の設定が大変そう・・・

121119:2003/06/20(金) 01:16 ID:M4aHUcRA
これも見たことないので
142: //応急手当
begin
dmg[0] := 5;
tc.HP := tc.HP + dmg[0];
if tc.HP > tc.MAXHP then tc.HP := tc.MAXHP;
SendCStat1(tc, 0, 5, tc.HP);
//パケ送信
WFIFOW( 0, $011a);
WFIFOW( 2, MSkill);
WFIFOW( 4, dmg[0]);
WFIFOL( 6, MTarget);
WFIFOL(10, PID);
WFIFOB(14, 1);
SendBCmd(tm, tc.Point, 15);
DecSP(tc, MSkill, MUseLV);
SkillProcessType := 0;
end;
です。
skill_dbのTypeを4にしないとできません、ごめんなさい

122code:2003/06/20(金) 16:37 ID:Ku9V5yy2
119さんの死んだふりについて。
 死んだふりってsit(座る)に値1つ足しただけで実現しませんでしたっけ?
 死んだふりというより、これって死んでませんか?(^^;

123119:2003/06/21(土) 17:28 ID:CYCFqiYQ
>>122
ごめんなさい、ただdieとaliveを利用しただけでしたので・・・><
他のスキルも無駄があると思いますのでどなたか直していただけるとうれしいです
あぷろだ2にskill_dbをアップしたのですが、おそらくWeiss033のものよりも古いものを使用していますので、
プリーストのところだけ使用してください
common.pas
SendCSkillList()
{修正}
if (not tc.Skill[i].Data.Job[tc.Job]) and (not tc.Skill[i].Card) and (not DisableSkillLimit) then continue;
if ((290 < i) and (i < 304)) then Continue;
{修正ココまで}
のところを
{修正}
if (not tc.Skill[i].Data.Job[tc.Job]) and (not tc.Skill[i].Card) and (not DisableSkillLimit) and ((i<>12) or (tc.Job<>8)) then continue;
if ((290 < i) and (i < 304)) then Continue;
{修正ココまで}
にして
{アイテム製造修正ココまで}
のすぐあとに
if (tc.Job = 8) and (i = 12) then begin
tc.Skill[i].Data.ReqSkill[0] := 68;
tc.Skill[i].Data.ReqLV[0] := 4;
tc.Skill[i].Data.ReqSkill[1] :=70;
tc.Skill[i].Data.ReqLV[1] := 3;
end;
とすることでプリーストでSWが使用できます。

あとリザの回復計算は
dmg[0] := ((tc1.MAXHP * tl.Data1[MUseLV]) div 100) + 1;
だと思います

124119:2003/06/21(土) 17:33 ID:CYCFqiYQ
main.pasに
main
75: //グロリア
begin
tc1 := tc;
SkillProcessType := 5;
end;

CalcSkill()に
//グロリア(LUK+)
if Skill[75].Tick > Tick then begin
Bonus[5] := Bonus[5] + byte(Skill[75].Effect1);
end;
を追加することでグロリアが使用できます。
ただ、他のスキルもそうなのですが、詠唱時間がわからなかったため、skill_dbの値はエンジェと同じにしてます。

それからホーリーライトはボルト系のところに156を追加ではだめでしょうか?

125初心者スレ120:2003/06/21(土) 20:17 ID:cCrqqm/E
突っ込み一つ。
>if (tc.Job = 8) and (i = 12) then begin
>tc.Skill[i].Data.ReqSkill[0] := 68;
>tc.Skill[i].Data.ReqLV[0] := 4;
>tc.Skill[i].Data.ReqSkill[1] :=70;
>tc.Skill[i].Data.ReqLV[1] := 3;
>end;
これやると確かにプリが使えるようになりますが、逆にマジ系が使えなくなります。
スキルツリーについては現状の方式では矛盾が幾つか出るのでどうしようか悩み中。

126119:2003/06/22(日) 00:41 ID:HniCHt.A
>>初心者スレ120様
if (not tc.Skill[i].Data.Job[tc.Job]) and (not tc.Skill[i].Card) and (not DisableSkillLimit) and ((i<>12) or (tc.Job<>8)) then continue;
でマジシャンの場合を回避したつもりだったのですがだめでしょうか・・・

79: //マグヌス
begin
for j1 := 1 to 7 do begin
for i1 := 1 to 7 do begin
if ((i1 < 3) or (i1 > 5)) and ((j1 < 3) or (j1 > 5)) then Continue;
xy.X := (MPoint.X) -4 + i1;
xy.Y := (MPoint.Y) -4 + j1;
tn := SetSkillUnit(tm, PID, xy, Tick, $84, tl.Data2[MUseLV], tl.Data1[MUseLV] * 1600);
tn.CData := tc;
tn.MUseLV := MUseLV;
end;
end;
DecSP(tc, MSkill, MUseLV);
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, PID);
WFIFOW( 8, 10);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SkillProcessType := 0;
end;

TfrmMain.NPCAction()の$7f: //ファイアーウォール処理のあとに
$84: //マグヌス
begin
if ts1.view1 = 2 then m := 21
else m := ts1.Data.Element;
if (m mod 20 = 9) or ((ts1.Data.Race = 6) and (m <> 21)) then begin
//ダメージ算出
dmg[0] := tn.CData.MATK1 + Random(tn.CData.MATK2 - tn.CData.MATK1 + 1) * tn.CData.MATKFix div 100;
dmg[0] := dmg[0] * (100 - ts1.Data.MDEF) div 100; //MDEF%
dmg[0] := dmg[0] - ts1.Data.Param[3]; //MDEF-
if dmg[0] < 1 then dmg[0] := 1;
dmg[0] := dmg[0] * ElementTable[tn.CData.Skill[79].Data.Element][29] div 100;
if dmg[0] < 0 then dmg[0] := 0;
//ダメージパケ送信
WFIFOW( 0, $0114);
WFIFOW( 2, 18);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, 0);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, 1);
WFIFOW(28, 1);
WFIFOB(30, 4);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tn.CData, ts1, dmg[0], Tick);
Dec(tn.Count);
if tn.Count = 0 then begin
DelSkillUnit(tm, tn);
end;
end;
end;
でマグヌスが使用できるのですが、わたしの理解不足でファイアーウォールの//ここの処理がうまくいくかどうか謎
のDec(k)以降の意味がよくわからなかったので処理が足りないかもしれません

127119:2003/06/22(日) 01:37 ID:HniCHt.A
書くの忘れちゃいました
skill_dbのマグヌスの持続時間を5,6,7,...,13,14にしないと長すぎてしまいますので〜
あとセンチュアリは表示はできるのですが、わたしには処理ができないです・・・
どこかのマスに人が入ったら全部のマスのカウントを減らして〜とかができませんでした><

12834:2003/06/22(日) 05:49 ID:ILgm5MaA
ツッコミを少々

for j1 := 1 to 7 do begin
for i1 := 1 to 7 do begin
if ((i1 < 3) or (i1 > 5)) and ((j1 < 3) or (j1 > 5)) then Continue;
xy.X := (MPoint.X) -4 + i1;
xy.Y := (MPoint.Y) -4 + j1;

これだと画面端でやるとサーバとまると思います

if (xy.X < 0) or (xy.X >= tm.Size.X) or (xy.Y < 0) or (xy.Y >= tm.Size.Y) then continue;
こんな感じで範囲外への設置を回避しないとだめです

//ダメージパケ送信
WFIFOW( 0, $0114);
WFIFOW( 2, 18);

ここも18だとFWhit時のエフェクトになるんで
79に修正ってところでしょうか

あと細かいことですが
hit処理が1回hit,ダメージはMATK*SkillLVという形ではなく
MATK*1の攻撃をディレイなくSkillLV回hitということにしてるので
弱めの敵が踏んだ場合に最大で1マスにて10匹処理できることになります

129初心者スレ120:2003/06/22(日) 07:05 ID:1XTMHwy.
Skill[i].Dataの中身SkillDBは、鯖に接続しているキャラ全部同じモノなんですよ。
なので条件分岐でマジ系を避けようともプリが居たらそれだけでマジ系が使えなくなります。
まあ個人で使う分にはいいのですが。

あとSkillDBやItemDB、MobDBはDatabase以外で書き換えてはいけません。
コレは定義なので。

130名無しさん:2003/06/22(日) 19:10 ID:HobETsmk
更なる突込みを
確かマグヌスの効果範囲って

□□■■■■□□
□□■■■■□□
■■■■■■■■
■■■■●■■■
■■■■■■■■
■■■■■■■■
□□■■■■□□
□□■■■■□□

じゃありませんでしたっけ?

for j1 := 1 to 8 do begin
for i1 := 1 to 8 do begin
if((i1 < 3) or (i1 > 6)) and ((j1 < 3) or <j1 > 6)) then continue;
if(xy.X < 0) or (xy.X >= tm.Size.X) or (xy.Y < 0) or (xy.Y >= tm.Size.Y) then continue;
xy.X := (tc.MPoint.X) -4 + i1;
xy.Y := (tc.MPoint.Y) -4 + j1;

って感じかな?

サンクチュアリに関しては
複数のNPCDataをひとつにまとめて〜のような処理をしないと
無理っぽいかなぁ

13134:2003/06/22(日) 20:42 ID:ILgm5MaA
>>130
それは表示上のことであって
119氏の配置で正解です

サンクチュアリは
持続回数、持続時間をカウントするマスターユニットのようなものを用意してやる必要性
個々のPC,MOBにhitディレイを用意してやる必要性があるため
おそらくQMとならんで実装が困難&他の部分に与える影響の大きいスキルの1つだと思います

132130:2003/06/22(日) 23:15 ID:HobETsmk
カン違いしてました
ゴメンナサイ_| ̄|○

で・・・新2次職スキルについてですが

クルセのグランドクロスを実装しようにも
相手選択のアクティブスキルとしてなら実装できるのですが
どうにも本来(?)の自分中心のスキルとして(キリエやアンゼの如く)
実装しようとするとスキルエフェクトが表示されません
ってことは敵選択指定のスキルってことですよね?

思い込み&数枚のSSからスキルを実装しようというにも限界が_| ̄|....○
どこかに韓国サクライ情報がのってるいいサイトないかなぁ

133119:2003/06/22(日) 23:53 ID:N0534wRk
>>初心者スレ120様
はう、SkillDB共通なのですね・・・
接続者ごとにロードされてるものと思ってましたTT
66: //イムポシティオ_マヌス
begin
if MTargetType = 0 then begin
MMode := 0;
Exit;
end;
SkillProcessType := 3;
end;
とcommon.pas
//イムポシティオ_マヌス(ATK+)
if Skill[66].Tick > Tick then begin
ATK[0][3] := ATK[0][3] + byte(Skill[66].Effect1);
ATK[1][3] := ATK[1][3] + byte(Skill[66].Effect1);
end;
を追加でイムポシティオ_マヌスです。
ATKパラメータがよくわからなかったので3に追加してしまいました
不都合があれば修正お願いします〜
サンクはTick mod 100=0で約1秒ごとのダメージと対象NPC周辺の$83NPCすべてのカウントを減らすことで
敵に対する処理はそこそこマネできたのですが、これ以上できませんでした・・・

134119:2003/06/23(月) 00:11 ID:ZBiPzx3M
>>34
hit処理はホントのマグヌスが当たったところを見たことなかったので情報サイトの説明を勝手に解釈して処理してしまいましたf^_^;
あとで修正します〜
>>130
新2次職スキル実装がんばってくださいね
未だにパケットの意味があんまり理解できていないわたしは絶対むりですね。。
45: //集中力向上
に155を追加して
common.pas
//大声歌唱(STR+)
if Skill[155].Tick > Tick then begin
Bonus[0] := Bonus[0] + byte(Skill[155].Effect1);
end;
を追加で大声歌唱です。
二つとも他のスキルと処理変わらないので載せるようなものではないですけど・・

1350PSC0/pc:2003/06/23(月) 10:26 ID:U777tjP2
U0x006 をベースにペットを実装してみました。
あぷろだ1の60に上げさせていただきます。
Delphi を触るのもエミュ鯖を触るのも初めてなので、至らないところは多々あると思います。叱責大歓迎。

136名無しさん:2003/06/23(月) 16:48 ID:/d/TsPkk
とりあえず乙カレー(=゚ω゚)ノ様です

137code:2003/06/23(月) 23:04 ID:gdspajRk
U0x006をベースに
 アスペルシオ(見た目だけ?…とりあえず)
 キリエエルレイソン(効果自体がちょっと怪しいです…)
 聖体降臨(効果は出るんですが…エフェクトがまだ…)
 マニピカット(見た目だけ?…とりあえず)
追加してみました(汗
あぷろだ1の62に上げさせていただきましたm(__)m

1380PSC0/pc:2003/06/24(火) 12:00 ID:E5BaMyV.
追記
現在、ペットの捕獲は必ず成功するようになっています。
変えたい場合は、Game.pas の、受信パケ $019f を処理している所を適当に書き換えてください。
個人的には、リアルラック依存ではなく、キャラの LUK やモンスターの HP 減少などによって、捕獲率が変動すると面白いと思いますが。

それと、Delphi についてもエミュ鯖についてもまったくの無知で、なんだかわからないままにいじってしまった部分もあるので、
一言いただけると嬉しいです。
厚かましいお願いではありますが、どなたかお時間に余裕がある方、添削などしていただけると、次への励みにもなると思います。
どうか、よろしくお願いいたします。

139初心者スレ120:2003/06/26(木) 23:23 ID:g.zmfvL6
とりあえずバク報告はバグ報告スレ、スキル追加等は技術スレで。
…私もよく忘れますが。

[U0x007c]あぷろだ1:063.zip
・状態異常関連を修正
・あぷろだ1:057.zip 34さんのカート機能の追加修正
・HPR回復公式を修正
・SPR回復公式を技術スレ229のものに修正
・ルート機能の実装
・取り巻き半実装
・スキル関連を手続き・関数化等いろいろと
・Lovの修正
・UP報告スレのスキル機能の取り込み(一部のみ)

コードが上手くまとまらないので途中ですが上げました。
これ以上やってるとコードがさらにグチャグチャになりそうだったので。

140初心者スレ120:2003/06/26(木) 23:28 ID:g.zmfvL6
>>139 に追加。
・Script関連をD-Weiss Alpha.$0100 fix5のものに差し替え。

141初心者スレ120:2003/06/26(木) 23:30 ID:g.zmfvL6
>>139 にさらに追加。
・Script関連の差し替えにより一部プロパティ名をD系のものに変更。

うー。まだ書き忘れてそうな気が…。

1420PSC0/pc:2003/06/27(金) 00:43 ID:./seKGdg
ぺっとはかなりぐちゃぐちゃにしてしまって申し訳ないです。
自分で言うのもなんですが、取り込みは慎重に行っていただいたほうがいいかもしれません。
何せ、自分で書いたコードの意味がわかってなかったりしますので…

143code:2003/06/28(土) 10:59 ID:EQHGCClw
UO0x007cベースに
 0PSC0/pcさんのキューペット
プリスキル
 ホーリーライト
 イムポシティオ_マヌス
 アスペルシオ
 キリエエルレイソン(旧版)
 聖体降臨(未完成)
 マニピカット

商人スキル
 大声歌唱

の追加をしてみました。

※ただし、私もコードを完全に理解しているわけではないので、バグやミスもあるかも・・・・。
というわけで、危険物扱いにさせていただきますね(汗
あぷろだ2に[weiss037.zip]で上げさせていただきました。
(ちゃれんじゃーな方のみ推奨っぽ(汗

144名無しさん:2003/07/02(水) 15:47 ID:u8N4Ji5c
diffでの差分じゃなくてexeのパッチ上げてる人は何でですか?

145119(バージョンスレ):2003/07/02(水) 22:34 ID:vAsiUZZE
精錬NPC差分汚くてごめんなさい
main.pas
121: //FT
begin
xy.X := MPoint.X;
xy.Y := MPoint.Y;
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, ID);
WFIFOW( 8, MUseLV);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SetSkillUnit(tm, ID, xy, Tick, $96, MUseLV, tl.Data2[MUseLV] * 1000, tc);
SkillProcessType := 0;
end;

$96: //FT
begin
for i1 := -1 to 1 do begin
for j1 := -1 to 1 do begin
c := 0;
while (c >= 0) and (c < tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Count) do begin
ts1 := tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Objects[c] as TMob;
if ts1 = nil then begin
Inc(c);
continue;
end;
if (abs(ts1.Point.X - tn.Point.X) < 2) and (abs(ts1.Point.Y - tn.Point.Y) < 2) then begin
tc1 := tn.CData;
tl := tc1.Skill[121].Data;
dmg[0] := (tc1.Param[4] + 75) * (100 + tc1.Param[3]) div 100;
dmg[0] := dmg[0] * tn.Count;
if ts1.Stat1 = 2 then m := 21
else m := ts1.Data.Element;
dmg[0] := dmg[0] * ElementTable[tl.Element][m] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
if Random(100) < tn.CData.Skill[121].Data.Data2[tn.Count] then begin
if (ts1.Stat1 <> 2) then begin
ts1.nStat := 2;
ts1.BodyTick := Tick + tc1.aMotion;
end;
end;
tn.Tick := Tick;
WFIFOW( 0, $0114);
WFIFOW( 2, 121);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, tc1.aMotion);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, tn.Count);
WFIFOW(28, 1);
WFIFOB(30, 5);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tc1, ts1, dmg[0], tick);
if ts1.HP = 0 then dec(c);
end;
inc(c);
end;
end;
end;
end;

を追加することでフリージングトラップが使用できます
ダメージ、確率、NPCの番号などは適当です(本物見たことないので)

146code:2003/07/03(木) 13:03 ID:VdRk4kRY
144>>
すみません、Cygwin上でdiffで生成したファイルをwindows上でパッチしたら
正確にあたらなかったもので…。
2.3、パッチプログラムを試してみたんですがやっぱりダメだったので。
wdiffでのsfxパッチ上げてました…。exeでパッチ上げてるのはただそれだけの理由なんです。

147スクリプトスレ144:2003/07/03(木) 16:17 ID:xWPVsaBM
U0x007cベースであんま役に立たないと思いますが以下のdiffをあげときました。
NPC Scriptからoption, jobの変更を行った場合、変更が表示に反映されていなかったのを修正(したつもり)
iniから#コマンドをGM ID以外に許すかどうか設定出来るようにした。
iniから新規キャラクター作成時にスタート地点、セーブポイントを変更出来るようにした。

148スクリプトスレ144:2003/07/03(木) 16:18 ID:xWPVsaBM
>>147
うあ、すんません。うぷろだ1の67です。Λ||Λ

149119(バージョンスレ):2003/07/03(木) 22:14 ID:hs0WNdt2
>>初心者スレ120様
7cから状態変化にもTickがあったのですね〜
見落としていました・・・
修正ありがとうございます♪
16: //SC
begin
if MTargetType = 1 then begin
MMode := 0;
Exit; //PK不可
end;
//ダメージ算出
dmg[0] := MATK1 + Random(MATK2 - MATK1 + 1) * MATKFix div 100 * ( MUseLV + 100 ) div 100;
dmg[0] := dmg[0] * (100 - ts.Data.MDEF) div 100; //MDEF%
dmg[0] := dmg[0] - ts.Data.Param[3]; //MDEF-
if dmg[0] < 1 then dmg[0] := 1;
if ts.Stat1 = 2 then k1 := 21
else k1 := ts.Data.Element;
dmg[0] := dmg[0] * ElementTable[tl.Element][k1] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
//パケ送信
SendCSkillAtk1(tm, tc, ts, Tick, dmg[0], 1);
if Random(100) < tl.Data1[MUseLV] then begin
if (ts.Stat1 <> 1) then begin
ts.nStat := 1;
ts.BodyTick := Tick + tc.aMotion;
end;
end;
SkillProcessType := 1;
end;
でストーンカース追加です

150119(バージョンスレ):2003/07/03(木) 22:15 ID:hs0WNdt2
72: //リカバリー
begin
if MTargetType = 1 then begin
MMode := 0;
Exit; //PK不可
end else begin
if ts.Stat1 <> 2 then begin
k1 := ts.Data.Element;
if k1 mod 20 = 9 then begin
ts.ATarget := ID;
ts.ARangeFlag := false;
ts.AData := tc;
//パケ送信
WFIFOW( 0, $011a);
WFIFOW( 2, MSkill);
WFIFOW( 4, MUseLV);
WFIFOL( 6, MTarget);
WFIFOL(10, ID);
WFIFOB(14, 1);
SendBCmd(tm, ts.Point, 15);
SkillProcessType := 0;
//対アンデッド
if Boolean((1 shl 4) and ts.Stat2) then begin
ts.HealthTick[4] := ts.HealthTick[4] + 30000; //延長
end else begin
ts.HealthTick[4] := Tick + tc.aMotion;
end;
end;
end;
end;
end;
でリカバリーが追加されます
モンスターにのみ使用可能です

151119(バージョンスレ):2003/07/03(木) 22:18 ID:hs0WNdt2
76: //レックスデビーナ
begin
if MTargetType = 1 then begin
MMode := 0;
Exit; //PK不可
end else begin
if ts.Stat1 <> 2 then begin
ts.ATarget := ID;
ts.ARangeFlag := false;
ts.AData := tc;
//パケ送信
WFIFOW( 0, $011a);
WFIFOW( 2, MSkill);
WFIFOW( 4, MUseLV);
WFIFOL( 6, MTarget);
WFIFOL(10, ID);
WFIFOB(14, 1);
SendBCmd(tm, ts.Point, 15);
SkillProcessType := 0;
//対アンデッド
if Boolean((1 shl 2) and ts.Stat2) then begin
ts.HealthTick[2] := ts.HealthTick[2] + 30000; //延長
end else begin
ts.HealthTick[2] := Tick + tc.aMotion;
end;
end;
end;
end;
でレックス_ディビーナ追加できます
これでプリーストのスキルは結構使用できるようになったと思います

152119(バージョンスレ):2003/07/03(木) 22:22 ID:hs0WNdt2
レスすごく増えてしまいますが・・・
120: //フラッシャー
begin
xy.X := MPoint.X;
xy.Y := MPoint.Y;
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, ID);
WFIFOW( 8, MUseLV);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SetSkillUnit(tm, ID, xy, Tick, $96, MUseLV, tl.Data2[MUseLV] * 1000, tc);
SkillProcessType := 0;
end;

$96: //フラッシャー
begin
for i1 := -1 to 1 do begin
for j1 := -1 to 1 do begin
c := 0;
while (c >= 0) and (c < tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Count) do begin
ts1 := tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Objects[c] as TMob;
if ts1 = nil then begin
Inc(c);
continue;
end;
if (abs(ts1.Point.X - tn.Point.X) < 2) and (abs(ts1.Point.Y - tn.Point.Y) < 2) then begin
tc1 := tn.CData;
tl := tc1.Skill[121].Data;
dmg[0] := (tc1.Param[4] + 75) * (100 + tc1.Param[3]) div 100;
dmg[0] := dmg[0] * tn.Count;
if ts1.Stat1 = 2 then m := 21
else m := ts1.Data.Element;
dmg[0] := dmg[0] * ElementTable[tl.Element][m] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
if Random(100) < tn.CData.Skill[121].Data.Data2[tn.Count] then begin
if Boolean((1 shl 4) and ts1.Stat2) then begin
ts1.HealthTick[4] := ts1.HealthTick[4] + 30000; //延長
end else begin
ts1.HealthTick[4] := Tick + tc1.aMotion;
end;
end;
tn.Tick := Tick;
WFIFOW( 0, $0114);
WFIFOW( 2, 120);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, tc1.aMotion);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, tn.Count);
WFIFOW(28, 1);
WFIFOB(30, 5);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tc1, ts1, dmg[0], tick);
if ts1.HP = 0 then dec(c);
end;
inc(c);
end;
end;
end;
end;
でハンターのフラッシャーを追加です

153119(バージョンスレ):2003/07/03(木) 22:24 ID:hs0WNdt2
119: //SM
begin
xy.X := MPoint.X;
xy.Y := MPoint.Y;
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, ID);
WFIFOW( 8, MUseLV);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SetSkillUnit(tm, ID, xy, Tick, $95, MUseLV, tl.Data2[MUseLV] * 1000, tc);
SkillProcessType := 0;
end;

$95: //SM
begin
for i1 := -1 to 1 do begin
for j1 := -1 to 1 do begin
c := 0;
while (c >= 0) and (c < tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Count) do begin
ts1 := tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Objects[c] as TMob;
if ts1 = nil then begin
Inc(c);
continue;
end;
if (abs(ts1.Point.X - tn.Point.X) < 2) and (abs(ts1.Point.Y - tn.Point.Y) < 2) then begin
tc1 := tn.CData;
tl := tc1.Skill[121].Data;
dmg[0] := (tc1.Param[4] + 75) * (100 + tc1.Param[3]) div 100;
dmg[0] := dmg[0] * tn.Count;
if ts1.Stat1 = 2 then m := 21
else m := ts1.Data.Element;
dmg[0] := dmg[0] * ElementTable[tl.Element][m] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
if Random(100) < tn.CData.Skill[121].Data.Data2[tn.Count] then begin
if (ts1.Stat1 <> 4) then begin
ts1.nStat := 4;
ts1.BodyTick := Tick + tc1.aMotion;
end;
end;
tn.Tick := Tick;
WFIFOW( 0, $0114);
WFIFOW( 2, 119);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, tc1.aMotion);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, tn.Count);
WFIFOW(28, 1);
WFIFOB(30, 5);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tc1, ts1, dmg[0], tick);
if ts1.HP = 0 then dec(c);
end;
inc(c);
end;
end;
end;
end;
でサンドマン追加です。
あとフリージングトラップは$97っぽいです

154119(バージョンスレ):2003/07/03(木) 22:40 ID:hs0WNdt2
ワナを使用して1セルにたくさんのモンスターがいるときに攻撃をしていると
無限ループに入ってしまうようなのですが、原因がちょっとわかっていません><
わたしが確認したのはアングルスネアでですが、どなたか修正してくださるとうれしいです
$91: //AS
begin
if tn.Count > 0 then begin
for i1 := -1 to 1 do begin
for j1 := -1 to 1 do begin
c := 0;
while (c >= 0) and (c < tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Count) do begin
ts1 := tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Objects[c] as TMob;
if (ts1 = nil) then begin
Inc(c);
continue;
end;
if (abs(ts1.Point.X - tn.Point.X) < 2) and (abs(ts1.Point.Y - tn.Point.Y) < 2) then begin
tc1 := tn.CData;
if (ts1.Stat1 <> 5) then begin
ts1.nStat := 5;
ts1.BodyTick := Tick + tc1.aMotion;
end;
tn.Count := 0;
tn.Tick := Tick;
ts1.Point := tn.Point;
WFIFOW(0, $0088);
WFIFOL(2, ts1.ID);
WFIFOW(6, ts1.Point.X);
WFIFOW(8, ts1.Point.Y);
SendBCmd(tm, ts1.Point, 10);
end;
inc(c);
end;
end;
end;
if tn.Count = 0 then begin
DelSkillUnit(tm, tn);
end;
end;
end;

でアングルスネアが使用できます
あと、
DamageCalc1()の最後の方の状態1処理を
if ((ts.Stat1 = 2) or (ts.Stat1 = 4)) then begin
DamageProcess1()の最初のところの状態1処理を
if ((ts.Stat1 = 2) or (ts.Stat1 = 4)) and isBreak then begin
その下の方DebugOut.Lines.Add('(*゚∀゚)ノチンチコーレ!');の上を
else if (ts.pcnt <> 0) and (ts.Stat1 <> 5) then begin
cmdStartClick()の//状態1では行動不可のところを
if (ts.Stat1 <> 0) and (ts.Stat1 <> 5) then Continue;
if ts.Stat1 <> 5 then MobAI(tm,ts,Tick) else pcnt := 0;
としてください

155119(バージョンスレ):2003/07/03(木) 22:45 ID:hs0WNdt2
以上のスキルを使用するには
16,MG_STONECURSE,ストーンカース,1,10,25,24,23,22,21,20,19,18,17,16,,716,1000,,,9,2,24,28,32,36,40,44,48,52,56,60,30,30,30,30,30,30,30,30,30,30,,,66052,,,,,,,,,,,,,,,,,,,,,
72,PR_STRECOVERY,リカバリー,16,1,5,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,,256,,,,,,,,,,,,,,,,,,,,,
76,PR_LEXDIVINA,レックス_ディビーナ,1,10,20,20,20,20,20,18,16,14,12,10,,,,,,9,,30,35,40,45,50,55,60,60,60,60,,,,,,,,,,,,,256,24,1,,,,,,,,,,,,,,,,,,,
118,HT_SHOCKWAVE,ショックウェーブ_トラップ,2,5,45,45,45,45,45,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2048,117,1,,,,,,,,,,,,,,,,,,,
119,HT_SANDMAN,サンドマン,2,5,25,25,25,25,25,,,,,,,,,,,1,,150,120,90,60,30,,,,,,38,41,44,47,50,,,,,,,,2048,120,1,,,,,,,,,,,,,,,,,,,
120,HT_FLASHER,フラッシャー,2,5,12,12,12,12,12,,,,,,,,,,,1,,150,120,90,60,30,,,,,,38,41,44,47,50,,,,,,,,2048,115,1,,,,,,,,,,,,,,,,,,,
121,HT_FREEZINGTRAP,フリージング_トラップ,2,5,10,10,10,10,10,,,,,,,,,,,1,1,150,120,90,60,30,,,,,,38,41,44,47,50,,,,,,,,2048,120,1,,,,,,,,,,,,,,,,,,,
122,HT_BLASTMINE,ブラスト_マイン,2,5,10,10,10,10,10,,,,,,,,,,,1,3,1,1,1,1,1,,,,,,10,8,6,4,2,,,,,,,,2048,116,1,119,1,121,1,,,,,,,,,,,,,,,

156119(バージョンスレ):2003/07/03(木) 22:48 ID:hs0WNdt2
123,HT_CLAYMORETRAP,クレイモアー_トラップ,2,5,15,15,15,15,15,,,,,,,,,,,1,1,1,1,1,1,1,,,,,,20,40,60,80,100,,,,,,,,2048,118,1,122,1,,,,,,,,,,,,,,,,,
124,HT_REMOVETRAP,リムーブ_トラップ,2,1,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,133120,116,1,,,,,,,,,,,,,,,,,,,
125,HT_TALKIEBOX,トーキ_ボックス,2,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2048,118,1,124,1,,,,,,,,,,,,,,,,,
130,HT_DETECTING,ディテクティング,4,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2048,45,1,127,1,,,,,,,,,,,,,,,,,
131,HT_SPRINGTRAP,スプリング_トラップ,1,5,10,10,10,10,10,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,2048,124,1,127,1,,,,,,,,,,,,,,,,,
が必要です
必要でないものも多いですが・・・
たくさんレス書いてしまってごめんなさい
この修正だとスタンや石化だと攻撃されてもそのままなのですが本当はどうなのでしょうか?

157code:2003/07/04(金) 11:15 ID:fqn2WsXQ
119さん
 早速、取り込ませていただきました。
 フリージングトラップとフラッシャーのラベルが
 $96で重複しているようですが、これは良いのでしょうか?

158code:2003/07/04(金) 11:18 ID:fqn2WsXQ
あ、すみません、もうかかれてましたね(汗
板汚しでしたm(__)m

159code:2003/07/04(金) 12:11 ID:fqn2WsXQ
UO0x007cベースにいろいろ取り込ませていただきましたm(__)m

※UO0x007cに対してのパッチです。
 0PSC0/pcさんのキューペット

アーチャースキル
 集中力向上

アコスキル
 ホーリーライト

シーフスキル
 石投げ

マジシャンスキル
 ストーンカース[119さん作]

ウィザードスキル
 メテオストーム(未完成)
 ストームガスト(未完成)

ブラックスミス
 ウェポンパーフェクション
 アドレナリンラッシュ
 オーバートラスト(未調整)
 マキシマイズパワー

プリスキル
 ホーリーライト
 イムポシティオ_マヌス [119さん作](65さんの指摘を反映)
 グロリア [119さん作](65さんの指摘を反映)
 リカバリー [119さん作]
 レックスデビーナ [119さん作]
 アスペルシオ
 キリエエルレイソン(旧版)
 聖体降臨(未完成)
 マニピカット

商人スキル
 大声歌唱 [119さん作]

ハンタースキル
 フリージングトラップ[119さん作]
 サンドマン[119さん作]
 フラッシャー[119さん作]
 ブラストマイン
 トーキーボックス

アサシンスキル
 グリムトゥース(未完成)
 エンチャントポイズン
 ポイズンリアクト
 ベノムダスト
 ベノムスプラッシャー

クルセイダー
 ホーリークロス[名無しさん作]

の追加をしてみました。いろいろやりすぎてミスもかなりありそうです。
バグやミス、記述漏れを見つけた方、修正お願いします。
あぷろだ2の[weiss047.zip]に上げさせていただきました。

※結構あいまいに書いた部分があったりするのでやっぱり危険物扱いかな(w
※人柱になってもいいよって人だけやってみてください(激汗

160名無しさん:2003/07/04(金) 13:27 ID:su9whBHA
>>159
おつかれさま…ですが
どういう環境でつくったパッチなのでしょうか。
0x0019からUx007cにしたものを使ってるのですがCRCエラーがでるんですよ
適用できないものでもかまわないのでdiff形式で出してもらえませんか?お願いします

161名無しさん:2003/07/04(金) 14:10 ID:OZlMf4VA
>>159
お疲れ様です
うちもcommon.pasでCRCエラーでますね。
旧版のweiss37ではCRCエラーは出なかったのですが…

それと集中力向上はかなり前から使えて効果もあったんですが実装済みじゃなかったのかな^^;

162名無しさん:2003/07/04(金) 14:48 ID:3Bsn9TuE
うーん

てか、本人以外であたった人いる?

163unix上でソースのみ追ってる人:2003/07/04(金) 15:04 ID:376Q9xXg
元々diffなんて、機械的にあたらなければ手動でパッチ可能なもんなんだし
exe配布なんてイヤガラセ以外なにものにも感じず。

164名無しさん:2003/07/04(金) 17:01 ID:fO7Qypys
Common.pasでエラーでますね・・・

MD5も一緒だからこれも作者の方の問題かな・・・・

165CygMaster:2003/07/04(金) 17:27 ID:tkhQsRMo
exeのパッチですか・・・。

何故DIFFじゃないのだろう?・・・

166名無しさん:2003/07/04(金) 18:06 ID:arWHcNJs
便乗ですみませんが、できればdiffはunified形式(diff -u)だとありがたいです。
修正しているソースにもパッチあたるし、見やすいので。

167名無しさん:2003/07/04(金) 18:36 ID:376Q9xXg
>>166
以前それ書いたら、diffで配ってる理由が
落して即実行タイプな人間を避けるのが理由だから
読み易くなるのなんて却下って言われちったよ。
勘弁して。

168名無しさん:2003/07/04(金) 18:57 ID:gtith2/o
何故exeかって作者が説明書いてるんだが・・
ログすら読まん馬鹿が多すぎるな此処は・・

169名無しさん:2003/07/04(金) 19:06 ID:fCsDM8q6
>168
とりあえずログ読む前にルールに目を通したほうがいいよ
ここは2chじゃないんだから

170名無しさん:2003/07/04(金) 19:07 ID:tkhQsRMo
>>168

ログに書いてあるのは読みましたが・・・・

「DiffだとWinでPATCH出来なかった」ってヤツでしょ?

171名無しさん:2003/07/04(金) 19:09 ID:gtith2/o
ログすら読まないんで嫌がらせだとか何でとか
diff形式にしろとか書き込んでるイカれた人間にマナーなんて認識あるのか?
つーか、2chにはまってるのはお前だろ、俺は興味無いって

172名無しさん:2003/07/04(金) 19:22 ID:fCsDM8q6
>171
はて、俺はdiff形式にしろなんて一言も言ってませんが

たしかに>163の嫌がらせって発言については同感ですね。
パッチあげた作者に失礼ですよ。

>つーか、2chにはまってるのはお前だろ、俺は興味無いって
それは俺に対してかな?まぁ興味が無いのは俺も同じなわけですが


これ以上やっても、無駄なんで失礼します

173名無しさん:2003/07/04(金) 19:27 ID:OZlMf4VA
興味あるないは関係なくすぐ煽り入れる人落ち着きましょう(つД`)

174名無しさん:2003/07/04(金) 20:15 ID:B5Cx3klo
いいんじゃん
揚げ足取りやめようよ
(*゚∀゚)ノチンチコーレ

175名無しさん:2003/07/04(金) 20:24 ID:376Q9xXg
>163で書いてるのは、patchがあたらんかったってログを読んだ上でだよ。
diffなら機械的にあてられなかったんなら、最悪手動でパッチあてりゃ
いいだろうと書いてるの。

.exeの場合動かせなかったりエラーが発生したらそれまでだろうが。

176名無しさん:2003/07/04(金) 20:26 ID:gtith2/o
>172お前がdiff形式にしろと書いてるなんざ書いてないだろ、ギャグに走るな(笑
つーか、興味無いなら何故2chの話題ふるんだ?お前の巣だから誘ってるのかい?

177名無しさん:2003/07/04(金) 20:27 ID:0KAfN12I
と、とりあえずexe形式でCRCエラーが出なかった人はいるの?

178名無しさん:2003/07/04(金) 20:45 ID:tkhQsRMo
>>177

Common.pasでCRCエラーでした。

179初心者スレ120:2003/07/04(金) 20:55 ID:2bGc5pRM
ポツリ一言。
exeパッチだとソースが同じでもコンパイルの仕方が違うとCRCエラーが出たりするんですよね。

さてと、diffあげろーと書くがいますが、一応今まで出ているものを取り込んでいるものなので
自分で実装できるはずです。
がんばりましょう。
めんどくせって人は待ちましょう。
そのうち私が取り込んでdiff出しますので。

あと、ここはアップ報告スレであって議論スレ等ではありませんよ。
続きはバグ報告か雑談で。

…半分寝ぼけているんで間違ったことかいてたらすません。

180名無しさん:2003/07/04(金) 21:06 ID:PzxYhJZc
自分で組み込めないくせにパッチ作者に文句言うクレクレ厨は放置で。

181Cardinal:2003/07/04(金) 23:25 ID:DapNlOHM
>>174
(*゚∀゚)ノチンチコーレ
なんだかとても懐かしかった。

最近何もしてない分際でこういうことを言うのはアレなんですが、
コードを書いたりデータを用意したりしてそれを公開して下さる方々は、
皆さん善意でやってます。給料が出てるわけじゃありません。
感謝こそすれど、そこに注文をつけたりというのはどうかなと。
#勿論、注文要望を聞く聞かないはコードを書いた方の自由ですけど。

182名無しさん:2003/07/04(金) 23:47 ID:DUFgWwvA
code氏が自分で作った部分に関してはここで一度も出ていないので
自分で取り込むためにコードが見たい。
exe版パッチではどうにもならないからせめてdiff形式でもいいからお願いします

これだけのことだったんですが
なんで荒れるんでしょうか。

183名無しさん:2003/07/05(土) 00:17 ID:jg9glRx2
クレクレには書かないと理解出来んか・・
彼が使用しているというWDiffっつうツールは
配布出来る差分は実行ファイルでしか吐き出せないんだよね、
DIFFファイルは書き出せないし
他のツールで作るとエラー吐くらしいのでDIFFで配れってのは無理な話だ。

集団でdiffにしろとか要望出す暇が有るなら皆で
エラー吐かないdiff作成ツールを教えてあげたらどうだい?
少しぐらい手を貸そうって思わんのかな・・
俺的にはwindiffがお勧めなわけだが

184削除しますた:削除しますた
削除しますた

185削除しますた:削除しますた
削除しますた

186名無しさん:2003/07/05(土) 00:45 ID:JEQgosEw
>>183
diffを作ったがうまく適用できない
したがってwdiffで配布した
という話なので
そのうまく適用できないものが見たいとお願いしたんです
人を貶める前にまず自分がちゃんと読解できてるのか、情報を集めるようにしてくださいよ

187名無しさん:2003/07/05(土) 00:49 ID:motzLncs
煽らない煽らない(;´Д`)
上手くあたらないと言う事はpatch.exeに問題があるんじゃないですかねむしろ・・・

とりあえず以降は
http://jbbs.shitaraba.com/computer/bbs/read.cgi?BBS=5402&amp;KEY=1047083238
雑談スレででも

188名無しさん:2003/07/05(土) 00:57 ID:jg9glRx2
>そのうまく適用できないものが見たい
後から書かれていない内容を書き足してまで揚げ足取るなって(笑

189名無しさん:2003/07/05(土) 01:54 ID:fP/dx3wY
>>186
さすがクレクレ厨、必死だな(;´Д`)

190名無しさん:2003/07/05(土) 02:03 ID:KL.IZEIo
>>189
>>187

191code:2003/07/05(土) 02:08 ID:VluUXKpk
はう…ごめんですm(_ _)m
ツールの扱いが不備なばかりにいろいろご迷惑をおかけして…

こちらで、動作テストの結果、半実装しているものに関して
バグがいろいろ出てしまったのでしばらくパッチアップ控えますね
windiff使ってみてるんですが…環境のせいですかねぇ…
うまく差分が取れないんですよ(;_; ショボーン
もう少しやってみます。

あ、あと書きミスったんですが047は037当てたあとにやってください。
こっちは私のコメントミスですm(_ _)m

192code:2003/07/05(土) 02:33 ID:VluUXKpk
とりあえず、diff出力うまくいかないんで…パッチアップ止めますね。
037に関してもdiffじゃ無いとダメとか、いらない議論の材料になってる
ようなので、公開止めときます。

まぁ、diffが出来次第アップする心積もりですが…
出来なかったら…パッチは出さないでおきますね。

193削除しますた:削除しますた
削除しますた

194名無しさん:2003/07/05(土) 03:25 ID:motzLncs
>>193
これリンクしちゃまずいかも・・・(;´Д`)
googleでいけるけどね・・・

195code:2003/07/05(土) 04:14 ID:VluUXKpk
名無しさんどうもです。
 やっぱり、うちの環境ではdiffは出来るけどパッチはあたらないという
 不思議な現象が出てますが。まぁ、一応diffとして出来たので上げときます。
 自分のところで戻せないものをUPするのは大変気が引けるのですが…。

 変更点は前のものと同じですが。止まったり桁あふれの関係で半実装のものは
 はずしました。

 前にも書きましたが
 ※結構あいまいに書いた部分があったりするのでやっぱり危険物扱いかな(w
 ※人柱になってもいいよって人だけやってみてください(激汗
 ※このパッチで起こった論争に関しては一切関与しませんのであしからず。

 あぷろだ2の[weiss044.zip]に上げさせていただきました。

196名無しさん:2003/07/05(土) 04:32 ID:motzLncs
>>195
おつかえさまですm(_ _)m
patch当て無事成功しました

ITEMDBは個人的には前のバルムンの馬鹿仕様も好きだったり(*´д`*)

197119(バージョンスレ):2003/07/05(土) 08:37 ID:bAFSrkxg
まだASで無限ループに入ってしまう原因がわかりません><
122: //BM
begin
xy.X := MPoint.X;
xy.Y := MPoint.Y;
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, ID);
WFIFOW( 8, MUseLV);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SetSkillUnit(tm, ID, xy, Tick, $8f, MUseLV, tl.Data2[MUseLV] * 1000, tc);
SkillProcessType := 0;
end;
と//ポータル発動前->発動後の任意の場所に
end else if tn.JID = $8f then begin
//ブラストマイン発動
for i1 := -1 to 1 do begin
for j1 := -1 to 1 do begin
c := 0;
while (c >= 0) and (c < tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Count) do begin
ts1 := tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Objects[c] as TMob;
if ts1 = nil then begin
Inc(c);
continue;
end;
if (abs(ts1.Point.X - tn.Point.X) < 2) and (abs(ts1.Point.Y - tn.Point.Y) < 2) then begin
tc1 := tn.CData;
tl := tc1.Skill[116].Data;
dmg[0] := (tc1.Param[4] + 75) * (100 + tc1.Param[3]) div 100;
dmg[0] := dmg[0] * tn.Count;
if ts1.Stat1 = 2 then m := 21
else m := ts1.Data.Element;
dmg[0] := dmg[0] * ElementTable[tl.Element][m] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
tn.Tick := Tick;
WFIFOW( 0, $0114);
WFIFOW( 2, 116);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, tc1.aMotion);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, tn.Count);
WFIFOW(28, 1);
WFIFOB(30, 5);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tc1, ts1, dmg[0], tick);
if ts1.HP = 0 then dec(c);
end;
inc(c);
end;
end;
end;
DelSkillUnit(tm, tn);
追加でブラストマインが使用できます
ただ爆発のエモがわかりませんでした
あと時間が少し短いかも・・・

198119(バージョンスレ):2003/07/05(土) 08:39 ID:bAFSrkxg
123: //CT
begin
xy.X := MPoint.X;
xy.Y := MPoint.Y;
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, ID);
WFIFOW( 8, MUseLV);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SetSkillUnit(tm, ID, xy, Tick, $98, MUseLV, tl.Data2[MUseLV] * 1000, tc);
SkillProcessType := 0;
end;

$98: //CT
begin
for i1 := -2 to 2 do begin
for j1 := -2 to 2 do begin
c := 0;
while (c >= 0) and (c < tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Count) do begin
ts1 := tm.Block[tn.Point.X div 8 + i1][tn.Point.Y div 8 + j1].Mob.Objects[c] as TMob;
if ts1 = nil then begin
Inc(c);
continue;
end;
if (abs(ts1.Point.X - tn.Point.X) < 2) and (abs(ts1.Point.Y - tn.Point.Y) < 2) then begin
tc1 := tn.CData;
tl := tc1.Skill[116].Data;
dmg[0] := (tc1.Param[4] + 75) * (100 + tc1.Param[3]) div 100;
dmg[0] := dmg[0] * tn.Count;
if ts1.Stat1 = 2 then m := 21
else m := ts1.Data.Element;
dmg[0] := dmg[0] * ElementTable[tl.Element][m] div 100;
if dmg[0] < 0 then dmg[0] := 0; //魔法攻撃での回復は未実装
tn.Tick := Tick;
WFIFOW( 0, $0114);
WFIFOW( 2, 123);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, tc1.aMotion);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, tn.Count);
WFIFOW(28, 1);
WFIFOB(30, 5);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tc1, ts1, dmg[0], tick);
if ts1.HP = 0 then dec(c);
end;
inc(c);
end;
end;
end;
end;
でクレイモアトラップが使用できますが処理が違うかも・・・
相乗効果もできてないです

199119(バージョンスレ):2003/07/05(土) 08:41 ID:bAFSrkxg
87: //アイスウォール
begin
xy.X := MPoint.X - Point.X;
xy.Y := MPoint.Y - Point.Y;
if abs(xy.X) > abs(xy.Y) * 3 then begin
//横向き
if xy.X > 0 then b := 6 else b := 2;
end else if abs(xy.Y) > abs(xy.X) * 3 then begin
//縦向き
if xy.Y > 0 then b := 0 else b := 4;
end else begin
if xy.X > 0 then begin
if xy.Y > 0 then b := 7 else b := 5;
end else begin
if xy.Y > 0 then b := 1 else b := 3;
end;
end;
DebugOut.Lines.Add(Format('IceWall: (%d,%d) %d', [xy.X, xy.Y, b]));
//縦向き
xy.X := MPoint.X;
xy.Y := MPoint.Y;
tn := SetSkillUnit(tm, ID, xy, Tick, $8d, tl.Data2[MUseLV], tl.Data2[MUseLV] * 1000);
tn.CData := tc;
tn.MUseLV := MUseLV;
SetLength(bb, 1);
bb[0] := 2;
DirMove(tm, xy, b, bb);
tn := SetSkillUnit(tm, ID, xy, Tick, $8d, tl.Data2[MUseLV], tl.Data2[MUseLV] * 1000);
tn.CData := tc;
tn.MUseLV := MUseLV;
xy.X := MPoint.X;
xy.Y := MPoint.Y;
bb[0] := 6;
DirMove(tm, xy, b, bb);
tn := SetSkillUnit(tm, ID, xy, Tick, $8d, tl.Data2[MUseLV], tl.Data2[MUseLV] * 1000);
tn.CData := tc;
tn.MUseLV := MUseLV;
if (b mod 2) <> 0 then begin
//斜め向き
xy.X := MPoint.X;
xy.Y := MPoint.Y;
bb[0] := 3;
DirMove(tm, xy, b, bb);
tn := SetSkillUnit(tm, ID, xy, Tick, $8d, tl.Data2[MUseLV], tl.Data2[MUseLV] * 1000);
tn.CData := tc;
tn.MUseLV := MUseLV;
xy.X := MPoint.X;
xy.Y := MPoint.Y;
bb[0] := 5;
DirMove(tm, xy, b, bb);
tn := SetSkillUnit(tm, ID, xy, Tick, $8d, tl.Data2[MUseLV], tl.Data2[MUseLV] * 1000);
tn.CData := tc;
tn.MUseLV := MUseLV;
end;
WFIFOW( 0, $0117);
WFIFOW( 2, MSkill);
WFIFOL( 4, ID);
WFIFOW( 8, 10);
WFIFOW(10, MPoint.X);
WFIFOW(12, MPoint.Y);
WFIFOL(14, 1);
SendBCmd(tm, xy, 18);
SkillProcessType := 0;
end;

$8d: //アイスウォール
begin
//ノックバック処理
//if (dmg[0] > 0) and (ts1.Data.Race <> 1) then begin
SetLength(bb, 2);
bb[0] := 4;
bb[1] := 4;
xy := ts1.Point;
DirMove(tm, ts1.Point, ts1.Dir, bb);
//ブロック移動
if (xy.X div 8 <> ts1.Point.X div 8) or (xy.Y div 8 <> ts1.Point.Y div 8) then begin
with tm.Block[xy.X div 8][xy.Y div 8].Mob do begin
assert(IndexOf(ts1.ID) <> -1, 'MobBlockDelete Error');
Delete(IndexOf(ts1.ID));
end;
tm.Block[ts1.Point.X div 8][ts1.Point.Y div 8].Mob.AddObject(ts1.ID, ts1);
end;
ts1.pcnt := 0;
//パケ送信
WFIFOW(0, $0088);
WFIFOL(2, ts1.ID);
WFIFOW(6, ts1.Point.X);
WFIFOW(8, ts1.Point.Y);
SendBCmd(tm, ts1.Point, 10);
//end;
//Dec(tn.Count);
//if tn.Count = 0 then begin //ここの処理がうまくいくかどうか謎
//DelSkillUnit(tm, tn);
//Dec(k);
//c := -1;
//continue;
//end else begin
Dec(c);
//end;
end;
でウィザードのアイスウォールが使用できます
ただ壊すことができないのでプレイヤーには障害物として判定されません

200名無しさん:2003/07/05(土) 11:38 ID:EYhgasKs
codeさんおつかれさまです。
正常にあたりましたよー

ところで、当然skill_dbに実装されたスキルのデータ書かないといけませんよね・・・・。
119さんと名無しさんのスキルはdbの追加もしたので使えたみたいです。
よろしければ、codeさんの書いたスキルのdbを書き込んでくれませんか・・・?

201スクリプトスレ144:2003/07/05(土) 12:44 ID:TnzfW79E
[Weiss045.zip]にNPCスクリプトの追加を上げました。U0x007cからのdiffです。
皆さんがスキルの実装などやっておられる中、大した変更でなくて申し訳ないですが
NPCからスキルレベルの参照/変更が出来るようになっています。
レンジのチェックなどかなり手を抜いているので変な値入れると暴走すると思います。
それからあちこちで露呈させてしまってますがわたしはかなりへっぽこなので
取り扱いにはご注意を&自己責任でお願いします。

#NPCスクリプト関係って需要無いんですかね…?

202汎用人柱専用体:2003/07/05(土) 16:12 ID:.r0./M4k
codeさん、お疲れ様です^^
diffパッチいけましたのでご報告です。
人柱、喜んでお受けいたしております(w
できればcodeさんの環境と同じ物(?)でやりたいのでDBもセットしていただけると
いろいろできそうです。ハイ。

スクリプトスレ144さん、NPCお疲れ様です。
私も人柱の傍ら、NPCいじろうかなとおもっていますが
NPCって無くても動くけど、あると無いではゲーム性が変わる!(と思ってる)ほど大切だと思っています
私も出来次第、あげてみようかな・・・(恥ずかしいけどね^^;

2030PSC0/pc:2003/07/05(土) 21:27 ID:ZPl03zjc
U0x007c をベースにペット実装をやり直しました。
あぷろだ1の 68 です。
ペットのデータを pet.txt を作り、それに記録します。
U0x006+Pet の chara.txt および player.txt は使えません。

今回はペット用の item_db.txt は入っていませんので、
あぷろだ2の 43 をお使いください。

204初心者スレ120:2003/07/06(日) 12:02 ID:eJC27UY.
[U0x008]あぷろだ1:069.zip

※ さ ら に 危険物度が増しました。

・所持アイテム用のクラスの追加。
・スキル実行用の手続きをCreateFeild(),SkillEffect()の2種類に分割。
・NPCAction()のスキル効能地の書き直し。
・VerUPスレのスキルの追加・修正。
・その他幾つかスキル追加。
・スキル追加修正に伴いCalcSkill()の修正。
・PT関連の見直し。(途中)
・Pet関連。(途中)

ペット関連は私独自のものなので注意してください。

205119(バージョンスレ):2003/07/06(日) 13:09 ID:lpxX9AUM
>>初心者スレ120様
すごい更新お疲れ様です
しかもスキルの修正までしてくださったみたいですね
またがんばって研究させていただきますね^^
そういえばマグニの処理のところでSPDelayがHPDelayになっちゃってます〜
その下のHPDelay[3]〜のところを
if (Skill[144].Lv <> 0) then HPDelay[3] := HPDelay[0] * 4 //移動時_HP_回復
else HPDelay[3] := 7200000; //移動
とすることで剣士の移動時_HP_回復が使用できます
>>スクリプトスレ144様
スキルレベル変更スクリプトありがとうございます
これでHLと移動時_HP_回復とラウドボイスと死んだふり、応急手当がNPCから覚えられますね〜

206119(バージョンスレ):2003/07/06(日) 13:15 ID:lpxX9AUM
アスペルシオ修正しました
68: //アスペルシオ
begin
if MTargetType = 0 then begin
MMode := 0;
Exit;
end;
if tc1 = tc then begin
MMode := 0;
Exit;
end;
SkillProcessType := 3;
end;

Common.pasに
//アスペルシオ
if Skill[68].Tick > Tick then begin
WElement[0] := 6;
WElement[1] := 6;
end;
でアスペルシオです
これでPTであれば属性武器なしでウィスパー倒せます♪

207code:2003/07/06(日) 18:19 ID:JoesAkTE
>>初心者スレ120様
更新お疲れ様です、早速当てさせていただきました。
また、ちまちまと私も研究させていただきますね。

208119(バージョンスレ):2003/07/06(日) 18:34 ID:lpxX9AUM
バージョンアップというかどうでも良い修正ですが
たとえばSWでは
12: //セイフティウォール
begin
j := SearchCInventory(tc, 717, false);
if (j <> 0) and (tc.Item[j].Amount >= 1) then begin
//アイテム数減少
Dec(tc.Item[j].Amount, 1);
if tc.Item[j].Amount = 0 then tc.Item[j].ID := 0;
WFIFOW( 0, $00af);
WFIFOW( 2, j);
WFIFOW( 4, 1);
tc.Socket.SendBuf(buf, 6);
//重量変更
tc.Weight := tc.Weight - tc.Item[j].Data.Weight * cardinal(1);
WFIFOW( 0, $00b0);
WFIFOW( 2, $0018);
WFIFOL( 4, tc.Weight);
tc.Socket.SendBuf(buf, 8);
xy.X := MPoint.X;
xy.Y := MPoint.Y;
tn := SetSkillUnit(tm, ID, xy, Tick, $7e, tl.Data2[MUseLV], tl.Data1[MUseLV] * 1000);
{追加}tn.MSkill := MSkill;
end else begin
tc.MMode := 4;
tc.MPoint.X := 0;
tc.MPoint.Y := 0;
Exit;
end;
end;
として、SWで青ジェムを使用するようにしました

209119(バージョンスレ):2003/07/06(日) 21:39 ID:lpxX9AUM
結局よくわからなくてムダのあるソースになってしまいましたが
157: //エネルギーコート
begin
tc1 := tc;
ProcessType := 3;
end;

反撃ダメージの
//攻撃命中
if dmg[0] <> 0 then begin
のあとに
if tc.Skill[157].Tick > Tick then begin //エネルギーコート
if (tc.SP * 100 / tc.MAXSP) < 1 then tc.SP := 0;
if tc.SP > 0 then begin
i := 1;
if (tc.SP * 100 / tc.MAXSP) > 20 then i := 2;
if (tc.SP * 100 / tc.MAXSP) > 40 then i := 3;
if (tc.SP * 100 / tc.MAXSP) > 60 then i := 4;
if (tc.SP * 100 / tc.MAXSP) > 80 then i := 5;
dmg[0] := dmg[0] - ((dmg[0] * i * 6) div 100);
tc.SP := tc.SP - (tc.MAXSP * (i + 1) * 5) div 1000;
end else tc.Skill[157].Tick := Tick;
SendCStat1(tc, 0, 7, tc.SP);
end;
追加でエネルギーコートが出ます
エネルギーコートではアイコンが出ないのでしょうか・・・

210119(バージョンスレ):2003/07/06(日) 21:41 ID:lpxX9AUM
あ、あとskill_dbを
157,MG_ENERGYCOAT,エネルギー_コート,4,1,30,,,,,,,,,,,,5000,,,9,,7200,6,12,12,18,18,24,24,30,30,10,10,15,15,20,20,25,25,30,30,,,66052,,99,,,,,,,,,,,,,,,,,,,
のようにしないと持続時間が短すぎますので〜

211Kyrie:2003/07/06(日) 21:56 ID:a.uiPpoQ
あぷろだ1の70にUx008fix1を上げさせて頂きました。
ちょっとだけしか修正してませんが^^;
修正点は、

クレイモアトラップの属性を本来の属性へ修正
サンドマンでダメージが与えられた現象の修正
フリージングトラップの属性を本来の属性へ修正
フラッシャーでダメージが与えられた現象の修正

です。

212初心者スレ120:2003/07/06(日) 22:55 ID:eJC27UY.
[U0x008a]あぷろだ1:071.zip
・スキル異常を修正
・スクリプトスレ144さんのあぷろだ2:Weiss045.zipの取り込み。

少しは安定したかな…。

213名無しさん:2003/07/06(日) 23:29 ID:tZRKo8s.
>>211
非公式パッチVer0x00Xの名称は使わない方がいいかと・・・
あぷろだだけ見たら確実に初心者スレ120さんが上げたと勘違いしますし

214NPC86:2003/07/06(日) 23:44 ID:9OzpWn/U
>>212

アップデート感謝です〜
0x019aからのパッチの方で、Main.dfmのButton1とDBsaveTimerの
配置が差分から漏れていませんか?
最近アップデートが激しいので0x019aから当ててみたら
動かなくて焦りました

215Kyrie:2003/07/06(日) 23:52 ID:a.uiPpoQ
>>213

そうですね、初心者スレ120さんスミマセン。

今度から適当な名前で出しておきます

216名無しさん:2003/07/07(月) 00:11 ID:mNKg18Rw
File:UPloder1-072.zip

2003-06-28(zone)-(turtle_test)(cRO)を元に作成

mob_db.txt
mob.txt
mob_g.txt
warp.txt
warp_yunordm.txt
npc_arena (Original).txt
npc_yamiportal (Original).txt
shop.txt
Town_Kafra.txt
npc_gflag.txt

です。

■mob_db
ギルドWarのガーディアンAIというものが追加されていました。
ギルドメンバーを攻撃しないというものだと思われます。
あと、atkについてですが、A鯖からひっぱってそのままだとatk2の値が低いことがほとんどですが、それだと攻撃された瞬間に鯖が止まってうので、atk1とatk2は逆なのかなと思い逆にしてみると、一部モンスターに不具合がでてしまいます。
そこで、atk2はatkの2倍の値にしてあります。
宝箱がちょいとおかしいかもしれません


詳細は★readme.txtに書いてあります。

217名無しさん:2003/07/07(月) 00:21 ID:FYxrK/KU
>>216
A鯖の場合はatk1 = 最低ダメージ atk2 = ダメージ幅
Weissの場合はatk1 = 最低ダメージ atk2 = 最大ダメージ
となっているので

A鯖からのコンバートをするのであれば
atk2 = atk1+atk2とすることでweiss仕様になります

218119(バージョンスレ):2003/07/07(月) 00:50 ID:fl1sDWZQ
中途半端ですがわたしにはこれ以上よくわからないので
61: //AC
begin
tc1 := tc;
ProcessType := 3;
end;
とProcessType2,3の処理のどこかに
if MSkill = 61 then tc1.Skill[MSkill].Tick := Tick + cardinal(tl.Data1[MUseLV]) * 110;
を追加して、反撃ダメージの//攻撃命中if dmg[0] <> 0 then begin
の下(エネルギーコートと同じ位置)に
end else if tc.Skill[61].Tick > Tick then begin //AC
//tc.Sit := 3;
tc.AMode := 8;
//tc.ATarget := ts.ID;
//tc.AData := ts;
DamageCalc1(tm, tc, ts, Tick, 0, 0, 0, 20);
if dmg[0] < 0 then dmg[0] := 0; //属性攻撃での回復は未実装
//パケ送信
tc.MSkill := 61;
tc.MUseLV := 1;
SendCSkillAtk1(tm, tc, ts, Tick, dmg[0], 1);
DamageProcess1(tm, tc, ts, dmg[0], Tick);
StatCalc1(tc, ts, Tick);
tc.Skill[61].Tick := Tick;
tc.AMode := 0;
dmg[0] := 0;
dmg[5] := 11;
を追加し、DamageCalc1()のdmg[0]のDEF補正//プロボック修正はここのところを
if (AMode <> 8) then dmg[0] := dmg[0] * (100 - (m * ts.DEFPer div 100)) div 100 - dmg[3]; //プロボック修正はここ
として、ACのエフェクトは出ませんが一応ACの効果が出ます
エフェクトに関してはよくわかりません
あと背後からの攻撃に対しての処理もありません
AC中に動けてしまうのでどこかでブロックしないとダメですね・・・

219汎用人柱専用体:2003/07/07(月) 01:22 ID:QbuwzLuU
>>212

お疲れ様です。
0008>0008aにしたらログイン不可と・・・

Player data loading...
*** Total 0 player(s) data loaded.
Charactor data loading...
*** Total 0 charactor(s) data loaded.
となりました・・・^^;

220Kyrie:2003/07/07(月) 01:27 ID:FcN9jOZU
>>219

Chara.txtとPlayer.txtを削除してみては?

221名無しさん:2003/07/07(月) 01:41 ID:Wb7HYZFk
>>219
またキミか・・

222119(バージョンスレ):2003/07/07(月) 02:36 ID:fl1sDWZQ
スクリプトが実装されたので
バッシュ、メマー〜のところの
//パケ送信
SendCSkillAtk1(tm, tc, ts, Tick, dmg[0], j);
のあとに
if (Skill[145].Lv <> 0) and (MSkill = 5) and (MUseLV >5) then begin //急所突き
if Random(1000) < Skill[145].Data.Data1[MUseLV] * 10 then begin
if (ts.Stat1 <> 3) then begin
ts.nStat := 3;
ts.BodyTick := Tick + tc.aMotion;
end else ts.BodyTick := ts.BodyTick + 30000;
end;
end;
で急所突き追加です

223119(バージョンスレ):2003/07/07(月) 02:42 ID:fl1sDWZQ
あと
DamageCalc1()の
dmg[0] := dmg[0] * (100 - (m * ts.DEFPer div 100)) div 100 - dmg[3]; //プロボック修正はここ
のところを
//オート_バーサーク
if (tc.Skill[146].Lv <> 0) and (tc.HP * 100 / tc.MAXHP <= 25) then dmg[0] := (dmg[0] * (100 - (m * ts.DEFPer div 100)) div 100) * word(tc.Skill[6].Data.Data1[10]) div 100 - dmg[3]
else dmg[0] := dmg[0] * (100 - (m * ts.DEFPer div 100)) div 100 - dmg[3]; //プロボック修正はここ
ACを入れている場合は
if (AMode <> 8) then begin//AC
//オート_バーサーク
if (tc.Skill[146].Lv <> 0) and (tc.HP * 100 / tc.MAXHP <= 25) then dmg[0] := (dmg[0] * (100 - (m * ts.DEFPer div 100)) div 100) * word(tc.Skill[6].Data.Data1[10]) div 100 - dmg[3]
else dmg[0] := dmg[0] * (100 - (m * ts.DEFPer div 100)) div 100 - dmg[3]; //プロボック修正はここ
end;
として
DamageCalc2()の
dmg[0] := (dmg[1] * (100 - tc.DEF1) div 100 - k) * ts.ATKPer div 100;

//オート_バーサーク
if (tc.Skill[146].Lv <> 0) and (tc.HP * 100 / tc.MAXHP <= 25) then dmg[0] := (dmg[1] * (100 - (tc.DEF1 * word(tc.Skill[6].Data.Data2[10]) div 100)) div 100 - k) * ts.ATKPer div 100
else dmg[0] := (dmg[1] * (100 - tc.DEF1) div 100 - k) * ts.ATKPer div 100;
でオートバーサークが使用可能です
これで剣士、ナイトのスキルは一応全て使えるようになったのでしょうか??

224名無しさん:2003/07/07(月) 07:28 ID:MnOaRAZQ
>217
なるほど
指摘ありがとうございます。修正版あげておきました。
(073.zip)
一個前は削除します

225名無しさん:2003/07/07(月) 20:48 ID:mscNR.qQ
>224
おつかれさまです。
mob_dbですけど、黒いきのこが動いたり、ばふぉ様がノンアクだったりします。
この辺は自分で治せる範囲ですけど、一応報告いたします。

226119(バージョンスレ):2003/07/07(月) 20:57 ID:fl1sDWZQ
ちょっと処理が違うかもしれませんが
148: //チャージ_アロー
begin
//とばす方向決定処理
//FWからのパクリ
xy.X := ts.Point.X - Point.X;
xy.Y := ts.Point.Y - Point.Y;
if abs(xy.X) > abs(xy.Y) * 3 then begin
//横向き
if xy.X > 0 then b := 6 else b := 2;
end else if abs(xy.Y) > abs(xy.X) * 3 then begin
//縦向き
if xy.Y > 0 then b := 0 else b := 4;
end else begin
if xy.X > 0 then begin
if xy.Y > 0 then b := 7 else b := 5;
end else begin
if xy.Y > 0 then b := 1 else b := 3;
end;
end;

//弾き飛ばす対象に対するダメージの計算
DamageCalc1(tm, tc, ts, Tick, 0, tl.Data1[MUseLV], tl.Element, 0);
if dmg[0] < 0 then dmg[0] := 0; //属性攻撃での回復は未実装
//パケ送信
SendCSkillAtk1(tm, tc, ts, Tick, dmg[0], 1);

//ノックバック処理
if (dmg[0] > 0) then begin
SetLength(bb, 4);
bb[0] := 4;
xy := ts.Point;
DirMove(tm, ts.Point, b, bb);
//ブロック移動
if (xy.X div 8 <> ts.Point.X div 8) or (xy.Y div 8 <> ts.Point.Y div 8) then begin
with tm.Block[xy.X div 8][xy.Y div 8].Mob do begin
assert(IndexOf(ts.ID) <> -1, 'MobBlockDelete Error');
Delete(IndexOf(ts.ID));
end;
tm.Block[ts.Point.X div 8][ts.Point.Y div 8].Mob.AddObject(ts.ID, ts);
end;
ts.pcnt := 0;
//パケ送信
WFIFOW(0, $0088);
WFIFOL(2, ts.ID);
WFIFOW(6, ts.Point.X);
WFIFOW(8, ts.Point.Y);
SendBCmd(tm, ts.Point, 10);
end;
if not DamageProcess1(tm, tc, ts, dmg[0], Tick) then
StatCalc1(tc, ts, Tick);
end;
でチャージアローです
矢作成については本物を見たことがないためどのようなスキルなのか全くわからないので作れません
BBとチャージアローについてはディスペルがかからないそうなのでディスペル処理に
if (tc.MSkill <> 62) and (tc.MSkill <> 148)
の条件を追加してください

227名無しさん:2003/07/07(月) 21:37 ID:TxcHTOrM
>225
確認しました(´Д`;)

どうやら名前順にソートして張り付けたのですが、報告分含め、多数ずれてしまっていたようで
修正しました。

228dbの人:2003/07/07(月) 21:43 ID:TxcHTOrM
む、やっぱおかしい(´Д`;)
危険物扱いでおねがいします(;´д`)人

ところどころボロが出てきました

229119(バージョンスレ):2003/07/07(月) 22:08 ID:fl1sDWZQ
ASの状態変化の間違えを踏まえて
78: //レックス_エーテルナ
begin
//パケ送信
WFIFOW( 0, $011a);
WFIFOW( 2, MSkill);
WFIFOW( 4, MUseLV);
WFIFOL( 6, MTarget);
WFIFOL(10, ID);
WFIFOB(14, 1);
SendBCmd(tm, ts.Point, 15);
if (ts.Stat1 = 0) or (ts.Stat1 = 3) or (ts.Stat1 = 4) then begin
ts.nStat := 5;
ts.BodyTick := Tick + tc.aMotion;
end else if (ts.Stat1 = 5) then ts.BodyTick := ts.BodyTick + 30000;
end;
とDamageCalc1()の//属性相性補正のあとに
if ts.Stat1 = 5 then dmg[0] := dmg[0] * 2 //レックス_エーテルナ
と追加してレックス_エーテルナが使用できます

2300PSC0/pc:2003/07/07(月) 22:33 ID:EeRLMoPs
[U0x008a+Pet2a]あぷろだ1:0075.zip
・ペット関連の処理を一部変更
・ペットを孵化させた状態で落ち、再ログインすると卵がアイテム欄に戻る問題を修正

120さんが独自に実装した部分は上書きしてしまいました。
ご容赦ください。

231119(バージョンスレ):2003/07/07(月) 22:36 ID:fl1sDWZQ
マグヌスのダメージ処理を変更しました
$84: //マグヌス
begin
if (ts1.Element mod 20 = 9) or ((ts1.Data.Race = 6) and (ts1.Element <> 21)) then begin
//ダメージ算出
dmg[0] := tn.CData.MATK1 + Random(tn.CData.MATK2 - tn.CData.MATK1 + 1) * tn.CData.MATKFix div 100;
dmg[0] := dmg[0] * (100 - ts1.Data.MDEF) div 100; //MDEF%
dmg[0] := dmg[0] - ts1.Data.Param[3]; //MDEF-
if dmg[0] < 1 then dmg[0] := 1;
dmg[0] := dmg[0] * tn.Count;
dmg[0] := dmg[0] * ElementTable[tn.CData.Skill[79].Data.Element][29] div 100;
if dmg[0] < 0 then dmg[0] := 0;
tn.Tick := Tick;
//ダメージパケ送信
WFIFOW( 0, $0114);
WFIFOW( 2, 79);
WFIFOL( 4, tn.ID);
WFIFOL( 8, ts1.ID);
WFIFOL(12, Tick);
WFIFOL(16, tc1.aMotion);
WFIFOL(20, ts1.Data.dMotion);
WFIFOW(24, dmg[0]);
WFIFOW(26, tn.Count);
WFIFOW(28, tl.Data2[tn.Count]);
WFIFOB(30, 8);
SendBCmd(tm, tn.Point, 31);
DamageProcess1(tm, tn.CData, ts1, dmg[0], Tick);
end;
end;
これであっているとうれしいのですがどうでしょうか?

232119(バージョンスレ):2003/07/07(月) 23:02 ID:fl1sDWZQ
ごめんなさい、エーテルナの修正に;が抜けてました><
あとスキルダメージが修正されないので
Common.pasのSendCSkillAtk1()に
if ts.Stat1 = 5 then dmg := dmg * 2; //レックス_エーテルナ
を追加してください
それからdbは
78,PR_LEXAETERNA,レックス_エーテルナ,1,1,10,,,,,,,,,,,,,,,9,,,,,,,,,,,,,,,,,,,,,,,22,256,76,5,,,,,,,,,,,,,,,,,,,
です

233名無しさん:2003/07/08(火) 06:25 ID:2zklchhM
119(バージョンスレ)様お疲れ様です。
チャージアローのとこでちょこっと。ノックバックは6セルみたいなので
ノックバック処理のとこの4を6に変えるといいかと。
細かいとこですいません(o_ _)o

234初心者スレ120:2003/07/08(火) 19:59 ID:5dWBg00A
[skill_db.txt] あぷろだ1:076.zip

要望があったので、私の方で使っているskill_db.txtを上げてみました。
山ほど抜けているような気がするので誰か修正して上げ直してもらえるとありがたいです。

235名無しさん:2003/07/08(火) 22:03 ID:WZGlVJdE
敵のLUKによるクリティカルの補正を行うコードをあぷろだ1に上げました。
初めていじったので不具合が出るかもしれませんが・・・。

236名無しさん:2003/07/09(水) 04:19 ID:SDqtCQEQ
>>230
そういえばペットはペット毎に捕獲率などが決まっているらしいです。
某Aの話しかもしれません。
一応参考Urlを上げておきますね
ttp://reharmonize.net/ragnarok/tool/PetStatus.lzh

237236:2003/07/09(水) 04:20 ID:SDqtCQEQ
ってアドレスミス(;´Д`)
ttp://miriam.s17.xrea.com/main/ragna/pettable.shtm

238 0PSC0/pc:2003/07/09(水) 12:23 ID:Q62jE6z.
>>236
その表は知っています。
ペットデータベースにも捕獲率のデータは入れてありますが、現在はそれを使わず、100%成功するようになっています。
Game.pasの受信パケ$019fを処理しているところを適当にいじれば捕獲率を変えられます。
現在、必ず成功するようになっているのは、ペット捕獲率に敵の残りHPやキャラのLUKなどを絡めたほうが面白いと思いましたが、妥当な式を考えていないためです。

なお、独自仕様として、満腹度現象ルーチンも変えています。
本鯖では1分ごとに、その表にある数値だけ減りますが、独自仕様ではその逆数を取り、何ミリ秒で1減るかを計算して、1ずつ減らしています。

239NPC86:2003/07/09(水) 21:36 ID:R9lpK6zw
なんとか精錬NPC動きました(アプ1の079)
初めてやったので、効率とかメチャクチャだと思いますが、
こうすればスマートになるとかの助言があればお願いします

テストNPCはとりあえずプロンテラ3人組を配置しました
バグ取りができたら各街とオリジナルも添付します
確率は ttp://blue.ribbon.to/~akemino/kuho.html をそのまま採用しました

240119(バージョンスレ):2003/07/12(土) 00:40 ID:YLEZB.Lw
>>NPC86様
精錬スクリプトお疲れ様です
わたしはまだ試していないのですが、あとでやってみようと思います♪
この間のACについてなのですが、なぜかACキャンセルをあるタイミングで行ったときだけ
本当のACが発動することがわかりパケットを追いかけたところこうなりました
攻撃回避判定の前(エネルギーコートより少し上)に
if tc.Skill[61].Tick > Tick then begin //AC
tc.AMode := 8;
tc.ATarget := ts.ID;
DamageCalc1(tm, tc, ts, Tick, 0, 0, 0, 20);
if dmg[0] < 0 then dmg[0] := 0; //属性攻撃での回復は未実装
//パケ送信
WFIFOW( 0, $008a);
WFIFOL( 2, tc.ID);
WFIFOL( 6, tc.ATarget);
WFIFOL(10, timeGetTime());
WFIFOL(14, tc.aMotion);
WFIFOL(18, ts.Data.dMotion);
WFIFOW(22, dmg[0]); //ダメージ
WFIFOW(24, 1); //分割数
WFIFOB(26, 0); //0=単攻撃 8=複数 10=クリティカル
WFIFOW(27, 0); //逆手
SendBCmd(tm, ts.Point, 29);
DamageProcess1(tm, tc, ts, dmg[0], Tick);
StatCalc1(tc, ts, Tick);
tc.Skill[61].Tick := Tick;
tc.AMode := 0;
dmg[0] := 0;
dmg[5] := 11;
end else if avoid then begin
でACが使えます
ACエモについてはクライアントで判定されているようです・・・

241名無しさん:2003/07/12(土) 00:54 ID:aAqI57Y6
ACは敵との位置関係の問題があるよ

242119(バージョンスレ):2003/07/12(土) 15:47 ID:I5zrfiZU
>>241
???
位置関係の問題とはどういうことなのでしょうか?
アチャスケのような遠距離からの攻撃でもカウンターエフェクトは表示されるのですが・・・

243名無しさん:2003/07/12(土) 16:58 ID:i0M0BuOA
対象のほうを向いていないとAC失敗

244119(バージョンスレ):2003/07/12(土) 18:11 ID:I5zrfiZU
>>243
なるほど
241さんがその意味で書いていらっしゃるのであれば、
わたしが以前書きましたように未実装です
すでに作ってはいますが、今載せると質問が増えてしまいそうなので・・・

245NPC86:2003/07/12(土) 22:56 ID:nV9gB2Zg
精錬のコマンド書式を若干変更したので修正しました
今回もU0x008aからの差分のみです
これで一応完成かな?

スクリプトは本鯖仕様のプロ・フェイ・モロ・アルベと
オリジナルを同梱してあります
毎度のことながらチェックが甘いです

246119:2003/07/13(日) 16:55 ID:gVS9Rd.k
結局241さんからの答えが返ってこないので意図していることが良くわかりませんが
バージョンアップスレですので、改良方法を書いていただくか、もうすこし詳しくわかるように
書いてください。一行で書かれても意味が解りませんので^^
なんとなく文章的に「自分では実装してるけど」という風に解釈できるので、
よかったら指摘だけでなく載せていただけるとうれしいのですが・・・
ということで私の方では発表しないつもりです。ちょっとソースが汚くなったこともあるので
ACに関してはバグや未実装に関してちゃんと書いていたつもりなので今回の発言はちょっとショックでした><

エンチャント_ポイズンはCalcSkill()に
SFixPer2[0][0] := SFixPer2[0][0] + 1;
//SFixPer2[1][0] := SFixPer2[1][0] + 1;
もあるといいみたいです。

247名無しさん:2003/07/14(月) 04:52 ID:OglA.N1w
>>119
発表云々というよりもちょっと待って欲しいと思うよ。
スキル周りについてはもうテンプレートともいえる基本部分はほぼ全部できてるから
今までの開発者もちょっと手を加えるだけで追加できることばかりなんだよね
でもうすうす感づいてるとは思うけど
既存のスキルのコピペで本来外部手続きにまわして簡略化すべき部分が汚くなる
多数人の手が加わることで変数の使い方の統一性が無くなり あとから難読になる
スキルデータベースの独自仕様化とそれに伴うユーザーの混乱
さらに言うと将来的な敵のスキル使用、PvP処理を視野にいれると
今スキル関連に手を加えるのは総合的に見てマイナス。
個人で遊ぶ分にはいいと思うけど。

248119:2003/07/14(月) 07:59 ID:5V8A.52g
>>247
わたしは今までの開発者さんたちのために載せてるというよりは、自分では追加の仕方がわからない人のために
載せています。それはCardinalさんや初心者スレ120さんを初めとする開発者さん達も同じではないでしょうか?
247さんがおっしゃるように個人で遊ぶ分には、ここに載せないような気がします
>多数人の手が加わることで変数の使い方の統一性が無くなり
なのでわたしはdiffとしてはアップしていません
自分でも自分のソースが汚いと思っているので
現状で実装すべきでないスキルに関しては初心者スレ120さんが実装していません、
あるいは改善してくださっています。
>スキルデータベースの独自仕様化とそれに伴うユーザーの混乱
skill_dbは独自仕様化していませんので。足りない部分を補っただけです。
独自仕様とおっしゃるのでしたらわたしの差分は使用しないでくださいね
>さらに言うと将来的な敵のスキル使用、PvP処理を視野にいれると今スキル関連に手を加えるのは総合的に見てマイナス。
わたしには意味が解りません
加えるか加えないかはご本人次第なので、それは皆様一人一人が判断するものです
わたしはただI鯖よりも安定しているWeissのスキル実装があまり進んでいなかったので作ってきたつもりです
現に使ってくださって、質問やご指摘などしてくださった方もたくさんいますし
もしかしたらそれを元に開発を始めてくださった方もいるかもしれないので無駄ではなかったと思っています
ですがこのように思われているのであれば、何もしない方がいいですね^^
もう実装はやめますね。。
まあ、ユーザーの混乱を思うなら開発者よりもユーザーの立場に立って考えてみてくださいね

Cardinal様、初心者スレ120様、その他の開発者の方々、これからもがんばってくださいね
ありがとうございました。お疲れ様でした。

249名無しさん:2003/07/14(月) 09:42 ID:zD4.CYIw
>>248
まぁもとからここはバージョンUPを報告スレであってコードを載せるスレではないので・・・
もうちょっと空気読んだほうが良かったかもしれませんね、いまさらですが。
とりあえずお疲れ様でした。

250妄想129:2003/07/14(月) 10:39 ID:ss8yubPo
>>247
>スキル周りについてはもうテンプレートともいえる基本部分はほぼ全部できてるから
>今までの開発者もちょっと手を加えるだけで追加できることばかりなんだよね
あなたがどの部分の開発者なのは存じ上げませんが、その言い方ですと
現在の開発の方々が追加するまで新参者は大人しく見ていてくださいという
解釈になりますね。

>今スキル関連に手を加えるのは総合的に見てマイナス。
ではどの部分に手を加えればあなたの見通しで総合的に見てプラスになりますか?

たしかに現状はいろんな方が開発に参加し、
パッチもどれをどの順番であてればよいのか、
一目ではわかりにくい状況になっています。
しかし、Cardinalさんや初心者スレ120さんのものに対する
一時的な追加機能としてみなさんは開発なさっているのではないでしょうか?
そしてそれがCardinalさんや初心者スレ120さんを助けることに
なればうれしいし、自分のスクリプトが採用されれば、自分が開発部分に
協力できていることが実感できる…そんな気持ちからではないでしょうか?
私も自分のスクリプトはコピペだし、処理も汚いと実感しておりますので、
揉まれる意味と、正確な情報から作成されたものではないので、
妄想スッドレにまず載せてみてみなさんの意見を募っているつもりです。
DB部分も適当ですが、値を入れているだけで現在の仕様は守っておりますし。
当然、一つ分のしかもきれいでもなんでもない、正確かどうかもわからない
スキル部分を追加しようとしただけで開発者気取りしているつもりはありませんが、
他の何も協力もせず、批判などの意見を述べる方よりはましだと思っております。

Weissはみなさんの協力で高めあっていくものだと
私もある意味勘違いしていましたね。残念です。

119さん開発から手を引かれるのは非常にもったいないと思います。
バージョンアップスレはCardinalさんや初心者スレ120さんのもののようですので、
妄想スッドレあたりでやりませんか?(^^;

スレ違いでしたら移動してください。すみません。

251妄想129:2003/07/14(月) 10:44 ID:ss8yubPo
>>249
そういえばそうですね。
「【Weiss】技術的なスレ」がありましたね。
わざわざ妄想世界の住人になる必要はないですね(^^;

252名無しさん:2003/07/14(月) 12:46 ID:oSl7APWk
このまま続けるのはスレッドが違うと思うので
雑談の方にでもいきませんかね?

253名無しさん:2003/08/11(月) 23:45 ID:I1fXye72
087.zip
Weiss本体のバグ報告で出てたバグの修正とその他気が付いた所のバグ修正版です。
詳しくはtxtで書いておきました、おかしな所ありましたら突っ込みお願いします。

254code:2003/08/13(水) 15:07 ID:7mlwTcbE
突込みどころというわけではないのですが、
087.zipのdiff当てたあと、DBに
summon_item.txt
summon_mob.txt
がないとエラー起こしちゃいますね。

255バグスレの人:2003/08/13(水) 19:39 ID:aJWs5mHI
モンスター情報のオーバーフローバグ、修正されていないようです。

256バグスレの人:2003/08/13(水) 19:40 ID:aJWs5mHI
やっと書き込めた。ホスト規制はいつまでですか...

257名無しさん:2003/08/13(水) 22:15 ID:4j4svSd2
089.zip
モンスター情報のバグ、修正しました。
またGMコマンド/デバッグコマンドをオプションで個々にON/OFF出来ます。

所で鯖キャンが増えた気がするのは気のせいかなぁ…

258NPC86:2003/08/14(木) 13:10 ID:.ff2hK6g
>>253

お疲れ様です〜
早速パッチ当ててみましたが、common.pasで精錬スクリプトの
挿入位置が3行ズレていてエラーになりました
008aはMD5スレで確認したつもりですが、私だけかな?
あと、2重ログインチェックのw→3ですよね?

機能追加が多いので、また気付いたら報告します
なぜか取引申請が入っていないような・・・

259名無しさん:2003/08/14(木) 16:24 ID:Vcod/UPg
バグ報告ありがとうございます、早速修正しておきました。
ただ精錬のスクリプトが見つからなくて、、ここだけチェックしてません。

260NPC86:2003/08/14(木) 18:17 ID:.ff2hK6g
>>259

修正お疲れ様です〜
精錬NPCをアプ2に置いておきましたのでお使い下さい
露店中に取引で歩けるバグは
-----------
0085: //移動要求 (座ってるときやチャットなどでは移動できないようにすること)
begin
>if tc.ChatRoomID <> 0 then continue; //チャット中の移動禁止
>if tc.VenderID <> 0 then continue; //露店中の移動禁止
-----------
私はこれで修正しました

261名無しさん:2003/08/18(月) 03:56 ID:SbcOEXVo
精錬スクリプトありがとうございます。
早速使わせて頂きました!

今度はCommon.pasを分割してみてるんですが、、すっきりしない・・

262浦島太郎気分:2003/08/19(火) 15:03 ID:FArf9ZJ.
U0x008a_fix*のパッチなんですけど、Main.dfm に関して
008aからのパッチでエラー出ますね
008aの段階でMD5合ってますし、エラー出るのこれだけだし
ちゃんと〜確認スレでも0x019a-U0x008a.difの段階で
Main.dfmに関しておかしな記述あるようですがどうなんでしょうね

263名無しさん:2003/08/19(火) 20:49 ID:JD493zyk
こちらも8a→fixでmain.dfmにエラーが出ました
19aのmain.dfmに差し替えてfix.diffを当てたら正常にいきました
日本語変ですが勘弁を…

264名無しさん:2003/08/19(火) 21:44 ID:PIZ0AC8g
fix.diffってどこのやつですか?

265名無しさん:2003/08/19(火) 21:58 ID:JD493zyk
あぷろだ1のU0x008a_fix_*.diffです、詳しく書かずすみません

266U0x008a_fix_*.diffUPした人:2003/08/20(水) 05:10 ID:K1AOfSa2
Main.dfmのエラーの件ですが、特に機能追加などは無くボタンの位置が少し違うとかフォームの場所が変わった程度なので
エラーが出ても気にしなくて良いと思います、、、

UPするとき消すつもりのが、残ってただけです、、
スマヌ

267浦島太郎気分:2003/08/20(水) 19:42 ID:Q3fuSnBg
レスありがとうございます。
>>263の方同様に0019aのMain.dfmに差し替えて008a→008a_fix_bで
パッチ・コンパイル共に問題ありませんでした。
ただし、254で前述されてますがDatabeseのファイルを追加しないとエラーで起動できませんね。
必要なdbファイルを追加すれば問題なく動作します。
あと、ここで書く内容ではないと思いますがついでに1つ
私の環境のせいもあるかもしれませんが、ラグが激しい気がします
パケット変更のせいかもという書き込みもありましたが、敵が視界に入ると
プレイ可能な状況ではなくなります。

268名無しさん:2003/08/28(木) 14:28 ID:npLS0FWM
そろそろU0X0009として纏める事はムリだろうか?
様々なコードがFix_b以後、数は少ないがタイムなど更新コードが多く、
DIFを纏めるにも見直しが大変な状態。
Fix_bに関してもMain.dfmがα19当時の物から当てているので順に当てるのと
変わっている様子。
U0x008ベースでこのまま更新していくと
更新コードが多いのでDif自体が複雑にまとまらなくなってくるかもしれない。

私もまとめているんだが、激しくDIFミス_| ̄|○ ギジュツガタリナイノカ

269名無しさん:2003/08/28(木) 15:45 ID:EmqW.9DE
一応8aから全部手動で当て終わってるけど
いままで纏めてた人じゃないんでその人に任せます

ってか、このくらい纏められないですかね、、、

270浦島太郎気分:2003/08/28(木) 23:15 ID:Dwoniz2w
この前しばらくぶりに来たら、浦島太郎な気分だったわけで、板の荒れ具合も(´・ω・`)
まぁ静観するのがいいかと。
この前のラグに関してですが、IDEボードとHDD逝ってました・・・ _| ̄|・,;・'。..((○  
とりあえず、バックアップのデータで動作しました
どうやら、別フォルダに移動したROフォルダからでも起動できるようで
システム再インストなのに。レジストリどうなってるやら・・・
で、雑談スレにもありましたが、しばらくぶりでパチって動作不可な方おられるようなので
[あぷろだ1]099に03618を↑しました。Weiss関連ファイルでもないし、
デバッグの参加者も困ったとありましたので。
入手も普通の手段じゃ難しいから良いかと思った次第ですので、マズイようでしたら管理権限削除してください。
やや長文で失礼m(__)m

271code:2003/09/13(土) 13:21 ID:2RpelwUA
バージョンアップスレにかいていいものか迷ったんですが…
 U0x009からでしょうか、U0x008で追加されてたはずの
 レックスエーテルナ
 オートカウンター
 ベノムダスト
 エンチャントポイズン
 エネルギーコート
 オートバーサーク
 のコードが抜けているようです。
 まぁ、手動で当ててしまえばそれまでですが。

272code:2003/09/13(土) 13:26 ID:2RpelwUA
あ、AC/ECはありましたか…ソースの見間違いでしたm(__)m
すみませんです

273code:2003/09/13(土) 14:26 ID:2RpelwUA
さらに、すいません、パッチ出てましたね(ごめ
m(__)m

274名無しさん:2003/09/16(火) 10:04 ID:Ld2kChOM
>>271
エネルギーコートではなく、
エナジーコートでは?
とつっこんでみる

275名無しさん:2004/02/08(日) 05:19 ID:Gg7Dp3Ic
diffの当て方しらんわけだが
'`,、('∀`) '`,、

276名無しさん:2004/03/28(日) 12:58 ID:97cvtAOg
Diffのお話は脳内でやってくれ
'`,、('∀`) '`,、


新着レスの表示


名前: E-mail(省略可)

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

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

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

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