March 27, 2005
酒場の作成(その4)座れる椅子
「配置オブジェクト」の中から、好みに合わせていろいろ選べます。
カルシィ村で最初に置いたオブジェクトは「椅子」。
それに入れ込んだ「椅子に座れるようにするスクリプト」が、カルシィ村で初めてのスクリプトでした。
何せ、シナリオを組むよりも前に入れてますから。
……なぜかは忘れましたが。
取りあえず見本としてerfファイル「座れる椅子」をアップしました。
「配置用オブジェクト」パレットの「その他室内物」中に3種類の「椅子」がありますので、お好みに合わせて置いてください。
そして「椅子」のプロパティを開き、「基本設定」タグを見てみます。
右下の部分を見ると、「静的」にチェックが入っています。
これを、その上にある「使用可」のチェックに変えます。
これでこの椅子を使うことが出来るようになりました。
続いて「スクリプト」タグの「OnUsed」にスクリプトを入れます。
「OnUsed」の右側にある「編集」ボタンを押すと、スクリプトを編集するウィンドウが開きます。
ここで次のスクリプトを入力し、名前をつけて保存します。
void main()難しそうに見えるかもしれませんが、このスクリプトの肝は、
{
object oChair = OBJECT_SELF;
if(!GetIsObjectValid(GetSittingCreature(oChair)))
{
AssignCommand(GetLastUsedBy(), ActionSit(oChair));
}
}
AssignCommand (oPlayer, ActionSit (oChair));の部分です。
大雑把に言うと、
AssignCommand (対象A, アクション内容B);って形で「Aという対象に、Bというアクションをさせる」命令になります。
そして、「ActionSit (oChair)」は「oChairに座る」というアクションですから、今回は「oPlayerに、oChairに座るというアクションをさせる」ことが出来る訳です。
この部分より前は、その準備です。
一番最初の「void main(){〜}」は、「{〜}がこのスクリプトの本体ですよ」ということを示しています。
「object oChair = OBJECT_SELF;」は、「OBJECT_SELF」つまりスクリプトが設置されてるそのもの(今は「椅子」)に「oChair」という名前をつけますよ、ということ。
「object oPlayer = GetLastUsedBy ();」は、「もっとも最近に使用した人」に「oPlayer」という名前をつけますよ、ということ。
ここまでで、「椅子」を左クリックしたら、そのキャラクターに「椅子」に座るアクションをさせられる、という訳です。
「if」の部分は、「 !GetIsObjectValid (GetSittingCreature (oChair))」で、既に座っている人がいないかどうかを調べています。
【「カルシィ村探訪」MOD解体新書】記事一覧
- カルシィ村MOD解体新書でも始めますか?!
- 改めましてカルシィ村の方針をば
- 酒場の作成(その1)新MODの作成
- 酒場の作成(その2)エリアの設定を調整
- 酒場の作成(その3)間取りの調整
- 酒場の作成(その4)座れる椅子
- 酒場の作成(その5)座れる椅子・応用編
- 酒場の作成(その6)テーブル・椅子セットを複数設置
- 酒場の作成(その7)NPCを座らせる
- 酒場の作成(その8)会話後もNPCを座らせる
Posted by e_tacky at 06:35
│Comments(2)
│TrackBack(0)
「カルシィ村探訪」MOD解体新書
この記事『酒場の作成(その4)座れる椅子』へのトラックバックは下記URLへ
この記事『酒場の作成(その4)座れる椅子』へのコメント
かつてある方が仰いました。
「スクリプトの最高傑作は座れる椅子」
私も最初にMODに入れたのはこれです(笑
Posted by mukade at March 27, 2005 14:28
当時のことを振り返るに、おそらくみんなで座ってダベリをしたかったんだと思います。
それだけでも結構、楽しいんですよね。
後は何となく「生きてる感じ」「暮らしてる感じ」を出したかったのかなぁ。
Posted by e_tacky at March 27, 2005 20:55