Ir para conteúdo
  • Cadastre-se
  • 0

Java mods Vote manager npc


mattmir

Pergunta

AMIGO EU PEGUEI ESSE Mod do npc vote manager, só que n encontrei os locais onde adiciona as partes do mods, alguem poderia me ajudar

 

 

 

jFWD53M.png

 

 

http://www.mediafire.com/file/t10p3zvjd4g962b/Vote+Manager+By+Reborn12+V3+L2jFrozen.rar

 

Senha:Reborn12

Editado por mattmir
Link para o comentário
Compartilhar em outros sites

Posts recomendados

  • 0

 

 

 

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: config/head/other.properties
===================================================================
--- config/head/other.properties (revision 1132)
+++ config/head/other.properties (working copy)
@@ -239,4 +239,27 @@
 ClickTask = 50
 
 # Crit announce
-GMShowCritAnnouncerName = False
\ No newline at end of file
+GMShowCritAnnouncerName = False
+
+#=============================================================
+#                       Vote Manager Settings
+#=============================================================
+#Enable/Disable Vote Manager Offline Mode.Enable=True/Disable=False
+EnableVoteManager = True
+
+#TopZone Url Link. Change Only id=ServerId.
+TopzoneUrl = http://l2topzone.com/totalvotes.php?id=6150
+#NetWork Url Link.
+NetworkUrl = http://l2network.eu/details/l2gamers/
+#Hopzone Url Link.
+HopzoneUrl = http://l2.hopzone.net/gr/lineage2/details/91106/L2-Gamers
+
+#ITEM Id for Vote Reward 
+VoteRewardId = 57
+
+#Item Count For Vote Reward
+VoteRewardCount = 10
+
+#Time To Vote on TopZone.Hopzone.Network
+#Default 60 Seconds
+TimeToVote = 60
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2VoteManagerInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2VoteManagerInstance.java (nonexistent)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2VoteManagerInstance.java (working copy)
@@ -0,0 +1,108 @@
+/*
+ * 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 com.l2jfrozen.gameserver.model.actor.instance;
+
+import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.ai.CtrlIntention;
+import com.l2jfrozen.gameserver.handler.VoteHandler;
+import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
+import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected;
+import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
+import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation;
+import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
+
+/**
+ * @author Reborn12
+ */
+
+public class L2VoteManagerInstance extends L2NpcInstance
+{
+ public L2VoteManagerInstance(int objectId, L2NpcTemplate template)
+ {
+ super(objectId, template);
+ }
+ 
+ @Override
+ public void onBypassFeedback(L2PcInstance player, String command)
+ {
+ if (command.startsWith("votetopzone"))
+ {
+ VoteHandler.tzvote(player);
+ }
+ else if (command.startsWith("votehopzone"))
+ {
+ VoteHandler.HZvote(player);
+ }
+ else if (command.startsWith("votenetwork"))
+ {
+ VoteHandler.NZvote(player);
+ }
+ }
+ 
+ @Override
+ public void onAction(L2PcInstance player)
+ {
+ if (this != player.getTarget())
+ {
+ player.setTarget(this);
+ 
+ player.sendPacket(new MyTargetSelected(getObjectId(), 0));
+ 
+ player.sendPacket(new ValidateLocation(this));
+ }
+ else if (!canInteract(player))
+ {
+ player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
+ }
+ else
+ {
+ mainWindow(player);
+ }
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ }
+ 
+ @Override
+ public void showChatWindow(L2PcInstance player)
+ {
+ if (Config.VOTE_MANAGER_ENABLED)
+ mainWindow(player);
+ else
+ ShowOfflineWindow(player);
+ }
+ 
+ public void ShowOfflineWindow(L2PcInstance player)
+ {
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ String filename = "data/html/voteManager/voteOffline.htm";
+ NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setFile(filename);
+ html.replace("%objectId%", String.valueOf(getObjectId()));
+ html.replace("%charname%", player.getName());
+ player.sendPacket(html);
+ }
+ 
+ public void mainWindow(L2PcInstance player)
+ {
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ String filename = "data/html/voteManager/vote.htm";
+ NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setFile(filename);
+ html.replace("%objectId%", String.valueOf(getObjectId()));
+ html.replace("%charname%", player.getName());
+ html.replace("%whoisvoting%", VoteHandler.whoIsVoting());
+ player.sendPacket(html);
+ }
+ 
+}
Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java (revision 1132)
+++ head-src/com/l2jfrozen/Config.java (working copy)
@@ -626,6 +626,15 @@
  
  public static long CLICK_TASK;
  
