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