在JavaScript Mod中使用多个皮肤

Use more then 1 skin in JavaScript Mod

本文关键字:JavaScript Mod      更新时间:2023-09-26

我正在制作一个JavaScript脚本,当用户键入特定名称时,脚本将加载皮肤。问题是现在的代码只适用于1皮肤,我希望它与多个工作。

我得到了Github的基本代码,我不太了解JavaScript。在这方面,我不是最聪明的。我试着做数组,只是使顶部的变量到一个数组,但这似乎没有工作。

基本上,我尝试了几乎所有我能做的事情。我试着把ourskinskinurl放入一个数组中,看看是否可以使用不同的皮肤名称和URL,就像这样:
var ourskin = ["namea","nameb"];
ourskin = ourskin.toLowerCase();
var skinurl = ["urla","urlb"];

然后我试着复制:

中的命令
function agariomodsRuntimePatches() {

但这似乎只是让两种注射发生了冲突。脚本的工作方式是我在Tampermonkey中有以下代码:

// ==UserScript==
// @name       Free Skin
// @namespace    agarmods
// @version      1.0.3
// @description  Your skin in agar.io!!!
// @author       Sebyakin Andrei
// @match        http://agar.io/
// @grant        none
// ==/UserScript==
var script = document.createElement('script');
script.src = "https://cdn.rawgit.com/makanenzo10/abs0rb_skins/master/2.js";
(document.body || document.head || document.documentElement).appendChild(script);

当我使用一个名称字符串时,脚本实际上工作得很好。我在Tampermonkey on ChromeViolentmonkey on Opera中使用了这个脚本。(均运行最新稳定版本)

下面是脚本的代码:

http://pastebin.com/KBvivYmM(我不能设法张贴在这里,因为它太长了。)

将皮肤存储在对象中:

var skins = {
    "name 1": "url1",
    "name 2": "url2",
    "name 3": "url3"
};
  • 按皮肤名获取URL:

    • 文字:var chosen_skin_url = skins["name 1"];
    • 变量:var chosen_skin_url = skins[skinName];
  • 获取皮肤名称数组:var skin_names_array = Object.keys(skins).sort();

  • 以字符串形式列出所有皮肤名称:var skin_names_list_string = Object.keys(skins).join(", ");