+ /** VoteManager Settings */
+ public static boolean VOTE_MANAGER_ENABLED;
+ public static String VOTES_SITE_TOPZONE_URL;
+ public static String VOTES_SITE_HOPZONE_URL;
+ public static String VOTES_SITE_L2NETWORK_URL;
+ public static int VOTE_REWARD_ID;
+ public static int VOTE_REWARD_ID_COUNT;
+ public static int TIME_TO_VOTE;
+
  // ============================================================
  public static void loadOtherConfig()
  {
@@ -895,6 +904,13 @@
  
  ALLOW_QUAKE_SYSTEM = Boolean.parseBoolean(otherSettings.getProperty("AllowQuakeSystem", "False"));
  ENABLE_ANTI_PVP_FARM_MSG = Boolean.parseBoolean(otherSettings.getProperty("EnableAntiPvpFarmMsg", "False"));
+ VOTE_MANAGER_ENABLED = Boolean.parseBoolean(otherSettings.getProperty("EnableVoteManager", "False"));
+ VOTES_SITE_HOPZONE_URL = otherSettings.getProperty("HopzoneUrl", "");
+ VOTES_SITE_TOPZONE_URL = otherSettings.getProperty("TopzoneUrl", "");
+ VOTES_SITE_L2NETWORK_URL = otherSettings.getProperty("NetworkUrl", "");
+ VOTE_REWARD_ID = Integer.parseInt(otherSettings.getProperty("VoteRewardId", "57"));
+ VOTE_REWARD_ID_COUNT = Integer.parseInt(otherSettings.getProperty("VoteRewardCount", "20"));
+ TIME_TO_VOTE = Integer.parseInt(otherSettings.getProperty("TimeToVote", "60"));
  }
  catch (final Exception e)
  {
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -19643,5 +19643,15 @@
  
  _currentPetSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
  }
+ private boolean _isVoting;
+ 
+ public final boolean isVoting()
+ {
+ return _isVoting;
+ }
  
+ public final void setIsVoting(boolean value)
+ {
+ _isVoting = value;
+ }
 }
