PCゲーム「カスタムメイド3D2」「カスタムオーダーメイド3D2」用のMOD制作情報まとめです。


拡張子「.ks」ファイルは夜伽やイベントのスクリプトで使われている。
ここではksファイルの改造方法や、よく使う記述をまとめておく。

注意事項

スクリプト改造は下手するとゲームの進行や各種フラグ管理に悪影響を及ぼす恐れもある為、
実行する前には必ずセーブデータをバックアップしておく事。
最悪の場合でもセーブデータさえ保存してあれば何とかなるので。

使用ツール

・スクリプトファイル(.ks)は一般的なテキストエディタで編集可能(Windowsのメモ帳など)。
 内容は公式イベント用スクリプトファイルを開いて中身を見ればなんとなく把握できる・・・筈。

 本格的に編集する場合は.ksファイルの改造支援ツール「しぇるぱ(Shelper)」を使う。
 詳細は改造wikiを参照。
 COM用のしぇるぱ2|もあるが、更新されていないので不十分。

・COM環境ではModLoaderプラグイン(又はMaidLoaderプラグイン)を導入すれば、MODフォルダ内の.ksファイルの読み込みが可能になる。
 公式ファイルと同名のksファイルを用意すれば上書きされる。

 厳密には・・・
  ModLoaderにはarcファイルの読み込み機能があり、Gamedataフォルダ内と同名のarcファイルを
  MODフォルダに入れておけばそれが優先読み込みされる(公式ファイルを上書きできる)。

  更に、MODフォルダ内のksファイルをarcに変換して一時的に保存する機能もあるので
  MODフォルダ内にksファイルを入れておけば、一時arcファイル内のksの内容が実行される。
  ksが直接実行されるわけではないので、ksの内容を変更した際にはゲームを再起動して一時ファイルを再生成しないと更新されない。
  一時ファイルはCOM3D2フォルダ直下の「ML_temp」フォルダ内に「ML_temp.arc」として保存されている。

  ksファイル数があまりにも多いとゲーム起動時のarcへの変換作業に時間がかかり
  起動時間が伸びてしまうので、できるだけ無駄な物は入れないよう注意。
 

汎用スクリプト

前述の「しぇるぱ」を使えば用途に応じたスクリプトを確認できる。
ただ、それだけ見てもよくわからないので後述の実際の使用例も参照。
ゲーム本体のスクリプト「function.ks」にも基本的な命令や判定がまとめてある。

イベント内にアイテムを追加・削除

ゲーム内アイテム名

「Gamedata」の「csv.arc」内に、各種リストの.neiファイルが梱包されている。
例えば公式スタジオ用アイテムは「phot_bg_object_list.nei」。
neiファイルはSybaris Arc Editorで内容を参照できる。
リストに見当たらないアイテムは、使用されているイベントのスクリプトを調べる。

よく使いそうなスタジオ用アイテムのリスト
・CM3D2(1.68)のスタジオ用アイテムリスト
・COM3D2(2.3.0)のスタジオ用アイテムリスト
・COM3D2(2.3.0)のデスクアイテムリスト

スクリプトでの手持ちアイテム表示


・メイド番号、カテゴリ、アイテムmenuを指定する。以下はメイド0番に右手用ピンクバイブを持たせる例。
@ItemSet temp maid=0 category=handitem item=crc_HandItemR_VibePink_I_.menu
@AllProcPropSeqStart maid=0 sync

・アイテムの解除もメイド番号を指定する。
@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*アイテム解除"

・手持ちアイテムを手のIKボーンにアタッチする場合、モーションによっては
 IKボーンが入っていなかったり角度が合わない場合もあるので注意。
 調整の手間はかかるが、IKボーンではなくボディボーンにアタッチすると確実。

背景用アイテム表示

任意の箇所に以下のスクリプトと、アイテムの「内部名(src)」「スクリプト内での管理名(name)」「位置(x,y,z)」「角度(rx,ry,rz)」を記述すれば表示される。
管理名は自分で適当に決める。同じ管理名の物は後の指示で上書きされるので、同一アイテムを複数出す場合には違う名前にする。
位置と角度は公式スタジオモードで該当背景にアイテムを配置すれば調べられる。

