Юзерскрипт для сохранения/загрузки полетного листа - Процесс пошел - Звездная Федерация

Перейти к содержимому


Юзерскрипт для сохранения/загрузки полетного листа


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 Kreastr

Kreastr

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 85 сообщений

Отправлено 14 Май 2015 - 20:20

С разрешения Reflection представляю для всех юзерскрипт, который реализует функции загрузки/сохранения команд полетных листов.

1) Установка UserScript:

Для Firefox (тестировалось для  этого браузера и аддона):
- Необходим аддон Grease Monkey. Ставим отсюда https://addons.mozil...n/greasemonkey/
- Нужно открыть настройки пользовательских скриптов в GreaseMonkey. http://c2n.me/3hFF9Wx У меня этот пункт называется Manage User scripts.
- Создать новый скрипт. New user script... http://c2n.me/3hFG76z
- Заполнить окно создания http://c2n.me/3hFGsLa
- После создания в окно нужно вставить код скрипта(ниже в тексте сообщения или на http://pastebin.com/r6LWxC0B) и сохранить его. http://c2n.me/3hFHadi
- После этого нужно перезагрузить страницу с игрой (F5). Если все сделано правильно, то появится меню в правом верхнем углу http://c2n.me/3hFHr6C

Для Chrome:
- Качаем версию скрипта для Chrome http://pastebin.com/LmrQewxT
- Cохраняем код в файлик sf.user.js
- Заходив в настройки хрома -> Расширения -> Перетягиваем файлик sf.user.js в окошко
- Соглаешмся на установку
- Не забываем включить расширение

Для Opera:
Дополнение называется Violent Monkey https://addons.opera...violent-monkey/


2) Использование скрипта:
- Сохранение: открыть окно управления флотом с командами, нажать сохранить полетник. http://clip2net.com/s/3hFI3Md, сохранить текст из окошка (его много) в какое-нибудь место: например, блокнот, гугл-табличка, Excell или Evernote.
- Загрузка: скопировать текст, сохраненный в предыдущем пункте, открыть окно управление флотом, в который вы хотите добавить команды. Нажимаете добавить команды. Добавление занимает примерно 5 сеунд на команду, чтобы не грузить сервер и дать окну обновиться при медленном соединении.

P.S. Предложения по улучшению приветствуются. Еще больше приветсвтуются правки, которые эти пожелания реализуют. Если будут желающие помогать - организуем небольшой репозиторий на гитхабе под это дело.

-----------------------------
// ==UserScript==
// @name	 Star Federation
// @namespace starfederationuimod
// @include	 http://www.star-kings.ru/*
// @include	 http://star-kings.ru/*
// @include	 http://starfederation.ru/*
// @include	 http://www.starfederation.ru/*
// @version	 1
// @grant	 none
// ==/UserScript==
var run = function() {

$("body").append ( '											 \
<div id="gmRightSideBar" style="position:fixed; top:80; right: 0;background:#000000;z-index:99999999; ">									 \
	 <p>Панель расширенных команд:</p>							 \
	 <ul>													 \
		 <li><a onclick="$(`#gmRightSideBar`).trigger(`grabFlightPlan`);">Сохранить полетник</a></li>	 \
		 <li><a onclick="$(`#gmRightSideBar`).trigger(`loadFlightPlan`);">Добавить команды к полетнику</a></li>	 \
	 </ul>													 \
</div>														 \
' );
	
function addnextcmd(forms_html,id){
if (id == forms_html.length)
	 return;

var new_form = $("#WndFleet_comand_form_new");
new_form[0].outerHTML = forms_html[id];
var forms = $("form[id^='WndFleet_comand_form_']:last");
forms.attr('id','WndFleet_comand_form_new');
$("> input[name='icmd']",forms).attr('value','new');
getWindow('WndFleet').add_comand('new');
setTimeout(function(){addnextcmd(forms_html,id+1)}, 5000);
}

$("#gmRightSideBar").bind('loadFlightPlan',function() {
var text = window.prompt("Вставьте сохраненные команды: Ctrl+V, Enter", '');
var forms_html = text.split("<;>");
addnextcmd(forms_html,0);
});

$("#gmRightSideBar").bind('grabFlightPlan',function() {
var forms = $("form[id^='WndFleet_comand_form_']");
var text = "";
forms.each(function(index){
	 if (index < forms.length-1)
	 {
	 if (index > 0)
		 text = text + "<;>";
	 var tmp = forms[index].outerHTML;	
	 text = text + tmp.replace(/<[^\/if][^>]*>/g,"").replace(/<\/[^f][^>]*>/g,"").replace(/title="[^"]*"/g,"").replace(/style="[^"]*"/g,"").replace(/onclick="[^"]*"/g,"").replace(/src="[^"]*"/g,"").replace(/class="[^"]*"/g,"").replace(/>[^<]*</g,"><").replace(/<img[^>]*>/g,"");
	
	 }
});
window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
});
GM_addStyle ( "													 \
#gmRightSideBar {											 \
	 position:			 fixed;							 \
	 top:				 100;								 \
	 right:				 900;								 \
	 margin:				 1ex;							 \
	 padding:			 1em;							 \
	 background:			 orange;							 \
	 width:				 100px;							 \
	 z-index:			 9999;							 \
	 opacity:			 0.9;							 \
}															 \
#gmRightSideBar p {											 \
	 font-size:			 80%;							 \
}															 \
#gmRightSideBar ul {										 \
	 margin:				 0ex;							 \
}															 \
#gmRightSideBar a {											 \
	 color:				 blue;							 \
}															 \
" );	
}
var script = document.createElement("script");
script.textContent = '(' + run.toString() + ')();';
document.documentElement.appendChild(script);