\ No newline at end of file
Index: head-src/com/l2jfrozen/gameserver/handler/VoteHandler.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/handler/VoteHandler.java (nonexistent)
+++ head-src/com/l2jfrozen/gameserver/handler/VoteHandler.java (working copy)
@@ -0,0 +1,450 @@
+/*
+ * 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 com.l2jfrozen.gameserver.handler;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
+import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.model.L2World;
+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfrozen.gameserver.network.clientpackets.Say2;
+import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
+import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
+import com.l2jfrozen.util.database.L2DatabaseFactory;
+
+/**
+ * @Author Reborn12
+ */
+
+public class VoteHandler
+{ 
+ public VoteHandler()
+ {
+ }
+ 
+ public static String whoIsVoting()
+ {
+ for (L2PcInstance player : L2World.getInstance().getAllPlayers())
+ if (player.isVoting())
+ return player.getName();
+ 
+ return "NONE";
+ }
+ 
+ public static int getTopZoneVotes()
+ {
+ int votes = -1;
+ try
+ {
+ final URL obj = new URL(Config.VOTES_SITE_TOPZONE_URL);
+ final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ 
+ con.addRequestProperty("User-Agent", "L2TopZone");
+ con.setConnectTimeout(5000);
+ 
+ final int responseCode = con.getResponseCode();
+ if (responseCode == 200)
+ {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
+ {
+ String inputLine;
+ while ((inputLine = in.readLine()) != null)
+ {
+ if (inputLine.contains("Votes:"))
+ {
+ votes = Integer.valueOf(inputLine.split("<br>")[1].replace("</div>", ""));
+ break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("TOPZONE is offline. We will check reward as it will be online again.");
+ }
+ 
+ return votes;
+ }
+ 
+ public static void tzvote(final L2PcInstance player)
+ {
+ long LastTZVote = 0L;
+ long voteDelay = 43200000L;
+ final int actualvotes;
+ 
+ actualvotes = getTopZoneVotes();
+ 
+ class tzvotetask implements Runnable
+ {
+ private final L2PcInstance p;
+ 
+ public tzvotetask(L2PcInstance player)
+ 
+ {
+ p = player;
+ }
+ 
+ @Override
+ public void run()
+ {
+ if (actualvotes < getTopZoneVotes())
+ {
+ p.setIsVoting(false);
+ VoteHandler.updateLastTZVote(p);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
+ p.addItem("TZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
+ }
+ else
+ {
+ p.setIsVoting(false);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
+ }
+ }
+ }
+ 
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("SELECT LastTZVote FROM characters WHERE obj_Id=?");
+ statement.setInt(1, player.getObjectId());
+ 
+ ResultSet rset = statement.executeQuery();
+ 
+ while (rset.next())
+ {
+ LastTZVote = rset.getLong("LastTZVote");
+ }
+ statement.close();
+ rset.close();
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not select LastTZVote in characters " + e);
+ }
+ 
+ if ((LastTZVote + voteDelay) < System.currentTimeMillis())
+ {
+ for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
+ {
+ if (actualchar.isVoting())
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
+ return;
+ }
+ }
+ player.setIsVoting(true);
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Topzone."));
+ ThreadPoolManager.getInstance().scheduleGeneral(new tzvotetask(player), Config.TIME_TO_VOTE * 880);
+ }
+ else
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours."));
+ }
+ }
+ 
+ public static void updateLastTZVote(L2PcInstance player)
+ {
+ {
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastTZVote=? WHERE obj_Id=?");
+ statement.setLong(1, System.currentTimeMillis());
+ statement.setInt(2, player.getObjectId());
+ statement.execute();
+ statement.close();
+ statement = null;
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not update LastTZVote in characters " + e);
+ }
+ }
+ }
+ 
+ public static int getHopZoneVotes()
+ {
+ 
+ int votes = -1;
+ try
+ {
+ final URL obj = new URL(Config.VOTES_SITE_HOPZONE_URL);
+ final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ con.addRequestProperty("User-Agent", "L2Hopzone");
+            con.setConnectTimeout(5000);
+ 
+ final int responseCode = con.getResponseCode();
+ if (responseCode == 200)
+ {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
+ {
+ String line;
+             while ((line = in.readLine()) != null)
+             {
+                 if (line.contains("Total Votes"))
+                 {
+                     String inputLine = line.split(">")[2].replace("</span", "");
+                     votes = Integer.parseInt(inputLine);
+                     break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("HOPZONE is offline. We will check reward as it will be online again.");
+ }
+ return votes;
+ }
+ 
+ public static void HZvote(final L2PcInstance player)
+ {
+ long LastHZVote = 0L;
+ long voteDelay = 43200000L;
+ final int actualvotes;
+ 
+ actualvotes = getHopZoneVotes();
+ class hpvotetask implements Runnable
+ {
+ private final L2PcInstance p;
+ 
+ public hpvotetask(L2PcInstance player)
+ 
+ {
+ p = player;
+ }
+ 
+ @Override
+ public void run()
+ {
+ if (actualvotes < getHopZoneVotes())
+ {
+ p.setIsVoting(false);
+ VoteHandler.updateLastHZVote(p);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
+ p.addItem("HZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
+ }
+ else
+ {
+ p.setIsVoting(false);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
+ }
+ }
+ }
+ 
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("SELECT LastHZVote FROM characters WHERE obj_Id=?");
+ statement.setInt(1, player.getObjectId());
+ 
+ ResultSet rset = statement.executeQuery();
+ 
+ while (rset.next())
+ {
+ LastHZVote = rset.getLong("LastHZVote");
+ }
+ statement.close();
+ rset.close();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not select LastHZVote in characters " + e);
+ }
+ 
+ if ((LastHZVote + voteDelay) < System.currentTimeMillis())
+ {
+ for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
+ {
+ if (actualchar.isVoting())
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
+ return;
+ }
+ }
+ player.setIsVoting(true);
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Hopzone."));
+ ThreadPoolManager.getInstance().scheduleGeneral(new hpvotetask(player), Config.TIME_TO_VOTE * 880);
+ }
+ else
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours"));
+ }
+ }
+ 
+ public static void updateLastHZVote(L2PcInstance player)
+ {
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastHZVote=? WHERE obj_Id=?");
+ statement.setLong(1, System.currentTimeMillis());
+ statement.setInt(2, player.getObjectId());
+ statement.execute();
+ statement.close();
+ statement = null;
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not update LastHZVote in characters " + e);
+ }
+ }
+ 
+ public static int getL2NetworkVotes()
+ {
+ int votes = -1;
+ try
+ {
+ final URL obj = new URL(Config.VOTES_SITE_L2NETWORK_URL);
+ final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ 
+ con.addRequestProperty("User-Agent", "L2Network");
+ con.setConnectTimeout(5000);
+ 
+ final int responseCode = con.getResponseCode();
+ if (responseCode == 200)
+ {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
+ {
+ String inputLine;
+ while ((inputLine = in.readLine()) != null)
+ {
+ if (inputLine.contains("color:#e7ebf2"))
+ {
+ votes = Integer.valueOf(inputLine.split(">")[2].replace("</b", ""));
+ break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("NetWork is offline. We will check reward as it will be online again.");
+ }
+ return votes;
+ }
+ 
+ public static void NZvote(final L2PcInstance player)
+ {
+ long LastNZVote = 0L;
+ long voteDelay = 43200000L;
+ final int actualvotes;
+ 
+ actualvotes = getL2NetworkVotes();
+ 
+ class nzvotetask implements Runnable
+ {
+ private final L2PcInstance p;
+ 
+ public nzvotetask(L2PcInstance player)
+ 
+ {
+ p = player;
+ }
+ 
+ @Override
+ public void run()
+ {
+ if (actualvotes < getL2NetworkVotes())
+ {
+ p.setIsVoting(false);
+ VoteHandler.updateLastNZVote(p);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
+ p.addItem("NZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
+ }
+ else
+ {
+ p.setIsVoting(false);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
+ }
+ }
+ }
+ 
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("SELECT LastNZVote FROM characters WHERE obj_Id=?");
+ statement.setInt(1, player.getObjectId());
+ ResultSet rset = statement.executeQuery();
+ 
+ while (rset.next())
+ {
+ LastNZVote = rset.getLong("LastNZVote");
+ }
+ statement.close();
+ rset.close();
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not select LastNZVote in characters " + e);
+ }
+ 
+ if ((LastNZVote + voteDelay) < System.currentTimeMillis())
+ {
+ for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
+ {
+ if (actualchar.isVoting())
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
+ return;
+ }
+ }
+ player.setIsVoting(true);
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Network."));
+ ThreadPoolManager.getInstance().scheduleGeneral(new nzvotetask(player), Config.TIME_TO_VOTE * 880);
+ }
+ else
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours."));
+ }
+ }
+ 
+ public static void updateLastNZVote(L2PcInstance player)
+ {
+ {
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastNZVote=? WHERE obj_Id=?");
+ statement.setLong(1, System.currentTimeMillis());
+ statement.setInt(2, player.getObjectId());
+ statement.execute();
+ statement.close();
+ statement = null;
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not update LastNZVote in characters " + e);
+ }
+ }
+ }
+}

 

Editado por Leonardo Holanda
Link para o comentário
Compartilhar em outros sites


  • 0

AMIGO EU PEGUEI ESSE Mod do npc vote manager, só que n encontrei os locais onde adiciona as partes do mods, alguem poderia me ajudar

 

 

 

jFWD53M.png

 

 

http://www.mediafire.com/file/t10p3zvjd4g962b/Vote+Manager+By+Reborn12+V3+L2jFrozen.rar

A parte do config.java?

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

  • 0

 

 

 

### Eclipse Workspace Patch 1.0
#P L2jFrozen_GameServer
Index: config/head/other.properties
===================================================================
--- config/head/other.properties (revision 1132)
+++ config/head/other.properties (working copy)
@@ -239,4 +239,27 @@
 ClickTask = 50
 
 # Crit announce
-GMShowCritAnnouncerName = False
\ No newline at end of file
+GMShowCritAnnouncerName = False
+
+#=============================================================
+#                       Vote Manager Settings
+#=============================================================
+#Enable/Disable Vote Manager Offline Mode.Enable=True/Disable=False
+EnableVoteManager = True
+
+#TopZone Url Link. Change Only id=ServerId.
+TopzoneUrl = http://l2topzone.com/totalvotes.php?id=6150
+#NetWork Url Link.
+NetworkUrl = http://l2network.eu/details/l2gamers/
+#Hopzone Url Link.
+HopzoneUrl = http://l2.hopzone.net/gr/lineage2/details/91106/L2-Gamers
+
+#ITEM Id for Vote Reward 
+VoteRewardId = 57
+
+#Item Count For Vote Reward
+VoteRewardCount = 10
+
+#Time To Vote on TopZone.Hopzone.Network
+#Default 60 Seconds
+TimeToVote = 60
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2VoteManagerInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2VoteManagerInstance.java (nonexistent)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2VoteManagerInstance.java (working copy)
@@ -0,0 +1,108 @@
+/*
+ * 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 com.l2jfrozen.gameserver.model.actor.instance;
+
+import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.ai.CtrlIntention;
+import com.l2jfrozen.gameserver.handler.VoteHandler;
+import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
+import com.l2jfrozen.gameserver.network.serverpackets.MyTargetSelected;
+import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
+import com.l2jfrozen.gameserver.network.serverpackets.ValidateLocation;
+import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
+
+/**
+ * @author Reborn12
+ */
+
+public class L2VoteManagerInstance extends L2NpcInstance
+{
+ public L2VoteManagerInstance(int objectId, L2NpcTemplate template)
+ {
+ super(objectId, template);
+ }
+ 
+ @Override
+ public void onBypassFeedback(L2PcInstance player, String command)
+ {
+ if (command.startsWith("votetopzone"))
+ {
+ VoteHandler.tzvote(player);
+ }
+ else if (command.startsWith("votehopzone"))
+ {
+ VoteHandler.HZvote(player);
+ }
+ else if (command.startsWith("votenetwork"))
+ {
+ VoteHandler.NZvote(player);
+ }
+ }
+ 
+ @Override
+ public void onAction(L2PcInstance player)
+ {
+ if (this != player.getTarget())
+ {
+ player.setTarget(this);
+ 
+ player.sendPacket(new MyTargetSelected(getObjectId(), 0));
+ 
+ player.sendPacket(new ValidateLocation(this));
+ }
+ else if (!canInteract(player))
+ {
+ player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
+ }
+ else
+ {
+ mainWindow(player);
+ }
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ }
+ 
+ @Override
+ public void showChatWindow(L2PcInstance player)
+ {
+ if (Config.VOTE_MANAGER_ENABLED)
+ mainWindow(player);
+ else
+ ShowOfflineWindow(player);
+ }
+ 
+ public void ShowOfflineWindow(L2PcInstance player)
+ {
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ String filename = "data/html/voteManager/voteOffline.htm";
+ NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setFile(filename);
+ html.replace("%objectId%", String.valueOf(getObjectId()));
+ html.replace("%charname%", player.getName());
+ player.sendPacket(html);
+ }
+ 
+ public void mainWindow(L2PcInstance player)
+ {
+ player.sendPacket(ActionFailed.STATIC_PACKET);
+ String filename = "data/html/voteManager/vote.htm";
+ NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
+ html.setFile(filename);
+ html.replace("%objectId%", String.valueOf(getObjectId()));
+ html.replace("%charname%", player.getName());
+ html.replace("%whoisvoting%", VoteHandler.whoIsVoting());
+ player.sendPacket(html);
+ }
+ 
+}
Index: head-src/com/l2jfrozen/Config.java
===================================================================
--- head-src/com/l2jfrozen/Config.java (revision 1132)
+++ head-src/com/l2jfrozen/Config.java (working copy)
@@ -626,6 +626,15 @@
  
  public static long CLICK_TASK;
  
+ /** VoteManager Settings */
+ public static boolean VOTE_MANAGER_ENABLED;
+ public static String VOTES_SITE_TOPZONE_URL;
+ public static String VOTES_SITE_HOPZONE_URL;
+ public static String VOTES_SITE_L2NETWORK_URL;
+ public static int VOTE_REWARD_ID;
+ public static int VOTE_REWARD_ID_COUNT;
+ public static int TIME_TO_VOTE;
+
  // ============================================================
  public static void loadOtherConfig()
  {
@@ -895,6 +904,13 @@
  
  ALLOW_QUAKE_SYSTEM = Boolean.parseBoolean(otherSettings.getProperty("AllowQuakeSystem", "False"));
  ENABLE_ANTI_PVP_FARM_MSG = Boolean.parseBoolean(otherSettings.getProperty("EnableAntiPvpFarmMsg", "False"));
+ VOTE_MANAGER_ENABLED = Boolean.parseBoolean(otherSettings.getProperty("EnableVoteManager", "False"));
+ VOTES_SITE_HOPZONE_URL = otherSettings.getProperty("HopzoneUrl", "");
+ VOTES_SITE_TOPZONE_URL = otherSettings.getProperty("TopzoneUrl", "");
+ VOTES_SITE_L2NETWORK_URL = otherSettings.getProperty("NetworkUrl", "");
+ VOTE_REWARD_ID = Integer.parseInt(otherSettings.getProperty("VoteRewardId", "57"));
+ VOTE_REWARD_ID_COUNT = Integer.parseInt(otherSettings.getProperty("VoteRewardCount", "20"));
+ TIME_TO_VOTE = Integer.parseInt(otherSettings.getProperty("TimeToVote", "60"));
  }
  catch (final Exception e)
  {
Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (revision 1132)
+++ head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java (working copy)
@@ -19643,5 +19643,15 @@
  
  _currentPetSkill = new SkillDat(currentSkill, ctrlPressed, shiftPressed);
  }
+ private boolean _isVoting;
+ 
+ public final boolean isVoting()
+ {
+ return _isVoting;
+ }
  
+ public final void setIsVoting(boolean value)
+ {
+ _isVoting = value;
+ }
 }
\ No newline at end of file
Index: head-src/com/l2jfrozen/gameserver/handler/VoteHandler.java
===================================================================
--- head-src/com/l2jfrozen/gameserver/handler/VoteHandler.java (nonexistent)
+++ head-src/com/l2jfrozen/gameserver/handler/VoteHandler.java (working copy)
@@ -0,0 +1,450 @@
+/*
+ * 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 com.l2jfrozen.gameserver.handler;
+
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+
+import com.l2jfrozen.Config;
+import com.l2jfrozen.gameserver.model.L2World;
+import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jfrozen.gameserver.network.clientpackets.Say2;
+import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
+import com.l2jfrozen.gameserver.thread.ThreadPoolManager;
+import com.l2jfrozen.util.database.L2DatabaseFactory;
+
+/**
+ * @Author Reborn12
+ */
+
+public class VoteHandler
+{ 
+ public VoteHandler()
+ {
+ }
+ 
+ public static String whoIsVoting()
+ {
+ for (L2PcInstance player : L2World.getInstance().getAllPlayers())
+ if (player.isVoting())
+ return player.getName();
+ 
+ return "NONE";
+ }
+ 
+ public static int getTopZoneVotes()
+ {
+ int votes = -1;
+ try
+ {
+ final URL obj = new URL(Config.VOTES_SITE_TOPZONE_URL);
+ final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ 
+ con.addRequestProperty("User-Agent", "L2TopZone");
+ con.setConnectTimeout(5000);
+ 
+ final int responseCode = con.getResponseCode();
+ if (responseCode == 200)
+ {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
+ {
+ String inputLine;
+ while ((inputLine = in.readLine()) != null)
+ {
+ if (inputLine.contains("Votes:"))
+ {
+ votes = Integer.valueOf(inputLine.split("<br>")[1].replace("</div>", ""));
+ break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("TOPZONE is offline. We will check reward as it will be online again.");
+ }
+ 
+ return votes;
+ }
+ 
+ public static void tzvote(final L2PcInstance player)
+ {
+ long LastTZVote = 0L;
+ long voteDelay = 43200000L;
+ final int actualvotes;
+ 
+ actualvotes = getTopZoneVotes();
+ 
+ class tzvotetask implements Runnable
+ {
+ private final L2PcInstance p;
+ 
+ public tzvotetask(L2PcInstance player)
+ 
+ {
+ p = player;
+ }
+ 
+ @Override
+ public void run()
+ {
+ if (actualvotes < getTopZoneVotes())
+ {
+ p.setIsVoting(false);
+ VoteHandler.updateLastTZVote(p);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
+ p.addItem("TZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
+ }
+ else
+ {
+ p.setIsVoting(false);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
+ }
+ }
+ }
+ 
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("SELECT LastTZVote FROM characters WHERE obj_Id=?");
+ statement.setInt(1, player.getObjectId());
+ 
+ ResultSet rset = statement.executeQuery();
+ 
+ while (rset.next())
+ {
+ LastTZVote = rset.getLong("LastTZVote");
+ }
+ statement.close();
+ rset.close();
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not select LastTZVote in characters " + e);
+ }
+ 
+ if ((LastTZVote + voteDelay) < System.currentTimeMillis())
+ {
+ for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
+ {
+ if (actualchar.isVoting())
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
+ return;
+ }
+ }
+ player.setIsVoting(true);
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Topzone."));
+ ThreadPoolManager.getInstance().scheduleGeneral(new tzvotetask(player), Config.TIME_TO_VOTE * 880);
+ }
+ else
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours."));
+ }
+ }
+ 
+ public static void updateLastTZVote(L2PcInstance player)
+ {
+ {
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastTZVote=? WHERE obj_Id=?");
+ statement.setLong(1, System.currentTimeMillis());
+ statement.setInt(2, player.getObjectId());
+ statement.execute();
+ statement.close();
+ statement = null;
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not update LastTZVote in characters " + e);
+ }
+ }
+ }
+ 
+ public static int getHopZoneVotes()
+ {
+ 
+ int votes = -1;
+ try
+ {
+ final URL obj = new URL(Config.VOTES_SITE_HOPZONE_URL);
+ final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ con.addRequestProperty("User-Agent", "L2Hopzone");
+            con.setConnectTimeout(5000);
+ 
+ final int responseCode = con.getResponseCode();
+ if (responseCode == 200)
+ {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
+ {
+ String line;
+             while ((line = in.readLine()) != null)
+             {
+                 if (line.contains("Total Votes"))
+                 {
+                     String inputLine = line.split(">")[2].replace("</span", "");
+                     votes = Integer.parseInt(inputLine);
+                     break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("HOPZONE is offline. We will check reward as it will be online again.");
+ }
+ return votes;
+ }
+ 
+ public static void HZvote(final L2PcInstance player)
+ {
+ long LastHZVote = 0L;
+ long voteDelay = 43200000L;
+ final int actualvotes;
+ 
+ actualvotes = getHopZoneVotes();
+ class hpvotetask implements Runnable
+ {
+ private final L2PcInstance p;
+ 
+ public hpvotetask(L2PcInstance player)
+ 
+ {
+ p = player;
+ }
+ 
+ @Override
+ public void run()
+ {
+ if (actualvotes < getHopZoneVotes())
+ {
+ p.setIsVoting(false);
+ VoteHandler.updateLastHZVote(p);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
+ p.addItem("HZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
+ }
+ else
+ {
+ p.setIsVoting(false);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
+ }
+ }
+ }
+ 
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("SELECT LastHZVote FROM characters WHERE obj_Id=?");
+ statement.setInt(1, player.getObjectId());
+ 
+ ResultSet rset = statement.executeQuery();
+ 
+ while (rset.next())
+ {
+ LastHZVote = rset.getLong("LastHZVote");
+ }
+ statement.close();
+ rset.close();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not select LastHZVote in characters " + e);
+ }
+ 
+ if ((LastHZVote + voteDelay) < System.currentTimeMillis())
+ {
+ for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
+ {
+ if (actualchar.isVoting())
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
+ return;
+ }
+ }
+ player.setIsVoting(true);
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Hopzone."));
+ ThreadPoolManager.getInstance().scheduleGeneral(new hpvotetask(player), Config.TIME_TO_VOTE * 880);
+ }
+ else
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours"));
+ }
+ }
+ 
+ public static void updateLastHZVote(L2PcInstance player)
+ {
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastHZVote=? WHERE obj_Id=?");
+ statement.setLong(1, System.currentTimeMillis());
+ statement.setInt(2, player.getObjectId());
+ statement.execute();
+ statement.close();
+ statement = null;
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not update LastHZVote in characters " + e);
+ }
+ }
+ 
+ public static int getL2NetworkVotes()
+ {
+ int votes = -1;
+ try
+ {
+ final URL obj = new URL(Config.VOTES_SITE_L2NETWORK_URL);
+ final HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+ 
+ con.addRequestProperty("User-Agent", "L2Network");
+ con.setConnectTimeout(5000);
+ 
+ final int responseCode = con.getResponseCode();
+ if (responseCode == 200)
+ {
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())))
+ {
+ String inputLine;
+ while ((inputLine = in.readLine()) != null)
+ {
+ if (inputLine.contains("color:#e7ebf2"))
+ {
+ votes = Integer.valueOf(inputLine.split(">")[2].replace("</b", ""));
+ break;
+ }
+ }
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("NetWork is offline. We will check reward as it will be online again.");
+ }
+ return votes;
+ }
+ 
+ public static void NZvote(final L2PcInstance player)
+ {
+ long LastNZVote = 0L;
+ long voteDelay = 43200000L;
+ final int actualvotes;
+ 
+ actualvotes = getL2NetworkVotes();
+ 
+ class nzvotetask implements Runnable
+ {
+ private final L2PcInstance p;
+ 
+ public nzvotetask(L2PcInstance player)
+ 
+ {
+ p = player;
+ }
+ 
+ @Override
+ public void run()
+ {
+ if (actualvotes < getL2NetworkVotes())
+ {
+ p.setIsVoting(false);
+ VoteHandler.updateLastNZVote(p);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "Thanks for Voting."));
+ p.addItem("NZreward", Config.VOTE_REWARD_ID, Config.VOTE_REWARD_ID_COUNT, null, true);
+ }
+ else
+ {
+ p.setIsVoting(false);
+ p.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You didn't vote. Try Again Later."));
+ }
+ }
+ }
+ 
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("SELECT LastNZVote FROM characters WHERE obj_Id=?");
+ statement.setInt(1, player.getObjectId());
+ ResultSet rset = statement.executeQuery();
+ 
+ while (rset.next())
+ {
+ LastNZVote = rset.getLong("LastNZVote");
+ }
+ statement.close();
+ rset.close();
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not select LastNZVote in characters " + e);
+ }
+ 
+ if ((LastNZVote + voteDelay) < System.currentTimeMillis())
+ {
+ for (L2PcInstance actualchar : L2World.getInstance().getAllPlayers())
+ {
+ if (actualchar.isVoting())
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", actualchar.getName() + ", is voting now. Please wait for a while."));
+ return;
+ }
+ }
+ player.setIsVoting(true);
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You have " + Config.TIME_TO_VOTE + " seconds to vote on Network."));
+ ThreadPoolManager.getInstance().scheduleGeneral(new nzvotetask(player), Config.TIME_TO_VOTE * 880);
+ }
+ else
+ {
+ player.sendPacket(new CreatureSay(0, Say2.PARTYROOM_COMMANDER, "Vote Manager", "You can vote only once every 12 hours."));
+ }
+ }
+ 
+ public static void updateLastNZVote(L2PcInstance player)
+ {
+ {
+ try (Connection con = L2DatabaseFactory.getInstance().getConnection())
+ {
+ PreparedStatement statement = con.prepareStatement("UPDATE characters SET LastNZVote=? WHERE obj_Id=?");
+ statement.setLong(1, System.currentTimeMillis());
+ statement.setInt(2, player.getObjectId());
+ statement.execute();
+ statement.close();
+ statement = null;
+ 
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ System.out.println("Vote Manager: could not update LastNZVote in characters " + e);
+ }
+ }
+ }
+}

 