・アイテム配置例(メイド部屋の床とベッド上にゴムを配置)
@AddPrefabBg src=Odogu_Condom_Close name=ゴム閉1 x=1.100 y=-0.031 z=-1.100 rx=-90 ry=-30 rz=0
@AddPrefabBg src=Odogu_Condom_Close name=ゴム閉2 x=-0.048 y=0.62 z=-1.697 rx=-90 ry=27.58382 rz=0

・消去は管理名だけ指定する
@DelPrefabBg name=ゴム閉1
@DelPrefabBg name=ゴム閉2

・背景用アイテム(大道具、小道具)の全削除
@DelPrefabBgAll

・アイテム呼び出しには少し時間がかかるので、暗転中に呼び出すと良い。

・背景用アイテムの拡大縮小には「@SetPrefabBgTransformData」を使う。
@AddPrefabBg src=nei name=隠しねい人形 x=-0.5 y=0 z=1.59 rx=0 ry=180 rz=0
@SetPrefabBgTransformData name=隠しねい人形 sx=2 sy=2 sz=2

アセット内のアイテムをメイド/男のボーン位置に固定

「三角木馬」の場合
@AddPrefabBg src=Odogu_Sankakumokuba name=三角木馬 x=-0.0 y=0 z=-0.0 rx=-90 ry=0 rz=0
@MovePrefabToChara maid=0 bone="Bip01" name="三角木馬" offsx=0.0 offsy=-0.0 offsz=0.0 time=3000

「拘束騎乗位椅子_男」の場合
@AddPrefabBg src=Odogu_KousokuKijyouiChair name=拘束騎乗位椅子 x=0.0 y=0.0 z=0.0 rx=-90 ry=0 rz=0
@MovePrefabToChara man=0 bone="ManBip" name="拘束騎乗位椅子" offsx=0.0 offsy=-0.5086 offsz=0.0329 time=3000

任意の場所に執務室のモニターを配置&動画再生

・該当箇所に以下のスクリプトとアイテムの「内部名(src)」「スクリプト内での管理名(name)」「位置(x,y,z)」「角度(rx,ry,rz)」を記述。
 動画はGamdData内の格納フォルダ名と.ineファイル(動画)名の指定。下記の例はAVパックのムービー。
 一般的な動画ファイル(mp4等)の拡張子を「.ine」に変えれば自作動画でも使える。

@AddPrefabBg src=Odogu_ShinShitsumu_Monitor_Night name=モニター x=-2.7 y=0.65 z=-3.7 rx=0 ry=0 rz=0
@ShitsumuRoomMonitoreContro play loop file=GameData/movie_av001/av001_003.ine

メイドの表情変更


「maid=*」は画面内のメイド番号。

表情指定

メイド番号、顔menu内の表情ブレンド名、開始前の待機時間(単位はミリ秒=1/1000秒)

・例:「恥ずかしい」の2.3秒後に「まぶたぎゅ」実行
@face maid=0 name=恥ずかしい
@face maid=0 name=まぶたギュ wait=2300

・例:「びっくり」の1秒後に「恥ずかしい」、その1秒後に「まぶたぎゅ」
@face maid=0 name=びっくり
@face maid=0 name=恥ずかしい wait=1000
@face maid=0 name=まぶたギュ wait=2000
 命令は上から順に実行されるが、hitretで区切る前の記述は殆ど同時に実行されると考えて良い。
 waitは実行タイミングからの待機時間なので、1秒ずつズラす場合はこのような表記となる。

顔のエフェクト指定(ブレンドセット名)

顔モデルのmenuで設定されているblendset(複数の表情シェイプキーのセット)を呼び出す場合。
blendsetに書かれてない指定をするとエラーが出るので注意。

メイド番号、ブレンドセット名

@faceblend maid=0 name=頬3涙1よだれ

顔のエフェクト指定(個別指定)

表情シェイプキーを個別に呼び出す場合は@FaceBlend2を使う。

メイド番号、表情シェイプキー名(頬[0〜3]・涙[0〜3]・よだれ・玉涙・赤面・ショック)

例:
@FaceBlend2 maid=0 頬2 涙0
@FaceBlend2 maid=0 頬1 涙1 よだれ 玉涙

リセット:
@FaceBlend2 maid=0 reset

口を大きく開ける

表情ブレンドの口開けが控え目なのと、ボイスに合わせた口パクで変化する都合で閉じがちなので
フェラの場面は以下を使うと良い。

@OpenMouth maid=0 open  口を大きく開けたままにする
@OpenMouth maid=0 close  口を閉じる(openの解除)

