Jump to content

sember

Members
  • Posts

    58
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by sember

  1. Quote

    for replacement, it is usually enough to replace l2.exe + l2.ini + all dat files

     

    Why do I need to replace *dat files if I need the original game?

     

    Could you please help me figure out what I should replace except server IP to use this original system on win 10?

     

    Here is a link to system: https://drive.google.com/file/d/1Jf66X35nq2LUwPOAgoBmr-5vOeBqbFw8/view?usp=sharing

     

    Thanks in advance

  2. Hi folks,

    I'm wondering if it's possible to use Interlude client System folder without modifications for my home/private server?

    I don't want to modify standard gameplay and I can change IP in hosts if necessary.

    If that is not realistic please describe why and give me some ideas/links on how I can minimally modify client to use it "as is" (maybe some GG killers, etc).

     

    P.S. I tried to copy core.dll, engine.dll, nwindow.dll  from the shared/modified system folders (from this forum) but it didn't help as client cannot start for some reason (sometimes without error).

     

    Thanks

  3. Hello all! O0

     

    I'm finded nice screenshot at google.

    Im use L2jfrozen pack, and event CTF haven't any of this "beutiful" features. (Only a monster weapon instead of real Flag)

     

    Maybe any of people here, seen the "Flag" weapon for CTF? I very need it!!(

     

    Please help me find any of this ctf Items/NPC for Interlude. Thaaaaanks! :)

     

    T8CgDtlZ.jpg

     

  4. TheGrand L2J. Based on L2JFrozen. Works lasted more than two years.

     

    I want to introduce you to a full assembly Lineage 2 Interlude, which was our server for more than 2 years. During this time, the source server suffered numerous changes as merely cosmetic, and the most global.

     

    541_159_thegrand.png

     

    GameServer_screen

     

    thegrand_gs_screen.jpg

     

    Modifications:

     

    - chat-bots, fake PM chat, AKA DummyChat (config in /addons/fmom.ini)

    - PMHook (gameserver logs all PM chat + RU text support)

    - Some DotA Commands (maybe its funny)

    - NpcWalkers + NpcToPC Polymorph (npc have skin & run like real players)

    - RebornCorpse script (special auto-mobs respawn in Dragon Valley)

    - Adena to Coin Skill (skill with nice effect)

    - DescJa Fake Players (modified)

    - Online Real-time Logs (show online count if anybody logs in game)

    - Automated Restart Mod (config in /addons/fmom.ini)

    - XP ON/OF command (config in /addons/fmom.ini)

    - OfflineTrade (modified)

     

    Database:

     

    - Fixed over 80% of data, like official PTS Interlude.

    - Many skills fixes and reworks.

    - And more other!

     

    Full description on russian you can find here.

     

    This is the final and only release of our assembly. More I return to it is not going, so expect anything else is needed. The assembly will be maintained on our forum for any questions of her work, modifications and configurations.

     

    Compiled server is fully configured and ready to use. Configured for a description of the server (read in navigation). In fact I am a "live server".

     

    Pluses: The assembly is optimized for online until 2000, provided that your machine can handle it physically.

     

    Minuses: Haven't GEODATA. But the engine is present, which means that it can be easily connected, having left the machine's resources.

     

    Links:

     

    Compiled server or RGhost

    Database dump or RGhost

    Source or RGhost

    Client patch or 0db

    Author Release Topic (RU)

     

    Thanks for using.

  5. [quoteFrom C4 to IL it's net.sf.l2j, not com.l2jserver

     

    Use ctrl+shift+O to correct imports...

     

    i know it, thx.

    i dont know what a class 'L2GameClient' in l2jc4, src dont have it!

    i try use: 'ClientThread', but i dont know right it or now.. (and have many errors in compile)

    import com.l2jserver.gameserver.ClientThread; // L2GameClient

    import com.l2jserver.gameserver.network.L2GameClient.GameClientState; // ?

     

    what to do?

  6. hello guys. Please help me to adapt some parts of code, from Interlude server packs to L2jC4. Here is this patch:

     

    package com.l2jserver.gameserver.datatables;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.util.Calendar;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    
    import net.sf.l2j.Config;
    import net.sf.l2j.L2DatabaseFactory;
    import net.sf.l2j.gameserver.LoginServerThread;
    import net.sf.l2j.gameserver.model.L2ManufactureItem;
    import net.sf.l2j.gameserver.model.L2ManufactureList;
    import net.sf.l2j.gameserver.model.L2World;
    import net.sf.l2j.gameserver.model.TradeList.TradeItem;
    import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
    import com.l2jserver.gameserver.ClientThread; // ???? WHERE this in L2jC4??
    import com.l2jserver.gameserver.network.L2GameClient.GameClientState; // Again???
    
    public class OfflineTradersTable
    {
       private static Logger _log = Logger.getLogger(OfflineTradersTable.class.getName());
      
       //SQL DEFINITIONS
       private static final String SAVE_OFFLINE_STATUS = "INSERT INTO character_offline_trade (`charId`,`time`,`type`,`title`) VALUES (?,?,?,?)";
       private static final String SAVE_ITEMS = "INSERT INTO character_offline_trade_items (`charId`,`item`,`count`,`price`) VALUES (?,?,?,?)";
       private static final String CLEAR_OFFLINE_TABLE = "DELETE FROM character_offline_trade";
       private static final String CLEAR_OFFLINE_TABLE_ITEMS = "DELETE FROM character_offline_trade_items";
       private static final String LOAD_OFFLINE_STATUS = "SELECT * FROM character_offline_trade";
       private static final String LOAD_OFFLINE_ITEMS = "SELECT * FROM character_offline_trade_items WHERE charId = ?";
       
       public static void storeOffliners()
       {
          Connection con = null;
          try
          {
             con = L2DatabaseFactory.getInstance().getConnection();
             PreparedStatement stm = con.prepareStatement(CLEAR_OFFLINE_TABLE);
             stm.execute();
             stm.close();
             stm = con.prepareStatement(CLEAR_OFFLINE_TABLE_ITEMS);
             stm.execute();
            stm.close();
             
             con.setAutoCommit(false); // avoid halfway done
            stm = con.prepareStatement(SAVE_OFFLINE_STATUS);
          PreparedStatement stm_items = con.prepareStatement(SAVE_ITEMS);
             
            //TextBuilder items = TextBuilder.newInstance();
             for (L2PcInstance pc : L2World.getInstance().getAllPlayers().values())
             {
              try
               {
                   if ((pc.getPrivateStoreType() != L2PcInstance.STORE_PRIVATE_NONE) && (pc.getClient() == null || pc.getClient().isDetached()))
                   {
                      stm.setInt(1, pc.getObjectId()); //Char Id
                     stm.setLong(2, pc.getOfflineStartTime());
                      stm.setInt(3, pc.getPrivateStoreType()); //store type
                     String title = null;
                      
                     switch (pc.getPrivateStoreType())
                     {
                         case L2PcInstance.STORE_PRIVATE_BUY:
                           if (!Config.OFFLINE_TRADE_ENABLE)
                              continue;
                           title = pc.getBuyList().getTitle();
                            for (TradeItem i : pc.getBuyList().getItems())
                           {
                              stm_items.setInt(1, pc.getObjectId());
                             stm_items.setInt(2, i.getItem().getItemId());
                              stm_items.setLong(3, i.getCount());
                               stm_items.setLong(4, i.getPrice());
                               stm_items.executeUpdate();
                              stm_items.clearParameters();
                            }
                           break;
                         case L2PcInstance.STORE_PRIVATE_SELL:
                        case L2PcInstance.STORE_PRIVATE_PACKAGE_SELL:
                            if (!Config.OFFLINE_TRADE_ENABLE)
                                continue;
                           title = pc.getSellList().getTitle();
                           for (TradeItem i : pc.getSellList().getItems())
                           {
                             stm_items.setInt(1, pc.getObjectId());
                               stm_items.setInt(2, i.getObjectId());
                               stm_items.setLong(3, i.getCount());
                               stm_items.setLong(4, i.getPrice());
                              stm_items.executeUpdate();
                               stm_items.clearParameters();
                            }
                            break;
                         case L2PcInstance.STORE_PRIVATE_MANUFACTURE:
                            if (!Config.OFFLINE_CRAFT_ENABLE)
                               continue;
                            title = pc.getCreateList().getStoreName();
                            for (L2ManufactureItem i : pc.getCreateList().getList())
                           {
                              stm_items.setInt(1, pc.getObjectId());
                                stm_items.setInt(2, i.getRecipeId());
                               stm_items.setLong(3, 0);
                              stm_items.setLong(4, i.getCost());
                               stm_items.executeUpdate();
                              stm_items.clearParameters();
                           }
                      }
                      stm.setString(4, title);
                      stm.executeUpdate();
                     stm.clearParameters();
                      con.commit(); // flush
                  }
                }
               catch (Exception e)
                {
                  _log.log(Level.WARNING, "OfflineTradersTable[storeTradeItems()]: Error while saving offline trader: " + pc.getObjectId() + " " + e, e);
               }
             }
            stm.close();
             stm_items.close();
             _log.info("Offline traders stored.");
         }
          catch (Exception e)
          {
             _log.log(Level.WARNING,"OfflineTradersTable[storeTradeItems()]: Error while saving offline traders: " + e,e);
          }
         finally
          {
             try
             {
                con.close();
            }
             catch (Exception e)
             {
                
            }
          }
       }
      
       public static void restoreOfflineTraders()
       {
          _log.info("Loading offline traders...");
          Connection con = null;
          int nTraders = 0;
           try
          {
             con = L2DatabaseFactory.getInstance().getConnection();
             PreparedStatement stm = con.prepareStatement(LOAD_OFFLINE_STATUS);
             ResultSet rs = stm.executeQuery();
             while (rs.next())
             {
                long time = rs.getLong("time");
                if (Config.OFFLINE_MAX_DAYS > 0)
                {
                   Calendar cal = Calendar.getInstance();
                   cal.setTimeInMillis(time);
                   cal.roll(Calendar.DAY_OF_YEAR, Config.OFFLINE_MAX_DAYS);
                   if (cal.getTimeInMillis() <= System.currentTimeMillis())
                      continue;
                }
                
                int type = rs.getInt("type");
                if (type == L2PcInstance.STORE_PRIVATE_NONE)
                   continue;
                
                L2PcInstance player = null;
                
                try
                {
                   L2GameClient client = new L2GameClient(null);
                   client.setDetached(true);
                   player = L2PcInstance.load(rs.getInt("charId"));
                   client.setActiveChar(player);
                   client.setAccountName(player.getAccountNamePlayer());
                   client.setState(GameClientState.IN_GAME);
                   player.setClient(client);
                   player.setOfflineStartTime(time);
                    player.spawnMe(player.getX(), player.getY(), player.getZ());
                   LoginServerThread.getInstance().addGameServerLogin(player.getAccountName(), client);
                   PreparedStatement stm_items = con.prepareStatement(LOAD_OFFLINE_ITEMS);
                  stm_items.setInt(1, player.getObjectId());
                   ResultSet items = stm_items.executeQuery();
                   
                   switch (type)
                   {
                      case L2PcInstance.STORE_PRIVATE_BUY:
                         while (items.next())
                         {
                            player.getBuyList().addItemByItemId(items.getInt(2), items.getLong(3), items.getLong(4));
                         }
                         player.getBuyList().setTitle(rs.getString("title"));
                         break;
                      case L2PcInstance.STORE_PRIVATE_SELL:
                      case L2PcInstance.STORE_PRIVATE_PACKAGE_SELL:
                         while (items.next())
                         {
                            player.getSellList().addItem(items.getInt(2), items.getLong(3), items.getLong(4));
                         }
                         player.getSellList().setTitle(rs.getString("title"));
                         player.getSellList().setPackaged(type == L2PcInstance.STORE_PRIVATE_PACKAGE_SELL);
                         break;
                      case L2PcInstance.STORE_PRIVATE_MANUFACTURE:
                         L2ManufactureList createList = new L2ManufactureList();
                         while (items.next())
                          {
                            createList.add(new L2ManufactureItem(items.getInt(2), items.getLong(4)));
                         }
                         player.setCreateList(createList);
                         player.getCreateList().setStoreName(rs.getString("title"));
                         break;
                   }
                   items.close();
                   stm_items.close();
                   
                   player.sitDown();
                   if (Config.OFFLINE_SET_NAME_COLOR)
                      player.getAppearance().setNameColor(Config.OFFLINE_NAME_COLOR);
                   player.setPrivateStoreType(type);
                   player.setOnlineStatus(true);
                   player.restoreEffects();
                   player.broadcastUserInfo();
                   nTraders++;
                }
                catch (Exception e)
                {
                    _log.log(Level.WARNING, "OfflineTradersTable[loadOffliners()]: Error loading trader: ",e);
                   if (player != null)
                      player.logout();
                }
              }
             rs.close();
             stm.close();
             _log.info("Loaded: " +nTraders+ " offline trader(s)");
             stm = con.prepareStatement(CLEAR_OFFLINE_TABLE);
             stm.execute();
             stm.close();
             stm = con.prepareStatement(CLEAR_OFFLINE_TABLE_ITEMS);
             stm.execute();
             stm.close();
          }
          catch (Exception e)
          {
             _log.log(Level.WARNING, "OfflineTradersTable[loadOffliners()]: Error while loading offline traders: ",e);
          }
          finally
          {
             try
             {
                con.close();
             }
             catch (Exception e)
             {
                
             }
          }
       }
    }

     

    L2jC4 dont have some classes:

    import com.l2jserver.gameserver.ClientThread;

    import com.l2jserver.gameserver.network.L2GameClient.GameClientState;

    And i dont know where i can find it...(

    Or how can I rewrite the code that he worked in L2jC4???

    Please help!!! Thx anyway.

  7. Hello boys.

    I found on the Internet server from l2jvn r187, and put it my pc).

    then found c4 patched system (protocol 660), and i try to run server, and login in game.

    GameServer gave me an error:

    "session key is not correct. closing connection"

    in the server.properties, i have this pic:

    MinProtocolRevision = 557

    MaxProtocolRevision = 999

     

    everything seems to be correct?

     

    I do not know what to do, but I think, i am need to find the patch a bit earlier, for example (656).

     

    Help me pls.

     

    Sorry for my bad english.  ??? ???

×
×
  • 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