material.hsp

Last-modified: 2015-03-13 (金) 01:42:17

高レベル階層での採取マテリアルがクズばかりになる問題

905 名前:名無しさん@お腹いっぱい。 [sage] 投稿日:2011/02/22(火) 15:54:53.38 ID:Xy0WFno8
>>900
random_material関数の中にある抽選ループに、
選ばれたマテリアルのレベル?が採取レベル(採取スポットなら現在階層レベル)未満ならループの頭へ、って記述がある。
抽選ループは最大500回繰り返されて、10回おきに採取レベルを1つ下げるんだが、
高レベル階層だと、ループを繰り返しても採取レベルが高いままになるから、
戻り値は関数の冒頭でセットされた0番(=クズ)のままになる。
おそらく不等号の向きが逆。

>>901
動物系マテリアルが手に入らない原因は、採取スポットでの採取処理ルーチンに記述抜けがあるから。

具体的には、「何かの残骸がある」と表示される採取スポットのレベルを変更(PCの解剖学レベル / 3を加算)するところで、
採取スポットの種類番号を16(動物系)にセットする記述が抜けてる。
記述を加えたら動物系マテリアルを採取できた。

919 名前:名無しさん@お腹いっぱい。 [sage] 投稿日:2011/02/23(水) 08:49:38.82 ID:q4VG8nEC
ttp://www1.axfc.net/uploader/Sc/so/208081.zip&key=elona_ore_hack
パス:elona_ore_hack
・高レベルのネフィアでマテリアルがクズばかりになるバグを修正。
・動物系のマテリアルが出るようにした。
・ペットの訓練費を主能力値やスキルLV依存に出来るようにした。

>>905さんの情報を得て、マテリアル関係を修正しました。
不等号の向きを逆にしただけだと低レベルでクズばかりになってしまった為、
さらに10回毎のLV減算を加算に変更した所、解消されたように見えます。

ペットの訓練費はとりあえずスキルLv*125gpでやってみました。
デメリットもあるのでお好みで。
しかし実装してみて、ややこしい処理になっている結果を見ると
キャラLv依存になってる理由が解った気がします。

 

高レベルネフィア取得マテリアルバグ修正
 高レベルのネフィアなどでマテリアル採集をしても「クズ」しか採集できない
 対処
 material.hsp 14行目
  lv--:rare--をlv++:rare++へ変更
 material.hsp 15行目
  matLv(p)<lvをmatLv(p)>lvへ変更
 material.hsp 16行目
  matRare(p)<rareをmatRare(p)>rareへ変更
 ※マテリアルの入手バランスに影響があるので要調整?

生産スキルで作ったアイテムがスタックされない問題

137 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/05/16(月) 22:47:10.58 ID:CXceR+Tj
ちょいと聞きたいんだが生産スキルで作ったアイテムがスタックされないのって仕様?
宝石細工上げようと巻物を大量生産してる時に未確定(「ぼろぼろの」や「苔むした」)だとスタックするくせに名前がわかってるとスタックしないとかバグくさいんだが

154 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2011/05/17(火) 08:06:43.06 ID:GJCJUBB0

>>137 >>145
アイテム生成直後は識別度が0で、
「???を製造した。」っていうメッセージを表示する時、
itemname関数を呼んでるんだけど、この関数のなかで識別度を変更する処理が行われてる。
アイテム生成処理のスタックする前に識別度を設定する処理を入れるか、
メッセージ表示後(itemnameが呼ばれた後)に「item_stack 0, ci」を追加すれば解決する。
前者は他のバグが誘発される恐れもあるし、後者が安全だと思う。