視線の指定

例:メイド0番が男1番のボーン「ManBip Hip」を注視する
@EyeToTarget maid=0 target=man:1 blend=0 bone="ManBip Hip"

メイドの視線

・メイドのカメラ注視
@EyeToCamera maid=0 move=無し
@EyeToCamera maid=0 move=顔を向ける
@EyeToCamera maid=0 move=顔をそらす
@EyeToCamera maid=0 move=目だけ向ける

・メイドが指定ボーンを注視する
例:メイド0番が男0番の局部を見る場合
@EyeToTarget maid=0 target=man:0 blend=0 bone="chinko1"

カメラ

プレイヤーのカメラ操作の有効/無効

有効
@CameraControl true
無効
@CameraControl false

カメラの注視点

カメラが注視対象をロックオンした状態になる。
立ちポーズから座り込んで挿入する騎乗位などで使われている。
メイド番号、注視するボーン、注視対象からのオフセット値、時間(ミリ秒)を指定する。
例:0番のメイドの「Bip01 Spine」を注視して5秒間追従する。
 @CameraChase maid=0 chase="Bip01 Spine" onece offsx=0.0 offsy=0.3 offsz=0.0 time=5000
例:カメラがメイド0番のボーン「Bip01 Neck」を中心に動く
 @CameraChase maid=0 chase="Bip01 Neck" onece offsx=0.0 offsy=-0.05 offsz=0.0 time=0
注視を停止する場合
 @CameraChaseStop

カメラの位置設定

「COM3D2.ComSh.Plugin」を使えば、その場でのカメラ位置を調べられる(コマンド入力「camera」)。
ただし、マウスホイールでのカメラ移動はカウントされないので
マウスホイール押し込み+キーボードWASDでの移動を使う。

表示される情報の「target」がカメラ位置の座標(x,y,z)。「rotate」が角度(y,xの順に表示されているので注意)
位置はxが左右、yが上下、zが前後。

カメラの画角や注視設定でも見え方が違ってくるので注意。
特に画角が大きい場面は通常プレイとVRプレイで被写体との距離感がかなり違ってしまう。
@Cameraのradius=1.0だと同じくらいの印象になる。1.0以上(広角)だとVRでは近くなり、1.0以下(望遠)では遠くなる。

フェードイン/アウトを挟まずにカメラ位置を変更すると、通常プレイでは問題ないが
VRプレイ時にカメラが正常に切り替わらなくなるので要注意。

モーション設定

・モーションによって向きや位置が違うので、メインとなるモーションが背景に合うように基準点を設定する。
 モブキャラもその基準点に準じるので、そこから個別にオフセット設定で位置をズラす。

定義ファイルとラベル名

アタッチ


・アタッチ: メイドor男の番号、アタッチ名、ターゲット指定、ターゲットボーン指定、オフセット指定、タイプ指定(位置、角度)
@IKAttachBone Src=man:0 SrcBone="右手" Target=maid:0 TargetBone="_IK_thighR" offsetX=0 offsetY=0 offsetZ=0 attach_type=NewPoint
@IKAttachBone Src=man:0 SrcBone="右手" Target=maid:0 TargetBone="_IK_thighR" offsetX=0 offsetY=0 offsetZ=0 attach_type=Rotate

・アタッチ解除: メイドor男の番号指定、アタッチ名指定
@IKDetach src=maid:0 SrcBone="左手"
@IKDetach src=man:0 SrcBone="右手"

・アタッチ(簡易版):TargetPointで所定の部位名を指定するが、アタッチできる場所が限られる。
@IKAttachPoint Src=man:0 SrcBone="左手" Target=maid:0 TargetObj="body" TargetPoint="乳首左" offsetX=0.1 offsetY=-0.01 offsetZ=0.01
@IKAttachPoint Src=man:0 SrcBone="右手" Target=maid:0 TargetObj="body" TargetPoint="乳首右" offsetX=0.1 offsetY=-0.01 offsetZ=-0.01

胸揺れ

胸揺れは物理設定で揺れる物と、物理設定は無効化してモーションで動かす物の2種類がある。
基本的にはモーションの定義ファイルで設定されている。

@BustMove maid=0 move=non  :モーションは使わず物理設定で胸揺れ
@BustMove maid=0 move=stop :物理設定の胸揺れを止める
@BustMove maid=0 move=Rstop :右胸だけ物理設定の胸揺れを止める
@BustMove maid=0 move=Lstop :右胸だけ物理設定の胸揺れを止める

