このページは、SOLD OUT ファンサイトのso-Junkyで行われていたゲームの改造講座を転記したものです。

SOLD OUT 改造講座 | SOLD OUT ミジンコ

五芒星

SOLD OUT ミジンコ

020 陳列棚を操作する

陳列棚増築取壊キットを取り入れる

【ミジンコ君たちも3色(+野生1色)になって観賞のしがいがあるなぁ・・・。いろんな人に見せたいなぁ。そうだ、それがいい、そうしよう。】ということで、あなたはミジンコ君たちを横一列に並べたくなりました。そこで「陳列水槽キット」を購入して、そこに色々なミジンコ君たちを入れておくことにしました。【ついでに各薬1号〜3号を陳列しておくのも綺麗かも。信号みたいだし。】

陳列棚を増やしたり減らしたりする場合は独自関数が必要です。でも、今回は、MUTOYS さん配布のオリジナル SOLD OUT から拝借してしまおう!・・・ということで、難しくありませんのでご安心ください。

陳列棚を扱う上で確認&設定しておかなければならないのは 3 つです。

1. 陳列棚に陳列する時間

2. 陳列棚の維持費

3. 陳列棚増築取壊キットの応用

 

1. 陳列棚に陳列する時間

まずは、inc-item-data.cgi の上の方(現在26行目あたり)に、次のような記述があります。これは、@@DEFINE に属するものです。

    TimeEditShowcase 10m  #★陳列棚操作時間

この「10m」が、陳列棚に商品アイテムを陳列するために必要な時間です。今回はこのままでいきましょう。

 

2. 陳列棚の維持費

続いて、その 7行ほど下あたり(現在33行目くらい?)に、次のような記述があります。これは、陳列棚を増やした場合に店舗にかかる維持費を設定するところです。

    CostShowcase1  0           #★陳列棚1個時維持費
    CostShowcase2  2000      #陳列棚2個時維持費
    CostShowcase3  5000      #陳列棚3個時維持費
    CostShowcase4  30000    #陳列棚4個時維持費
    CostShowcase5  100000  #陳列棚5個時維持費
    CostShowcase6  200000  #陳列棚6個時維持費
    CostShowcase7  400000  #陳列棚7個時維持費
    CostShowcase8  1000000 #陳列棚8個時維持費

今回の講座で作っている「ミジンコ街」は、基本的に安い商品アイテムしか出てきません。そこで、陳列棚の維持費も少なくしておきましょう。下の設定値はかなりおおざっぱなものです。人口が増えて、商品がたくさん売れるようになってくると、維持費についても考え直さなければなりません。(赤文字の部分を変更してください)

    CostShowcase1  0          #★陳列棚1個時維持費
    CostShowcase2  1000     #陳列棚2個時維持費
    CostShowcase3  2000     #陳列棚3個時維持費
    CostShowcase4  5000     #陳列棚4個時維持費
    CostShowcase5  10000   #陳列棚5個時維持費
    CostShowcase6  20000   #陳列棚6個時維持費
    CostShowcase7  50000   #陳列棚7個時維持費
    CostShowcase8  100000 #陳列棚8個時維持費

 

3. 陳列棚増築取壊キットの応用

そして最後に、無改造版の「陳列棚増築取壊キット」と同じ商品を設定(作成)します。

まずは、無改造版の「陳列棚増築取壊キット」を見てみましょう。注意して見ておくべきところは、「func _local_1」と書いてあるところです。これは、同じ @@ITEM の中の他の @@USE に記述された func _local_ を再利用するためのものです。「func _local_1」の 「1」は、@@ITEM の中で一番最初に定義された func _local_ と同じ処理をする。という意味です。ただ、まったく同じ処理をする意味はありませんので、「param 1」〜「param 8」までの数字を @@USE ごとに変更してあげることで、func _local_ の中で微妙に違った処理をするわけです。だいたい想像がつくと思いますが、この「param」の横の数字は陳列棚の数を指定することになっています。

@@ITEM
    no  63
    type 道具
    code edit-showcase
    name 陳列棚増築取壊キット
    info 陳列棚の増築や取り壊しに必要な道具一式です
    price 0
    limit 1
    pop  1d
    plus 1d
    scale キット
    @@use
        time 1h
        scale 回
        action 作業する
        price 0
        name 陳列棚を1つにする
        info 陳列棚を1つにする
        arg  nocount  #★使用時の選択肢指定。
                            #  nocount -> 使用回数選択なし
        param 1   #★独自関数用パラメータ
        use 1 陳列棚増築取壊キット
        func _local_
                            # ★陳列棚数変更
                            #   param1 変更後の棚数
            my $oldcnt=$DT->{showcasecount};
            my $newcnt=$USE->{param1};
            $DT->{showcasecount}=$newcnt;
   
            if($oldcnt<$newcnt)
            {
                foreach ($oldcnt..$newcnt-1)
                {
                    $DT->{showcase}[$_]=0;
                    $DT->{price}[$_]=0;
                }
            }
            if($oldcnt>$newcnt)
            {
                splice(@{$DT->{showcase}},$newcnt);
                splice(@{$DT->{price}},$newcnt);
            }
            my $ret="陳列棚を$DT->{showcasecount}個にしました";
            WriteLog(0,$DT->{id},$ret);
            WriteLog(3,0,$DT->{shopname}."の陳列棚が$DT->{showcasecount}個になりました");
   
            return $ret;
        _local_
    @@use
        time 2h
        price 10000
        name 陳列棚を2つにする
        info 陳列棚を2つにする
        func _local_1
        arg  nocount
        param 2
            use 1 陳列棚増築取壊キット

