/*
*/ $(async function() { $(document).on("keypress", "input", function (e) { var code = e.keyCode || e.which; if (code == 13) { e.preventDefault(); return false; } }); FillCharacters(); FillRules(); await CheckApi(); await RequestAPI(); if(window.location.href.endsWith("#RulesSection")){ document.getElementById('Rules_Button').click(); } if(window.location.href.endsWith("#VIPSection")){ document.getElementById('Tab_VIP_Button').click(); } }); let servers_active = `

Где сейчас играют карлики
` let servers_inactive = `

Пустую без дела
` let servers_dead = `

Временно отключены
` let invalid_captcha = `

ДЯДЯ ТЫ ДУРАЧЕК, КАПЧА НЕПРАВИЛЬНАЯ, ЖМИ СНОВА НА КНОПКУ

` function generate_server_card_div(data){ return `
${data.name}

${data.name}

${data.player_count}/${data.max_players}

${data.human_name}

` } async function CheckApi() { let api_request_time = (new Date).getTime(); await fetch("https://tf2.pblr-nyk.pro/api", {headers: {'Cache-Control':'no-cache'}}) .then(res => res.text()) .then(res => {api_request_time = (new Date).getTime() - api_request_time}) .catch(err => {api_request_time = 0}); //////////////////////////////////////////// let player_api_request_time = (new Date).getTime(); await fetch("https://tf2.pblr-nyk.pro/player_api/v1/ping", {headers: {'Cache-Control':'no-cache'}}) .then(res => res.text()) .then(res => {player_api_request_time = (new Date).getTime() - player_api_request_time}) .catch(err => {player_api_request_time = 0}); //////////////////////////////////////////// FillFooter("", api_request_time, player_api_request_time); } async function RequestAPI() { //let api_request_time = (new Date).getTime(); //, {headers: {'Cache-Control':'no-cache'}} await fetch("https://tf2.pblr-nyk.pro/api/stats", {headers: {'Cache-Control':'no-cache'}}) .then(res => res.json()) .then(res => { FillServices(res); document.getElementById("current_players").innerHTML = res.servers.statistic.player_now; document.getElementById("max_per_day").innerHTML = res.servers.statistic.player_max; document.getElementById("servers_works").innerHTML = res.servers.statistic.working_servers + '/' + res.servers.statistic.total_servers; document.getElementById("uniq_day_players").innerHTML = res.uniq.day; document.getElementById("uniq_month_players").innerHTML = res.uniq.month; document.getElementById("uniq_year_players").innerHTML = res.uniq.year; document.getElementById("ServersSectionLastUpdate").innerHTML = `Информация обновлена: ${UNIX2TIMESTAMP(res.updates.servers)}`; document.getElementById("AboutSection_discord").innerHTML = `${res.discord_users} ГЕЙмеров `; document.getElementById("AboutSection_vk").innerHTML = `${res.vk_users} Участников `; document.getElementById("Section_VIP_users").innerHTML = `${res.vip_players} карликов уже имеют випку!`; let active = false; let inactive = false; let dead = false; let insert_type = "beforeend"; //active servers let sorted_servers = Object.keys(res.servers).sort((a, b) => { return res.servers[b].player_count - res.servers[a].player_count; }); //console.log(sorted_servers); for (let sort_id in sorted_servers) { let server = sorted_servers[sort_id]; if (server == `statistic`) {continue;} if(res.servers[server].status == true && res.servers[server].player_count > 0) { if(!active) { document.getElementById("servers_list_v2").insertAdjacentHTML(insert_type,servers_active) active = true; } document.getElementById("servers_list_v2").insertAdjacentHTML(insert_type,generate_server_card_div(res.servers[server])); } else if (res.servers[server].status == true && res.servers[server].player_count == 0) { if(!inactive) { document.getElementById("servers_list_v2").insertAdjacentHTML(insert_type,servers_inactive) inactive = true; } document.getElementById("servers_list_v2").insertAdjacentHTML(insert_type,generate_server_card_div(res.servers[server])); } } for (let sort_id in sorted_servers) { let server = sorted_servers[sort_id]; if (res.servers[server].status == false) { if(!dead) { document.getElementById("servers_list_v2").insertAdjacentHTML(insert_type,servers_dead) dead = true; } document.getElementById("servers_list_v2").insertAdjacentHTML(insert_type,generate_server_card_div(res.servers[server])); } } }).catch((err) => { console.log(err); //FillFooter("", 0, 0); }); //FillFooter("", api_request_time, ""); } function FillFooter(data, api_time, player_api_time){ const text = `

{text}

`; const text_bad = `

{text}

`; const text_good = `

{text}

`; while(document.getElementById("Footer_Text").firstChild) { document.getElementById("Footer_Text").lastChild.remove(); } document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{text}", `2018-${(new Date()).getFullYear()} | `)); document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{text}", `Факты 13 | `)); document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{text}", `JS: `)); document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text_good.replace("{text}", `on`)); document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{text}", ` | API: `));//${api_time} ms if(api_time == 0) { document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text_bad.replace("{text}", `not work`)); } else { document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text_good.replace("{text}", `${api_time} ms`)); } document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{text}", ` | Player API: `)); if(player_api_time == 0) { document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text_bad.replace("{text}", `not work`)); } else { document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text_good.replace("{text}", `${player_api_time} ms`)); } } function FillServices(data) { const ping_time = 90; const text = `

`; console.log(`${((new Date()).getTime() / 1000) - data.updates.qiwi_bot}`); console.log(`${((new Date()).getTime() / 1000) - data.updates.steam_bot}`); if(data.updates.qiwi_bot && ((new Date()).getTime() / 1000) - data.updates.qiwi_bot < ping_time) { document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{service_id}","Footer_Services_QIWI")); } if(data.updates.steam_bot && ((new Date()).getTime() / 1000) - data.updates.steam_bot < ping_time) { document.getElementById("Footer_Text").insertAdjacentHTML("beforeend", text.replace("{service_id}","Footer_Services_STEAM")); } } function UNIX2TIMESTAMP(unix) { return (new Date((unix + 3600 * 3) * 1000)).toGMTString().replace("GMT", "MSK"); } function FillCharacters() { let CharactersArray = new Array( ["site_content/images/characters/pootisd.png","site_content/sounds/pootis.mp3", ""], ["site_content/images/characters/pyro.png","site_content/sounds/alertmgs.mp3", ""], ["site_content/images/characters/toilet.png","site_content/sounds/puk.mp3", ""], ["site_content/images/characters/engi_n.png","site_content/sounds/nigger.mp3", ""], ["site_content/images/characters/mgesold.png","site_content/sounds/soldier_laughevil03.mp3", ""] ); let InjectCharacter = ``; document.getElementById("Main_FunnyСharacters").insertAdjacentHTML("beforeend", `
`); for (const element in CharactersArray) { InjectCharacter = `
`; if(CharactersArray[element][2]){ document.getElementById(CharactersArray[element][2]).insertAdjacentHTML("beforeend", `
`); document.getElementById(CharactersArray[element][2]).insertAdjacentHTML("beforeend", InjectCharacter); document.getElementById(CharactersArray[element][2]).insertAdjacentHTML("beforeend", `
`); } document.getElementById("Main_FunnyСharacters").insertAdjacentHTML("beforeend", InjectCharacter); } document.getElementById("Main_FunnyСharacters").insertAdjacentHTML("beforeend", `
`); } function FillRules() { const rules = new Array( {"name":"Читы", "about":"Бан навсегда сука", "image":"site_content/images/rules/cheats.jpg"}, {"name":"Реклама серверов", "about":"Кроме мге, бан навсегда сука", "image":"site_content/images/rules/ads.jpg"}, {"name":"Багоюз", "about":"Пиздец тебе, бан навсегда", "image":"site_content/images/rules/bug_use.jpg"}, {"name":"Абуз команды !mir", "about":"Блокировка дверей, открытие спавна и т.д", "image":"site_content/images/rules/abuse.jpg"}, {"name":"Абуз випки на сервере", "about":"Модеры сам решат как и за что", "image":"site_content/images/rules/abuse_vip.jpg"}, {"name":"Делай короче чё хочешь", "about":":troll_face:", "image":"site_content/images/rules/make_everyone.jpg"} ) let card = ``; //const shift = ``;//
`; //let counter = 1 for(const rule in rules) { //if(counter == 1){document.getElementById("Rules_List").insertAdjacentHTML("beforeend", shift);} card = `
${rules[rule].name}

${rules[rule].about}

` document.getElementById("Rules_List").insertAdjacentHTML("beforeend", card); //counter++; //if(counter == 4){counter=1;} } }