L2J_CE

Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
L2J_CE

L2J_CE Server


Участников: 5

    Клан Комьюнити и реализованные меседжы(аля форум)

    Owned
    Owned


    Сообщения : 148
    Дата регистрации : 2010-03-22

    Клан Комьюнити и реализованные меседжы(аля форум) Empty Клан Комьюнити и реализованные меседжы(аля форум)

    Сообщение  Owned Ср Мар 24, 2010 5:55 am

    Многие видели - ВЫСКАКИВАЮЩЕЕ окно НОВОСТЕЙ клана при заходе в игру, типо "наш клан сегодня идет в 18.45 на АК , всем зайти в 17.50 за Сорков и встреча у ТП глудио" и т.д.
    Радуемся bounce

    Код:
    Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java   (working copy)
    @@ -513,6 +513,15 @@
                clan.broadcastToOtherOnlineMembers(msg, activeChar);
                msg = null;
                clan.broadcastToOtherOnlineMembers(new PledgeShowMemberListUpdate(activeChar), activeChar);
    +            if (clan.isNoticeEnabled())
    +            {
    +               sendPacket(new NpcHtmlMessage(1, "<html><title>Clan Announcements</title><body><br><center><font color=\"CCAA00\">" +
    +                     activeChar.getClan().getName() +
    +                     "</font> <font color=\"6655FF\">Clan Alert Message</font></center><br>" +
    +                     "<img src=\"L2UI.SquareWhite\" width=270 height=1><br>" +
    +                     activeChar.getClan().getNotice().replaceAll("\r\n", "<br>") +
    +                     "</body></html>"));
    +            }
            }
        }
     
    Index: java/net/sf/l2j/gameserver/model/L2Clan.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/model/L2Clan.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/model/L2Clan.java   (working copy)
    @@ -156,6 +156,9 @@
     
        private int _reputationScore = 0;
        private int _rank = 0;
    +   
    +    private String _notice;
    +    private boolean _noticeEnabled = false;
     
        /**
          * Called if a clan is referenced only by id.
    @@ -870,6 +873,7 @@
                restoreSubPledges();
                restoreRankPrivs();
                restoreSkills();
    +            restoreNotice();
            }
            catch (Exception e)
            {
    @@ -881,6 +885,110 @@
            }
        }
     
    +    private void restoreNotice()
    +    {
    +       java.sql.Connection con = null;
    +       try
    +       {
    +          con = L2DatabaseFactory.getInstance().getConnection();
    +          PreparedStatement statement = con.prepareStatement("SELECT enabled,notice FROM clan_notices WHERE clan_id=?");
    +          statement.setInt(1, getClanId());
    +          ResultSet noticeData = statement.executeQuery();
    +          
    +          while (noticeData.next())
    +          {
    +             _noticeEnabled = noticeData.getBoolean("enabled");
    +             _notice = noticeData.getString("notice");
    +          }
    +          
    +          noticeData.close();
    +          statement.close();
    +          con.close();
    +       }
    +       catch (Exception e)
    +       {
    +          _log.log(Level.SEVERE, "Error restoring clan notice.", e);
    +       }
    +       finally
    +       {
    +          try { con.close(); } catch (Exception e) {}
    +       }
    +    }
    +
    +    private void storeNotice(String notice, boolean enabled)
    +    {
    +       if (notice == null)
    +          notice = "";
    +       
    +       java.sql.Connection con = null;
    +
    +       try
    +       {
    +          con = L2DatabaseFactory.getInstance().getConnection();
    +
    +          if (notice.length() > 8192)
    +             notice = notice.substring(0, 8191);
    +          
    +          if (_notice != null)
    +          {
    +             PreparedStatement statement = con.prepareStatement("UPDATE clan_notices SET enabled=?,notice=? WHERE clan_id=?");
    +              if (enabled)
    +                  statement.setString(1, "true");
    +              else
    +                  statement.setString(1, "false");
    +              statement.setString(2, notice);
    +              statement.setInt(3, getClanId());
    +                statement.execute();
    +                statement.close();
    +          }
    +          else
    +          {
    +              PreparedStatement statement = con.prepareStatement("INSERT INTO clan_notices (clan_id, enabled, notice) values (?,?,?)");
    +              statement.setInt(1, getClanId());
    +              if (enabled)
    +                  statement.setString(2, "true");
    +              else
    +                  statement.setString(2, "false");
    +              statement.setString(3, notice);
    +                statement.execute();
    +                statement.close();
    +          }
    +       }
    +        catch (Exception e)
    +        {
    +            _log.warning("Error could not store clan notice: " + e);
    +        }
    +        finally
    +        {
    +            try { con.close(); } catch (Exception e) {}
    +        }
    +
    +       _notice = notice;
    +       _noticeEnabled = enabled;
    +    }
    +
    +    public void setNoticeEnabled(boolean noticeEnabled)
    +    {
    +       storeNotice(_notice, noticeEnabled);
    +    }
    +   
    +    public void setNotice(String notice)
    +    {
    +       storeNotice(notice, _noticeEnabled);
    +    }
    +
    +    public boolean isNoticeEnabled()
    +    {
    +       return _noticeEnabled;
    +    }
    +   
    +    public String getNotice()
    +    {
    +       if (_notice == null)
    +          return "";
    +       return _notice;
    +    }
    +   
        private void restoreSkills()
        {
            java.sql.Connection con = null;
    Index: java/net/sf/l2j/gameserver/communitybbs/Manager/ClanBBSManager.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/communitybbs/Manager/ClanBBSManager.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/communitybbs/Manager/ClanBBSManager.java   (working copy)
    @@ -88,13 +88,127 @@
                 clanhome(activeChar, index);
              }
           }
    +      else if(command.startsWith("_bbsclan_clannotice_edit;"))
    +      {
    +         clanNotice(activeChar, activeChar.getClan().getClanId());
    +      }
    +      else if(command.startsWith("_bbsclan_clannotice_enable"))
    +      {
    +         activeChar.getClan().setNoticeEnabled(true);
    +         clanNotice(activeChar, activeChar.getClan().getClanId());
    +      }
    +      else if(command.startsWith("_bbsclan_clannotice_disable"))
    +      {
    +         activeChar.getClan().setNoticeEnabled(false);
    +         clanNotice(activeChar, activeChar.getClan().getClanId());
    +      }
           else
           {
    -         separateAndSend("<html><body><br><br><center>Commande : " + command + " pas encore implante</center><br><br></body></html>", activeChar);
    +         separateAndSend("<html><body><br><br><center>Command : " + command + " needs core development</center><br><br></body></html>", activeChar);
              
           }
        }
        
    +   private void clanNotice(L2PcInstance activeChar, int clanId)
    +   {
    +      L2Clan cl = ClanTable.getInstance().getClan(clanId);
    +      if (cl != null)
    +      {
    +         if (cl.getLevel() < 2)
    +         {
    +            activeChar.sendPacket(new SystemMessage(SystemMessageId.NO_CB_IN_MY_CLAN));
    +            parsecmd("_bbsclan_clanlist", activeChar);
    +         }
    +         else
    +         {
    +            final StringBuilder html = StringUtil.startAppend(2000,
    +                  "<html><body><br><br>" +
    +                  "<table border=0 width=610><tr><td width=10></td><td width=600 align=left>" +
    +                  "<a action=\"bypass _bbshome\">HOME</a> &gt; " +
    +                  "<a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a>  &gt; " +
    +                  "<a action=\"bypass _bbsclan_clanhome;",
    +                  String.valueOf(clanId),
    +                  "\"> &amp;$802; </a>" +
    +                  "</td></tr>" +
    +                  "</table>"
    +                  );
    +            if(activeChar.isClanLeader())
    +            {
    +               StringUtil.append(html,
    +                     "<br><br><center>" +
    +                     "<table width=610 border=0 cellspacing=0 cellpadding=0>" +
    +                     "<tr><td fixwidth=610><font color=\"AAAAAA\">The Clan Notice function allows the clan leader to send messages through a pop-up window to clan members at login.</font> </td></tr>" +
    +                     "<tr><td height=20></td></tr>"
    +                     );
    +               
    +               if(activeChar.getClan().isNoticeEnabled())
    +                  StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;on&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_disable\">off</a>");
    +               else
    +                  StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:&nbsp;&nbsp;&nbsp;<a action=\"bypass _bbsclan_clannotice_enable\">on</a>&nbsp;&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;off");
    +               
    +               StringUtil.append(html,
    +                     "</td></tr>" +
    +                     "</table>" +
    +                     "<img src=\"L2UI.Squaregray\" width=\"610\" height=\"1\">" +
    +                     "<br> <br>" +
    +                     "<table width=610 border=0 cellspacing=2 cellpadding=0>" +
    +                     "<tr><td>Edit Notice: </td></tr>" +
    +                     "<tr><td height=5></td></tr>" +
    +                     "<tr><td>" +
    +                     "<MultiEdit var =\"Content\" width=610 height=100>" +
    +                     "</td></tr>" +
    +                     "</table>" +
    +                     "<br>" +
    +                     "<table width=610 border=0 cellspacing=0 cellpadding=0>" +
    +                     "<tr><td height=5></td></tr>" +
    +                     "<tr>" +
    +                     "<td align=center FIXWIDTH=65><button value=\"&$140;\" action=\"Write Notice Set _ Content Content Content\" back=\"l2ui_ch3.smallbutton2_down\" width=65 height=20 fore=\"l2ui_ch3.smallbutton2\" ></td>" +
    +                     "<td align=center FIXWIDTH=45></td>" +
    +                     "<td align=center FIXWIDTH=500></td>" +
    +                     "</tr>" +
    +                     "</table>" +
    +                     "</center>" +
    +                     "</body>" +
    +                     "</html>"
    +                     );
    +               send1001(html.toString(), activeChar);
    +               send1002(activeChar,activeChar.getClan().getNotice()," ","0");
    +            }
    +            else
    +            {
    +               StringUtil.append(html,
    +                     "<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\">" +
    +                     "<center>" +
    +                     "<table border=0 cellspacing=0 cellpadding=0><tr>" +
    +                     "<td>You are not your clan's leader, and therefore cannot change the clan notice</td>" +
    +                     "</tr></table>"
    +                     );
    +               if (activeChar.getClan().isNoticeEnabled())
    +               {
    +                  StringUtil.append(html,
    +                        "<table border=0 cellspacing=0 cellpadding=0>" +
    +                        "<tr>" +
    +                        "<td>The current clan notice:</td>" +
    +                        "</tr>" +
    +                        "<tr><td fixwidth=5></td>" +
    +                        "<td FIXWIDTH=600 align=left>" +
    +                        activeChar.getClan().getNotice() +
    +                        "</td>" +
    +                        "<td fixqqwidth=5></td>" +
    +                        "</tr>" +
    +                        "</table>"
    +                        );
    +               }
    +               StringUtil.append(html,
    +                     "</center>" +
    +                     "</body>" +
    +                     "</html>"
    +                     );
    +               separateAndSend(html.toString(), activeChar);
    +            }
    +         }
    +      }
    +   }
        /**
         * @param activeChar
         */
    @@ -281,7 +395,7 @@
                                        "<a action=\"bypass _bbsclan_clanhome;",
                                        String.valueOf(clanId),
                                        ";cmail\">[CLAN MAIL]</a>&nbsp;&nbsp;" +
    -                                    "<a action=\"bypass _bbsclan_clanhome;",
    +                                    "<a action=\"bypass _bbsclan_clannotice_edit;",
                                        String.valueOf(clanId),
                                        ";cnotice\">[CLAN NOTICE]</a>&nbsp;&nbsp;" +
                                        "</td>" +
    @@ -367,7 +481,11 @@
        public void parsewrite(String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar)
        {
           // TODO Auto-generated method stub
    -      
    +      if (ar1.equals("Set"))
    +      {
    +         activeChar.getClan().setNotice(ar4);
    +         parsecmd("_bbsclan_clanhome;" + activeChar.getClan().getClanId(),activeChar);
    +      }
        }
        
     }
    \ No newline at end of file
    Index: java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java   (working copy)
    @@ -129,6 +129,10 @@
                 {
                    RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
                 }
    +            else if (url.equals("Notice"))
    +            {
    +               ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
    +            }
                 else
                 {
                    ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + url + " is not implemented yet</center><br><br></body></html>", "101");

    SQL :

    Код:
    SET FOREIGN_KEY_CHECKS=0;
    -- ----------------------------
    -- Table structure for clan_notices
    -- ----------------------------
    CREATE TABLE `clan_notices` (
      `clanID` int(32) NOT NULL,
      `notice` varchar(512) NOT NULL,
      `enabled` varchar(5) NOT NULL,
      PRIMARY KEY  (`clanID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    ArtiShok
    ArtiShok


    Сообщения : 1144
    Дата регистрации : 2010-03-10

    Клан Комьюнити и реализованные меседжы(аля форум) Empty Re: Клан Комьюнити и реализованные меседжы(аля форум)

    Сообщение  ArtiShok Ср Мар 24, 2010 4:15 pm

    работает на 100% при этом еще и руский текст сохраняет...)
    avatar
    demius


    Сообщения : 14
    Дата регистрации : 2010-03-07

    Клан Комьюнити и реализованные меседжы(аля форум) Empty Re: Клан Комьюнити и реализованные меседжы(аля форум)

    Сообщение  demius Ср Мар 24, 2010 10:44 pm

    ребята, а куда тот код вписывать мануальчик плиз)
    plavik
    plavik


    Сообщения : 184
    Дата регистрации : 2010-03-08
    Возраст : 32
    Откуда : Дагестан

    Клан Комьюнити и реализованные меседжы(аля форум) Empty Re: Клан Комьюнити и реализованные меседжы(аля форум)

    Сообщение  plavik Ср Мар 24, 2010 10:53 pm

    в ядро а его исходников у нас нету )
    CKA3KA
    CKA3KA
    Admin


    Сообщения : 285
    Дата регистрации : 2010-02-09

    Клан Комьюнити и реализованные меседжы(аля форум) Empty Re: Клан Комьюнити и реализованные меседжы(аля форум)

    Сообщение  CKA3KA Пн Мар 29, 2010 4:26 am

    Owned пишет:Многие видели - ВЫСКАКИВАЮЩЕЕ окно НОВОСТЕЙ клана при заходе в игру, типо "наш клан сегодня идет в 18.45 на АК , всем зайти в 17.50 за Сорков и встреча у ТП глудио" и т.д.
    Радуемся bounce

    Код:
    Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java   (working copy)
    @@ -513,6 +513,15 @@
                clan.broadcastToOtherOnlineMembers(msg, activeChar);
                msg = null;
                clan.broadcastToOtherOnlineMembers(new PledgeShowMemberListUpdate(activeChar), activeChar);
    +            if (clan.isNoticeEnabled())
    +            {
    +               sendPacket(new NpcHtmlMessage(1, "<html><title>Clan Announcements</title><body><br><center><font color=\"CCAA00\">" +
    +                     activeChar.getClan().getName() +
    +                     "</font> <font color=\"6655FF\">Clan Alert Message</font></center><br>" +
    +                     "<img src=\"L2UI.SquareWhite\" width=270 height=1><br>" +
    +                     activeChar.getClan().getNotice().replaceAll("\r\n", "<br>") +
    +                     "</body></html>"));
    +            }
            }
        }
     
    Index: java/net/sf/l2j/gameserver/model/L2Clan.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/model/L2Clan.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/model/L2Clan.java   (working copy)
    @@ -156,6 +156,9 @@
     
        private int _reputationScore = 0;
        private int _rank = 0;
    +   
    +    private String _notice;
    +    private boolean _noticeEnabled = false;
     
        /**
          * Called if a clan is referenced only by id.
    @@ -870,6 +873,7 @@
                restoreSubPledges();
                restoreRankPrivs();
                restoreSkills();
    +            restoreNotice();
            }
            catch (Exception e)
            {
    @@ -881,6 +885,110 @@
            }
        }
     
    +    private void restoreNotice()
    +    {
    +       java.sql.Connection con = null;
    +       try
    +       {
    +          con = L2DatabaseFactory.getInstance().getConnection();
    +          PreparedStatement statement = con.prepareStatement("SELECT enabled,notice FROM clan_notices WHERE clan_id=?");
    +          statement.setInt(1, getClanId());
    +          ResultSet noticeData = statement.executeQuery();
    +          
    +          while (noticeData.next())
    +          {
    +             _noticeEnabled = noticeData.getBoolean("enabled");
    +             _notice = noticeData.getString("notice");
    +          }
    +          
    +          noticeData.close();
    +          statement.close();
    +          con.close();
    +       }
    +       catch (Exception e)
    +       {
    +          _log.log(Level.SEVERE, "Error restoring clan notice.", e);
    +       }
    +       finally
    +       {
    +          try { con.close(); } catch (Exception e) {}
    +       }
    +    }
    +
    +    private void storeNotice(String notice, boolean enabled)
    +    {
    +       if (notice == null)
    +          notice = "";
    +       
    +       java.sql.Connection con = null;
    +
    +       try
    +       {
    +          con = L2DatabaseFactory.getInstance().getConnection();
    +
    +          if (notice.length() > 8192)
    +             notice = notice.substring(0, 8191);
    +          
    +          if (_notice != null)
    +          {
    +             PreparedStatement statement = con.prepareStatement("UPDATE clan_notices SET enabled=?,notice=? WHERE clan_id=?");
    +              if (enabled)
    +                  statement.setString(1, "true");
    +              else
    +                  statement.setString(1, "false");
    +              statement.setString(2, notice);
    +              statement.setInt(3, getClanId());
    +                statement.execute();
    +                statement.close();
    +          }
    +          else
    +          {
    +              PreparedStatement statement = con.prepareStatement("INSERT INTO clan_notices (clan_id, enabled, notice) values (?,?,?)");
    +              statement.setInt(1, getClanId());
    +              if (enabled)
    +                  statement.setString(2, "true");
    +              else
    +                  statement.setString(2, "false");
    +              statement.setString(3, notice);
    +                statement.execute();
    +                statement.close();
    +          }
    +       }
    +        catch (Exception e)
    +        {
    +            _log.warning("Error could not store clan notice: " + e);
    +        }
    +        finally
    +        {
    +            try { con.close(); } catch (Exception e) {}
    +        }
    +
    +       _notice = notice;
    +       _noticeEnabled = enabled;
    +    }
    +
    +    public void setNoticeEnabled(boolean noticeEnabled)
    +    {
    +       storeNotice(_notice, noticeEnabled);
    +    }
    +   
    +    public void setNotice(String notice)
    +    {
    +       storeNotice(notice, _noticeEnabled);
    +    }
    +
    +    public boolean isNoticeEnabled()
    +    {
    +       return _noticeEnabled;
    +    }
    +   
    +    public String getNotice()
    +    {
    +       if (_notice == null)
    +          return "";
    +       return _notice;
    +    }
    +   
        private void restoreSkills()
        {
            java.sql.Connection con = null;
    Index: java/net/sf/l2j/gameserver/communitybbs/Manager/ClanBBSManager.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/communitybbs/Manager/ClanBBSManager.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/communitybbs/Manager/ClanBBSManager.java   (working copy)
    @@ -88,13 +88,127 @@
                 clanhome(activeChar, index);
              }
           }
    +      else if(command.startsWith("_bbsclan_clannotice_edit;"))
    +      {
    +         clanNotice(activeChar, activeChar.getClan().getClanId());
    +      }
    +      else if(command.startsWith("_bbsclan_clannotice_enable"))
    +      {
    +         activeChar.getClan().setNoticeEnabled(true);
    +         clanNotice(activeChar, activeChar.getClan().getClanId());
    +      }
    +      else if(command.startsWith("_bbsclan_clannotice_disable"))
    +      {
    +         activeChar.getClan().setNoticeEnabled(false);
    +         clanNotice(activeChar, activeChar.getClan().getClanId());
    +      }
           else
           {
    -         separateAndSend("<html><body><br><br><center>Commande : " + command + " pas encore implante</center><br><br></body></html>", activeChar);
    +         separateAndSend("<html><body><br><br><center>Command : " + command + " needs core development</center><br><br></body></html>", activeChar);
              
           }
        }
        
    +   private void clanNotice(L2PcInstance activeChar, int clanId)
    +   {
    +      L2Clan cl = ClanTable.getInstance().getClan(clanId);
    +      if (cl != null)
    +      {
    +         if (cl.getLevel() < 2)
    +         {
    +            activeChar.sendPacket(new SystemMessage(SystemMessageId.NO_CB_IN_MY_CLAN));
    +            parsecmd("_bbsclan_clanlist", activeChar);
    +         }
    +         else
    +         {
    +            final StringBuilder html = StringUtil.startAppend(2000,
    +                  "<html><body><br><br>" +
    +                  "<table border=0 width=610><tr><td width=10></td><td width=600 align=left>" +
    +                  "<a action=\"bypass _bbshome\">HOME</a> > " +
    +                  "<a action=\"bypass _bbsclan_clanlist\"> CLAN COMMUNITY </a>  > " +
    +                  "<a action=\"bypass _bbsclan_clanhome;",
    +                  String.valueOf(clanId),
    +                  "\"> &$802; </a>" +
    +                  "</td></tr>" +
    +                  "</table>"
    +                  );
    +            if(activeChar.isClanLeader())
    +            {
    +               StringUtil.append(html,
    +                     "<br><br><center>" +
    +                     "<table width=610 border=0 cellspacing=0 cellpadding=0>" +
    +                     "<tr><td fixwidth=610><font color=\"AAAAAA\">The Clan Notice function allows the clan leader to send messages through a pop-up window to clan members at login.</font> </td></tr>" +
    +                     "<tr><td height=20></td></tr>"
    +                     );
    +               
    +               if(activeChar.getClan().isNoticeEnabled())
    +                  StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:   on   /   <a action=\"bypass _bbsclan_clannotice_disable\">off</a>");
    +               else
    +                  StringUtil.append(html, "<tr><td fixwidth=610> Clan Notice Function:   <a action=\"bypass _bbsclan_clannotice_enable\">on</a>   /   off");
    +               
    +               StringUtil.append(html,
    +                     "</td></tr>" +
    +                     "</table>" +
    +                     "<img src=\"L2UI.Squaregray\" width=\"610\" height=\"1\">" +
    +                     "<br> <br>" +
    +                     "<table width=610 border=0 cellspacing=2 cellpadding=0>" +
    +                     "<tr><td>Edit Notice: </td></tr>" +
    +                     "<tr><td height=5></td></tr>" +
    +                     "<tr><td>" +
    +                     "<MultiEdit var =\"Content\" width=610 height=100>" +
    +                     "</td></tr>" +
    +                     "</table>" +
    +                     "<br>" +
    +                     "<table width=610 border=0 cellspacing=0 cellpadding=0>" +
    +                     "<tr><td height=5></td></tr>" +
    +                     "<tr>" +
    +                     "<td align=center FIXWIDTH=65><button value=\"&$140;\" action=\"Write Notice Set _ Content Content Content\" back=\"l2ui_ch3.smallbutton2_down\" width=65 height=20 fore=\"l2ui_ch3.smallbutton2\" ></td>" +
    +                     "<td align=center FIXWIDTH=45></td>" +
    +                     "<td align=center FIXWIDTH=500></td>" +
    +                     "</tr>" +
    +                     "</table>" +
    +                     "</center>" +
    +                     "</body>" +
    +                     "</html>"
    +                     );
    +               send1001(html.toString(), activeChar);
    +               send1002(activeChar,activeChar.getClan().getNotice()," ","0");
    +            }
    +            else
    +            {
    +               StringUtil.append(html,
    +                     "<img src=\"L2UI.squareblank\" width=\"1\" height=\"10\">" +
    +                     "<center>" +
    +                     "<table border=0 cellspacing=0 cellpadding=0><tr>" +
    +                     "<td>You are not your clan's leader, and therefore cannot change the clan notice</td>" +
    +                     "</tr></table>"
    +                     );
    +               if (activeChar.getClan().isNoticeEnabled())
    +               {
    +                  StringUtil.append(html,
    +                        "<table border=0 cellspacing=0 cellpadding=0>" +
    +                        "<tr>" +
    +                        "<td>The current clan notice:</td>" +
    +                        "</tr>" +
    +                        "<tr><td fixwidth=5></td>" +
    +                        "<td FIXWIDTH=600 align=left>" +
    +                        activeChar.getClan().getNotice() +
    +                        "</td>" +
    +                        "<td fixqqwidth=5></td>" +
    +                        "</tr>" +
    +                        "</table>"
    +                        );
    +               }
    +               StringUtil.append(html,
    +                     "</center>" +
    +                     "</body>" +
    +                     "</html>"
    +                     );
    +               separateAndSend(html.toString(), activeChar);
    +            }
    +         }
    +      }
    +   }
        /**
         * @param activeChar
         */
    @@ -281,7 +395,7 @@
                                        "<a action=\"bypass _bbsclan_clanhome;",
                                        String.valueOf(clanId),
                                        ";cmail\">[CLAN MAIL]</a>  " +
    -                                    "<a action=\"bypass _bbsclan_clanhome;",
    +                                    "<a action=\"bypass _bbsclan_clannotice_edit;",
                                        String.valueOf(clanId),
                                        ";cnotice\">[CLAN NOTICE]</a>  " +
                                        "</td>" +
    @@ -367,7 +481,11 @@
        public void parsewrite(String ar1, String ar2, String ar3, String ar4, String ar5, L2PcInstance activeChar)
        {
           // TODO Auto-generated method stub
    -      
    +      if (ar1.equals("Set"))
    +      {
    +         activeChar.getClan().setNotice(ar4);
    +         parsecmd("_bbsclan_clanhome;" + activeChar.getClan().getClanId(),activeChar);
    +      }
        }
        
     }
    \ No newline at end of file
    Index: java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java
    ===================================================================
    --- java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java   (revision 2819)
    +++ java/net/sf/l2j/gameserver/communitybbs/CommunityBoard.java   (working copy)
    @@ -129,6 +129,10 @@
                 {
                    RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
                 }
    +            else if (url.equals("Notice"))
    +            {
    +               ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar);
    +            }
                 else
                 {
                    ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + url + " is not implemented yet</center><br><br></body></html>", "101");

    SQL :

    Код:
    SET FOREIGN_KEY_CHECKS=0;
    -- ----------------------------
    -- Table structure for clan_notices
    -- ----------------------------
    CREATE TABLE `clan_notices` (
      `clanID` int(32) NOT NULL,
      `notice` varchar(512) NOT NULL,
      `enabled` varchar(5) NOT NULL,
      PRIMARY KEY  (`clanID`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

    это в сборке есть

      Текущее время Пт Окт 04, 2024 5:32 am