xAddytzu Posted June 8, 2010 Share Posted June 8, 2010 @Photo: @Description: A message informs you if someone entered to your account The message will appear only if lastip is not equals with current ip @Feedback: Now work perfect. I love you :D :D Index: EnterWorld.java import net.sf.l2j.gameserver.model.entity.Hero; import net.sf.l2j.gameserver.model.entity.L2Event; +import net.sf.l2j.gameserver.model.entity.ProtectionIP; @@ RegionBBSManager.getInstance().changeCommunityBoard(); +/** +* Custom stuff +*/ +ProtectionIP.onEnterWorld(activeChar); Index: LoginController.java if (ok) { 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(); } /* 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.entity; import java.sql.PreparedStatement; import java.sql.ResultSet; import net.sf.l2j.L2DatabaseFactory; import net.sf.l2j.gameserver.clientpackets.Say2; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.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().getSocketChannel().socket().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().getSocketChannel().socket().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(); } } } } Quote Link to comment Share on other sites More sharing options...
FighterBoss Posted June 8, 2010 Share Posted June 8, 2010 Too nice and never see that before :D Credits you? Quote Link to comment Share on other sites More sharing options...
bboycrashmill Posted June 8, 2010 Share Posted June 8, 2010 Nc man Quote Link to comment Share on other sites More sharing options...
xAddytzu Posted June 8, 2010 Author Share Posted June 8, 2010 Too nice and never see that before :D Credits you? /** * * @author xAddytzu */ public class ProtectionIP { Quote Link to comment Share on other sites More sharing options...
Devangell™ Posted June 8, 2010 Share Posted June 8, 2010 show us the last ip of the member's? what? Quote Link to comment Share on other sites More sharing options...
FighterBoss Posted June 8, 2010 Share Posted June 8, 2010 /** * * @author xAddytzu */ public class ProtectionIP { Didn't show that my mistake. Anyway Gratz and thanx Quote Link to comment Share on other sites More sharing options...
xAddytzu Posted June 8, 2010 Author Share Posted June 8, 2010 show us the last ip of the member's? what? Better to read the code >.> Quote Link to comment Share on other sites More sharing options...
seasoned Posted June 8, 2010 Share Posted June 8, 2010 :o Perfect :D Gj addytzu. You're so good! Quote Link to comment Share on other sites More sharing options...
˚کp4g0®4m4NoS™ Posted June 8, 2010 Share Posted June 8, 2010 AWSOME dude !! Quote Link to comment Share on other sites More sharing options...
Devangell™ Posted June 8, 2010 Share Posted June 8, 2010 Better to read the code >.> i don't know from code's yet for this ask you ;) i help one friend with him server :) Quote Link to comment Share on other sites More sharing options...
Kama3a Posted June 8, 2010 Share Posted June 8, 2010 gj rly awsome keep share ! :) Quote Link to comment Share on other sites More sharing options...
`Resistance Posted June 8, 2010 Share Posted June 8, 2010 very nice code keep on xAddytzu Quote Link to comment Share on other sites More sharing options...
Belzebul Posted June 8, 2010 Share Posted June 8, 2010 pro, thank you. +1 from me (even it is some strings share, its very useful) Quote Link to comment Share on other sites More sharing options...
xAddytzu Posted June 8, 2010 Author Share Posted June 8, 2010 pro, thank you. +1 for me (even it is some strings share, its very useful) thank you ! Quote Link to comment Share on other sites More sharing options...
MeVsYou Posted June 8, 2010 Share Posted June 8, 2010 Nice job xaddy ;) . Keep sharing and make mxc better. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.