No.531 Re: アイテム使用時の必要設定について - GEN
 

確認が遅れてすいません。

■アイテムの必要条件の設定
funcbというのを使います。アイテム内に直接記述するか、別に@@FUNCITEM以下に記述します。同じ処理を複数に適用する場合は後者が便利です。例えば、

@@USE
time 10m
action 引き換え
name 高度プログラムと引き換え
info 高度プログラムの詰め合わせです
okmsg ご利用ありがとうございました
use 1 ギフト券
get 300 高度プログラム

のすぐ下に、
get 300 高度プログラム
funcb _local_
return 1 if($DT->{dignity} < 3);
return 0;
_local_

と続けると、爵位3より小のときは、そのアイテムの表示が???になります。???ではなくて、メッセージを表示するときは以下のようにします。

get 300 高度プログラム
funcb _local_
my($USE)=@_;
if($DT->{dignity} < 3) {
$USE->{name}.='[爵位が3pt以上必要です]';
return 2;
}
return 0;
_local_

あと、同じ処理をいろんなUSEに適用するなら、以下のように分けると文字数の節約になります。例えば、

get 300 高度プログラム
funcb dignity_judge

としておいて、@function以下に、

@@FUNCITEM

# ★爵位の判定
sub dignity_judge
{
my($USE)=@_;
if($DT->{dignity} < 3) {
$USE->{name}.='[爵位が3pt以上必要です]';
return 2;
}
return 0;
}

を追加します。優勝回数なら、$DT->{rankingcount}ですね。この辺は、マニュアル3-3のDTを参照してください。

あと、アトラスの件ですが、

my $price=int($ITEM[$msg[0]]->{price} * ($msg[1] + rand($msg[2])) / 100);

この、msg[1]が、20、msg[2]が10に相当します。
仕入値 = ワインの値段 * (20% + (0〜10%のランダムな数))
という感じですね。

つまり、ワインの仕入れ値は、定価の20%から30%に設定されるということです。デフォルトでは、新大陸など、遠くに行くほど、仕入れ値が低くなって、それだけ利益が多くなるように設定されているようですね。仕入値は商館にも表示されています。

2012/02/05(Sun) 00:00

アイテム使用時の必要設定について - スモチ 2012/01/20(Fri) 19:47 No.530
     ├ Re: アイテム使用時の必要設定について - GEN 2012/02/05(Sun) 00:00 No.531
     ├ Re: アイテム使用時の必要設定について - スモチ 2012/02/09(Thu) 12:04 No.532
     ├ Re: アイテム使用時の必要設定について - スモチ 2012/02/14(Tue) 18:21 No.533
     ├ Re: アイテム使用時の必要設定について - GEN 2012/02/15(Wed) 20:09 No.534
     ├ Re: アイテム使用時の必要設定について - スモチ 2012/02/17(Fri) 18:54 No.535
     └ Re: アイテム使用時の必要設定について - GEN 2012/02/18(Sat) 00:55 No.536

Eメール
お名前
題 名  ※投稿キーは必須です!
本文
URL
アイコン   [イメージ参照]
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
文字色