このブログを検索

2017年5月3日水曜日

夜時間の超過時に生存者が喋れるようにする四条劇場カスタマイズ


かつて運営していた人狼鯖である、式神研スクリプトを利用した、四条劇場のカスタマイズで
夜時間の超過時間に生存者が喋れるようにしたものです。


編集するファイルは古いバージョンだと \include\controller\game_play_class.php ですが
2017年5月3日現在では\include\talk\game_play_talk_class.php になるようです。
現在のバージョンは使ったことないのでもしかしたら下記のコードどおりに変更しても動かないかもしれません。

まず、制限時間判定のところにある
if ($left_time < 1) return false; //制限時間外ならスキップ (ここに来るのは生存者のみのはず)


if (DB::$ROOM->IsDay()) { //昼はそのまま発言
if ($left_time < 1) return false; //制限時間外ならスキップ (ここに来るのは生存者のみのはず)

と昼シーンの処理に入った最初移動します。


//ここからは夜の処理 (役職毎に分ける)
$location = RoleTalk::GetLocation(DB::$SELF->GetVirtual(), DB::$SELF); //仮想ユーザで判定
if ($left_time < 1){//超過発言 $update = false; if (DB::$SELF->IsMainGroup(CampGroup::WOLF)) {
$location = 'self_talk';
}
}else{
$update = DB::$SELF->IsMainGroup(CampGroup::WOLF); //時間経過するのは人狼の発言のみ (本人判定)
}
return RoleTalk::Save($say, DB::$ROOM->scene, $location, $update ? $spend_time : 0, $update);



夜シーンは発言者の役職を求めたあとに、超過時間の時に発言による残り時間処理をしないようにして狼の発言を独り言に変更します。会話を続けて噛みを実行するのを忘れないように、狼は会話が出来ないようにしてあります。

超過時間は本来会話時間ではないので喋れるようにする必要は無いのですが、霊界サービスの一環として四条劇場では実装していました。

0 件のコメント:

コメントを投稿