Eu te agradeço pelo código leonardo!

só para entender.

Funciona apenas Hospedado o servidor?

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

  • 0

Não. Basta você ter os links que vota e colocar nas configs.

obrigado LEONARDO !! <3 JA TE AMO FASKLFJKSAFASJKBFKAS

Não. Basta você ter os links que vota e colocar nas configs.

Desculpa a pergunta, mas, como vou abrir a htm pra votar ? NPC ? CODIGO ? Me perdi aqui agora kkkk

Link para o comentário
Compartilhar em outros sites

  • 0

obrigado LEONARDO !! <3 JA TE AMO FASKLFJKSAFASJKBFKAS

Desculpa a pergunta, mas, como vou abrir a htm pra votar ? NPC ? CODIGO ? Me perdi aqui agora kkkk

Tem as htmls dentro do pack e você vai ter que criar um npc com o tipo L2VoteManager.

Link para o comentário
Compartilhar em outros sites

  • 0

Tem as htmls dentro do pack e você vai ter que criar um npc com o tipo L2VoteManager.

AHHHHH! Obrigado, entendi <3

 

Outra pergunta o Vote só vai funcionar nesses seguintes sites ? nao vai funcionar tipo aqui na l2jbrasil ?

Link para o comentário
Compartilhar em outros sites

  • 0