体型設定の一時的な変更

固定の例:

; //◆「メイド0」カスタム固定、肩、腕
@PropSet temp maid=0 category=UdeScl val=50
@PropSet temp maid=0 category=kata val=50
@AllProcPropSeqStart maid=0 fix ←最後にこれを忘れないように。

解除の例:

@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*カスタム固定解除"

@PropReset maid=0 category=KubiScl
@PropReset maid=0 category=UdeScl
@PropReset maid=0 category=DouPer
@PropReset maid=0 category=sintyou
@PropReset maid=0 category=kata
@AllProcPropSeqStart maid=0 sync ←最後にこれを忘れないように。

ハイポリボディ制御

・ハイポリボディのボテ腹の数値を100にする場合(timeは変化にかかる時間)
@if exp= "IsCRCBody('maid', 0) == true"
@PropSetAnimation maid=0 category=HaraN from=0 to=100 time=1 temp
@endif

他の体型スライダー項目も変更できる(categoryで指定)。
名称は以下を参照。
http://fumble.jp/com3d2/dokuwiki/doku.php?id=appen...

パーティクル

メイドや男に付ける場合

パーティクルはモーションの定義ファイル内で指定してモーションと一緒に再生する方法と、
イベントスクリプト内に直に書く方法がある。
射精モーションと連動して表示されるパーティクル等は前者。

絶頂モーション時の潮吹きの場合

夜伽モーションの定義ファイル内に潮吹きの指定がある

例:立ち愛撫の絶頂モーション定義の場合(sex_tati_aibu.ks)


@Motion maid=0 mot=tati_aibu_zeccyou_f_ONCE_ loop=false blend=0 ←メイドと男の絶頂モーション指定
@Motion man=0 mot=tati_aibu_zeccyou_m_ONCE_ loop=false blend=0

; //絶頂
@wait time=2000
@AddPrefabChara maid=0 src=Particle/pSio2_cm3D2 bone=_IK_vagina x=0.0 y=-0.0 z=-0.01 rx=0.0 ry=180.0 rz=0.0 ←潮吹きパーティクルの指定

@MotionNextAbs maid=0 mot=tati_aibu_zeccyougo_f loop=true ←メイドと男の絶頂後モーション指定
@MotionNextAbs man=0 mot=tati_aibu_zeccyougo_m loop=true

@s


・パーティクルをIKボーンではなくBip01系ボーンにアタッチする場合、ボーン名を「Bip01 Head」と書くと
 空白がある為にBip01しか認識されないので「""」で囲んだ記述にする("Bip01 Head"と書く)。

イベントスクリプトに直書きする場合

例:ピストン中を配置→ピストン中を消去→ピストン強を配置
  (ループするパーティクルの場合は「name=」で管理名を設定して消去する)

@AddPrefabChara maid=0 src=Particle/pPistonNormal_cm3D2 name=ピストン中 bone=_IK_vagina x=0.0 y=-0.0 z=-0.01 rx=0.0 ry=180.0 rz=0.0

@DelPrefabChara maid=0 name=ピストン中

@AddPrefabChara maid=0 src=Particle/pPistonHard_cm3D2 name=ピストン強 bone=_IK_vagina x=0.0 y=-0.0 z=-0.01 rx=0.0 ry=180.0 rz=0.0


・1人のメイドに同一パーティクルは同時に複数使えないようなので(最後に指定した1つだけ表示される)、
 「name=」で管理名を付けて別物扱いにして使う。

例:メイド0番の前穴と尻穴に、同時に精液垂れを表示する場合

@AddPrefabChara maid=0 src=Particle/pSeieki_tare name=精液垂れ1 bone=_IK_vagina x=0.0 y=-0.0 z=-0.01 rx=0.0 ry=0.0 rz=0.0
@AddPrefabChara maid=0 src=Particle/pSeieki_tare name=精液垂れ2 bone=_IK_anal x=0.0 y=-0.0 z=-0.01 rx=0.0 ry=0.0 rz=0.0

背景や設置オブジェクトに付ける場合


・背景に直に配置する例
@AddPrefabBg src=Particle/pYuge_LargeBathRoom name=湯気 x=-5.0 y=0.25 z=-2.30 rx=90.0 ry=0.0 rz=0.0
 「Particle/」が不要な場合もある
