[Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

サーバー運用される方はこちらで情報交換されてはいかがでしょうか?
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.317210)

[Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by pnky » 2018年6月07日(木) 03:00

どうも。早速質問させてもらいます。
今buildUHCを制作中なのですが、mapの再生(regen)が検索しても出てこなく、どう書けばいいのか分かりません。
できればでいいのでcodeを頂けると大変うれしいです
pnky
ID:79af8838
水から上がったとこ
 
記事: 5
登録日時: 2018年6月02日(土) 00:36

  • (PostNo.317215)

Re: [Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by sympholy » 2018年6月07日(木) 12:44

残念ながら、mapを簡単に復元できるようなものはskriptの機能にはありません。
skriptやspigotのバージョンが分からないため、応えようがありませんが、以下にいくつか方法を書いておきます。

1 execute console command等を使い、world edit のコマンドをskriptで動かす。
2 SharpSk等を使い、coreprotectをskriptで動かせるようにする。
3 MundoSkを利用し、コピーのworldを生成して、そこでゲームを動かす
skript関係のトピックで主に回答
skriptの作成依頼等のお仕事相談はPMまで
アバター
sympholy
ID:dd538ded
石掘り
 
記事: 122
登録日時: 2013年10月27日(日) 11:50

  • (PostNo.317219)

Re: [Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by pnky » 2018年6月07日(木) 18:06

worldeditを用いた方法ははんいしていしたらどうすればいいのですか?
また、Mundoを用いた例として何かcodeありませんか?
pnky
ID:79af8838
水から上がったとこ
 
記事: 5
登録日時: 2018年6月02日(土) 00:36

  • (PostNo.317220)

Re: [Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by pnky » 2018年6月07日(木) 18:35

ちなみに1.8.9で、skriptとskRayFallとskQuaryとskstuff
をいれていて、worldeditとworldguardもあります。
Mundoskとsharpskは何故か入らないです。
でもいれれるかもなので、お願いします。
pnky
ID:79af8838
水から上がったとこ
 
記事: 5
登録日時: 2018年6月02日(土) 00:36

  • (PostNo.317221)

Re: [Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by pnky » 2018年6月07日(木) 18:36

spigotです。
pnky
ID:79af8838
水から上がったとこ
 
記事: 5
登録日時: 2018年6月02日(土) 00:36

  • (PostNo.317227)

Re: [Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by pnky » 2018年6月07日(木) 20:33

skript v2.2でした。
pnky
ID:79af8838
水から上がったとこ
 
記事: 5
登録日時: 2018年6月02日(土) 00:36

  • (PostNo.317232)

Re: [Skript] BuildUHC後にmapをもとに戻す方法教えてください‼

投稿記事by Dotoo » 2018年6月07日(木) 23:35

pnkyさんは結構簡単に考えてそうですが、置いたブロックを全てセーブして試合が終わるごとに全て元通りにマップを戻すという動作をSkriptでやろうという時点で結構無理があると思います。やってみれば分かります。例えば、
コード: 全て選択
on place:
    add event-location to {rollback::*}

command /restore:
   trigger:
      player is op
      loop {rollback::*}:
         set block at loop-value to air

このコードをコピペしてブロックを置き、UHCの試合が終わったら/restoreというコマンドを叩けば一応プレイヤーが置いたブロックは空気に戻すことができます。でもこれではプレイヤーがブロックを置いた場所だけしか空気に戻らないためマグマや水、燃え広がった火などは消せません。もし無理やり消すとなればそういったイベントが置きた時も全てセーブしなければなりません。無理とは言いませんがすごく大変です。

それにこれではサーバーの負荷が大きすぎてとてもじゃないけどまともにUHCが遊べるとは思えませんよね。pnkyさんが見てきたUHCをやっているサーバーはほとんどの場合bungeeで沢山のサーバーを繋ぎ、サーバーに人がいない時にマップごとロールバックしていると思います。Skriptでどうこうやっているサーバーは恐らく無いでしょう。

UHCを再現するプラグインは他にもありますし、どうしてもSkriptで作りたいなら試合が終わった後にCoreprotectのコマンドをコンソールから叩くなりした方がいいと思います。
アバター
Dotoo
ID:f100fd3f
レッドストーン掘り
 
記事: 515
登録日時: 2012年11月21日(水) 15:20


Return to 質問:マルチサーバー運用

x