So eu nao consigo usar esse npc? adicionei tudo certo ele pede os 60 segundos para votar vc vai la vote e ele da a um monte de codigo no gameserver e a mensagem

"TOPZONE is offline. We will check reward as it will be online again."

ou o nome do outro top que eu votar.

alguem sabe o que pode ser??

Link para o comentário
Compartilhar em outros sites

  • 0

So eu nao consigo usar esse npc? adicionei tudo certo ele pede os 60 segundos para votar vc vai la vote e ele da a um monte de codigo no gameserver e a mensagem

"TOPZONE is offline. We will check reward as it will be online again."

ou o nome do outro top que eu votar.

alguem sabe o que pode ser??

aparece erros? entao voce adicionou errado ai, por aqui no maximo que aconteceu quando testei, foi essa mesma msg sua sobre estar offline.

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

  • 0

aparece erros? entao voce adicionou errado ai, por aqui no maximo que aconteceu quando testei, foi essa mesma msg sua sobre estar offline.

 

axo que erro não, nenhuma mensagem escrito ERROR no começo mas uns codigos mostrando a linha do codigo que diz

actualvotes = getTopZoneVotes(); por exemplo, e no final dos codigos a mensagem sobre estar offline..

 

e nao entrega o item.. o que pode ser mano?

Link para o comentário
Compartilhar em outros sites

  • 0

 

