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

OTO Hakem


[ Tags: hakem ]

  • Derecelendirme: 0/5 - 0 oy



Zent
Administrator
haxlife-avatar
*****
Administrator
Yorumları: 279 Konuları: 163 Kayıt Tarihi: 04-09-2017 Rep Puanı: 0
Budget: 50 Budget
Offline
#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 MİNİRS";

 var maxPlayers = 11;

 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: "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();

 }

ƒ (player) {

   updateAdmins();



 }


[ Tags: hakem ]


Hızlı Menü:


Konuyu Okuyanlar:1 Ziyaretçi