blend.hsp

Last-modified: 2015-03-21 (土) 17:44:38

混ぜる行動・調合システムに関するスクリプト。

バックパックが満杯のとき空き瓶で井戸の水を汲むと落ちる問題

972 名前:名無しさん@お腹いっぱい。 [sage] 投稿日:2011/03/16(水) 22:56:23.21 ID:ZBLAHmSO [2/2]
ま~追加・変更要素無しでひたすらバグ潰してるだけだからねぇ…
ちなみに

>バックパックが満杯のときに、井戸(聖なる井戸)の水を空き瓶で汲むと落ちるのを修正
これは逆根ソースで171506行目付近の

>if ( inv(3, ci) == 602 ) {
の行のすぐ上に

>if ( inv_getfreeid(0) == (-1) ) {

> item_num cidip, 1

> txtvalid = 0

> txtc = 1 + ("" != "") + ("" != "") + ("" != "") + ("" != "") + ("" != "") + ("" != "") + ("" != "") + ("" != "")

> txtc = rnd(txtc)

> txt_select lang("バックパックには、もうアイテムを入れる余裕がない。","Your inventory is full."), "", "", "", "", "", "", "", ""

> tcol@txtfunc = 255, 255, 255

> goto *label_2742

>}
を追加してアイテム一杯の判定で回避するようにしてみた

 

バックパックが満杯のときに、井戸(聖なる井戸)の水を空き瓶で汲むと落ちるのを修正
 対処
 アイテムが満杯でitem_createの戻り値がfalseかつciに-1が設定されているのに
 そのままitemName(ci,1)を実行しようとしてitemName内部で落ちる
 以下、例
 action.hsp 1623行目
  1623行目の直後に
  if (inv_getFreeId(pc) == falseM) : item_num ciDip, 1 : txtInvFull : goto *turn_end
  の行を追加し、アイテムが満杯の場合はメッセージを表示し何もしないようにする

バックパックが満杯のときナベのレシピによる水汲みで落ちる問題

156 名前:名無しさん@お腹いっぱい。 [sage] 投稿日:2011/03/26(土) 00:13:24.43 ID:opwAR3tG [1/2]
ん?と思ったら直接水汲みでなくナベ(フライパン)経由の水汲み(天然ポーションのレシピ)でも
落ちるのねっと

オリジナルソース
blend.hsp 939行目
 ciBk=ci
 のすぐ上に
 if (inv_getFreeId(pc) == falseM) : item_num ti, 1 : txtInvFull : swbreak
 を追加

逆コンパイルソース(公式Ver1.22開発版、変数名置換済)
146428行目
 cibk = ci
 のすぐ上に以前に書いたような処理を追加

>>145
想像は付くだろうけどありません、なぜならめ(ry
とりあえず外部板のElona不具合修正スレに載ってて未修正なのはいくつかあったはず

>>154
…ON/OFFって…それってネット機能の復活とゆーか公式と同じ動作になるんじゃ?

任意の装備箇所に任意のアイテムが装備できる問題

>978 名前:以下、名無しにかわりましてVIPがお送りします[] 投稿日:2012/04/07(土) 18:30:36.38 ID:97zSlpPk0
>黄金様っていうか再現性ありのバグだねこれは
>今装備してるものをふかふかパンにする→拾うのかんたん操作
>公式でも出来たから皆やってみなよ

装備しているアイテムを使用して調合すると装備アイテムの個数が1減るが、アイテムデータが削除されるわけではないので0個のアイテムを装備している状態になる
そこでアイテムを拾ったとき、若い番号から0個のスロットを見つけてアイテム情報を上書きする
キャラデータ側が保持しているのは装備中のアイテム番号だけなので
0個のアイテムのスロットにそのアイテムが入ると拾ったアイテムを装備している状態になるといった不具合

cell_refresh iX(rpRefMat(cnt)),iY(rpRefMat(cnt))のすぐ上に
chara_unequip rpRefMat(cnt):if stat=true:call charaRefresh,(r1=pc) とでも追加しておくことで装備から外れる
処理はアイテム食べるところから拝借した

逆コンなら*label_1932 cell_refresh inv(5, rpref(10 + cnt~の行のすぐ上に
chara_unequip rpref(10 + cnt * 2)
if ( stat == 1 ) {
 r1 = pc
 gosub *label_1476
}
を追加でおk

合成レシピに誤字がある問題

399 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/03/31(木) 21:56:38.12 ID:ywAsq6Jm
rsJeweller→rsJewelerを二ヶ所発見
未実装のプチトロ合成とfake内だから問題無いけど

レシピ選択画面がずれる問題

レシピ選択画面の表示ずれ修正
 config.txtにてwindowH.を600以上に設定した場合に、テスト用フライパンなどを
 使用してレシピ選択ウィンドウを表示すると右ウィンドウの調合の手順以下の表示位置が
 ずれる
 対処
 blend.hsp 287行目
  dy=120をdy=y+48に変更

レシピの文字色が無関係なアイテムの祝呪の影響を受けている問題

修正方法

blend.hsp 630行目

	cs_list s,wX+84,wY+60+cnt*19-1,19,0,1,p

	cs_list s,wX+84,wY+60+cnt*19-1,19,0,0,p