/* 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.entity;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.l2jfrozen.util.database.L2DatabaseFactory;
import com.l2jfrozen.gameserver.network.clientpackets.Say2;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay;
/**
*
* @author xAddytzu
*/
public class ProtectionIP
{
public static void onEnterWorld(L2PcInstance player)
{
String last = "";
String curr = "";
try
{
last = LastIP(player);
curr = player.getClient().getConnection().getInetAddress().getHostAddress();
}
catch (Exception e)
{
}
if (!last.equals(curr))
player.sendPacket(new CreatureSay(1, Say2.PARTY, "SYSTEM", "Your last ip was: "+last+" and current: "+curr));
UpdateLastIP(player, player.getAccountName());
}
public static String LastIP(L2PcInstance player)
{
String lastIp = "";
java.sql.Connection con = null;
try
{
ResultSet rset;
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("SELECT * FROM `accounts` WHERE login = ?");
statement.setString(1, player.getAccountName());
rset = statement.executeQuery();
while(rset.next())
{
lastIp = rset.getString("lastIP");
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
return lastIp;
}
public static void UpdateLastIP(L2PcInstance player ,String user)
{
String address = player.getClient().getConnection().getInetAddress().getHostAddress();
java.sql.Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement statement = con.prepareStatement("UPDATE accounts SET lastIP=? WHERE login=?");
statement.setString(1, address);
statement.setString(2, user);
statement.execute();
statement.close();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
kai to evala sto pack alla otan kaneis login den s vgazei tpt .. prepei na mpeis apo ena pc kai meta apo ena allo gia na s vgalei to mynhma..ginete na tou kanoume akwma kai an einai h idia ip na to dixnei?
L2Elixir – Patch 4 Is Live!
We’re working non-stop, day and night, to deliver the best possible quality and bring back what made L2Elixir special. This project is built with passion, not shortcuts — for the old-school players who remember, and the new ones who want to experience it properly. Thank you for being part of the journey. Together, we’re making L2Elixir great again ❤️ The legends never fade.
⚙️ General
Enabled Class Change service (same class type only)
ALT + B → Services → Character Development
Enabled Shift + Click on Treasure Chests Players can now identify real chests (Adena, scroll drops) and use Key / Unlock
Event deaths now cancel only debuffs, All self buffs are preserved, fixes issues with Root and similar effects
Bladedancer class can now log in even when Max Clients (2) is reached. Since an active Bladedancer is not available for every damage dealer and some players tried to abuse this via VPN or a second PC, this feature was added to keep things fair. protections applies, requires testing!
🎒 Items
Crystallizing enchanted items now gives the correct increased crystal amount (retail-like behavior)
Removed Agathion Seal Bracelet: Rudolph from Santa rewards (Gracia Final item)
Added Dualsword Craft Stamp into Milestone Exchange list
🧙 Skills
Fixed Banish Undead lethal chance
Hot Springs Malaria and similar effects now level up faster while being attacked
Warning: This guy is a big scammer, trying to sell everything, advertising for servers etc.
That's his mail address evgesha.nrnr@gmail.com , stay away!
@Atom @Celestine
Warning: This guy is a big scammer, trying to sell everything, advertising for servers etc.
That's his mail address evgesha.nrnr@gmail.com , stay away!
@Celestine
@Atom
Question
maximilion2
Klhspera :) Vrhka auto:
Index: head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (revision 869) +++ head-src/com/l2jfrozen/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -98,6 +98,7 @@ import com.l2jfrozen.gameserver.thread.TaskPriority; import com.l2jfrozen.gameserver.thread.ThreadPoolManager; import com.l2jfrozen.gameserver.util.Util; +import com.l2jfrozen.gameserver.model.entity.ProtectionIP; /** * Enter World Packet Handler @@ -443,6 +444,7 @@ } RegionBBSManager.getInstance().changeCommunityBoard(); + ProtectionIP.onEnterWorld(activeChar); CustomWorldHandler.getInstance().enterWorld(activeChar); if(TvT._savePlayers.contains(activeChar.getName())) Index: head-src/com/l2jfrozen/loginserver/LoginController.java =================================================================== --- head-src/com/l2jfrozen/loginserver/LoginController.java (revision 869) +++ head-src/com/l2jfrozen/loginserver/LoginController.java (working copy) @@ -750,10 +750,9 @@ { client.setAccessLevel(access); client.setLastServer(lastServer); - statement = con.prepareStatement("UPDATE accounts SET lastactive=?, lastIP=? WHERE login=?"); + statement = con.prepareStatement("UPDATE accounts SET lastactive=? WHERE login=?"); statement.setLong(1, System.currentTimeMillis()); - statement.setString(2, address.getHostAddress()); - statement.setString(3, user); + statement.setString(2, user); statement.execute(); statement.close(); statement = null;and
ProtectionIP.java
/* 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.entity; import java.sql.PreparedStatement; import java.sql.ResultSet; import com.l2jfrozen.util.database.L2DatabaseFactory; import com.l2jfrozen.gameserver.network.clientpackets.Say2; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.network.serverpackets.CreatureSay; /** * * @author xAddytzu */ public class ProtectionIP { public static void onEnterWorld(L2PcInstance player) { String last = ""; String curr = ""; try { last = LastIP(player); curr = player.getClient().getConnection().getInetAddress().getHostAddress(); } catch (Exception e) { } if (!last.equals(curr)) player.sendPacket(new CreatureSay(1, Say2.PARTY, "SYSTEM", "Your last ip was: "+last+" and current: "+curr)); UpdateLastIP(player, player.getAccountName()); } public static String LastIP(L2PcInstance player) { String lastIp = ""; java.sql.Connection con = null; try { ResultSet rset; con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT * FROM `accounts` WHERE login = ?"); statement.setString(1, player.getAccountName()); rset = statement.executeQuery(); while(rset.next()) { lastIp = rset.getString("lastIP"); } } catch(Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } return lastIp; } public static void UpdateLastIP(L2PcInstance player ,String user) { String address = player.getClient().getConnection().getInetAddress().getHostAddress(); java.sql.Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE accounts SET lastIP=? WHERE login=?"); statement.setString(1, address); statement.setString(2, user); statement.execute(); statement.close(); } catch(Exception e) { e.printStackTrace(); } finally { try { con.close(); } catch(Exception e) { e.printStackTrace(); } } } }kai to evala sto pack alla otan kaneis login den s vgazei tpt .. prepei na mpeis apo ena pc kai meta apo ena allo gia na s vgalei to mynhma..ginete na tou kanoume akwma kai an einai h idia ip na to dixnei?
16 answers to this question
Recommended Posts