@AddPrefabBg src=pSteam002_cm3D2 name=湯気 x=0 y=0 z=0 rx=90 ry=0 rz=0

・背景に設置したオブジェクトに付ける例(設置した鍋に湯気パーティクルを付ける)
@AddPrefabBg src=Odogu_Nabe name=鍋 x=-0.224 y=0.8126 z=-0.794 rx=-90 ry=90 rz=0
@AddPrefabBg src=pSteam002_cm3D2 name=鍋2 dest=鍋 x=0 y=0 z=0 rx=90 ry=0 rz=0

個別消去

・@AddPrefabChara、@AddPrefabBgで設定した管理名を使って消去する

@DelPrefabChara name=精液垂れ1

@DelPrefabBg name=湯気

一括消去

@DelPrefabCharaAll maid=0
・メイド又は男に付けたパーティクルを一括消去する。
 maid、manの指定を忘れると「スクリプトのman/maid指定が不正です。」とエラーが発生するので注意。

@DelPrefabBgAll
・背景に配置したパーティクルを一括消去する。

衣装の着脱

イベント中に衣装を「del.menu」で消すと、そのメイドのデータが再ロードされるまで元に戻らなくなる。
事前に着用しているのと同じカテゴリのアイテムを呼び出したり、使用中のカテゴリを消す指定のある
アイテムを呼び出した場合も同様(眼鏡着用時にアイマスクを呼び出す等)。
回想モードではモード終了するまで消去アイテムが元に戻らなくなるので、できるだけ「@ItemMask」の
非表示で済ませるか、個別に「@ItemReset」を実行、またはスクリプトの最後で全リセット(後述のカス子リセット)
を実行して元の状態に戻しておく。

イベント内で衣装を着せる・脱がす

・カテゴリ名は大文字小文字の混在した公式表記を使うので注意。間違っていると動作しない。
例:メイド0番に梅子の水着を着せる場合
@ItemSet temp maid=0 category=mizugi item=Dress285_mizugi_I_.menu
@AllProcPropSeqStart maid=0 sync

例:メイド0番のボトムスを消去する場合(del.menuで消すとmask指定では戻せないので注意)
@ItemSet temp maid=0 category=skirt item=_I_skirt_del.menu
@AllProcPropSeqStart maid=0 sync

例:メイド0番の特定カテゴリをリセットする場合(変更前の初期状態に戻す)
@ItemReset maid=0 category=accHead
@AllProcPropSeqStart maid=0 sync

・@AllProcPropSeqStart maid=0 sync でmenuの変更が適用される。
  書き忘れると、次の@AllProcPropSeqStart記述まで適用されないので注意。
  複数のmenuの変更をまとめて実行できるが、同カテゴリの物が並んでいる場合は後の物で上書きされる。後述するタトゥーでは要注意。
例:
@ItemSet temp maid=0 category=mizugi item=Dress285_mizugi_I_.menu
@ItemSet temp maid=0 category=skirt item=_I_skirt_del.menu
@AllProcPropSeqStart maid=0 sync

例:衣装のセットメニューを適用する場合
@ItemSet temp maid=0 category=set_mywear item=_I_mywear236_z1.menu
@AllProcPropSeqStart maid=0 sync

タトゥーの装着

イベントスクリプト内でも複数のタトゥーが付けられるが、同じタイミングで付ける場合は
個別に「@AllProcPropSeqStart」の実行が必要なので注意。

例:以下の記述だとtatoo2だけが表示される
@ItemSet temp maid=0 category=accTatoo item=tatoo1_i_.menu
@ItemSet temp maid=0 category=accTatoo item=tatoo2_i_.menu
@AllProcPropSeqStart maid=0 sync

例:以下の記述だとtatoo1とtatoo2の両方が表示される
@ItemSet temp maid=0 category=accTatoo item=tatoo1_i_.menu
@AllProcPropSeqStart maid=0 sync
@ItemSet temp maid=0 category=accTatoo item=tatoo2_i_.menu
@AllProcPropSeqStart maid=0 sync

特定のアイテム用スロットをマスクする

・指定するのはカテゴリではなくスロット名なので注意。
 スロット名(大文字小文字の混在した公式表記)を書き間違えるとTbodyエラーで進行不能になるので注意。
