Hoşgeldin, Ziyaretçi: Giriş Yap - Üye Ol - Lost password?

OTO Hakem



  • Derecelendirme: 0/5 - 0 oy



Zent
Administrator
haxlife-avatar
*****
Administrator
Yorumları: 367 Konuları: 214 Kayıt Tarihi: 08-08-2016 Rep Puanı: 1
Rank: 3 Rank Away
#1
OTO Hakem
27-01-2019, Saat: 01:09

Lig maçlarında hiçbir takımın hakkının yenilmemesi ve net kararlar verilmesi adına oto hakem sistemine geçilmiştir.

OTO HAKEM NASIL KURULUAR?
1. Öncelikle bu siteye gireceksiniz. (Chrome Tarayıcısını öneririz) TIKLAYIN
2. F12  tuşuna basacaksınız. (F12 basınca hiçbir şey olmuyorsa. Sağ click ögeyi denetle yapınız.)
3. Çıkan ekranda "Console" veya "Konsol"  seçeneğine basakcaksınız.
UYARI: Konsol'un(console)  üst veya alt kısmındaki çubukta headless.html seçiliyse onu top olarak değiştiriniz.
4. Aşağıda vereceğimiz olan kodu oraya yapıştırıp, enter'a basacaksınız.
5. Daha sonra size bir oda linki verilecek. Verilen oda linki ile oynayabilirsiniz.

UYARI: Haxball Headless Host sayfasını kapatmayın, odaya giremezsiniz.

BOT Komutu:



/* SETTINGS */

/* ROOM */

var roomName = "HAXLIFE MINIRS";
var maxPlayers = 20;
var roomPublic = false;

/* STADIUM */

var stadiumWidth = 700;
var stadiumHeight = 320;
var radiusBall = 10;

/* SETTINGS */

var lastScores = 0;
var lastTeamTouched = 0;
var triggerDistance = radiusBall + 15 + 0.01;
stadiumWidth += (radiusBall / 2) + 6;
stadiumHeight += (radiusBall / 2) + 6;
var Team = {
    SPECTATORS: 0,
    RED: 1,
    BLUE: 2
};
var room = HBInit({ roomName: roomName, maxPlayers: maxPlayers, public: roomPublic, playerName: "Haxlife Hakem" });
room.setScoreLimit(0);
room.setTimeLimit(0);

room.onTeamGoal = function(team) {
    setTimeout(function() {
        lastScores = room.getScores().red + room.getScores().blue;
    }, 1000);
}
room.onGameStart = function(player) {
    lastScores = room.getScores().red + room.getScores().blue;
}
room.onPlayerBallKick = function(player) {
    lastTeamTouched = player.team;
}
room.onGameTick = function() {
    getLastTouchTheBall();
    checkBallPosition();
}

room.onPlayerJoin = function(player) {
    if(player.id == 1) {
        room.setPlayerAdmin(player.id, true);
    }
}

function isOutsideStadium(ballPosition) {
    return ballPosition.x > stadiumWidth || ballPosition.x <  -stadiumWidth || ballPosition.y > stadiumHeight || ballPosition.y  < -stadiumHeight;
}

var isBallOutsideStadium = false;

function checkBallPosition() {
    var ballPosition = room.getBallPosition();
    if(isOutsideStadium(ballPosition)) {
        if(!isBallOutsideStadium) {
            isBallOutsideStadium = true;
            var totalScores = room.getScores().red + room.getScores().blue;
            if(lastScores != totalScores) {
                lastScores = totalScores;
                return false;
            }
            if(ballPosition.x > stadiumWidth &&  lastTeamTouched == Team.RED || ballPosition.x < -stadiumWidth  && lastTeamTouched == Team.BLUE) {
                room.sendChat("A");
            }
            else if(ballPosition.x > stadiumWidth &&  lastTeamTouched == Team.BLUE || ballPosition.x < -stadiumWidth  && lastTeamTouched == Team.RED) {
                room.sendChat("K");
            }
            else {
                room.sendChat(lastTeamTouched == Team.RED ? "B" : "R");
            }
        }
    }
    else {
        isBallOutsideStadium = false;
    }
    return true;
}

function getLastTouchTheBall() {
    var ballPosition = room.getBallPosition();
    var players = room.getPlayerList();
    for(var i = 0; i < players.length; i++) {
        if(players[i].position != null) {
            var distanceToBall = pointDistance(players[i].position, ballPosition);
            if(distanceToBall < triggerDistance) {
                lastTeamTouched = players[i].team;
            }
        }
    }
}

function pointDistance(p1, p2) {
    var d1 = p1.x - p2.x;
    var d2 = p1.y - p2.y;
    return Math.sqrt(d1 * d1 + d2 * d2);
}

function updateAdmins() {
  // Get all players except the host (id = 0 is always the host)
  var players = room.getPlayerList().filter((player) => player.id != 0 );
  if ( players.length == 0 ) return; // No players left, do nothing.
  if ( players.find((player) => player.admin) != null ) return; // There's an admin left so do nothing.
  room.setPlayerAdmin(players[0].id, true); // Give admin to the first non admin player in the list
}

room.onPlayerJoin = function(player) {
  updateAdmins();
}

room.onPlayerLeave = function(player) {
  updateAdmins();
}
Son Düzenleme: 29-06-2019, Saat: 02:22, Düzenleyen: Essien.




Hızlı Menü:


Konuyu Okuyanlar:1 Ziyaretçi