■17676 / inTopicNo.1) |
LineReadで格納した文字列に関数が含まれていた場合その関数の値を反映しない
|
□投稿者/ arao -(2005/11/01(Tue) 22:56:15) [ID:A6bONyeM]
| SRC1.6で作成したシナリオを現安定板で読み込んだ場合以下の現象が起きました。 発覚したのはSRC2.0が開発版であった時期なので早期に修正されていた可能性があり、 これが仕様のような気もしますが…一応。
LineReadで格納した文字列に関数が含まれていた場合、 それをPaintStringすると関数の式の値が反映されずに 関数の式を含めた文字列をPaintStringしてしまいます。
Open Eval("file") For 入力 As F T = 0 Unset T_GC
Do While (EOF(F) = 0) Incr T LineRead F T_GC[T] Loop Close F
For G = 1 to 20
Font 10pt RGB(12 * G,12 * G,12 * G) P明朝 Bold For i = 1 to "$(T)" PaintString 0 (i * 15) T_GC[i] Next
Refresh Wait 0.1 Next
Wait Click
T_GCに格納する文字列。(fileの内容です) $(LSet(武器1,40)) 攻撃力1 $(LSet(武器2,40)) 攻撃力2 $(LSet(武器3,40)) 攻撃力3 :
PaintStringすると、左詰め40で武器が表示されるのではなく $(LSet(武器1,40)) 攻撃力1 $(LSet(武器2,40)) 攻撃力2 $(LSet(武器3,40)) 攻撃力3 と、なってしまいます。
$(LSet(武器,40))と"攻撃力"の間はtabで空白をとっています。 これを製作したのが旧安定版であった為の仕様です。 どうにかして関数の値を反映させることが出来ないでしょうか?
http://araof-91-hp.hp.infoseek.co.jp/src/Haitoku.lzh このシナリオです。 問題が起こる部分は「マップコマンド キャラ詳細」で 選択したキャラクターの説明文の所で発生します。 #Re.eveか01.eveを旧安定版で起動させてから、 現行版で確認してみてください。 上記のfileに当てはまるのは\data\System\GCのフォルダに入ってます。
関係ないですが、嬉しいことに現行版では旧安定版ではサポートしていなかった 「文字列に含まれているtabキーで空けた文字間の空白も PaintString時にそのまま扱われる」ようになっていました。 メモ帳で調整した空白がほぼそのまま適用されています。 一応、tabで空白置いてたので報告しときます。
SRC1.6で時が止まったままの遅れ人ですが、どうかご教授宜しくお願いします。
|
|