例:トップス(wear)を非表示にする
@ItemMask maid=0 slot=wear hide=false
例:トップス(wear)を表示する
@ItemMask maid=0 slot=wear hide=true

衣装マスクの一括処理

・一度指定すると特定カテゴリ以外は非表示のままになる。
 リセットすれば戻る。
 残す衣装以外のアイテムは@ItemMaskでの制御が効かなくなり、@ItemSetでの追加も効かないので注意。
 細かくアクセ類を表示/非表示したい場合は@ItemMaskModeは使わずに@ItemMaskでスロットを個別に指定する。
全マスク解除@ItemMaskMode maid=0 type=None
下着だけにする@ItemMaskMode maid=0 type=Underwear
水着だけにする(靴下も残る)@ItemMaskMode maid=0 type=Swim
全裸にする(アクセは消えない)@ItemMaskMode maid=0 type=Nude
・例外なのか、夜伽では@ItemMaskModで一括脱衣させても夜伽のUIから衣装の着脱が行える。
 特定の夜伽の初期状態を変更したい場合には有効。

状態の解除、リセット

以下はメイド0番の場合。
衣装を全てリセット@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*カス子リセット"
手持ちアイテム解除@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*アイテム解除"
施設コスチューム戻し@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*施設コスチューム着替え戻し"
位置合わせ用のエディット値の固定を解除@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*カスタム固定解除""
痕の削除(レイヤー10〜20,24)
テクスチャ合成の精液・蝋燭・鞭・スパンキング
@eval exp="tf['痕メイド'] = 0"
@call file=seieki label=*痕削除
汗の削除(レイヤー21)
テクスチャ合成の汗
@eval exp="tf['痕メイド'] = 0"
@call file=seieki label=*汗_痕削除
涎の削除(レイヤー22)
テクスチャ合成の涎
@eval exp="tf['痕メイド'] = 0"
@call file=seieki label=*涎_痕削除
鼻水の削除(レイヤー23)
テクスチャ合成の鼻水
@eval exp="tf['痕メイド'] = 0"
@call file=seieki label=*鼻水_痕削除
ローションの削除(レイヤー24)
テクスチャ合成のローション
@eval exp="tf['痕メイド'] = 0"
@call file=seieki label=*ローション_痕削除
表情ブレンドのリセット@FaceBlend2 maid=0 reset
表情ブレンド、衣装マスクのリセット
ハイポリボディのスクリプトで変更した体型リセット
@MaidReset maid=0
イベント内で呼び出して変更したアイテムのリセット
(メイド番号とカテゴリを指定)
@ItemReset maid=0 category=wear
@AllProcPropSeqStart maid=0 sync
男の手持ちアイテムのリセット
(番号とカテゴリを指定)
@ItemReset man=0 category=handitem
@AllProcPropSeqStart maid=0 sync
目のハイライトOFF@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*ハイライト"
目のハイライトON@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*ハイライト戻し"

・script.arc/general内「function.ks」に、呼び出されて実行する命令がまとめられている。
 @call file="function"の元になっている以下の記述を直にしてもOK。

痕の合成指定

位置、種類の定義

「GameData」フォルダの「script.arc」内、sex/yotogi/99_systemの「seieki.ks」で
テクスチャ合成される液や痕の位置と種類が設定されている。
「seieki.ks」以外の自作ファイル名は認識されないので、内容を変更したい場合は
改変した「seieki.ks」をMODフォルダ内に入れて、ModLoaderの機能で上書きする事になる。

痕の呼び出し

痕種類、痕場所、痕を付けるメイド番号を記述する。表示時間をずらす「痕遅延」もある。
記述の最期には「@call file=seieki label=*痕分岐」を書く。

●必須フラグ
['痕種類']
['痕場所']
['痕メイド']
['痕遅延']=1500 (←表示タイミングを遅らせる場合に使用。時間は任意に設定(ミリ秒))

●痕種類
精液 蝋燭 鞭痕 高温蝋燭 一本鞭痕 スパンキング痕 破瓜 汗 涎 鼻水

●痕場所種類
顔 頬 胸 口元 背中 尻 腹 太股 秘部 頬左


・例:メイド0番のお腹に精液を付ける場合
@eval exp="tf['痕種類'] = '精液'"
@eval exp="tf['痕場所'] = '腹'"
@eval exp="tf['痕メイド'] = 0"
@call file=seieki label=*痕分岐