(長いし、ほぼ同じ内容が続くので、途中を省略)

    @@use
        time 48h
        price 3200000
        name 陳列棚を8つにする
        info 陳列棚を8つにする
        func _local_1
        arg  nocount
        param 8
            use 1 陳列棚増築取壊キット

 

では、実際に作ってみましょう

今回は、「陳列棚増築取壊キット」という商品名を「陳列水槽キット」などと変更して定義します。かなりたくさんありますので、間違えないように修正してください。

 

まずは、/inc/inc-item-data.cgi を開いて、この「陳列棚増築取壊キット」の一連の定義部分をコピーしてください。そして、そのまま、/custom/inc-item-data.cgi を開いて、「酸素」の下に貼り付けましょう。(コピーと貼り付けは、おおよその Windows系ソフトであれば「編集」メニューの中にあります。)

 

そして、次のように赤文字部分を変更します。(商品番号と商品名、コメントの部分だけです。)

@@ITEM
    no  11
    type 道具
    code edit-showcase
    name 陳列水槽キット
    info 陳列水槽の増築や取り壊しに必要な道具一式です
    price 0
    limit 1
    pop  1d
    plus 1d
    scale キット
    @@use
        time 1h
        scale 回
        action 作業する
        price 0
        name 陳列水槽を1つにする
        info 陳列水槽を1つにする
        arg  nocount    #★使用時の選択肢指定。
                               #  nocount -> 使用回数選択なし
        param 1        #★独自関数用パラメータ
            use 1 陳列水槽キット
        func _local_
                                # ★陳列水槽数変更
                                #   param1 変更後の棚数
            my $oldcnt=$DT->{showcasecount};
            my $newcnt=$USE->{param1};
            $DT->{showcasecount}=$newcnt;
   
            if($oldcnt<$newcnt)
            {
                foreach ($oldcnt..$newcnt-1)
                {
                    $DT->{showcase}[$_]=0;
                    $DT->{price}[$_]=0;
                }
            }
            if($oldcnt>$newcnt)
            {
                splice(@{$DT->{showcase}},$newcnt);
                splice(@{$DT->{price}},$newcnt);
            }
            my $ret="陳列水槽を$DT->{showcasecount}個にしました";
            WriteLog(0,$DT->{id},$ret);
            WriteLog(3,0,$DT->{shopname}."の陳列水槽が$DT->{showcasecount}個になりました");
   
            return $ret;
        _local_
    @@use
        time 2h
        price 10000
        name 陳列水槽を2つにする
        info 陳列水槽を2つにする
        func _local_1
        arg  nocount
        param 2
            use 1 陳列水槽キット
    @@use
        time 4h
        price 50000
        name 陳列水槽を3つにする
        info 陳列水槽を3つにする
        func _local_1
        arg  nocount
        param 3
            use 1 陳列水槽キット
    @@use
        time 8h
        price 150000
        name 陳列水槽を4つにする
        info 陳列水槽を4つにする
        func _local_1
        arg  nocount
        param 4
            use 1 陳列水槽キット
    @@use
        time 16h
        price 400000
        name 陳列水槽を5つにする
        info 陳列水槽を5つにする
        func _local_1
        arg  nocount
        param 5
            use 1 陳列水槽キット
    @@use
        time 32h
        price 800000
        name 陳列水槽を6つにする
        info 陳列水槽を6つにする
        func _local_1
        arg  nocount
        param 6
            use 1 陳列水槽キットット
    @@use
        time 40h
        price 1600000
        name 陳列水槽を7つにする
        info 陳列水槽を7つにする
        func _local_1
        arg  nocount
        param 7
            use 1 陳列水槽キット
    @@use
        time 48h
        price 3200000
        name 陳列水槽を8つにする
        info 陳列水槽を8つにする
        func _local_1
        arg  nocount
        param 8
            use 1 陳列水槽キット

それぞれの @@USE price は、改造する目的にあわせて変更してもよいです。

この陳列棚と同じように 無改造版のinc-item-data.cgi に定義してあるアイテムの名前を変更するなどして再利用できるものはたくさんあると思います。時間のあるときに 無改造版の inc-item-data.cgi を眺めておくとのも良いと思います。

陳列水槽キット item-no-11.png

このあたりで inc-item-data.cgi が不安だなと思うひとは、これ↓を使ってください。いままでの設定が入っています。

inc-item-data-002.lzh

それでは、いつものように確認してみてください。陳列棚は1日に1度だけ市場に出る確立になっていますからね。

コンテンツ

ミジンコトップページ

001 アイテムを1個追加

002 ミジンコの説明

003 2つ目のアイテム

004 街人に売る設定

005 タモでミジンコをすくう

X01 おまけ1

006 市場に入荷させない

007 ミジンコが道具?

008 アイコン画像

009 維持費など

010 使うと無くなる

X02 おまけ2

011 よく使う物ほど上に

012 合成材料

013 コマンドに必要商品

014 バージョン変更方法

015 職業の変更

X03 おまけ3

016 1回だけのコマンド

017 お金を使うコマンド

018 ミジンコと会話♪

019 お店の選択

020 陳列棚を操作する

X04 おまけ4


SOLD OUT 陰陽道


おすすめ

イラストアイコン素材のCUTE

SOLD OUT Shop of Monsters(SOSM)

簡易データベースCGI

ホーム | ページトップ Copyright (C) 2006 HeRO. ALL RIGHT RESERVED.
ホームページランキングのザ・ランクテンに参加しています