会話の分岐条件&転送の指定方法

会話の条件分岐と転送先の指定方法についてまとめました。

大まかな流れ
1:NPCの台詞でxmlファイル内を検索
2:台詞のテーブル名を把握
3:台詞のテーブル名で検索
4:クエストや転送先の条件をまとめたテーブルを把握
5:クエストやアイテム所持などの条件を入力
6:TeleportIdの番号をTeleportInfo内から探す
7:転送先を追加
8:台詞のテーブルに戻って会話の条件分岐を入力

メガロのパチを例に記載しています。
台詞のテーブル名称:NpcMsg_Square_Npc179

TABLE name='NpcTalk_Square_New'で確認する場所
<ROW>
<Type>1178</Type>
<PosId>29</PosId>
<RegionId>0</RegionId>
<QuestId>957</QuestId> ←一般クエストID(終了の有無)チェック
<QuestId1>958</QuestId1> ←一般クエストID(終了の有無)チェック
<QuestId2>0</QuestId2> ←一般クエストID(終了の有無)チェック
<QuestId3>0</QuestId3> ←一般クエストID(終了の有無)チェック
<QuestId4>0</QuestId4> ←一般クエストID(終了の有無)チェック
<TeleportId>182</TeleportId> ←TeleportInfoテーブルで使われているID番号
<NpcMoveId>0</NpcMoveId>
<MsgTable><![CDATA[NpcMsg_Square_Npc179]]></MsgTable> ←NPCの台詞指定(例:メガロのパチ)
<EventMsgTable><![CDATA[ ]]></EventMsgTable>
<CompounderTable><![CDATA[ ]]></CompounderTable>
<ExcShopTable><![CDATA[ ]]></ExcShopTable>
<TutorialId>0</TutorialId>
<TutorialTable><![CDATA[ ]]></TutorialTable>
<TmQuestInfoId>0</TmQuestInfoId>
<SkillId>0</SkillId>
<ImgFileName><![CDATA[ ]]></ImgFileName>
<SubType>0</SubType>
<ShowboardID>0</ShowboardID>
<CheckQuestId>954</CheckQuestId> ←一般クエストID(終了の有無)チェック
<CheckQuestId1>956</CheckQuestId1> ←一般クエストID(終了の有無)チェック
<CheckQuestId2>955</CheckQuestId2> ←一般クエストID(終了の有無)チェック
<CheckQuestNum>1</CheckQuestNum>
<CheckQuestNum1>1</CheckQuestNum1>
<CheckQuestNum2>1</CheckQuestNum2>
<CheckMonQuestId>0</CheckMonQuestId> ←モンスタークエストID(終了の有無)チェック
<CheckMonQuestNum>0</CheckMonQuestNum>
<CheckItemId0>0</CheckItemId0> ←アイテムID(所持の有無)チェック
<CheckItemCnt0>0</CheckItemCnt0>
<CheckItemId1>0</CheckItemId1> ←アイテムID(所持の有無)チェック
<CheckItemCnt1>0</CheckItemCnt1>
<ActiveQuestID0>0</ActiveQuestID0> ←現在進行中のクエストチェック
<ActiveQuestID1>0</ActiveQuestID1> ←現在進行中のクエストチェック
<ActiveQuestID2>0</ActiveQuestID2> ←現在進行中のクエストチェック
<PreCheckType>0</PreCheckType>
<PreCheckArg>0</PreCheckArg>
<PreCheckYes>0</PreCheckYes>
<PreCheckNo>0</PreCheckNo>
<JobTypeFlag1>0</JobTypeFlag1> ←多分職業のチェック
<JobTypeFlag2>0</JobTypeFlag2>
 ←多分職業別チェック
<GiveItemID>0</GiveItemID> ←貰うアイテム
<TakeItemID>0</TakeItemID> ←渡すアイテム
<HeadMarkType>5</HeadMarkType>
<MinimapMarkType>1</MinimapMarkType>
<TimerID>0</TimerID>
<VIPShopItemTable><![CDATA[ ]]></VIPShopItemTable>
<TakeGelder>0</TakeGelder> ←貰うゲルダ
<GiveGelder>0</GiveGelder> ←渡すゲルダ
<ItemStatID1>0</ItemStatID1>
<ItemStatID2>0</ItemStatID2>
<SkillCheckID>0</SkillCheckID> ←特定のスキルを覚えているかチェック
<SkillCheckID_1>0</SkillCheckID_1> ←特定のスキルを覚えているかチェック
<SkillCheckID_2>0</SkillCheckID_2> ←特定のスキルを覚えているかチェック
<BossPartyZone>0</BossPartyZone>
<EventSceneTable><![CDATA[ ]]></EventSceneTable>
</ROW>

