Secret Experience

Secret Experience (https://secretexperience.net/)
-   [Lineage] Java Mods (https://secretexperience.net/lineage-java-mods/)
-   -   [L2JServer] Votação para o reinício do servidor! (https://secretexperience.net/lineage-java-mods/18270-votacao-para-o-reinicio-do-servidor.html)

B1Z4R0 04-02-2010 02:13 PM

Votação para o reinício do servidor!
 
Código:

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.");

Agora crie novo arquivo chamado ServerRestartVote.java em net.sf.l2j.gameserver.commandhandler.voicedcommand s e coloque isso:

Código:

/*
 * 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 SkyLanceR
 */

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;
        }
}

Criar um novo arquivo chamado VoteVariable.java em net.sf.l2j.gameserver.model.actor.entity e coloque isso:

Código:

/*
 * 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.model.entity;

/**
 *@author SkyLanceR
 */

public class RestartVoteVariable
{
        public int                                _voteCountRestart = 0;
        private int                                _voteCount = 0;
       
        public int getVoteCount(String name)
        {
                if (name == "restart")
                {
                        _voteCount = _voteCountRestart;
                }
                return  _voteCount;
        }
       
        public void increaseVoteCount(String name)
        {
                if (name == "restart")
                {
                        _voteCountRestart = _voteCountRestart+1;
                }
        }
}

Criar um novo arquivo chamado RestartTheServer.java em net.sf.l2j.gameserver.model.actor.entity e coloque isso:

Código:

/*
 * 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.model.entity;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.Shutdown;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;


/**
 * @author SkyLanceR
 */

public class RestartTheServer
{

        public static void playerRestart(L2PcInstance activeChar, boolean restart)
        {
                RestartVoteVariable e = new RestartVoteVariable();
               
                if (e.getVoteCount("restart") > Config.VOTES_NEEDED_FOR_RESTART)
                {
                        Shutdown.getInstance().startShutdown(activeChar, 60, restart);
                }
        }
}

Creditos> Eu por postar

lelebrr 07-02-2010 05:34 AM

soh funciona em gracia epilog??
pois nao acho no ct2.3
a pasta voicedcommandhandlers abraço!!

Mazokista 05-07-2010 10:11 PM

IL? Esse Mod

B1Z4R0 05-07-2010 10:16 PM

qualquer client,basta adapta!

Mazokista 05-07-2010 10:23 PM

Pega no ********* ?

magno15 13-07-2010 09:47 AM

Sim, Funciona na Rev ********* !!!


e como assim votacao para o reinicio do servidor ?
é um item que clica e vota no "TOP" ?

:goofy:

vicfelipe 13-07-2010 10:44 AM

Funciona em todos os packs pessoal e todas as versões, basta serem adaptadas.

@Magno15
Através de um comando .restart, ele começa uma votação no servidor para reinicialização do servidor, se aprovada a votação irá reiniciar em X segundos, se não for aprovada ele não será reinicializado.


Horários baseados na GMT -3. Agora são 09:39 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.