・例:メイド0番の太股に精液を2秒後に付ける場合(モーションのタイミング合わせ等で時間をズラす)
@eval exp="tf['痕種類'] = '精液'"
@eval exp="tf['痕場所'] = '太股'"
@eval exp="tf['痕メイド'] = 0"
@eval exp="tf['痕遅延'] = 2000"
@call file=seieki label=*痕分岐

めくれ・ずらし

スカートめくれ前・水着パンツずらし@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*ずらし"
スカートめくれ後・水着パンツずらし@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*うしろずらし"
めくれ・ずらし戻し@eval exp="tf['メイド番号'] = 0"
@call file="function" label="*ずらしもどし"
数字はイベント内のメイド番号。

例外として、イベント内で呼び出した衣装の場合はスクリプトでの「めくれ・ずらし」が効かないので
該当衣装のmekure・zurashiのmenuで直に呼び出す事になる。

・めくれ、ずらしの直接指定(カテゴリ毎に指定できる)
@ItemChange maid=0 category=onepiece name=めくれスカート
@ItemChange maid=0 category=skirt name=めくれスカート
@ItemChange maid=0 category=panz name=パンツずらし
@ItemChange maid=0 category=mizugi name=パンツずらし
@AllProcPropSeqStart maid=0 sync

・@call file="function"の元になっている以下の記述を直にしてもOK。

フェード処理

イベント中のフェードインとフェードアウト処理。

音声

効果音とボイス

効果音(SE)とボイスで扱いが少し異なる。
 効果音:loop指定した場合、Stopで止めるまで鳴り続ける。「@StopSe file=SE●●●」で個別に停止。「@StopSe」で全SEの停止。
              個別にStopする場合、ファイル名の大文字小文字表記が一致していないと認識されないので注意。
 ボイス:次のボイスが鳴る際に停止される。ボイスに合わせて口パクが自動で行われる(口パクさせない指定もあり)。
     「@talkrepeat」で繰り返し再生される筈だが直接指定は効かないっぽい? 解除は「@TalkRepeatClear」。
     夜伽時にメイド0のループボイスを止める「@StopVoice maid=0」というのもある。
     ループボイス設定では前のボイスを止めるのに2つセットで使われている。
       @TalkRepeatClear
       @stopvoice maid=0

BGMとSEのフェードイン、フェードアウト

 例:BGM018を1秒(1000ミリ秒)でフェードインさせる場合
  @PlayBgm file=BGM018 fade=1000

 例:BGMとSEを1秒でフェードアウトさせる場合
  @StopBgm fade=1000
  @StopSe fade=1000

 例:
  @PlayBGMRoom fade=200

COM3D2側でCM3D2のBGMを鳴らす場合

 @Play指定の末尾にoldを付ける。

 例:CM3D2の「BGM008」をCOM側で鳴らす場合
 @PlayBgm file=BGM008 fade=1000 old

・CM3D2時代の追加性格(ヤンデレ、お姉ちゃん、僕っ子、ドS)をCOMで使っている場合、CM3D2側に
 追加性格DLCを入れてない事もありえるので、COM側にも各性格用BGMが入っている。
 場所は以下のarc内。
  sound_ordermaid_001_solo:ヤンデレ
  sound_ordermaid_002_solo:お姉ちゃん
  sound_ordermaid_003_solo:僕っ子
  sound_ordermaid_004_solo:ドS

音声ファイルの調べ方

しぇるぱボイス検索で調べる。
COM3D2_音声一覧(GP01,02含む)「剣 真@blade_evo」さん作の音声リスト。COMはGP02まで。
Sybaris ARC Editor検索の種類を「スクリプト」にすればスクリプト内の文章が検索対象になる。
該当スクリプトが表示されたら目当ての音声を目視で探すか、ksを保存してテキストエディター等で中身を検索する。

音声とテキスト表示

台詞テキストと音声の同時再生

 @talk
 表示する文章
 @hitret

の順に記述が揃っていないと動作が怪しくなる(音声が鳴らない等)。
入力待機の「@hitret」が抜けていたり、他の命令を挟んでいるとダメ。
例えば・・・

 @talk
 表示する文章

 @talk
 表示する文章
 他の命令
 @hitret

のような配置ではダメ。
口パク
基本的には、口パクはボイスに合わせて自動で行われる。
ただしモノローグ指定の場合は口パクしない。
モノローグは@talk命令の末尾に「np」を付ける。

 @talk voice=H1_10141 name=[HF] np
 (……他でもない、秀一さんが……そう言うのなら……)
 @hitret