TABLE name='TeleportInfo' で確認する場所
<ROW>
<Id>182</Id> ←NpcTalk_Square_Newで指定されていたID
<MinLevel>5</MinLevel> ←転送Lv(下限)
<Zone0>6</Zone0> ←転送先のMAPID(NPCが居るかは関係ない)
<Cost0>4000</Cost0> ←消費ゲルダ
<LoadImg0><![CDATA[ ]]></LoadImg0> ←MAP移動中に表示したい画像
<Zone1>168</Zone1> ←転送先のMAPID(NPCが居るかは関係ない)
<Cost1>4000</Cost1> ←消費ゲルダ
<LoadImg1><![CDATA[ ]]></LoadImg1> ←MAP移動中に表示したい画像
(以下略)

TABLE name='NpcMsg_Square_Npc179'で確認する場所
<No>0</No> ←No0は最初に表示される台詞、No1以降は分岐条件で指定
<NpcSType>0</NpcSType> ←よくわからない
<Message><![CDATA[【この部分に喋らせたい台詞や分岐条件】]]></Message>

台詞/クリックする部分/条件,台詞番号,台詞番号のように/や,で区切って記載

【条件分岐の記載方法】
喋らせたい台詞(例:こんにちはパチです)/
クリックする部分(例:タバスコ入口6000ゲルダ)/
クエストチェック指定(CheckQuestState),未達成の台詞番号,達成時の台詞番号/

NpcTalk_Square_Newでの記載箇所→条件分岐での記載方法
CheckQuestId→CheckQuestState,台詞番号,台詞番号
CheckQuestId1→CheckQuestState_1,台詞番号,台詞番号
CheckQuestId2→CheckQuestState_2,台詞番号,台詞番号

クエストチェック指定(Quest_Check),未達成時の台詞番号,未達成時の台詞番号,未達成時の台詞番号,達成時の台詞番号

NpcTalk_Square_Newでの記載箇所→条件分岐での記載方法
QuestId→Quest_Chec,台詞番号,台詞番号,台詞番号,台詞番号
QuestId1→Quest_Chec_1,台詞番号,台詞番号,台詞番号,台詞番号
QuestId2→Quest_Chec_2,台詞番号,台詞番号,台詞番号,台詞番号
QuestId3→Quest_Chec_3,台詞番号,台詞番号,台詞番号,台詞番号

転送条件チェック(Teleport_Check),TeleportInfoで指定している番号,転送時の台詞番号,Lv満たしてない時の台詞番号,お金不足の台詞番号

TeleportInfoでの指定箇所→条件分岐での記載方法
Zone0&Cost0の場合→Teleport_Check,0,台詞番号,台詞番号,台詞番号
Zone1&Cost1の場合→Teleport_Check,1,台詞番号,台詞番号,台詞番号
Zone2&Cost2の場合→Teleport_Check,2,台詞番号,台詞番号,台詞番号
Zone3&Cost3の場合→Teleport_Check,3,台詞番号,台詞番号,台詞番号

【転送の時の台詞】
台詞(例:転送します)/クリックする部分(例:移動する)/Teleport_Start,TeleportInfoで指定しているテレポート先の番号

TeleportInfoでの指定箇所→条件分岐での記載方法
Zone0&Cost0の場合→Teleport_Start,0
Zone0&Cost0の場合→Teleport_Start,1
Zone0&Cost0の場合→Teleport_Start,2

【分岐なしで会話が続く場合】
台詞(例:○×へ行って下さい)/クリックする部分(例:はい)/次の台詞番号

【分岐なしで会話の終わり】
<Message><![CDATA[【台詞のみ入力】]]></Message>
プロフィール

きなこもち~

Author:きなこもち~

ブログ作成日:2006-01-06

Season2開始:2015-02-05

記事の更新日:2016-06-20

本スレ811-812は私です

分からない事or私が未検証

  • MAPやMOB、ポータル等
    新しい内容の追加方法
    (装備の追加テスト中)

現在試行錯誤中、情報求む。


【目次】
下準備
プレイに必要な事(省略可)
改変の話題
メモ書き

【ゲーム画像著作権】

Copyright(C) 2005 GCREST Co., Ltd. All Rights Reserved.

(C)Copyright 2005 NtreevSoft Co., Ltd. All Rights Reserved.

Ntreev and Trickster are registered Trademarks.

Powered by FC2ブログ