| このページは、SOLD OUT ファンサイトのso-Junkyで行われていたゲームの改造講座を転記したものです。 |
|
SOLD OUT 改造講座 | SOLD OUT ミジンコ |
商品アイテムを使用するときに、お店が選択できます。
ミジンコ君たちもストレスがたまるようです。たまにはお散歩をさせてあげましょう。・・・・と、放し飼いにすると、彼らは二度と帰ってきませんでした。チャンチャン。 商品アイテムの @@USE の「arg」の残りは「target」です。これは、お店を選択するリストボックスが表示されます。 @@ITEM このように記述すると、コマンドの実行時にプルダウンのリストボックスが表示されて、お店の一覧の中から1つを選択することができます。 書式は、「arg(区切り)target」です。 しかしですね、「arg message」と同じように、このままでは、お店を選択しても、それをどのように使うか決まっていません。
そこで登場するのが、やはり「独自関数」(T−T)なのです。ガ〜ンっ。 では、お店を選択すると、どのような変数に「お店情報」が入ってくるのでしょうか。みてみましょう。 $DTS : 選んだお店の情報が自動的に入ります。$DT は自分の店の情報ですが、これと同じです。変数の名前が違うだけです。 $DTS->{item}[アイテム番号-1] : 選んだお店のアイテム在庫数。 $DTS->{id} : 選んだお店の ID です。 $DTS->{shopname} : 選んだお店の店舗名。 そのほか、独自関数の中で使える変数を紹介します。 $ITEM[アイテム番号]->{limit} : inc-item-data.cig で指定したアイテムの倉庫最大数。 $USE->{arg}->{count} : コマンドの(同時)実行回数。$count でもOK。
では、まず、表示するメッセージから決めておきましょう。 @@USE ここまでは、おなじみですね。「use 1 ミジンコ」が書いてあるので、1回につきミジンコが1匹いなくなるわけです。return の右側にある $count や $DTS->{shopname}は上の変数の説明を見てください。
次に、選んだお店のミジンコの数を増やします。 @@USE 難しいように見えるかもしれませんが、018講座で取り扱った、数字の足し算です。選んだお店のミジンコに $count を足しています。ここで @@ITEMNO"ミジンコ" とうのが出てきましたが、このように書いておくと、ミジンコの アイテム番号 に置き換わります。従って次のように書くのと同じ意味です。(ミジンコのアイテム番号は @@ITEM no 1 でしたよね)。 $DTS->{item}[1-1] += $count; (アイテム番号=1) または、 $DTS->{item}[0] += $count; (1から-1をしてしまって、0と書いてしまう方法) なぜ、@@ITEMNO"アイテム名" が用意されているかというと、開発中に @@ITEM no 1 を @@ITEM no 100 などに変更してしまっても、独自関数は修正しないで、そのままにしておいても大丈夫、ということ配慮されているのだと思います。
また、ミジンコの数を足した結果、倉庫最大数(limit)を超えてしまう場合はマズイので、検査しておきます。 @@USE よーく見てください。長い変数があるだけで、やっていることは単純です。 もし、選んだお店のミジンコの数($DTS->{item}[@@ITEMNO"ミジンコ"-1]) が ミジンコの倉庫最大数($ITEM[@@ITEMNO"ミジンコ"]->{limit}) より多い(>)という場合に、選んだお店のミジンコの数 に ミジンコの倉庫最大数を入れてしまう。という意味です。
ついでに、「最近の出来事」に文字を表示するようにしましょう。 @@USE WriteLog は、SOLD OUT にあらかじめ用意されているものです。カッコの中は、( 0, 表示する店のID, 表示する文字 )となっています。 1番目の 0 は、「一般」メッセージです。1にすると「重要」。2にすると「情報」です。このあたりは、MANUAL を参照するのがよいです。 2番目の 表示する店のIDは、その店舗しか読むことができない(秘)がつくメッセージです。ここに0を指定すると全店舗が読めます。 3番目の表示する文字は、最近の出来事に表示される文字です。ただし、今回は $DTS->{shopname} ではなく、$DT->{shopname} としてあることに注意してください。 つまり、送った相手の店($DTS->{id})だけが読める「最近の出来事」に、「ミジンコが(コマンドを操作した人の)店から100匹遊びにきました」という文字が表示されます。(ややこしいね)。
ということで、最終的には次のようになります(赤文字を追加してください)。上の説明がわかんない場合は、ほんとごめんなさい。
「use 1 ミジンコ 100%」の 100% は省略可能でしたよね。 ここまでで、本当の意味での @@USE のパラメータの説明が終了しました。ご苦労様でした。 あとは、_config.cgi で設定した「街タイプ」に対応すること、優勝時のプレゼント商品、ヘルプの書き方、・・・などですね。 あ、イベントが残ってるか! |
|
||||||
|
|
| ホーム | ページトップ | |