Creation Manual

RPG-NPC

NPCの作成

ヒエラルキーの右クリックメニューから RPG -> NPC をクリックしてください
NPCオブジェクトは必ず Rpg/NPC オブジェクトの直下に配置してください
NPCオブジェクトの名前はスクリプト制御のIDとして使用されます
そのため重複しないオブジェクト名を設定してください

イメージの設定

RpgCharacterImage コンポーネントの Chipset プロパティにキャラのチップセットをドラッグ&ドロップして設定してください
チップセットの作り方に関しては『チップセット』のページをご覧ください
チップセットを設定後、必要に応じて各プロパティを調整して表示するチップの設定を行ってください

位置と向き

エディタ上で設定した位置と向きが初期設定となります
方向を設定するには RpgCharacterImage コンポーネントの Direction プロパティを調整してください

プロパティ

DeveloperMemo開発者用メモ (製品版では無視されます)
CharaImageキャラのイメージ オブジェクトの参照
Baloonバルーン オブジェクトの参照
Floor所属フロア
Depth深度
IsForceStepping停止時でも歩行アニメーションを再生する
BehaviourNPCの挙動タイプ
MoveRadius初期位置を中心とする移動半径 (セル単位)
MoveSpeed移動速度 (秒間移動セル数)
StopTime移動、又は、回転後の待ち時間。min ~ max の間のランダムな秒数で待機する
SearchDistanceプレーヤーを発見する距離 (セル単位)
MoveSpeedAtFoundプレーヤーを発見した時の移動速度 (秒間移動セル数)
StopTimeAtFoundプレーヤーを発見した時の移動後の待ち時間。min ~ max の間のランダムな秒数で待機する
ForeverUpdate会話中 (スクリプト実行中) でも行動を続行させる
DisplayNameスクリプトの \B[] エスケープコマンドに対応するキャラの表示名
ActionScriptプレーヤーがNPCに向かってアクションボタンを押したときに実行するスクリプトのパス
TouchedScriptプレーヤーとNPCが接触したときに実行するスクリプトのパス
StopTimeOnTouched接触イベント終了後の待機時間。マイナス値を設定すると無視されます
OnedariScriptおねだりのときに実行するスクリプトのパス
BaishunScript売春のときに実行するスクリプトのパス

NPCの挙動

NPCの挙動

NPCオブジェクトの Behaviour プロパティからNCPの挙動を設定することができます
各挙動タイプの動きは以下のとおりです

RandomMove ランダムに移動します
ApproachPlayer プレーヤーとの距離が近くなるとプレーヤーを追跡しようとします
プレーヤーとの距離が離れているときはランダムに移動します
但し、RandomMove と違い移動可能半径は指定できず、移動可能な場所なら何処へでも移動します

追跡時はプレーヤーに向かって直線で移動しようとします
障害物は考慮せずに動くため地形によっては障害物に嵌る事があります
LeavePlayer プレーヤーとの距離が近くなるとプレーヤーから逃げようとします
プレーヤーとの距離が離れているときはランダムに移動します
但し、RandomMove と違い移動可能半径は指定できず、移動可能な場所なら何処へでも移動します

追跡時はプレーヤーに向かって直線で移動しようとします
障害物は考慮せずに動くため地形によっては障害物に嵌る事があります
TurnCW その場で時計回りに回転します
TurnCCW その場で反時計回りに回転します
TurnHorizontal その場で左右に方向転換を繰り返します
TurnVertical その場で前後に方向転換を繰り返します
Stay その場で待機し何もしません
RestoreDirection その場で待機し何もしません。Stay とは違いプレーヤーが話しかけるとプレーヤーの方向を向きますが、会話が終わると初期方向へ向きを戻します
FixedDirection その場で待機し何もしません。プレーヤが話しかけてもプレーヤーの方向を向きません

挙動パラメータ

挙動ごとに使用するパラメータは異なります
挙動と関連するパラメータは以下のとおりです

パラメータ RandomMove ApproachPlayer LeavePlayer TurnCW TurnCCW TurnHorizontal TurnVertical Stay RestoreDirection FixedDirection 説明
IsForceStepping 立ち止まっている最中も脚踏むアニメーションを続けるか
MoveRadius × × × × × × × × × 初期位置を中心とした移動可能な半径 (セル単位)
MoveSpeed × × × × × × × 秒間移動タイル数。挙動タイプが ApproachPlayer 又は LeavePlayer の場合、プレーヤーを発見してない時の移動速度となる
StopTime × × × 移動後、又は、方向転換後の停止時間。min ~ max の間のランダムな秒数で待機する
SertchDistance × × × × × × × × プレーヤーを発見する距離 (セル単位)
MoveSpeedAtFund × × × × × × × × プレーヤーや発見しているときの秒間移動タイル数
StopTimeAtFound × × × × × × × × プレーヤーを発見しているときの移動後停止時間。min ~ max の間のランダムな秒数で待機する
ForeverUpdate × × × 会話中 (スクリプト実行中) でも行動を続行させる

イベント

イベントの種類

NPCは4種類のイベントがあります

アクション イベント ActionScript プレーヤーがNPCに向かってアクションボタンを押したときに発生するイベント
接触イベント TouchedScript プレーヤーとNPCが接触した時に発生するイベント
移動系のNPCの場合はプレーヤーが立ち止まっているときでもこのイベントが発生することがあります
※ 接触とはプレーヤーとNPCが同じタイルに入ろうとした瞬間をいいます。隣に立つだけでは接触にはなりません
おねだりイベント OnedariScript プレーヤーがメニュー画面から『おねだり』を選択した時に発生するイベント
売春イベント BaishunScript プレーヤーがメニュー画面から『売春』を選択した時に発生するイベントです。

イベントの設定

イベントを設定するには各イベントのプロパティにスクリプトのパスを設定してください
スクリプトのパスは [アセットバンドル名]/[スクリプト名]<[*ラベル名]> の形で指定します
StopTimeOnTouched プロパティに 0 以上の値を設定すると接触イベント終了後に指定した秒数その場で待機します
挙動タイプに ApproachPlayer を使用しているときに連続でイベントが発生するのを防ぐときに使用します

バルーンの追加

ヒエラルキーからバルーンを設置するNPCオブジェクトを選択し右クリックメニューを開きます
RPG -> CharaBaloon をクリックしてバルーンオブジェクトを追加します

注意点:
バルーンオブジェクトはNPCオブジェクトの子でなければなりません
NPCオブジェクトの Baloon プロパティにバルーンのオブジェクトの参照を設定してください
(上の操作でバルーンを追加した場合は自動的に適切な配置と設定が行われます)

チップセットの設定

バルーンオブジェクトの Chipset プロパティにバルーンのチップセットをドラッグ&ドロップで設定してください
チップセットの作り方に関しては『チップセット』のページをご覧ください
チップセットを設定後、必要に応じて各プロパティを調整して表示するチップの設定を行ってください
普段は非表示にしておきたい場合はバルーンオブジェクトを非アクティブにしてください

TOP