Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

Server Restart Vote

Iniciado por Swarlog, Ago 12, 2022, 02:07 AM

Tema anterior - Siguiente tema

Swarlog

Index: D:/Games/Server/WorkSpace/GameServer/java/config/Mods.properties===================================================================
--- D:/Games/Server/WorkSpace/GameServer/java/config/Mods.properties    (revision 194)
+++ D:/Games/Server/WorkSpace/GameServer/java/config/Mods.properties    (working copy)
@@ -227,3 +227,12 @@
# Announce Level Settings
MinLevelToAnnounce = 1
MaxLevelToAnnounce = 80
+
+# ========================== #
+#   Server Restart Voting    #
+# ========================== #
+# Enable Server Restart Command
+AllowServerRestartCommand = False
+
+# Votes For Restart
+VotesNeededForRestart = 20
Index: D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/Config.java
===================================================================
--- D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/Config.java    (revision 194)
+++ D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/Config.java    (working copy)
@@ -960,6 +960,10 @@
     public static int NPC_ANNOUNCER_MIN_LVL_TO_ANNOUNCE;
     public static int NPC_ANNOUNCER_MAX_LVL_TO_ANNOUNCE;
     public static boolean NPC_ANNOUNCER_DONATOR_ONLY;

+    /** Server Restart */
+    public static boolean ALLOW_SERVER_RESTART_COMMAND;
+    public static int     VOTES_NEEDED_FOR_RESTART;
   
     /** Event Automation */
     public static int TIME_BETWEEN_EVENTS;
@@ -2091,6 +2095,9 @@
                 NPC_ANNOUNCER_MAX_ANNOUNCES_PER_DAY = Integer.parseInt(Mods.getProperty("AnnouncesPerDay", "20"));
                 NPC_ANNOUNCER_MIN_LVL_TO_ANNOUNCE = Integer.parseInt(Mods.getProperty("MinLevelToAnnounce", "0"));
                 NPC_ANNOUNCER_MAX_LVL_TO_ANNOUNCE = Integer.parseInt(Mods.getProperty("MaxLevelToAnnounce", "80"));
+             
+                ALLOW_SERVER_RESTART_COMMAND = Boolean.parseBoolean(Mods.getProperty("AllowServerRestartCommand", "False"));
+                VOTES_NEEDED_FOR_RESTART     = Integer.parseInt(Mods.getProperty("VotesNeededForRestart", "20"));
             }
             catch (Exception e)
             {
Index: D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java    (revision 196)
+++ D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java    (working copy)
@@ -617,6 +617,9 @@
     public boolean _inEventVIP = false;
     public boolean _isNotVIP = false, _isTheVIP = false;
     public int _originalNameColourVIP, _originalKarmaVIP;

+    /** Server Restart Vote Parameters */
+    public boolean        _voteRestart        = false;
 
     /** new loto ticket **/
     private int _loto[] = new int[5];
Index: D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/GameServer.java    (revision 189)
+++ D:/Games/Server/WorkSpace/GameServer/java/net/sf/l2j/gameserver/GameServer.java    (working copy)
@@ -204,6 +204,7 @@
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.JoinVIP;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.OnlinePlayers;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.PmOff;
+import net.sf.l2j.gameserver.handler.voicedcommandhandlers.ServerRestartVote;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.TradeOff;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.VoiceInfo;
import net.sf.l2j.gameserver.handler.voicedcommandhandlers.Wedding;
@@ -620,6 +621,9 @@
             _voicedCommandHandler.registerVoicedCommandHandler(new BuyRec());
       
         _voicedCommandHandler.registerVoicedCommandHandler(new JoinVIP());
+     
+        if(Config.ALLOW_SERVER_RESTART_COMMAND)
+            _voicedCommandHandler.registerVoicedCommandHandler(new ServerRestartVote());
 
         _log.config("VoicedCommandHandler: Loaded " + _voicedCommandHandler.size() + " handlers.");

/* * This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program 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 General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package net.sf.l2j.gameserver.handler.voicedcommandhandlers;
 
 
import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.RestartVoteVariable;
 
 
/**
* @author Stratovarius
*/
 
 
public class ServerRestartVote implements IVoicedCommandHandler
{
    private static final String[] VOICED_COMMANDS = {"vote_restart"};
   
    /**
     *
     * @see net.sf.l2j.gameserver.handler.IVoicedCommandHandler#useVoicedCommand(java.lang.String, net.sf.l2j.gameserver.model.actor.instance.L2PcInstance, java.lang.String)
     */
   
    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
    {
        RestartVoteVariable e = new RestartVoteVariable();
       
        if(command.startsWith("vote_restart"))
        {
            if (activeChar._voteRestart == false)
            {
                e.increaseVoteCount("restart");
                activeChar._voteRestart = true;
                activeChar.sendMessage("You succesfully voted for the server restart. Votes For The Moment: " + e.getVoteCount("tvt") + ".");
                Announcements.getInstance().announceToAll("Player: "+activeChar.getName()+" has voted for server restart. If you whant to support him type .vote_restart !");
            }
            else
            {
                activeChar.sendMessage("You have already voted for an server restart.");
            }
        }
        return false;
    }
   
    public String[] getVoicedCommandList()
    {
        return VOICED_COMMANDS;
    }
 
}