カスタムNPCの作成と各ヴァリアントでの仕様 の変更点

このページは公式からの機能であるカスタムNPC(CNPC)の作成について、簡易な情報の掲載を行うと共に、
CNPCの作成に対してヴァリアントではどのような機能が追加変更されているかについての情報をまとめるページです。
主な目的は後者なので、CNPCの作り方を詳しく知りたい場合はやはり冒険者の休息所Wikiの下記のページを参照してください。
#br
基本的に冒険者の休息所Wikiの[[カスタムNPCページ>http://elona.wikiwiki.jp/?cmd=read&page=%A4%AA%A4%DE%A4%B1%2F%A5%AB%A5%B9%A5%BF%A5%E0NPC]]と、各ヴァリアントの readme にある内容を情報源としてこのページは
作成されています。
#br
#hr
#contents
#hr
#br
*公式準拠のカスタムNPC定義文 [#z6af6a89]
種族、職業欄等に何を記述するかについては冒険者の休息所Wikiの[[こちら>http://elona.wikiwiki.jp/?cmd=read&page=%A4%AA%A4%DE%A4%B1%2F%A5%AB%A5%B9%A5%BF%A5%E0NPC]]参照。
|CENTER:定義の要素名|CENTER:内容|CENTER:例・備考|h
|CENTER:|||c
|~%Elona Custom Npc|定義文の宣言。txtファイルの先頭に記述。||
|~author.|作者名||
|~name.|キャラクター名|"英語名,日本語名"|
|~race.|種族||
|~class.|職業||
|~filter.|属性、フィルタ||
|~level.|CNPC のレベル||
|~relation.|PCとCNPCの関係状態||
|~sex.|性別||
|~fixLv.|CNPC の生成品質||
|~rare.|生成頻度||
|~spawnType.|生成条件||
|~aiCalm.|非戦闘時のAIタイプ||
|~aiMove.|戦闘時、適正距離でない場合の移動確率||
|~aiDist.|戦闘時の適正距離||
|~aiHeal.|瀕死時行動||
|~aiAct.|戦闘時の基本的な行動||
|~aiActSubFreq.|特殊行動を取る確率||
|~aiActSub.|戦闘時の特殊行動||
|~meleeElem.|素手で攻撃時の属性と強度||
|~resist.|耐性の属性とその強度||
|~bitOn.|補正||

#br
*CNPC作成の各ヴァリアントにおける追加・変更要素 [#uad288cf]
基本的に、ここにある各ヴァリアントで追加された要素定義を用いてCNPCが作られ、その定義が実装されていないヴァリアントで用いられても、
その定義が反映されるヴァリアントでしか機能しないだけで、互換性を損ねることはない。

#br
**Elona_omakeでの追加変更 [#c3e93022]
定義要素は公式・omakeのものを利用可能。omake_overhaul、omake_MMA/TT追加のものは利用できない。(2013年2月12日現在)
『omake_readme』より該当部分を抜粋及び参照。
***変更・追加点 [#vad0bd42]
・CNPCを作る際に会話の選択肢を設定できるように変更。
・CNPCのテキストのfilter.に/nogenerate/と設定することで該当CNPCが自然生成されないように変更
・CNPCのテキストのfilter.に/nodownload/と設定することで召喚石を使った際のCNPC一覧に該当CNPCが出現しなくなるように変更
・CNPCにポートレートを埋め込めるように変更
・カスタムNPCに同梱するカスタムメッセージの最大サイズを8kバイト(公式の標準)から16kバイトに拡張。
#br
***追加された定義の要素 [#d4a9c7b8]
追加された定義は公式のCNPCの「biton.」より下に追記して用いること。
またこれを設定したCNPCをomake以外で用いた場合、この定義は効果を成さず、通常と変更
なしの状態となる。
|CENTER:定義の要素名|CENTER:内容|CENTER:例・備考|h
|CENTER:|||c
|~transmissivity.|CNPCのキャラチップの透過率|0~256の間。0が通常、256で完全に透明。|
|~dropShadowType.|CNPCの影タイプ|0が通常、-1で表示しない。&br;1以上だとアイテムと同じ影で、数値が伸びる大きさ。&br;参考:大体のアイテムは40|
|~cSetPos.|CNPCの地面からの浮き具合|16が通常、これより大きければ大きいほど浮いて見える。|
|~noFoodOrDrink.|CNPCの自動飲食可不可の設定|0なら通常、1で自動飲食なし。|
|~cnpcRole.|CNPCに吟遊詩人、清掃員、娼婦の行動を設定できる&br;設定する場合は「aiCalm.」を5に設定しておく|1:吟遊詩人、2:清掃員、3:娼婦|
|~raceAlias.|種族の別名。本来の種族を変更せず、キャラステータス画面の種族欄に表示される部分のみを変更できる。あまり長すぎないほうが良い。||
|~classAlias.|職業の別名。本来の職業を変更せず、キャラステータス画面の職業欄に表示される部分のみを変更できる。あまり長すぎないほうが良い。||
|~userRace.|CNPCにカスタム種族・職業を設定することが出来る。それを設定したCNPCファイルがuserフォルダにある場合、PCの新規作成時にも現れる。記述に問題があると、ゲームの動作にも関わってくるので、omake付属の説明書をよく読んで設定する必要がある。||
|~userClass.|~||

#br
**omake_overhaulでの追加変更 [#le3046b9]
定義要素は公式・omake・omake_overhaulのものを利用可能。
『readme_oo』より該当部分を抜粋及び参照。
***CNPCのゲーム中での扱いの変更 [#s18d9950]
omake_overhaulではCNPCが、より通常のNPCと変わらない存在となるような変更が多く加えられている。
ただしそれらの変更はomake_overhaul内でのみ機能するものである。
#br
・卵・乳・死体・残骸・剥製・カード・フン・ゲロゲロ・愛を込めて作ったお弁当・エロ本に名前が付くようになりました。
・討伐依頼と殲滅依頼で名前が表示され、そのカスタムNPCだけが出現するようになりました。
・モンスターボールでカスタムNPCを捕獲した場合、そのカスタムNPCの名前が表示され、開ける時にそのカスタムNPCが出現するようになりました。
・アリーナで対戦する時に名前が表示され、そのカスタムNPCが出現するようになりました。
・カスタムNPC・カスタムアイテム・カスタムゴッドをuserフォルダ以下のどこからでも読み込めるように変更しました。

#br
***変更・追加点 [#f565065f]
・カスタムNPCもキャラチップを個別に差し替えられるようになりました。
・{nnpc}と{nsnpc}が正常に機能するようになりました。
・spawnType.の指定が正常に機能するようになりました。
・fixLv.が厳密にチェックされるようになりました。 例えば、高品質のカスタムNPCが上位変異種討伐やネフィアボスに選ばれる事はなくなります。
・filter.に"/nogenerate/"が指定されたカスタムNPCは討伐依頼やモンスターボールを開けた時に出現しないように変更しました。
・試験的にカスタムNPCの読み込み上限を900に変更しました。ショウルームに登録できるカスタムNPCの上限は20のままです。
・試験的にカスタムアイテムの読み込み上限を900に変更しました。ショウルームに登録できるカスタムアイテムの上限は100のままです。
・試験的にカスタムゴッドの読み込み上限を300に変更しました。
・町以外の場所では訓練費用不足の台詞や「伸ばせる潜在能力はない」のメッセージを表示しないように変更しました。

#br
***追加された定義の要素 [#na2d0f6b]
|CENTER:定義の要素名|CENTER:内容|CENTER:例・備考|h
|CENTER:|||c
|~randomName.|ランダムな名前の付加&br;例えばCNPCの名前が「薄幸の美少女」であった場合、「薄幸の美少女のガーンナ」、というようにランダムで名前が付与される。|0でしない(通常)、1でする。|
|~initEquip.|登場時の装備を指定出来る。&br;initEquip."CItemName,10011,0,633,,24030,,,,,,,,,"のように記述する。&br;左から順に"頭,武器1,盾,遠隔,矢弾,武器2,鎧,腕,足,背中,腰,指,指,首,首,"|値はアイテムの識別子、アイテムカテゴリもしくはアイテムサブカテゴリ、カスタムアイテムの英語名。|
|chipref.|キャラチップ番号&br;設定することで、character.bmpの画像を利用できる。||
|colref.|キャラチップの色||
|counterElem.|※隠し機能&br;反撃属性。|"属性番号,強度"と定義する。|
#br
**omake_MMA/TTでの追加変更 [#cccb4fa8]
定義要素は公式・omake・omake_overhaul・omake_MMA/TTのものを利用可能。
『readme_MMA』より該当部分を抜粋及び参照。
***CNPCのゲーム中での扱いの変更 [#t0ec6c58]
-omake_overhaulの変更に準拠させた変更点
・キャラ名称が付加されるアイテムの表示名とアイテムデータ内の対応CNPC番号の設定をomake_overhaulに準拠するように
・CNPCとカスタムアイテムの読み込み枠をomake_overhaulに合わせて拡張
#br
・MBを使用したCNPCのランダム生成でユニークとnogenerateのキャラが生成されないように
・CNPCのキャラチップ変更ができるように

***変更・追加点 [#cedc8621]
・カスタムマップ、カスタムワールド機能の実装に伴い、CNPCのメッセージに様々なイベント制御用の変数やメッセージの発言用の条件文を用いることができるように
・CNPCの.txtの設定にランダムネーム付加を指定できる「randomName.」を設定できるように(omake_overhaulからの取り込み)
・カスタムNPCに同梱するカスタムメッセージの最大サイズを16kバイト(omakeの標準)から32kバイトに拡張。


#br
***追加された定義の要素 [#cbb3b34c]
|CENTER:定義の要素名|CENTER:内容|CENTER:例・備考|h
|CENTER:|||c
|~fixFaith.|CNPCの初期信仰の設定|eyth、mani、lulwy、itzpalt、ehekatl、opatos、jure、kumiromi&br;8神の他、カスタムゴッドも可能。|
|~userItem[1-10].|CNPCが初期生成された時に最初からカスタムアイテムを持たせられる&br;なお[]部分は必要ない。|カスタムアイテムの英語名称、拡張子は不要|
|~userItem[1-10].|CNPCが初期生成された時に最初からカスタムアイテムを持たせられる&br;なお[]は必要なく数字だけでいい。|カスタムアイテムの英語名称、拡張子は不要|
|~noSpillBlood.|死亡や被ダメージ時の血痕や破片を発生させるかの設定|0が通常。1で発生なし。|
|~deadSound.|死亡時流れるSE番号を指定|1~121まで。|
|~deadEle.|死亡時のエフェクトを指定|50~59まで。属性と同じ。|
#br
**ELMでの追加変更 [#t6bc6d11]
***変更・追加点 [#q26b1f53]
・カスタムNPCに同梱するカスタムメッセージの最大サイズを8000バイトから32768バイトに拡張。



#br