axo que erro não, nenhuma mensagem escrito ERROR no começo mas uns codigos mostrando a linha do codigo que diz

actualvotes = getTopZoneVotes(); por exemplo, e no final dos codigos a mensagem sobre estar offline..

 

e nao entrega o item.. o que pode ser mano?

manda uma print

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

  • 0

manda uma print

vou ficar devendo essa print pois hoje ja votei fazendo testes e nao mostrou a mensagem nem deu o item, eu mudei os links no config para ver se dava, mas nao tive sucesso entao so posso votar agora amanha, mas vou postar aqui quando der denovo e voce ve se pode me ajudar blz? vlw

Link para o comentário
Compartilhar em outros sites

  • 0

vou ficar devendo essa print pois hoje ja votei fazendo testes e nao mostrou a mensagem nem deu o item, eu mudei os links no config para ver se dava, mas nao tive sucesso entao so posso votar agora amanha, mas vou postar aqui quando der denovo e voce ve se pode me ajudar blz? vlw

ok voce mudou os links nas configs? se sim, veja que la deve estar https://... e nao http://

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

  • 0

ok voce mudou os links nas configs? se sim, veja que la deve estar https://... e nao http://

 

Olha dessa eu nao sabia, tive olhando e vi que o link influencia no npc, uma parada de API eu axo, e a contagem dos votos em txt.. vou tentar na proxima com o https para testar pois estava http porque no diff tava http e eu deixei como estava.

 

 

+#TopZone Url Link. Change Only id=ServerId.

+TopzoneUrl = http://l2topzone.com/totalvotes.php?id=6150

+#NetWork Url Link.

+NetworkUrl = http://l2network.eu/details/l2gamers/

+#Hopzone Url Link.

+HopzoneUrl = http://l2.hopzone.net/gr/lineage2/details/91106/L2-Gamers

 

 

 

mas man quando mostra essa mensagem de offline quer dizer oque?

Link para o comentário
Compartilhar em outros sites

  • 0

entendi mas o meu esta true, na proxima vou tentar colocar false e ver o que dá!

posto o print do gameserver amanha, obrigado ai mano! :bom:

 

fala man olha ae a print:

 

 

E6LfYGY.jpg

 

ta usando a jpx do marcos?

ele mudou bastante coisas pelo que o pessoal fala.

ou voce adicionou errado em

gameserver.handler.votehandler.java

Editado por Onã

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

  • 0

ta usando a jpx do marcos?

ele mudou bastante coisas pelo que o pessoal fala.

ou voce adicionou errado em

gameserver.handler.votehandler.java

 

uso a PX sim, eu nao adicionei errado no votehandler, fiz igual do tópico, quem indicou esse npc foi ele mesmo no tópico do projeto dele, não da pra entender..

Link para o comentário
Compartilhar em outros sites

  • 0

 

uso a PX sim, eu nao adicionei errado no votehandler, fiz igual do tópico, quem indicou esse npc foi ele mesmo no tópico do projeto dele, não da pra entender..

ja testou na frozen limpa? o marcos fez muitas mudancas como eu disse, e deve ter bugado alguma coisa

Lineage 2 Lords

Link para o comentário
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.