Skip to content

Latest commit

 

History

History
279 lines (214 loc) · 11.8 KB

README-en.md

File metadata and controls

279 lines (214 loc) · 11.8 KB

SkyAutoPlayerScript

A script to play Sheets generated by SkyStudio automatically in game Sky with accessibility services using Auto.js

shared sheet sheet contributors Hosted in

Feature

There are many features in SkyAutoPlayerScript compared to other auto player scripts.

  • Friendly GUI, no code edit, fluent UI animation.
  • Multi-functional player control panel with pause, progress control and speed control.
  • Set key coordinates by yourself with guidance, avoiding key offset when playing.
  • There are many excellent online shared sheets.
  • Automatically update script.
  • Multi-language support.
  • ...

Usage

  1. Download release 4.1.1 Alpha2 (461) -> armeabi-v7a in Ericwyn/Auto.js/[email protected]

  2. Turn on Accessibility service and allow Display pop-up window permission for Auto.js

  3. Create a new script file in Auto.js. Copy the code below and run!

"ui";
"use strict";
/*
    SkyAutoPlayer (Auto.js script)
  	Copyright © 2020-2021 StageGuard

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
  USA
*/
(function(emitter) {
  threads.start(function () {
    emitter.emit("evaluate", (function () {
      //Many sources 
      let sources = [
        "http://cdn.stagex.top:8090/StageGuard/SkyAutoPlayerScript/raw/master/source/SkyAutoplayer.js",
        "https://cdn.jsdelivr.net/gh/StageGuard/SkyAutoPlayerScript/source/SkyAutoplayer.js",
        "https://dl.skyautoplayerscript.stageguard.top/source/SkyAutoplayer.js",
        "https://raw.githubusercontent.com/StageGuard/SkyAutoPlayerScript/master/source/SkyAutoplayer.js"
      ];
      for (let i in sources) {
        let resp = http.get(sources[i]);
        if (resp.statusCode >= 200 && resp.statusCode < 300) {
          return resp.body.string();
        }
      }
      return "console.show();console.log(\"Failed to load script\")";
    }()));
  });
  emitter.on('evaluate', function (s) {
    eval(s);
  });
}(events.emitter(threads.currentThread())));

Clear data

SkyAutoPlayerScript will store data while running, if you want to delete all data, please run the code below in Auto.js

storages.remove("StageGuard:SkyAutoPlayer:Config");
files.removeDir("/storage/emulated/0/Documents/SkyAutoPlayer/");

Upload sheets

SkyAutoplayerScript will load online shared sheets from the file shared_sheets.json in this repository and it is convenient to download and play.

If you want to let sheets that transcribed by yourself or permitted to reprint shown on the list, you can do one of the following ways:

1. Pull Request

You can clone this repository, put your sheet file into shared_sheets folder and add a new item in shared_sheets.json :

{
  //sheet name
  "name": "Vicetone - Nevada",
  //sheet file name in shared_sheets folder
  "file": "Nevada.txt",
  //transcriber
  "author": "StageGuard",
  //short description about this sheet
  "desc": "Nevada SkyStudio钢琴版。\n内包含<u>比较复杂的和弦</u>,不适合手弹(笑\n你可以在SkyStudio的练习模式试试[狗头]",
  //BPM in sheet file
  "bpm": 497,
  //key count(a 15 key sheet or 8 key sheet)
  "keyCount": 15,
  //pitch level in sheet file
  "pitchLevel": 3,
  //note count
  //length of array songNotes in sheet file
  "noteCount": 1308,
  //your social link
  //you can add many links if you want
  "social": [
    {
      //platform code name, currently support github, twitter, douyin(tiktok) and coolapk
      "platform": "github",
      //social platform name
      "name": "GitHub",
      //social link
      "link": "https://github.com/StageGuard/"
    }
  ]
},

After finishing, you need to create a new pull request and wait it to be merged.

Attention: Before creating a new pull request , make sure your local repository is up-to-date!

2. If you are not familiar with Github...

Just mail your sheet file to [email protected] and don't forget the sheet description !

Attention!

Before using this script, you must read the following notes!

  1. SkyAutoplayerScript is not fully tested, if you meet a bug, please PM CoolApk@StageGuard or create a new issue.

  2. SkyAutoplayerScript is a free and open source project. If you want to use it for commercial purposes, please add the link refers to this repository.

  3. Shared sheets is not under the protection of LGPL-2.1, if you want to reprint shared sheets to other platforms, please contact sheet transcriber by yourself!

  4. The script is just for entertainment and it is not suitable to use it in formal occasion.

  5. Script just gives you a short-time sense of satisfaction and do not make you progress.

  6. This script is just a "player" and no built-in sheets, you must download SkyStudio to make sheets.

  7. The script will not support decrypt sheet, including SkyStudio encrypted sheet or encrypted js etc.....
    And the repository will also not accept encrypted sheet.

Issues

Use it to make profits: #1

Embezzle shared sheets:

Gitee user 嗨游圈(@vipssp) upload all shared sheets in /shared_sheets without permission to his Gitee repository

He also doesn't delete these sheets from his repository after notification.

I decide to pin him in README.md after communicating with some sheet sharer.

Contribution

Welcome everyone to contribute this project, including pull request, issue, new feature request or translation.

⚠️WARNING

CodeFactor Evaluation: CodeFactor

Because of the limitation of Auto.js, it is impossible to extract functions and method so all functions are defined in a single file. Also, my coding skill is poor, so it is a little hard to understand source code.

Contributor

SkyAutoPlayerScript

@tiaod

Shared sheets

CoolApk @Aex技术总监
CoolApk @夏卡卡卡
CoolApk @深空失忆か
Douyin @子哲啊🌈(zizhe1880689503)
CoolApk @你们很有趣呢
CoolApk @情如风雪无常
CoolApk @慕疵
CoolApk @社区最弱萌新
CoolApk @九方辰
CoolApk @北极马可罗尼
Bilibili @UTF16
CoolApk @Syngenex
Twitter Phoebe@huunhut1217
CoolApk @终究是错付了
CoolApk @DesperatU
CoolApk @明明酱
CoolApk @cxk的篮球
CoolApk @头条乀
CoolApk @Alusias
chikin
CoolApk @温茶予君
CoolApk @落红难相聚
CoolApk @bugjump233
CoolApk @阿基米德的船
[email protected]
CoolApk @皮皮小猪猪
CoolApk @DoubleGGe
恋上猫的鱼~
依稀(濒死动物)
zhangjinteng
Bilibili @次卡安
CoolApk @ZyaIreZ
CoolApk @星释槐
KingXKK
CoolApk @Leotoast
小柒不会玩红石
我睡着的时候不困0v0

Translation

SkyAutoplayerScript version 21 has supported multi-language and can also fetch online language list, follow contribute-translation.md (English) guide to contribute translation.

Contributor

None

Icon from:

Iconfont-阿里巴巴矢量图标库

Thanks to:

projectXero (Provide ListAdapter used in Rhino)

LICENSE

    SkyAutoPlayer (Auto.js script)
	  Copyright © 2020-2021 StageGuard

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301
  USA