■過去の記事
【NPC露店 第3回】商品を買ってみる
【NPC露店 第2回】商品リストの表示
【NPC露店 第1回】NPC露店の仕様
NPC露店は主にスクリプトで制御するのですが、
今回はNPC露店用のスクリプト命令・関数をなんと6つも用意しました。
なかなか面倒くさい事になっていますが、一応説明をしていきましょう。
■setvending命令
・書式
setvending <index>,<itemid>,<num>,<value>[,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<limit>,<npcname>];
・説明
NPCの商品リストの<index>番目にアイテム<itemid>をセットします。
・パラメータ
<index>
商品リストの番号を指定(1~12)
「0」を指定すると空き番号にセット
<itemid>
商品のアイテムIDをセット
アイテム名の文字列指定でも可(非推奨)
<num>
商品の個数をセット
<value>
商品の値段をセット
※↓ここから省略可
<identify>
<refine>
<attribute>
<card1>
<card2>
<card3>
<card4>
<limit>
script_ref.txtの「getitem2命令」を参照
<npcname>
商品リストをセットする対象NPC名を指定
省略するとスクリプトを実行したNPCが対象
■delvending命令
・書式
getvending [<index>,<npcname>];
・説明
NPC商品リストの<index>番目のアイテムを削除します。
・パラメータ
<index>
削除する商品リストの番号を指定(1~12まで)
「0」または省略すると全てのアイテムを削除
<npcname>
商品を削除する対象NPC名を指定
省略するとスクリプトを実行したNPCが対象
■getvending命令
・書式
getvending [<npcname>];
・説明
NPCの商品リストの情報を以下の配列にセットします。
'@vending_num
商品の個数
'@vending_title$
露店のタイトル名
'@vending_status
露店の状態(1で開設中、0で閉鎖中)
'@vending_itemid[n]
n+1番目の商品アイテムID
'@vending_amount[n]
n+1番目の商品の個数
'@vending_value[n]
n+1番目の商品の値段
'@vending_identify[n]
n+1番目の商品の鑑定状態
'@vending_refine[n]
n+1番目の商品の精錬値
'@vending_attribute[n]
n+1番目の商品の状態
'@vending_card1[n]
n+1番目の商品のカード1
'@vending_card2[n]
n+1番目の商品のカード2
'@vending_card3[n]
n+1番目の商品のカード3
'@vending_card4[n]
n+1番目の商品のカード4
'@vending_limit[n]
n+1番目の商品の制限時間
※nは0から指定
・パラメータ
<npcname>
省略可
商品リストをセットする対象NPC名を指定
省略するとスクリプトを実行したNPCが対象
■openvending命令
・書式
openvending <title>,[<event>,<npcname>];
・説明
NPCに露店を開設させます。
・パラメータ
<title>
表示させる露店名を文字列で指定
<event>
省略可
商品が売れたときに実行するイベント名を指定
<npcname>
省略可
露店開設する対象NPC名を指定
省略するとスクリプトを実行したNPCが対象
・備考
予めsetvendingで商品リストをセットしないと失敗になります
■closevending命令
・書式
closevending [<npcname>];
・説明
NPCの露店を閉鎖させます。
<npcname>
省略可
露店を閉鎖する対象NPC名を指定
省略するとスクリプトを実行したNPCが対象
■checkvending関数
・書式
checkvending(<npcname>)
・説明
NPCの露店の開設状態をチェックします。
露店が開設されていれば1が、それ以外は0が返ります。
・パラメータ
<npcname>
省略可
露店状態をチェックする対象NPC名を指定
省略するとスクリプトを実行したNPCが対象