-1

Moin 我用硬币制作了自己的剧本。但是当服务器重新启动时,每次有人知道如何设置可以保存的东西时,硬币都会设置为 0。(脚本没那么长)

这是脚本:

命令 /coins: aliases: coin trigger: send "&e&lEndless &7● &aDu hast &e%{coins::%player%}% &aCoins" 给玩家

命令 /pay [] []:触发:
如果设置了 arg-1:如果 arg-1 不是玩家:如果 arg-2 小于 {coins::%player%}:从 {coins:: 中删除 arg-2 %player%} 将 arg-2 添加到 {coins::%arg-1%} 发送“ &7Du hast &e%arg-2% Coins &7an &a%arg-1% &7gesendet!” 给玩家发送“ &7Du hast &e%arg-2% Coins &7von &a%player% &7erhalten!” 到 arg-1 停止

            else if arg-2 is bigger than {coins::%player%}:
                send "&e&lEndless &7● &cDu hast nicht genügend &eCoins"
                stop


        else if arg-1 is player:
            send "&e&lEndless &7● &7Du kannst dir selber kein Geld geben!"
            stop


    else if arg-1 is not set:
        send "&e&lEndless &7● &7Nutze&8: &e/pay <Spieler> <Anzahl>"
        stop    

首次加入时:将 {coins::%player%} 设置为 2000

每 1 个刻度:循环所有玩家:如果 {coins::%loop-player%} 低于 0:如果 {coins::%loop-player%} 未设置,则将 {coins::%loop-player%} 设置为 0 : 将 {coins::%loop-player%} 设置为 0

命令/removecoins [] []:权限:coins.remcoins 权限消息:&e&lEndless &7● &c&lKeine Erlaubnis 触发器:如果设置了 arg-1:如果 arg-2 是数字:从 {coins::%arg- 中删除 arg-2 1%} 发送“&e&lEndless &7● &7%arg-1% wurden &e%arg-2% 金币 &7abgezogen!” 停止

    if arg-1 is not set:
        send "&e&lEndless &7● &7Bitte gebe einen Spieler und Beitrag an!"
        stop                

命令 /admin [] []:权限:coins.remcoins 权限消息:&e&lEndless &7● &c&lKeine Erlaubnis 触发器:如果设置了 arg-1:如果 arg-2 是数字:从 {coins::%arg- 中删除 arg-2 1%} 停止

    if arg-1 is not set:
        stop            

命令 /addcoins [] []:权限:coins.givecoins 权限消息:&e&lEndless &7● &c&lKeine Erlaubnis 触发器:如果设置了 arg-1:如果 arg-2 是数字:将 arg-2 添加到 {coins::%arg- 1%} 发送“&e&l无尽 &7● &7%arg-1% 帽子 &e%arg-2% 金币 &7erhalten!” 停止

        else if arg-2 is not a number:
            send "&e&lEndless &7● &7Das ist keine Anzahl!"

    if arg-1 is not set:
        send "&e&lEndless &7● &7Bitte gebe einen Spieler und Beitrag an!"
        stop
4

2 回答 2

0
on server stop:
        save-all
        set {coins ::%players%} to "%{coins ::%players%}%"

您需要确保它保存它并且游戏会将所有在线玩家的硬币设置为他们必须尝试的东西并保存它还会保存游戏以保存 skript 并且服务器上的硬币停止。

于 2020-06-01T12:54:55.423 回答
0

也许您可以尝试使用 mysql 数据库并在其中保存硬币。然后您可以创建语句并将它们安全地存储在数据库中,即使服务器处于脱机状态。试试这个连接:

    Connection conn = null;
try {
    // db parameters
    String url       = "jdbc:mysql://localhost:3306/mysqljdbc";
    String user      = "root";
    String password  = "secret";

    // create a connection to the database
    conn = DriverManager.getConnection(url, user, password);
    // more processing here
    // ...  
} catch(SQLException e) {
   System.out.println(e.getMessage());
} finally {
    try{
           if(conn ! null)
             conn.close()
    }catch(SQLException ex){
           System.out.println(ex.getMessage())
    }
}
于 2020-05-22T11:41:01.643 回答