・テキスト表示なしで音声+口パクを行う場合「@PlayVoice」を使う。
アイドルルートのライブMCの例
@PlayVoice maid=1 voice=H0_MC01 wait
キャラ名の表示
台詞表示の@talkの行に name=●● の形式で名前を書く。
・NPC名など、名前が固定の場合はそのまま書く。(name=秀一 とか)
・プレイヤーが設定したキャラ名を表示したい場合は以下のように書く。
   name=[SF] :ご主人様の設定名
   name=[HF] :maid=0で呼び出した0番のメイド名。 2人目以降にはメイド番号を付ける。メイド1番は[HF1]、2番は[HF2]。
                        swap命令で番号を入れ替えている場合は入れ替え後の番号を書く。
・文章中に名前を出す場合は 『こんにちは、[SF]さん』 のように書く。

背景

背景名

・スクリプト「@SetBg file=」で呼び出す背景名は、SybarisArcEditorを使って
 Gamedataのscript.arc内の「place_bg.ks」「place.ks」で調べる。
 載っていないDLC背景名は各DLCのスクリプトを調べるか、
 ゲームプレイ中にComShプラグインのbgコマンドでも調べられる。

背景の衝突判定

・寝転ぶ体位の場合は判定面に触れると髪やスカートが暴れやすくなるので、設定に少し余裕がある方が良い。
 夜伽では背景ごとに設定されているが、自分で設定する事も可能。
 背景の床とメイドの衝突判定の例
 
 @PhisicsHit maid=0 height=0.6

分岐の例

1:ファイルが存在するかで分岐

(' ')内に入れたファイル名が存在するかで分岐する
例:「recollection_enabled_id_list_av001.nei」所持で分岐

2:プラグインのリストに存在するか調べて分岐

(' ')内のプラグイン名称は「csv.arc」内「plugin_check_list.nei」のユニーク名を参照する。


3:その他の分岐


その他

全キャラ非表示

@CharaVisibleAllOff maid
@CharaVisibleAllOff man

時間帯を夜固定にする

@eval exp="SetManFlag('時間帯',3)"

キャラ入れ替え

例:男0と1を入れ替える
@CharaActivate man=0 swap=1

man=0はデフォルトで主人公が設定されている。
スワッピング夜伽やNTRイベントでは他の男を0以外の番号に設定してからswap指定で0と入れ替える。
回想モード内ではswap設定がリセットされないので、swapを使った場合は最後に元の状態に戻す指定も行う事。

夜伽のスキル開始時の脱衣リセット処理

夜伽のスキル開始時の脱衣リセット処理を無効化するフラグを立てる
 @eval exp="tf['夜伽脱衣リセット無効']=true"

夜伽のスキル開始時の脱衣リセット処理を無効化するフラグを折る
 @eval exp="tf['夜伽脱衣リセット無効']=false"
 

性格名リスト

スクリプトで識別用に使われる名称
日本語名英語名プラグイン名
純真で健気な妹系
純真
Pure
クールで寡黙
クーデレ
Cool
プライドが高く負けず嫌い
ツンデレ
Pride
病的な程一途な大和撫子
ヤンデレ
Yandereordermade001
母性的なお姉ちゃん
お姉ちゃん
Anesanordermade002
健康的でスポーティなボクっ娘
ボクっ娘
Genkiordermade003
M心を刺激するドS女王様
ドS
Sadistordermade004
無垢Muku
真面目Majime
凜デレRindere
文学少女
無口
Silentpersonal_om001
小悪魔Devilishpersonal_om002
おしとやかLadylikepersonal_om003
メイド秘書Secretarypersonal_om004
ふわふわ妹Sisterpersonal_om005
無愛想Curtnesspersonal_om006
お嬢様Missypersonal_om007
幼馴染Childhoodpersonal_om008
ド変態ドMMasochistpersonal_om009
腹黒Craftypersonal_om010
気さくでちょっとエッチなお姉さんFriendlypersonal_om011
生真面目で甘え下手な淑女Damepersonal_om012
ギャル  

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

CR Edit Syetem(KCES)

スクリプト

音声・動画

無料配布アイテム

FAQ



開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます

閉じる
試験運用中
現状は閲覧のみ。
編集機能の一般開放は未定。