Сообщение отредактировал Kreastr: 03 Июнь 2015 - 19:31


#2 Tor

Tor

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 394 сообщений

Отправлено 15 Май 2015 - 22:31

Прекрасно, но в правом вернем углу акция(
она может закрывать менюшку?
Держись друзей, а к врагу будь ближе всех. Митра, иди поближе.

#3 Kreastr

Kreastr

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 85 сообщений

Отправлено 16 Май 2015 - 00:08

Скорее наоборот. В огнелисе выглядит так http://c2n.me/3hKLtYt

#4 Kreastr

Kreastr

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 85 сообщений

Отправлено 17 Май 2015 - 22:59

- Добавлена версия скрипта для Chrome: исправлена ошибка совместимости. http://pastebin.com/LmrQewxT
- Сохраняемая версия полетного листа теперь значительно компактнее.

Сообщение отредактировал Kreastr: 18 Май 2015 - 02:57


#5 uhajdaker

uhajdaker

    Новичок

  • Пользователи
  • Pip
  • 7 сообщений

Отправлено 04 Апрель 2016 - 22:14

Благодарю

#6 Noob

Noob

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 32 сообщений

Отправлено 03 Октябрь 2016 - 12:38

хорошо было бы, что бы окошко скрипта перемещалось и сворачивалось в иконку...

#7 Noob

Noob

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 32 сообщений

Отправлено 12 Октябрь 2016 - 06:46

Теперь окно можно скрыть.

// ==UserScript==
// @name		 Star Federation
// @namespace starfederationuimod
// @include	 http://www.star-kings.ru/*
// @include	 http://star-kings.ru/*
// @include	 http://starfederation.ru/*
// @include	 http://www.starfederation.ru/*
// @version	 1.1
// @grant	 none
// ==/UserScript==
var run = function() {

$("body").append ( '\
<table id="gmRightSideBar" style="position:fixed; top:80; right: 0;z-index:99999900; "> \
<tr> \
<td> <table>\
<tr><td><button type="button" \
	 onclick="document.getElementById(`gmRightSideBar`).style.right=`0px`" \
	 class="text_btn_bg" style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 30px 24px;">Вкл.</button></td></tr> \
<tr><td><button type="button" class="text_btn_bg" \
	 onclick="document.getElementById(`gmRightSideBar`).style.right=`-190px`" \
	 style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 30px 24px;">Выкл.</button></td></tr> \
</table></td> \
<td> <table>\
<tr><td style="font-size:13px;height:24px;width:100%;" background="/images/ui/buttons/text_btn_bg_center_h.png">Панель расширенных команд:</td></tr> \
<tr><td><button type="button" class="text_btn_bg" style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 173px 24px;" onclick="$(`#gmRightSideBar`).trigger(`grabFlightPlan`);">Сохранить полетник</button></td></tr> \
<tr><td><button type="button" class="text_btn_bg" style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 173px 24px;" onclick="$(`#gmRightSideBar`).trigger(`loadFlightPlan`);">Добавить команды к полетнику</button></td></tr> \
</td> </table>\
</tr> \
</table> \
' );


function addnextcmd(forms_html,id){
if (id == forms_html.length)
return;

var new_form = $("#WndFleet_comand_form_new");
new_form[0].outerHTML = forms_html[id];
var forms = $("form[id^='WndFleet_comand_form_']:last");
forms.attr('id','WndFleet_comand_form_new');
$("> input[name='icmd']",forms).attr('value','new');
getWindow('WndFleet').add_comand('new');
setTimeout(function(){addnextcmd(forms_html,id+1)}, 5000);
}

$("#gmRightSideBar").bind('loadFlightPlan',function() {
var text = window.prompt("Вставьте сохраненные команды: Ctrl+V, Enter", '');
var forms_html = text.split("<;>");
addnextcmd(forms_html,0);
});

$("#gmRightSideBar").bind('grabFlightPlan',function() {
var forms = $("form[id^='WndFleet_comand_form_']");
var text = "";
forms.each(function(index){
if (index < forms.length-1){
if (index > 0)
	 text = text + "<;>";
var tmp = forms[index].outerHTML;	
text = text + tmp.replace(/<[^\/if][^>]*>/g,"").replace(/<\/[^f][^>]*>/g,"").replace(/title="[^"]*"/g,"").replace(/style="[^"]*"/g,"").replace(/onclick="[^"]*"/g,"").replace(/src="[^"]*"/g,"").replace(/class="[^"]*"/g,"").replace(/>[^<]*</g,"><").replace(/<img[^>]*>/g,"");
}
});
window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
});

}
var script = document.createElement("script");
script.textContent = '(' + run.toString() + ')();';
document.documentElement.appendChild(script);


#8 Dezik

Dezik

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 83 сообщений

Отправлено 25 Август 2017 - 18:47

Спасибо тебе, добрый человек! Как по мне, это одна из лучших тем на форуме!

Надеюсь, что ты продолжишь улучшать и дополнять этот скрипт.
А нам все равно, а нам все равно, пусть боимся мы волка и сову :D

#9 Dezik

Dezik

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 83 сообщений

Отправлено 25 Август 2017 - 19:01

Чтобы он заработал, нужно везде "http" поменять на "https"

// ==UserScript==
// @name				 Star Federation
// @namespace starfederationuimod
// @include	 https://www.star-kings.ru/*
// @include	 https://star-kings.ru/*
// @include	 https://starfederation.ru/*
// @include	 https://www.starfederation.ru/*
// @version	 1.1.1
// @grant	 none
// ==/UserScript==
var run = function() {
$("body").append ( '\
<table id="gmRightSideBar" style="position:fixed; top:80; right: 0;z-index:99999900; "> \
<tr> \
<td> <table>\
<tr><td><button type="button" \
		 onclick="document.getElementById(`gmRightSideBar`).style.right=`0px`" \
		 class="text_btn_bg" style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 30px 24px;">Вкл.</button></td></tr> \
<tr><td><button type="button" class="text_btn_bg" \
		 onclick="document.getElementById(`gmRightSideBar`).style.right=`-190px`" \
		 style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 30px 24px;">Выкл.</button></td></tr> \
</table></td> \
<td> <table>\
<tr><td style="font-size:13px;height:24px;width:100%;" background="/images/ui/buttons/text_btn_bg_center_h.png">Панель расширенных команд:</td></tr> \
<tr><td><button type="button" class="text_btn_bg" style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 173px 24px;" onclick="$(`#gmRightSideBar`).trigger(`grabFlightPlan`);">Сохранить полетник</button></td></tr> \
<tr><td><button type="button" class="text_btn_bg" style="font-size:11px;height:24px;width:100%;background-position:left 0px top 0px,right 0px top 0px, left 2px top;background-size:2px 24px, 3px 24px, 173px 24px;" onclick="$(`#gmRightSideBar`).trigger(`loadFlightPlan`);">Добавить команды к полетнику</button></td></tr> \
</td> </table>\
</tr> \
</table> \
' );

function addnextcmd(forms_html,id){
if (id == forms_html.length)
return;
var new_form = $("#WndFleet_comand_form_new");
new_form[0].outerHTML = forms_html[id];
var forms = $("form[id^='WndFleet_comand_form_']:last");
forms.attr('id','WndFleet_comand_form_new');
$("> input[name='icmd']",forms).attr('value','new');
getWindow('WndFleet').add_comand('new');
setTimeout(function(){addnextcmd(forms_html,id+1)}, 5000);
}
$("#gmRightSideBar").bind('loadFlightPlan',function() {
var text = window.prompt("Вставьте сохраненные команды: Ctrl+V, Enter", '');
var forms_html = text.split("<;>");
addnextcmd(forms_html,0);
});
$("#gmRightSideBar").bind('grabFlightPlan',function() {
var forms = $("form[id^='WndFleet_comand_form_']");
var text = "";
forms.each(function(index){
if (index < forms.length-1){
if (index > 0)
		 text = text + "<;>";
var tmp = forms[index].outerHTML;	
text = text + tmp.replace(/<[^\/if][^>]*>/g,"").replace(/<\/[^f][^>]*>/g,"").replace(/title="[^"]*"/g,"").replace(/style="[^"]*"/g,"").replace(/onclick="[^"]*"/g,"").replace(/src="[^"]*"/g,"").replace(/class="[^"]*"/g,"").replace(/>[^<]*</g,"><").replace(/<img[^>]*>/g,"");
}
});
window.prompt("Copy to clipboard: Ctrl+C, Enter", text);
});
}
var script = document.createElement("script");
script.textContent = '(' + run.toString() + ')();';
document.documentElement.appendChild(script);

А нам все равно, а нам все равно, пусть боимся мы волка и сову :D

#10 Alexandwer

Alexandwer

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 586 сообщений

Отправлено 23 Ноябрь 2017 - 11:13

По пунктам, актуально в Фаерфокс на 2018 г.:
  • Ставим дополнение Greasemonkey https://addons.mozil...n/greasemonkey/ (в углу появится голова макаки)

  • Заходим на https://greasyfork.o...star-federation и жмём "Установить этот скрипт", открывается окно, в нём подтверждаем установку в Greasemonkey нажав "Install"

  • Жмём на голову макаки - вылезет окошко, в котором выбираем "Star Federation" ("Enabled/Disabled" - Включить/Выключить скрипт)

  • Открываем игру, жмём F5 или обновить, после этого в правом верхнем углу появляются кнопки, с помощью которых можно копировать и вставлять полётный лист (он должен быть открыт), полетный лист вставляется попунктно, поэтому ждите пока вставятся все ваши пункты.

Сообщение отредактировал Alexandwer: 16 Февраль 2018 - 14:51


#11 Darveters

Darveters

    Пользователь

  • Пользователи
  • PipPip
  • 11 сообщений

Отправлено 14 Февраль 2018 - 02:08

Актуален скрипт для сегодняшнего ФФ?

#12 AS10

AS10

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 739 сообщений

Отправлено 16 Февраль 2018 - 09:29

Да

#13 MAGNet

MAGNet

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1 184 сообщений
  • ГородНовосибирск

Отправлено 17 Февраль 2018 - 07:33

Просмотр сообщенияAlexandwer (23 Ноябрь 2017 - 11:13) писал:

Ставим дополнение Greasemonkey
В самом начале забыли добавить, что Greasemonkey жрет примерно столько же ресурсов, сколько сам ФФ и невероятно тормозит работу.
Если у тебя восьмиядерный i7, то тебе должно быть пофигу, но если ты на нетбуке или не свежем ноуте, то становится очень печально.

Моё мнение в комментарии может не совпадать с моим мнением


#14 Darveters

Darveters

    Пользователь

  • Пользователи
  • PipPip
  • 11 сообщений

Отправлено 18 Февраль 2018 - 17:40

Просмотр сообщенияMAGNet (17 Февраль 2018 - 07:33) писал:

В самом начале забыли добавить, что Greasemonkey жрет примерно столько же ресурсов, сколько сам ФФ и невероятно тормозит работу.
Если у тебя восьмиядерный i7, то тебе должно быть пофигу, но если ты на нетбуке или не свежем ноуте, то становится очень печально.

Как то поостерегся эту обезьяну ставить себе на основную систему. Попробовал через виртуалку запуститься на виртбоксе. Так зависла на полетнике наглухо. Видимо реально оперативы и проца нужно много....

#15 Zapinaka

Zapinaka

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 70 сообщений

Отправлено 08 Март 2018 - 15:38

Версия для хрома блокируется хромом. Просит установку только через магазин Гугл Хром. Есть решение?

#16 ACKET

ACKET

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 34 сообщений

Отправлено 08 Март 2018 - 19:00

Странно, что такую полезную весчь до сих пор не сделали сами разрабы :(

#17 valldar

valldar

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 218 сообщений

Отправлено 09 Март 2018 - 20:38

Просмотр сообщенияZapinaka (08 Март 2018 - 15:38) писал:

Версия для хрома блокируется хромом. Просит установку только через магазин Гугл Хром. Есть решение?
Установи расширение: https://tampermonkey.net
и скопируй туда код, ничего блокировать не будет




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных