■Unity開発メモ用のWiki◎現在扱っていること・Unity全般・MMDからUnityへの変換してインポート・MMDの仕様把握・BlenderでMMDモデルのカスタム


目次

戦闘・敗北H関連

SexLab YACR(敗北Hフレームワーク)

セックス中に防御力を上げるスペル「SSLYACRKillmoveArmorSpell」を無効にする【解決?】
・xEditなどで「MagicEffct」と「Spell」を削除する?


・スクリプトでは使っていない?
「YACRPlayer.psc」
; not use
;SPELL Property SSLYACRKillmoveArmorSpell  Auto
SPELL Property SSLYACRPlayerSlowMagic  Auto  
Faction Property SSLYACRCalmFaction  Auto  
; YACRExtraNaked Property ExtraNaked Auto
ダウン状態のフォロワーに対して、積極的にHを行う様に出来ないか?【解決?】
GitHub:https://github.com/nbits-ssl/SexLabYACR

・仕様: フォロワーがブリードアウト状態の時、近くにレイプ可能な非戦闘NPCがいればフォロワーをレイプします

■方針:条件文「IsInCombat(戦闘中である)」を削除する
・「YACRPlayer.psc」の「_getBleedOutPartner(ダウンしている相手を探す関数?)」で処理している
		if (!aggr.IsInCombat() && !aggr.IsGhost() && \
			!aggr.HasKeyWordString("SexLabActive") && !aggr.IsInFaction(SSLYACRActiveFaction) && \
			aggr != PlayerActor && !aggr.IsPlayerTeammate() && !AppUtil.ValidateHorse(aggr) && \
			!aggr.IsDead() && aggr.Is3DLoaded() && !aggr.IsDisabled() && \
			AppUtil.ValidateAggr(victim, aggr, Config.GetMatchedSex(self.IsPlayer)))

※MCMでSexLabYACRのフォロワーリストにフォロワーが表示されるか確認する

OnCellLoadの5秒後にクエストの再起動を行います。フォロワーの読み直しなどが行われます。
再起動の前に、バグやタイミングの悪さで元に戻っていなかった時のことを考慮して、
戦闘状態にいじっていたすべての要素を可能な限り再度元に戻します。
OnCellLoadの前にフォロワーに発生するOnCellDetachにもこの処理が含まれています。
セックス中の相手を攻撃のターゲットに狙わないよう出来ないか?【暫定・保留】
Sexlab Stop Combat

「sexlabstopcombatquestscript.psc」でMOD等で追加された派閥を記述する必要がある?

※バニラの派閥なら問題ない?
→コンソールコマンド+バッチでモンスターを召喚する
セックス中の敵同士のフレンドリーファイアを無効に出来ないか?【解決?

※条件判定に誰から攻撃されたかが抜けている

「GetIgnoreFriendlyHits」を使う?
→指定されたActorが味方を攻撃(フレンドリーファイア)を無視する場合は1を返します

■YACRAggrressor.pscのOnHitbに以下を追記する
◎IgnoreFriendlyHits
https://ck.uesp.net/wiki/IgnoreFriendlyHits_-_Obje...
フレンドリーファイアを無効にするフラグを建てる
selfact.IgnoreFriendlyHits()

◎IsIgnoringFriendlyHits
https://ck.uesp.net/wiki/IsIgnoringFriendlyHits_-_...
フレンドリーヒットを無視しているかどうかを返します。
	elseif (selfact.IsIgnoringFriendlyHits())
		;フレンドリーファイアの場合はスキップする
		AppUtil.Log("enemy onhit pass, FriendlyHits " + SelfName)
		return		

PCがダウンしてもフォロワーまでダウンしないようにする【解決?】
Function KnockDown(Actor act, Actor PlayerActor)

〜削除〜

EndFunction
セックス中に何回か攻撃を受けるまで中断しない様にする【解決?】
・YACRAggrressor.psc
・Event OnHit()
			;一定の値以下でなければセックスを中断しない
			if (Utility.RandomInt() < 20)
				sslThreadController controller = SexLab.GetActorController(selfact)
				controller.EndAnimation()
			endif

エンドレスセックス方針メモ

方針メモ

■仕様
・MatchMakerの魔法をベースに作成する
・セックスシーンのステージが最後まで進んだら、ステージ2へアニメーションを戻す
→タイミングは最終ステージ-1のアニメーションが終わった直後に判定と処理を行う

エンドレスセックス用のコールバック関数をスレッドに登録する

・関数「function TriggerSex()」に追記
・フックイベント「StageStart(アニメーション ステージが開始されるたびに送信)」で
 イベント「StageStartEventTEST」が呼ばれるように登録する
RegisterForModEvent("HookStageStart_TestSpell", "StageStartEventTEST")

コールバック関数「StageStartEventTEST」を定義する

・引数(int tid, bool HasPlayer)
・アニメーションの各ステージの開始時に呼ばれる(フックイベント:StageStart)
・プレイヤーと相手のアクターを参照する
	Actor selfact = self.GetActorRef()
	Actor aggr = Aggressor.GetActorRef()
・スレッドコントローラーを取得する
	UnregisterForUpdate()
	UpdateController = SexLab.GetController(tid)
	sslThreadController controller = UpdateController
・ステージ情報を取得する
	int stagecnt = controller.Animation.StageCount
	int currentstage = controller.Stage
	Debug.Trace("@@@:StageStartEvent: " + SelfName + ", " + currentstage + "/" + stagecnt)
・条件に問題なければ関数「_sexLoop」に進み実際の処理を行う
self._sexLoop(selfact, aggr, controller)
コード例)
;コールバック関数
;エンドレスセックス処理の開始
Event StageStartEventTEST(int tid, bool HasPlayer)


	Debug.Trace("@@@:Callback function StageStartEventTEST was called:")

	;プレイヤーと相手のアクターを参照する
	Actor selfact = self.GetActorRef()
	Actor aggr = Aggressor.GetActorRef()

	;スレッドコントローラーを取得する
	UnregisterForUpdate()
	UpdateController = SexLab.GetController(tid)
	sslThreadController controller = UpdateController

	;ステージ情報を取得する
	int stagecnt = controller.Animation.StageCount
	int currentstage = controller.Stage
	Debug.Trace("@@@:StageStartEvent: " + SelfName + ", " + currentstage + "/" + stagecnt)

	;++++ここで前処理やバグを回避する為の条件をチェックする+++

	;条件に問題なければ関数「_sexLoop」に進み実際の処理を行う
	self._sexLoop(selfact, aggr, controller)

EndEvent

一定の確率でモーションを変更する処理を追加する

コメントをかく


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

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

Menu

【メニュー編集】

スカイリム関連

スカイリム関連


Menu

【メニュー編集】

スクリプト関連

フリーエリア

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