Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var map = match.getMap();
- var world = match.getWorld();
- var allBlockCount = 0;
- var capturing = "";
- var teamLimeRemains = 100;
- var teamPinkRemains = 100;
- var tick;
- var timerFinish;
- var glass = map.getRegion("gl").getBlocks();
- function SetHotbarItem(data,title) {
- var item = createItemStack();
- item.setType("STAINED_GLASS_PANE");
- item.setData(data);
- item.setName(title);
- var players = match.getPlayers();
- for (var i=0;i<players.length; i++) {
- players[i].setItem(8,item);
- }
- }
- match.on("start",function(){
- //エリア全体のブロック数を計算
- var regions = map.getRegion("sz");
- console.log(regions.getId());
- allBlockCount = regions.getBlocks().length;
- console.log(allBlockCount);
- //溺れる
- setInterval(function(){
- var players = match.getPlayers();
- for (var i = 0; i < players.length; i++) {
- var player = players[i];
- if (player.getLocation()[1] < 7) {
- var locate = player.getLocation();
- player.teleport(locate[0],30,locate[2]);
- player.kill();
- if (player.getTeam().getId() == "lime") {
- match.broadcast("`a" + player.getName() + "`r は溺れてしまった");
- } else if (player.getTeam().getId() == "pink") {
- match.broadcast("`d" + player.getName() + "`r は溺れてしまった");
- }
- world.playSound(locate[0],locate[1],locate[2],"anvil_land",10,1);
- }
- }
- },100);
- //ゲーム終了タイマー
- timerFinish = setTimeout(function(){
- clearInterval(tick);
- if (teamLimeRemains < teamPinkRemains) {
- match.end(map.getTeam("pink"));
- } else if (teamPinkRemains < teamLimeRemains) {
- match.end(map.getTeam("lime"));
- } else {
- match.end();
- }
- },300000);
- //毎回処理
- tick = setInterval(function(){
- var teamLimeWoolCount = 0;
- var teamPinkWoolCount = 0;
- regions = map.getRegion("sz");
- var blocks = regions.getBlocks();
- for (var j=0; j<blocks.length; j++) {
- if (blocks[j].getData() == 14) {
- teamPinkWoolCount++;
- } else if (blocks[j].getData() == 5) {
- teamLimeWoolCount++;
- }
- }
- console.log("Lime:" + teamLimeWoolCount + " Pink:" + teamPinkWoolCount);
- if (teamLimeWoolCount > allBlockCount - 12 && capturing == "") {
- teamLimeRemains--;
- match.broadcast("`aLimeがガチエリアを確保!Lime Team has been captured the Splat Zones!");
- for (var i=0;i<glass.length;i++) {
- glass[i].setData(5);
- }
- SetHotbarItem(5,"§aNow Capturing : Lime");
- var blocks = regions.getBlocks();
- for (var j=0;j<blocks.length;j++) {
- blocks[j].setData(5);
- world.playParticle(blocks[j].getX(),19,blocks[j].getZ(),"HEART",1,1,2);
- }
- capturing = "lime";
- } else if (teamLimeWoolCount <= allBlockCount - 20 && capturing == "lime") {
- match.broadcast("`dPinkがカウントストップした!Pink Team has been stopped Lime`s capturing!");
- for (var i=0;i<glass.length;i++) {
- glass[i].setData(0);
- }
- SetHotbarItem(0,"Splat Zones are neutral");
- var blocks = regions.getBlocks();
- for (var j=0;j<blocks.length;j++) {
- world.playParticle(blocks[j].getX(),19,blocks[j].getZ(),"CLIT",1,1,10);
- }
- capturing = "";
- } else if (teamLimeWoolCount > allBlockCount - 12 && capturing == "lime") {
- match.broadcast("`aLime " + --teamLimeRemains + " `dPink " + teamPinkRemains);
- }
- if (teamPinkWoolCount > allBlockCount - 12 && capturing == "") {
- teamPinkRemains--;
- match.broadcast("`dPinkがガチエリアを確保!Pink Team has been captured the Splat Zones!");
- for (var i=0;i<glass.length;i++) {
- glass[i].setData(6);
- }
- SetHotbarItem(6,"§dNow Capturing : Pink");
- var blocks = regions.getBlocks();
- for (var j=0;j<blocks.length;j++) {
- blocks[j].setData(14);
- world.playParticle(blocks[j].getX(),19,blocks[j].getZ(),"HEART",1,1,5);
- }
- capturing = "pink";
- } else if (teamPinkWoolCount <= allBlockCount - 20 && capturing == "pink") {
- match.broadcast("`aLimeがカウントストップした!Lime Team has been stopped Lime`s capturing!");
- for (var i=0;i<glass.length;i++) {
- glass[i].setData(0);
- }
- SetHotbarItem(0,"Splat Zones are neutral");
- var blocks = regions.getBlocks();
- for (var j=0;j<blocks.length;j++) {
- world.playParticle(blocks[j].getX(),19,blocks[j].getZ(),"CRIT",1,1,10);
- }
- capturing = "";
- } else if (teamPinkWoolCount > allBlockCount - 12 && capturing == "pink") {
- match.broadcast("`dPink " + --teamPinkRemains + " `aLime " + teamLimeRemains);
- }
- if (teamLimeRemains == 0) {
- clearInterval(tick);
- clearTimeout(timerFinish);
- match.end(map.getTeam("lime"));
- }
- if (teamPinkRemains == 0) {
- clearInterval(tick);
- clearTimeout(timerFinish);
- match.end(map.getTeam("pink"));
- }
- },1000);
- });
- match.on("respawn",function(e){
- var player = e.getPlayer();
- console.log(player.getName() + " Respawned");
- var item = createItemStack();
- item.setType("STAINED_GLASS_PANE");
- if (capturing == "lime") {
- item.setData(5);
- item.setName("§aNow Capturing : Lime");
- } else if (capturing == "pink") {
- item.setData(6);
- item.setName("§dNow Capturing : Pink");
- } else {
- item.setName("Splat Zones are neutral");
- }
- player.setItem(8,item);
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement