Jump to content

Recommended Posts

Posted

Paidia pragmatika kanete poly wraia douleia ;)

Thelw an ginete kai mporeite vevaia enan code gia c6 Anti Afk dld

otan enas paixtis kathete akinitos gia peripou 5 min na trwei critical kai pernei ena msg.

Brika to Anti Afk Tvt alla einai gia Tvt to thelw na douleuei genika mesa ston server.

Tnx

Posted

Geia sas paidia twra teleuta mpeike enas filos mou ston l2 vitality

kai me eipe oti exoun ta PcBang Points kserw o kwdikas exei gunei eidi share edw sto forum

auto pou me eipe eitan to endiaferon

exoun kanei mia alagi pou kathe 3 wres opoios exei parapanw apo 1.000 pc bang points

gunete automata ena event  kai osoi exoun parapanw apo 1.000 pc bang points pernoun meros

kai stin tuxi dialegete enas char kai pairnei alla 100.000 pc bang points

 

mporei na grapsei kapoios auton edw ton kwdika ?

 

 


### Eclipse Workspace Patch 1.0
#P Chr.6GMS
Index: java/net/sf/l2j/gameserver/model/PcBangEvent.java
===================================================================
--- java/net/sf/l2j/gameserver/model/PcBangEvent.java	(revision 0)
+++ java/net/sf/l2j/gameserver/model/PcBangEvent.java	(revision 0)
@@ -0,0 +1,137 @@
+/* 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 2, 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+package net.sf.l2j.gameserver.model;
+
+import java.util.Collection;
+
+import net.sf.l2j.gameserver.Announcements;
+import net.sf.l2j.gameserver.ThreadPoolManager;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.util.Rnd;
+import javolution.util.FastList;
+
+/**
+ *
+ * @author  iracundus
+ */
+public class PcBangEvent
+{
+	private FastList<L2PcInstance> playersBangs = new FastList<L2PcInstance>();
+	private boolean canStart = false;
+	
+	private PcBangEvent()
+	{
+		ThreadPoolManager.getInstance().scheduleEffectAtFixedRate(new Event(), 10800000, 10800000);
+	}
+	
+	private class Event implements Runnable{
+		public void run()
+		{
+			checkPlayers();
+			broadCastInfo();
+			if(canStart == true)
+			{
+				waitSeconds(25);
+				progressEvent();
+			}
+			endEvent();				
+		}
+	}
+	
+	private void checkPlayers()
+	{
+		Collection<L2PcInstance> allPlayers = L2World.getInstance().getAllPlayers();
+		
+	   
+		for(L2PcInstance player : allPlayers)
+		{
+			if(player == null || player.getPcBangScore() < 1000)
+				continue;
+			
+			playersBangs.add(player);
+		}
+	}
+	
+	private void broadCastInfo()
+	{
+		if(playersBangs.isEmpty() || playersBangs.size() == 1){
+			canStart = false;
+			Announcements.getInstance().announceToAll("Pc Bang Event Cancelled due to no registrations");
+			return;
+		}
+		
+		for(L2PcInstance player : playersBangs){
+			if(player == null)
+				continue;
+			
+			canStart = true;
+			player.sendMessage("You are in the pc bang event now , in 25 seconds winner will be announced");
+		}
+	}
+	
+	private void progressEvent()
+	{
+		//select the lucky player
+		
+		L2PcInstance lucky = playersBangs.get(Rnd.get(playersBangs.size()));
+		
+		if(lucky == null)
+			return;
+		
+		lucky.sendMessage("You are the winner!");
+		lucky.addPcBangScore(100000000);
+	}
+	
+	private void endEvent(){
+		if(playersBangs.isEmpty() == false)
+		playersBangs.clear();
+		
+		canStart = false;
+		
+		Announcements.getInstance().announceToAll("Pc Bang Event Ended");
+	}
+	
+	private void waitSeconds(int seconds){
+		long start,end;
+		
+		start = System.currentTimeMillis();
+		end = start * 1000;
+		end *= seconds;
+		
+		while(System.currentTimeMillis() < end){
+			
+		}
+	}
+	
+	private PcBangEvent getInstance(){
+		return SingletonHolder._instance;
+	}
+	
+	@SuppressWarnings("synthetic-access")
+	private static class SingletonHolder
+	{
+		protected static final PcBangEvent _instance = new PcBangEvent();
+	}
+	
+	public static void main(String[] args)
+	{
+		PcBangEvent e = new PcBangEvent();
+		
+		e.getInstance();
+	}
+}

 

Waiting.

Posted

Ena NPC ( Raid Bosses Info ) ginetai?

Me endiaferei apla na leei an einai alive h dead ta raidboss ( xwris respawn times ktl gia pio easy ), an ginetai kati tetoio ;) eyxaristw!

 

Edit : ton kwdika xreiazomai eite se java eite se python, to npc ktl 8a ta fix monos mou ( kai to html ) den exw prob. Client interlude.

Posted

kapios coder gia npc gia siege gia ola ta castle?????

kai an ginete ena code gia [.changepassword CurrentPass NewPass NewPass]

vrika auto:

/* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.model.actor.instance;

import com.l2jfrozen.crypt.Base64;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.LeaveWorld;
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;
import com.l2jfrozen.util.database.L2DatabaseFactory;

import java.security.MessageDigest;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.StringTokenizer;
import javolution.text.TextBuilder;

public class L2PasswordChangerInstance extends L2FolkInstance
{
  public L2PasswordChangerInstance(int objectId, L2NpcTemplate template)
  {
    super(objectId, template);
  }

  public void onBypassFeedback(L2PcInstance player, String command)
  {
    if (command.startsWith("change_password"))
    {
      StringTokenizer st = new StringTokenizer(command);
      st.nextToken();
      String currPass = null;
      String newPass = null;
      String repeatNewPass = null;
      try
      {
        if (st.hasMoreTokens())
        {
          currPass = st.nextToken();
          newPass = st.nextToken();
          repeatNewPass = st.nextToken();
        }
        else
        {
          player.sendMessage("Please fill in all the blanks before requesting for a password change.");
          return;
        }
        changePassword(currPass, newPass, repeatNewPass, player);
      }
      catch (StringIndexOutOfBoundsException e)
      {
      }
    }
  }

  public void onAction(L2PcInstance player)
  {
    if (!canTarget(player)) {
      return;
    }

    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
    {
      showHtmlWindow(player);
    }

    player.sendPacket(new ActionFailed());
  }

  private void showHtmlWindow(L2PcInstance activeChar)
  {
    NpcHtmlMessage nhm = new NpcHtmlMessage(5);
    TextBuilder replyMSG = new TextBuilder("");

    replyMSG.append("<html><title>L2 InStadia Account Manager</title>");
    replyMSG.append("<body><center>");
    replyMSG.append("To change your password:<br1> First fill in your current password and then your new!</font><br>");
    replyMSG.append("Current Password: <edit var=\"cur\" width=100 height=15><br>");
    replyMSG.append("New Password: <edit var=\"new\" width=100 height=15><br>");
    replyMSG.append("Repeat New Password: <edit var=\"repeatnew\" width=100 height=15><br><br>");
    replyMSG.append("<button value=\"Change Password\" action=\"bypass -h npc_" + getObjectId() + "_change_password $cur $new $repeatnew\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\">");
    replyMSG.append("</center></body></html>");

    nhm.setHtml(replyMSG.toString());
    activeChar.sendPacket(nhm);

    activeChar.sendPacket(new ActionFailed());
  }

  public static boolean changePassword(String currPass, String newPass, String repeatNewPass, L2PcInstance activeChar)
  {
    if (newPass.length() < 5)
    {
      activeChar.sendMessage("The new password is too short!");
      return false;
    }
    if (newPass.length() > 20)
    {
      activeChar.sendMessage("The new password is too long!");
      return false;
    }
    if (!newPass.equals(repeatNewPass))
    {
      activeChar.sendMessage("Repeated password doesn't match the new password.");
      return false;
    }

    Connection con = null;
    String password = null;
    try
    {
      MessageDigest md = MessageDigest.getInstance("SHA");
      byte[] raw = currPass.getBytes("UTF-8");
      raw = md.digest(raw);
      String currPassEncoded = Base64.encodeBytes(raw);

      con = L2DatabaseFactory.getInstance().getConnection();
      PreparedStatement statement = con.prepareStatement("SELECT password FROM accounts WHERE login=?");
      statement.setString(1, activeChar.getAccountName());
      ResultSet rset = statement.executeQuery();
      while (rset.next())
      {
        password = rset.getString("password");
      }
      rset.close();
      statement.close();
      byte[] password2 =
   null;
      if (currPassEncoded.equals(password))
      {
        password2 = newPass.getBytes("UTF-8");
        password2 = md.digest(password2);

        PreparedStatement statement2 = con.prepareStatement("UPDATE accounts SET password=? WHERE login=?");
        statement2.setString(1, Base64.encodeBytes(password2));
        statement2.setString(2, activeChar.getAccountName());
        statement2.executeUpdate();
        statement2.close();

        activeChar.sendMessage("Congratulations! Your password has been changed succesfully. You will now be disconnected for security reasons. Please login again!");
        try
        {
          Thread.sleep(3000L);
        }
        catch (Exception e)
        {
        }

        activeChar.deleteMe();

        activeChar.sendPacket(new LeaveWorld());
      }
      else
      {
        activeChar.sendMessage("The current password you've inserted is incorrect! Please try again!");
       
        return password2 != null;
      }
    }
    catch (Exception e)
    {
      _log.warning("could not update the password of account: " + activeChar.getAccountName());
    }
    finally
    {
      try
      {
        if (con != null)
          con.close();
      }
      catch (SQLException e)
      {
        _log.warning("Failed to close database connection!");
      }

    }

    return true;
  }
}

alla opwte allazw pwta trow exit kai prp na ksanampw.. ginete na to allaksw se logout anti gia exit?

Posted

kapios coder gia npc gia siege gia ola ta castle?????

kai an ginete ena code gia [.changepassword CurrentPass NewPass NewPass]

vrika auto:

/* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.model.actor.instance;

import com.l2jfrozen.crypt.Base64;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.LeaveWorld;
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;
import com.l2jfrozen.util.database.L2DatabaseFactory;

import java.security.MessageDigest;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.StringTokenizer;
import javolution.text.TextBuilder;

public class L2PasswordChangerInstance extends L2FolkInstance
{
  public L2PasswordChangerInstance(int objectId, L2NpcTemplate template)
  {
    super(objectId, template);
  }

  public void onBypassFeedback(L2PcInstance player, String command)
  {
    if (command.startsWith("change_password"))
    {
      StringTokenizer st = new StringTokenizer(command);
      st.nextToken();
      String currPass = null;
      String newPass = null;
      String repeatNewPass = null;
      try
      {
        if (st.hasMoreTokens())
        {
          currPass = st.nextToken();
          newPass = st.nextToken();
          repeatNewPass = st.nextToken();
        }
        else
        {
          player.sendMessage("Please fill in all the blanks before requesting for a password change.");
          return;
        }
        changePassword(currPass, newPass, repeatNewPass, player);
      }
      catch (StringIndexOutOfBoundsException e)
      {
      }
    }
  }

  public void onAction(L2PcInstance player)
  {
    if (!canTarget(player)) {
      return;
    }

    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
    {
      showHtmlWindow(player);
    }

    player.sendPacket(new ActionFailed());
  }

  private void showHtmlWindow(L2PcInstance activeChar)
  {
    NpcHtmlMessage nhm = new NpcHtmlMessage(5);
    TextBuilder replyMSG = new TextBuilder("");

    replyMSG.append("<html><title>L2 InStadia Account Manager</title>");
    replyMSG.append("<body><center>");
    replyMSG.append("To change your password:<br1> First fill in your current password and then your new!</font><br>");
    replyMSG.append("Current Password: <edit var=\"cur\" width=100 height=15><br>");
    replyMSG.append("New Password: <edit var=\"new\" width=100 height=15><br>");
    replyMSG.append("Repeat New Password: <edit var=\"repeatnew\" width=100 height=15><br><br>");
    replyMSG.append("<button value=\"Change Password\" action=\"bypass -h npc_" + getObjectId() + "_change_password $cur $new $repeatnew\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\">");
    replyMSG.append("</center></body></html>");

    nhm.setHtml(replyMSG.toString());
    activeChar.sendPacket(nhm);

    activeChar.sendPacket(new ActionFailed());
  }

  public static boolean changePassword(String currPass, String newPass, String repeatNewPass, L2PcInstance activeChar)
  {
    if (newPass.length() < 5)
    {
      activeChar.sendMessage("The new password is too short!");
      return false;
    }
    if (newPass.length() > 20)
    {
      activeChar.sendMessage("The new password is too long!");
      return false;
    }
    if (!newPass.equals(repeatNewPass))
    {
      activeChar.sendMessage("Repeated password doesn't match the new password.");
      return false;
    }

    Connection con = null;
    String password = null;
    try
    {
      MessageDigest md = MessageDigest.getInstance("SHA");
      byte[] raw = currPass.getBytes("UTF-8");
      raw = md.digest(raw);
      String currPassEncoded = Base64.encodeBytes(raw);

      con = L2DatabaseFactory.getInstance().getConnection();
      PreparedStatement statement = con.prepareStatement("SELECT password FROM accounts WHERE login=?");
      statement.setString(1, activeChar.getAccountName());
      ResultSet rset = statement.executeQuery();
      while (rset.next())
      {
        password = rset.getString("password");
      }
      rset.close();
      statement.close();
      byte[] password2 =
   null;
      if (currPassEncoded.equals(password))
      {
        password2 = newPass.getBytes("UTF-8");
        password2 = md.digest(password2);

        PreparedStatement statement2 = con.prepareStatement("UPDATE accounts SET password=? WHERE login=?");
        statement2.setString(1, Base64.encodeBytes(password2));
        statement2.setString(2, activeChar.getAccountName());
        statement2.executeUpdate();
        statement2.close();

        activeChar.sendMessage("Congratulations! Your password has been changed succesfully. You will now be disconnected for security reasons. Please login again!");
        try
        {
          Thread.sleep(3000L);
        }
        catch (Exception e)
        {
        }

        activeChar.deleteMe();

        activeChar.sendPacket(new LeaveWorld());
      }
      else
      {
        activeChar.sendMessage("The current password you've inserted is incorrect! Please try again!");
       
        return password2 != null;
      }
    }
    catch (Exception e)
    {
      _log.warning("could not update the password of account: " + activeChar.getAccountName());
    }
    finally
    {
      try
      {
        if (con != null)
          con.close();
      }
      catch (SQLException e)
      {
        _log.warning("Failed to close database connection!");
      }

    }

    return true;
  }
}

alla opwte allazw pwta trow exit kai prp na ksanampw.. ginete na to allaksw se logout anti gia exit?

Γιατί δεν χρησιμοποιείς το Password Changer NPC που είναι bugless από το command?
Posted

kapios coder gia npc gia siege gia ola ta castle?????

kai an ginete ena code gia [.changepassword CurrentPass NewPass NewPass]

vrika auto:

/* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package com.l2jfrozen.gameserver.model.actor.instance;

import com.l2jfrozen.crypt.Base64;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
import com.l2jfrozen.gameserver.network.serverpackets.LeaveWorld;
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;
import com.l2jfrozen.util.database.L2DatabaseFactory;

import java.security.MessageDigest;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.StringTokenizer;
import javolution.text.TextBuilder;

public class L2PasswordChangerInstance extends L2FolkInstance
{
  public L2PasswordChangerInstance(int objectId, L2NpcTemplate template)
  {
    super(objectId, template);
  }

  public void onBypassFeedback(L2PcInstance player, String command)
  {
    if (command.startsWith("change_password"))
    {
      StringTokenizer st = new StringTokenizer(command);
      st.nextToken();
      String currPass = null;
      String newPass = null;
      String repeatNewPass = null;
      try
      {
        if (st.hasMoreTokens())
        {
          currPass = st.nextToken();
          newPass = st.nextToken();
          repeatNewPass = st.nextToken();
        }
        else
        {
          player.sendMessage("Please fill in all the blanks before requesting for a password change.");
          return;
        }
        changePassword(currPass, newPass, repeatNewPass, player);
      }
      catch (StringIndexOutOfBoundsException e)
      {
      }
    }
  }

  public void onAction(L2PcInstance player)
  {
    if (!canTarget(player)) {
      return;
    }

    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
    {
      showHtmlWindow(player);
    }

    player.sendPacket(new ActionFailed());
  }

  private void showHtmlWindow(L2PcInstance activeChar)
  {
    NpcHtmlMessage nhm = new NpcHtmlMessage(5);
    TextBuilder replyMSG = new TextBuilder("");

    replyMSG.append("<html><title>L2 InStadia Account Manager</title>");
    replyMSG.append("<body><center>");
    replyMSG.append("To change your password:<br1> First fill in your current password and then your new!</font><br>");
    replyMSG.append("Current Password: <edit var=\"cur\" width=100 height=15><br>");
    replyMSG.append("New Password: <edit var=\"new\" width=100 height=15><br>");
    replyMSG.append("Repeat New Password: <edit var=\"repeatnew\" width=100 height=15><br><br>");
    replyMSG.append("<button value=\"Change Password\" action=\"bypass -h npc_" + getObjectId() + "_change_password $cur $new $repeatnew\" width=204 height=20 back=\"sek.cbui75\" fore=\"sek.cbui75\">");
    replyMSG.append("</center></body></html>");

    nhm.setHtml(replyMSG.toString());
    activeChar.sendPacket(nhm);

    activeChar.sendPacket(new ActionFailed());
  }

  public static boolean changePassword(String currPass, String newPass, String repeatNewPass, L2PcInstance activeChar)
  {
    if (newPass.length() < 5)
    {
      activeChar.sendMessage("The new password is too short!");
      return false;
    }
    if (newPass.length() > 20)
    {
      activeChar.sendMessage("The new password is too long!");
      return false;
    }
    if (!newPass.equals(repeatNewPass))
    {
      activeChar.sendMessage("Repeated password doesn't match the new password.");
      return false;
    }

    Connection con = null;
    String password = null;
    try
    {
      MessageDigest md = MessageDigest.getInstance("SHA");
      byte[] raw = currPass.getBytes("UTF-8");
      raw = md.digest(raw);
      String currPassEncoded = Base64.encodeBytes(raw);

      con = L2DatabaseFactory.getInstance().getConnection();
      PreparedStatement statement = con.prepareStatement("SELECT password FROM accounts WHERE login=?");
      statement.setString(1, activeChar.getAccountName());
      ResultSet rset = statement.executeQuery();
      while (rset.next())
      {
        password = rset.getString("password");
      }
      rset.close();
      statement.close();
      byte[] password2 =
   null;
      if (currPassEncoded.equals(password))
      {
        password2 = newPass.getBytes("UTF-8");
        password2 = md.digest(password2);

        PreparedStatement statement2 = con.prepareStatement("UPDATE accounts SET password=? WHERE login=?");
        statement2.setString(1, Base64.encodeBytes(password2));
        statement2.setString(2, activeChar.getAccountName());
        statement2.executeUpdate();
        statement2.close();

        activeChar.sendMessage("Congratulations! Your password has been changed succesfully. You will now be disconnected for security reasons. Please login again!");
        try
        {
          Thread.sleep(3000L);
        }
        catch (Exception e)
        {
        }

        activeChar.deleteMe();

        activeChar.sendPacket(new LeaveWorld());
      }
      else
      {
        activeChar.sendMessage("The current password you've inserted is incorrect! Please try again!");
       
        return password2 != null;
      }
    }
    catch (Exception e)
    {
      _log.warning("could not update the password of account: " + activeChar.getAccountName());
    }
    finally
    {
      try
      {
        if (con != null)
          con.close();
      }
      catch (SQLException e)
      {
        _log.warning("Failed to close database connection!");
      }

    }

    return true;
  }
}

alla opwte allazw pwta trow exit kai prp na ksanampw.. ginete na to allaksw se logout anti gia exit?

 

activeChar.deleteMe();

 

        activeChar.sendPacket(new LeaveWorld());

 

σβησε αυτες τις σειρες αν δε θες να τρως exit.

Posted

activeChar.deleteMe();

 

        activeChar.sendPacket(new LeaveWorld());

 

σβησε αυτες τις σειρες αν δε θες να τρως exit.

 

okey se euxaristw :) leitourgei mia xara :D

twra to mono p menei an kapios kserei code gia enan npc gia ola ta castle gia regisrer/defend siege pliz na to share :)

Posted

File mporeis na ftiakseis ena npc sto opoio tha paizoun poker ?

Poker Game Dld ...?

εχει γινει Share, ψαξτο.

επισης δεν γνωριζω καν πως παιζεται το Poker, πραγμα που σημαινει οτι δε μπορω να κανω κατι που δεν ξερω καν πως λειτουργει.

Guest
This topic is now closed to further replies.



  • Posts

    • Hello community, I’d like to share an improved version of the L2smr editor for StaticMeshes, focused on solving some workflow issues I found in the original tool. CreditsThis project is based on the original acmi/L2smr repository https://github.com/acmi/L2smr , created by acmi, and I updated it to Java 17 with some additional features. Issues in the original L2smr Too many windows: each StaticMesh opened in a new one → cluttered desktop. No search: navigating through hundreds of StaticMeshActors was slow and tedious. Added improvements Flexible views Single Window Mode: reuse one window instead of opening new ones. Multiple Window Mode: still available for those who prefer having several views open simultaneously. Real-time Search Field Instant filtering as you type. Case-insensitive search. “Reset” button to quickly clear the search.     Installation and Execution: Clone the repository: git clone https://github.com/Jeep12/l2smr.git cd l2smr        2.Build the project:   ./gradlew build        3. Run the application:     ./run.bat      Or simply double-click on run.bat.     The run.bat script automatically extracts JavaFX from the included javafx-17.0.2.zip file in the javafx/ directory, sets up the required libraries, and launches the application. You don’t    need to install JavaFX separately.      Repository: https://github.com/Jeep12/l2smr     Maybe these features already existed in another version or fork, and they might not be very big changes, but since I didn’t know about them and found them necessary, I decided to          implement them myself and wanted to share them.      
    • no....Mobius L2Clientdat and L2FileEditor can do that...but still cant works with TaiWanese Grand Crusade ,especially Armorgrp.dat and Armorgrp-Classic.dat
    • L2GOLD - Halcyon x45 Project Classic Interlude   C6 - Classic Interlude: Protocol 110     Is a complete copy of L2Gold in Classic [110 Protocol] with L2OFF files.   Fully L2Gold Features - Daily Quest - Daily Mining Quest - Ancient Weapons -Refine System  -Rebirth System -Fully configurable everything you want -Gold stats/Gold skills/Gold items working 100% -Zones 100% alike  -Unique donations system (npc or voicedcommand .donate) - On Enchant success announcement ( if +16 for weapon, 8 for armor , 7 for jewel) - Announce of Castle Lord - Announce of Hero  - Olympiad Max A grade - Olympiad Buffs on matches changed to Gold Alike - Working fully Dreadbane   - AI Mods: Static Time for RB   Automated Events: Squash Watermelon RB Event High rate  (those are fully automated)   Server is running a Test Server: Online to anyone can test it.   Game Client: https://www.mediafire.com/file/1d8xe18rvgi04lx/L2_Classic_Interlude_Client_V2.rar/file   Game Patch: https://www.mediafire.com/file/3z4b8ezy93h2z1g/L2Halcyon+Gold+Patch.rar/file   GM Accounts: ID: root pass root [ accounts go from  root1 until root20 ]   Regular Accounts Registrations: http://84.247.164.27/?page=register   Some Screenshots: https://imgur.com/a/o7TxzTN   Contact me here via PM (only serious buyers).    Price of the product: Fully Server Pack + Source ( 250 Euros )
    • ✨ A Service with Vibes  Vibe SMS ✨   Vibe SMS is not just a platform for working with numbers. We’ve built it to be simple, convenient, and stress-free, so your tasks get done without hassle. We value real communication: we listen to your ideas, provide support, and make sure everyone feels calm and confident. With us, you’re not just a client  you’re part of a space built on trust, support, and a human touch. Vibe SMS is a place where people matter and where we create an atmosphere you’ll want to stay in.   Website link — https://vibe-sms.net/ Our Telegram channel — https://t.me/vibe_sms
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock